1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18namespace Google\Service;
19
20use Google\Client;
21
22/**
23 * Service definition for Dataflow (v1b3).
24 *
25 * <p>
26 * Manages Google Cloud Dataflow projects on Google Cloud Platform.</p>
27 *
28 * <p>
29 * For more information about this service, see the API
30 * <a href="https://cloud.google.com/dataflow" target="_blank">Documentation</a>
31 * </p>
32 *
33 * @author Google, Inc.
34 */
35class Dataflow extends \Google\Service
36{
37  /** See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.. */
38  const CLOUD_PLATFORM =
39      "https://www.googleapis.com/auth/cloud-platform";
40  /** View and manage your Google Compute Engine resources. */
41  const COMPUTE =
42      "https://www.googleapis.com/auth/compute";
43  /** View your Google Compute Engine resources. */
44  const COMPUTE_READONLY =
45      "https://www.googleapis.com/auth/compute.readonly";
46  /** See your primary Google Account email address. */
47  const USERINFO_EMAIL =
48      "https://www.googleapis.com/auth/userinfo.email";
49
50  public $projects;
51  public $projects_jobs;
52  public $projects_jobs_debug;
53  public $projects_jobs_messages;
54  public $projects_jobs_workItems;
55  public $projects_locations;
56  public $projects_locations_flexTemplates;
57  public $projects_locations_jobs;
58  public $projects_locations_jobs_debug;
59  public $projects_locations_jobs_messages;
60  public $projects_locations_jobs_snapshots;
61  public $projects_locations_jobs_stages;
62  public $projects_locations_jobs_workItems;
63  public $projects_locations_snapshots;
64  public $projects_locations_sql;
65  public $projects_locations_templates;
66  public $projects_snapshots;
67  public $projects_templates;
68
69  /**
70   * Constructs the internal representation of the Dataflow service.
71   *
72   * @param Client|array $clientOrConfig The client used to deliver requests, or a
73   *                                     config array to pass to a new Client instance.
74   * @param string $rootUrl The root URL used for requests to the service.
75   */
76  public function __construct($clientOrConfig = [], $rootUrl = null)
77  {
78    parent::__construct($clientOrConfig);
79    $this->rootUrl = $rootUrl ?: 'https://dataflow.googleapis.com/';
80    $this->servicePath = '';
81    $this->batchPath = 'batch';
82    $this->version = 'v1b3';
83    $this->serviceName = 'dataflow';
84
85    $this->projects = new Dataflow\Resource\Projects(
86        $this,
87        $this->serviceName,
88        'projects',
89        [
90          'methods' => [
91            'deleteSnapshots' => [
92              'path' => 'v1b3/projects/{projectId}/snapshots',
93              'httpMethod' => 'DELETE',
94              'parameters' => [
95                'projectId' => [
96                  'location' => 'path',
97                  'type' => 'string',
98                  'required' => true,
99                ],
100                'location' => [
101                  'location' => 'query',
102                  'type' => 'string',
103                ],
104                'snapshotId' => [
105                  'location' => 'query',
106                  'type' => 'string',
107                ],
108              ],
109            ],'workerMessages' => [
110              'path' => 'v1b3/projects/{projectId}/WorkerMessages',
111              'httpMethod' => 'POST',
112              'parameters' => [
113                'projectId' => [
114                  'location' => 'path',
115                  'type' => 'string',
116                  'required' => true,
117                ],
118              ],
119            ],
120          ]
121        ]
122    );
123    $this->projects_jobs = new Dataflow\Resource\ProjectsJobs(
124        $this,
125        $this->serviceName,
126        'jobs',
127        [
128          'methods' => [
129            'aggregated' => [
130              'path' => 'v1b3/projects/{projectId}/jobs:aggregated',
131              'httpMethod' => 'GET',
132              'parameters' => [
133                'projectId' => [
134                  'location' => 'path',
135                  'type' => 'string',
136                  'required' => true,
137                ],
138                'filter' => [
139                  'location' => 'query',
140                  'type' => 'string',
141                ],
142                'location' => [
143                  'location' => 'query',
144                  'type' => 'string',
145                ],
146                'pageSize' => [
147                  'location' => 'query',
148                  'type' => 'integer',
149                ],
150                'pageToken' => [
151                  'location' => 'query',
152                  'type' => 'string',
153                ],
154                'view' => [
155                  'location' => 'query',
156                  'type' => 'string',
157                ],
158              ],
159            ],'create' => [
160              'path' => 'v1b3/projects/{projectId}/jobs',
161              'httpMethod' => 'POST',
162              'parameters' => [
163                'projectId' => [
164                  'location' => 'path',
165                  'type' => 'string',
166                  'required' => true,
167                ],
168                'location' => [
169                  'location' => 'query',
170                  'type' => 'string',
171                ],
172                'replaceJobId' => [
173                  'location' => 'query',
174                  'type' => 'string',
175                ],
176                'view' => [
177                  'location' => 'query',
178                  'type' => 'string',
179                ],
180              ],
181            ],'get' => [
182              'path' => 'v1b3/projects/{projectId}/jobs/{jobId}',
183              'httpMethod' => 'GET',
184              'parameters' => [
185                'projectId' => [
186                  'location' => 'path',
187                  'type' => 'string',
188                  'required' => true,
189                ],
190                'jobId' => [
191                  'location' => 'path',
192                  'type' => 'string',
193                  'required' => true,
194                ],
195                'location' => [
196                  'location' => 'query',
197                  'type' => 'string',
198                ],
199                'view' => [
200                  'location' => 'query',
201                  'type' => 'string',
202                ],
203              ],
204            ],'getMetrics' => [
205              'path' => 'v1b3/projects/{projectId}/jobs/{jobId}/metrics',
206              'httpMethod' => 'GET',
207              'parameters' => [
208                'projectId' => [
209                  'location' => 'path',
210                  'type' => 'string',
211                  'required' => true,
212                ],
213                'jobId' => [
214                  'location' => 'path',
215                  'type' => 'string',
216                  'required' => true,
217                ],
218                'location' => [
219                  'location' => 'query',
220                  'type' => 'string',
221                ],
222                'startTime' => [
223                  'location' => 'query',
224                  'type' => 'string',
225                ],
226              ],
227            ],'list' => [
228              'path' => 'v1b3/projects/{projectId}/jobs',
229              'httpMethod' => 'GET',
230              'parameters' => [
231                'projectId' => [
232                  'location' => 'path',
233                  'type' => 'string',
234                  'required' => true,
235                ],
236                'filter' => [
237                  'location' => 'query',
238                  'type' => 'string',
239                ],
240                'location' => [
241                  'location' => 'query',
242                  'type' => 'string',
243                ],
244                'pageSize' => [
245                  'location' => 'query',
246                  'type' => 'integer',
247                ],
248                'pageToken' => [
249                  'location' => 'query',
250                  'type' => 'string',
251                ],
252                'view' => [
253                  'location' => 'query',
254                  'type' => 'string',
255                ],
256              ],
257            ],'snapshot' => [
258              'path' => 'v1b3/projects/{projectId}/jobs/{jobId}:snapshot',
259              'httpMethod' => 'POST',
260              'parameters' => [
261                'projectId' => [
262                  'location' => 'path',
263                  'type' => 'string',
264                  'required' => true,
265                ],
266                'jobId' => [
267                  'location' => 'path',
268                  'type' => 'string',
269                  'required' => true,
270                ],
271              ],
272            ],'update' => [
273              'path' => 'v1b3/projects/{projectId}/jobs/{jobId}',
274              'httpMethod' => 'PUT',
275              'parameters' => [
276                'projectId' => [
277                  'location' => 'path',
278                  'type' => 'string',
279                  'required' => true,
280                ],
281                'jobId' => [
282                  'location' => 'path',
283                  'type' => 'string',
284                  'required' => true,
285                ],
286                'location' => [
287                  'location' => 'query',
288                  'type' => 'string',
289                ],
290              ],
291            ],
292          ]
293        ]
294    );
295    $this->projects_jobs_debug = new Dataflow\Resource\ProjectsJobsDebug(
296        $this,
297        $this->serviceName,
298        'debug',
299        [
300          'methods' => [
301            'getConfig' => [
302              'path' => 'v1b3/projects/{projectId}/jobs/{jobId}/debug/getConfig',
303              'httpMethod' => 'POST',
304              'parameters' => [
305                'projectId' => [
306                  'location' => 'path',
307                  'type' => 'string',
308                  'required' => true,
309                ],
310                'jobId' => [
311                  'location' => 'path',
312                  'type' => 'string',
313                  'required' => true,
314                ],
315              ],
316            ],'sendCapture' => [
317              'path' => 'v1b3/projects/{projectId}/jobs/{jobId}/debug/sendCapture',
318              'httpMethod' => 'POST',
319              'parameters' => [
320                'projectId' => [
321                  'location' => 'path',
322                  'type' => 'string',
323                  'required' => true,
324                ],
325                'jobId' => [
326                  'location' => 'path',
327                  'type' => 'string',
328                  'required' => true,
329                ],
330              ],
331            ],
332          ]
333        ]
334    );
335    $this->projects_jobs_messages = new Dataflow\Resource\ProjectsJobsMessages(
336        $this,
337        $this->serviceName,
338        'messages',
339        [
340          'methods' => [
341            'list' => [
342              'path' => 'v1b3/projects/{projectId}/jobs/{jobId}/messages',
343              'httpMethod' => 'GET',
344              'parameters' => [
345                'projectId' => [
346                  'location' => 'path',
347                  'type' => 'string',
348                  'required' => true,
349                ],
350                'jobId' => [
351                  'location' => 'path',
352                  'type' => 'string',
353                  'required' => true,
354                ],
355                'endTime' => [
356                  'location' => 'query',
357                  'type' => 'string',
358                ],
359                'location' => [
360                  'location' => 'query',
361                  'type' => 'string',
362                ],
363                'minimumImportance' => [
364                  'location' => 'query',
365                  'type' => 'string',
366                ],
367                'pageSize' => [
368                  'location' => 'query',
369                  'type' => 'integer',
370                ],
371                'pageToken' => [
372                  'location' => 'query',
373                  'type' => 'string',
374                ],
375                'startTime' => [
376                  'location' => 'query',
377                  'type' => 'string',
378                ],
379              ],
380            ],
381          ]
382        ]
383    );
384    $this->projects_jobs_workItems = new Dataflow\Resource\ProjectsJobsWorkItems(
385        $this,
386        $this->serviceName,
387        'workItems',
388        [
389          'methods' => [
390            'lease' => [
391              'path' => 'v1b3/projects/{projectId}/jobs/{jobId}/workItems:lease',
392              'httpMethod' => 'POST',
393              'parameters' => [
394                'projectId' => [
395                  'location' => 'path',
396                  'type' => 'string',
397                  'required' => true,
398                ],
399                'jobId' => [
400                  'location' => 'path',
401                  'type' => 'string',
402                  'required' => true,
403                ],
404              ],
405            ],'reportStatus' => [
406              'path' => 'v1b3/projects/{projectId}/jobs/{jobId}/workItems:reportStatus',
407              'httpMethod' => 'POST',
408              'parameters' => [
409                'projectId' => [
410                  'location' => 'path',
411                  'type' => 'string',
412                  'required' => true,
413                ],
414                'jobId' => [
415                  'location' => 'path',
416                  'type' => 'string',
417                  'required' => true,
418                ],
419              ],
420            ],
421          ]
422        ]
423    );
424    $this->projects_locations = new Dataflow\Resource\ProjectsLocations(
425        $this,
426        $this->serviceName,
427        'locations',
428        [
429          'methods' => [
430            'workerMessages' => [
431              'path' => 'v1b3/projects/{projectId}/locations/{location}/WorkerMessages',
432              'httpMethod' => 'POST',
433              'parameters' => [
434                'projectId' => [
435                  'location' => 'path',
436                  'type' => 'string',
437                  'required' => true,
438                ],
439                'location' => [
440                  'location' => 'path',
441                  'type' => 'string',
442                  'required' => true,
443                ],
444              ],
445            ],
446          ]
447        ]
448    );
449    $this->projects_locations_flexTemplates = new Dataflow\Resource\ProjectsLocationsFlexTemplates(
450        $this,
451        $this->serviceName,
452        'flexTemplates',
453        [
454          'methods' => [
455            'launch' => [
456              'path' => 'v1b3/projects/{projectId}/locations/{location}/flexTemplates:launch',
457              'httpMethod' => 'POST',
458              'parameters' => [
459                'projectId' => [
460                  'location' => 'path',
461                  'type' => 'string',
462                  'required' => true,
463                ],
464                'location' => [
465                  'location' => 'path',
466                  'type' => 'string',
467                  'required' => true,
468                ],
469              ],
470            ],
471          ]
472        ]
473    );
474    $this->projects_locations_jobs = new Dataflow\Resource\ProjectsLocationsJobs(
475        $this,
476        $this->serviceName,
477        'jobs',
478        [
479          'methods' => [
480            'create' => [
481              'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs',
482              'httpMethod' => 'POST',
483              'parameters' => [
484                'projectId' => [
485                  'location' => 'path',
486                  'type' => 'string',
487                  'required' => true,
488                ],
489                'location' => [
490                  'location' => 'path',
491                  'type' => 'string',
492                  'required' => true,
493                ],
494                'replaceJobId' => [
495                  'location' => 'query',
496                  'type' => 'string',
497                ],
498                'view' => [
499                  'location' => 'query',
500                  'type' => 'string',
501                ],
502              ],
503            ],'get' => [
504              'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}',
505              'httpMethod' => 'GET',
506              'parameters' => [
507                'projectId' => [
508                  'location' => 'path',
509                  'type' => 'string',
510                  'required' => true,
511                ],
512                'location' => [
513                  'location' => 'path',
514                  'type' => 'string',
515                  'required' => true,
516                ],
517                'jobId' => [
518                  'location' => 'path',
519                  'type' => 'string',
520                  'required' => true,
521                ],
522                'view' => [
523                  'location' => 'query',
524                  'type' => 'string',
525                ],
526              ],
527            ],'getExecutionDetails' => [
528              'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/executionDetails',
529              'httpMethod' => 'GET',
530              'parameters' => [
531                'projectId' => [
532                  'location' => 'path',
533                  'type' => 'string',
534                  'required' => true,
535                ],
536                'location' => [
537                  'location' => 'path',
538                  'type' => 'string',
539                  'required' => true,
540                ],
541                'jobId' => [
542                  'location' => 'path',
543                  'type' => 'string',
544                  'required' => true,
545                ],
546                'pageSize' => [
547                  'location' => 'query',
548                  'type' => 'integer',
549                ],
550                'pageToken' => [
551                  'location' => 'query',
552                  'type' => 'string',
553                ],
554              ],
555            ],'getMetrics' => [
556              'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/metrics',
557              'httpMethod' => 'GET',
558              'parameters' => [
559                'projectId' => [
560                  'location' => 'path',
561                  'type' => 'string',
562                  'required' => true,
563                ],
564                'location' => [
565                  'location' => 'path',
566                  'type' => 'string',
567                  'required' => true,
568                ],
569                'jobId' => [
570                  'location' => 'path',
571                  'type' => 'string',
572                  'required' => true,
573                ],
574                'startTime' => [
575                  'location' => 'query',
576                  'type' => 'string',
577                ],
578              ],
579            ],'list' => [
580              'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs',
581              'httpMethod' => 'GET',
582              'parameters' => [
583                'projectId' => [
584                  'location' => 'path',
585                  'type' => 'string',
586                  'required' => true,
587                ],
588                'location' => [
589                  'location' => 'path',
590                  'type' => 'string',
591                  'required' => true,
592                ],
593                'filter' => [
594                  'location' => 'query',
595                  'type' => 'string',
596                ],
597                'pageSize' => [
598                  'location' => 'query',
599                  'type' => 'integer',
600                ],
601                'pageToken' => [
602                  'location' => 'query',
603                  'type' => 'string',
604                ],
605                'view' => [
606                  'location' => 'query',
607                  'type' => 'string',
608                ],
609              ],
610            ],'snapshot' => [
611              'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}:snapshot',
612              'httpMethod' => 'POST',
613              'parameters' => [
614                'projectId' => [
615                  'location' => 'path',
616                  'type' => 'string',
617                  'required' => true,
618                ],
619                'location' => [
620                  'location' => 'path',
621                  'type' => 'string',
622                  'required' => true,
623                ],
624                'jobId' => [
625                  'location' => 'path',
626                  'type' => 'string',
627                  'required' => true,
628                ],
629              ],
630            ],'update' => [
631              'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}',
632              'httpMethod' => 'PUT',
633              'parameters' => [
634                'projectId' => [
635                  'location' => 'path',
636                  'type' => 'string',
637                  'required' => true,
638                ],
639                'location' => [
640                  'location' => 'path',
641                  'type' => 'string',
642                  'required' => true,
643                ],
644                'jobId' => [
645                  'location' => 'path',
646                  'type' => 'string',
647                  'required' => true,
648                ],
649              ],
650            ],
651          ]
652        ]
653    );
654    $this->projects_locations_jobs_debug = new Dataflow\Resource\ProjectsLocationsJobsDebug(
655        $this,
656        $this->serviceName,
657        'debug',
658        [
659          'methods' => [
660            'getConfig' => [
661              'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/debug/getConfig',
662              'httpMethod' => 'POST',
663              'parameters' => [
664                'projectId' => [
665                  'location' => 'path',
666                  'type' => 'string',
667                  'required' => true,
668                ],
669                'location' => [
670                  'location' => 'path',
671                  'type' => 'string',
672                  'required' => true,
673                ],
674                'jobId' => [
675                  'location' => 'path',
676                  'type' => 'string',
677                  'required' => true,
678                ],
679              ],
680            ],'sendCapture' => [
681              'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/debug/sendCapture',
682              'httpMethod' => 'POST',
683              'parameters' => [
684                'projectId' => [
685                  'location' => 'path',
686                  'type' => 'string',
687                  'required' => true,
688                ],
689                'location' => [
690                  'location' => 'path',
691                  'type' => 'string',
692                  'required' => true,
693                ],
694                'jobId' => [
695                  'location' => 'path',
696                  'type' => 'string',
697                  'required' => true,
698                ],
699              ],
700            ],
701          ]
702        ]
703    );
704    $this->projects_locations_jobs_messages = new Dataflow\Resource\ProjectsLocationsJobsMessages(
705        $this,
706        $this->serviceName,
707        'messages',
708        [
709          'methods' => [
710            'list' => [
711              'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/messages',
712              'httpMethod' => 'GET',
713              'parameters' => [
714                'projectId' => [
715                  'location' => 'path',
716                  'type' => 'string',
717                  'required' => true,
718                ],
719                'location' => [
720                  'location' => 'path',
721                  'type' => 'string',
722                  'required' => true,
723                ],
724                'jobId' => [
725                  'location' => 'path',
726                  'type' => 'string',
727                  'required' => true,
728                ],
729                'endTime' => [
730                  'location' => 'query',
731                  'type' => 'string',
732                ],
733                'minimumImportance' => [
734                  'location' => 'query',
735                  'type' => 'string',
736                ],
737                'pageSize' => [
738                  'location' => 'query',
739                  'type' => 'integer',
740                ],
741                'pageToken' => [
742                  'location' => 'query',
743                  'type' => 'string',
744                ],
745                'startTime' => [
746                  'location' => 'query',
747                  'type' => 'string',
748                ],
749              ],
750            ],
751          ]
752        ]
753    );
754    $this->projects_locations_jobs_snapshots = new Dataflow\Resource\ProjectsLocationsJobsSnapshots(
755        $this,
756        $this->serviceName,
757        'snapshots',
758        [
759          'methods' => [
760            'list' => [
761              'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/snapshots',
762              'httpMethod' => 'GET',
763              'parameters' => [
764                'projectId' => [
765                  'location' => 'path',
766                  'type' => 'string',
767                  'required' => true,
768                ],
769                'location' => [
770                  'location' => 'path',
771                  'type' => 'string',
772                  'required' => true,
773                ],
774                'jobId' => [
775                  'location' => 'path',
776                  'type' => 'string',
777                  'required' => true,
778                ],
779              ],
780            ],
781          ]
782        ]
783    );
784    $this->projects_locations_jobs_stages = new Dataflow\Resource\ProjectsLocationsJobsStages(
785        $this,
786        $this->serviceName,
787        'stages',
788        [
789          'methods' => [
790            'getExecutionDetails' => [
791              'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/stages/{stageId}/executionDetails',
792              'httpMethod' => 'GET',
793              'parameters' => [
794                'projectId' => [
795                  'location' => 'path',
796                  'type' => 'string',
797                  'required' => true,
798                ],
799                'location' => [
800                  'location' => 'path',
801                  'type' => 'string',
802                  'required' => true,
803                ],
804                'jobId' => [
805                  'location' => 'path',
806                  'type' => 'string',
807                  'required' => true,
808                ],
809                'stageId' => [
810                  'location' => 'path',
811                  'type' => 'string',
812                  'required' => true,
813                ],
814                'endTime' => [
815                  'location' => 'query',
816                  'type' => 'string',
817                ],
818                'pageSize' => [
819                  'location' => 'query',
820                  'type' => 'integer',
821                ],
822                'pageToken' => [
823                  'location' => 'query',
824                  'type' => 'string',
825                ],
826                'startTime' => [
827                  'location' => 'query',
828                  'type' => 'string',
829                ],
830              ],
831            ],
832          ]
833        ]
834    );
835    $this->projects_locations_jobs_workItems = new Dataflow\Resource\ProjectsLocationsJobsWorkItems(
836        $this,
837        $this->serviceName,
838        'workItems',
839        [
840          'methods' => [
841            'lease' => [
842              'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/workItems:lease',
843              'httpMethod' => 'POST',
844              'parameters' => [
845                'projectId' => [
846                  'location' => 'path',
847                  'type' => 'string',
848                  'required' => true,
849                ],
850                'location' => [
851                  'location' => 'path',
852                  'type' => 'string',
853                  'required' => true,
854                ],
855                'jobId' => [
856                  'location' => 'path',
857                  'type' => 'string',
858                  'required' => true,
859                ],
860              ],
861            ],'reportStatus' => [
862              'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/workItems:reportStatus',
863              'httpMethod' => 'POST',
864              'parameters' => [
865                'projectId' => [
866                  'location' => 'path',
867                  'type' => 'string',
868                  'required' => true,
869                ],
870                'location' => [
871                  'location' => 'path',
872                  'type' => 'string',
873                  'required' => true,
874                ],
875                'jobId' => [
876                  'location' => 'path',
877                  'type' => 'string',
878                  'required' => true,
879                ],
880              ],
881            ],
882          ]
883        ]
884    );
885    $this->projects_locations_snapshots = new Dataflow\Resource\ProjectsLocationsSnapshots(
886        $this,
887        $this->serviceName,
888        'snapshots',
889        [
890          'methods' => [
891            'delete' => [
892              'path' => 'v1b3/projects/{projectId}/locations/{location}/snapshots/{snapshotId}',
893              'httpMethod' => 'DELETE',
894              'parameters' => [
895                'projectId' => [
896                  'location' => 'path',
897                  'type' => 'string',
898                  'required' => true,
899                ],
900                'location' => [
901                  'location' => 'path',
902                  'type' => 'string',
903                  'required' => true,
904                ],
905                'snapshotId' => [
906                  'location' => 'path',
907                  'type' => 'string',
908                  'required' => true,
909                ],
910              ],
911            ],'get' => [
912              'path' => 'v1b3/projects/{projectId}/locations/{location}/snapshots/{snapshotId}',
913              'httpMethod' => 'GET',
914              'parameters' => [
915                'projectId' => [
916                  'location' => 'path',
917                  'type' => 'string',
918                  'required' => true,
919                ],
920                'location' => [
921                  'location' => 'path',
922                  'type' => 'string',
923                  'required' => true,
924                ],
925                'snapshotId' => [
926                  'location' => 'path',
927                  'type' => 'string',
928                  'required' => true,
929                ],
930              ],
931            ],'list' => [
932              'path' => 'v1b3/projects/{projectId}/locations/{location}/snapshots',
933              'httpMethod' => 'GET',
934              'parameters' => [
935                'projectId' => [
936                  'location' => 'path',
937                  'type' => 'string',
938                  'required' => true,
939                ],
940                'location' => [
941                  'location' => 'path',
942                  'type' => 'string',
943                  'required' => true,
944                ],
945                'jobId' => [
946                  'location' => 'query',
947                  'type' => 'string',
948                ],
949              ],
950            ],
951          ]
952        ]
953    );
954    $this->projects_locations_sql = new Dataflow\Resource\ProjectsLocationsSql(
955        $this,
956        $this->serviceName,
957        'sql',
958        [
959          'methods' => [
960            'validate' => [
961              'path' => 'v1b3/projects/{projectId}/locations/{location}/sql:validate',
962              'httpMethod' => 'GET',
963              'parameters' => [
964                'projectId' => [
965                  'location' => 'path',
966                  'type' => 'string',
967                  'required' => true,
968                ],
969                'location' => [
970                  'location' => 'path',
971                  'type' => 'string',
972                  'required' => true,
973                ],
974                'query' => [
975                  'location' => 'query',
976                  'type' => 'string',
977                ],
978              ],
979            ],
980          ]
981        ]
982    );
983    $this->projects_locations_templates = new Dataflow\Resource\ProjectsLocationsTemplates(
984        $this,
985        $this->serviceName,
986        'templates',
987        [
988          'methods' => [
989            'create' => [
990              'path' => 'v1b3/projects/{projectId}/locations/{location}/templates',
991              'httpMethod' => 'POST',
992              'parameters' => [
993                'projectId' => [
994                  'location' => 'path',
995                  'type' => 'string',
996                  'required' => true,
997                ],
998                'location' => [
999                  'location' => 'path',
1000                  'type' => 'string',
1001                  'required' => true,
1002                ],
1003              ],
1004            ],'get' => [
1005              'path' => 'v1b3/projects/{projectId}/locations/{location}/templates:get',
1006              'httpMethod' => 'GET',
1007              'parameters' => [
1008                'projectId' => [
1009                  'location' => 'path',
1010                  'type' => 'string',
1011                  'required' => true,
1012                ],
1013                'location' => [
1014                  'location' => 'path',
1015                  'type' => 'string',
1016                  'required' => true,
1017                ],
1018                'gcsPath' => [
1019                  'location' => 'query',
1020                  'type' => 'string',
1021                ],
1022                'view' => [
1023                  'location' => 'query',
1024                  'type' => 'string',
1025                ],
1026              ],
1027            ],'launch' => [
1028              'path' => 'v1b3/projects/{projectId}/locations/{location}/templates:launch',
1029              'httpMethod' => 'POST',
1030              'parameters' => [
1031                'projectId' => [
1032                  'location' => 'path',
1033                  'type' => 'string',
1034                  'required' => true,
1035                ],
1036                'location' => [
1037                  'location' => 'path',
1038                  'type' => 'string',
1039                  'required' => true,
1040                ],
1041                'dynamicTemplate.gcsPath' => [
1042                  'location' => 'query',
1043                  'type' => 'string',
1044                ],
1045                'dynamicTemplate.stagingLocation' => [
1046                  'location' => 'query',
1047                  'type' => 'string',
1048                ],
1049                'gcsPath' => [
1050                  'location' => 'query',
1051                  'type' => 'string',
1052                ],
1053                'validateOnly' => [
1054                  'location' => 'query',
1055                  'type' => 'boolean',
1056                ],
1057              ],
1058            ],
1059          ]
1060        ]
1061    );
1062    $this->projects_snapshots = new Dataflow\Resource\ProjectsSnapshots(
1063        $this,
1064        $this->serviceName,
1065        'snapshots',
1066        [
1067          'methods' => [
1068            'get' => [
1069              'path' => 'v1b3/projects/{projectId}/snapshots/{snapshotId}',
1070              'httpMethod' => 'GET',
1071              'parameters' => [
1072                'projectId' => [
1073                  'location' => 'path',
1074                  'type' => 'string',
1075                  'required' => true,
1076                ],
1077                'snapshotId' => [
1078                  'location' => 'path',
1079                  'type' => 'string',
1080                  'required' => true,
1081                ],
1082                'location' => [
1083                  'location' => 'query',
1084                  'type' => 'string',
1085                ],
1086              ],
1087            ],'list' => [
1088              'path' => 'v1b3/projects/{projectId}/snapshots',
1089              'httpMethod' => 'GET',
1090              'parameters' => [
1091                'projectId' => [
1092                  'location' => 'path',
1093                  'type' => 'string',
1094                  'required' => true,
1095                ],
1096                'jobId' => [
1097                  'location' => 'query',
1098                  'type' => 'string',
1099                ],
1100                'location' => [
1101                  'location' => 'query',
1102                  'type' => 'string',
1103                ],
1104              ],
1105            ],
1106          ]
1107        ]
1108    );
1109    $this->projects_templates = new Dataflow\Resource\ProjectsTemplates(
1110        $this,
1111        $this->serviceName,
1112        'templates',
1113        [
1114          'methods' => [
1115            'create' => [
1116              'path' => 'v1b3/projects/{projectId}/templates',
1117              'httpMethod' => 'POST',
1118              'parameters' => [
1119                'projectId' => [
1120                  'location' => 'path',
1121                  'type' => 'string',
1122                  'required' => true,
1123                ],
1124              ],
1125            ],'get' => [
1126              'path' => 'v1b3/projects/{projectId}/templates:get',
1127              'httpMethod' => 'GET',
1128              'parameters' => [
1129                'projectId' => [
1130                  'location' => 'path',
1131                  'type' => 'string',
1132                  'required' => true,
1133                ],
1134                'gcsPath' => [
1135                  'location' => 'query',
1136                  'type' => 'string',
1137                ],
1138                'location' => [
1139                  'location' => 'query',
1140                  'type' => 'string',
1141                ],
1142                'view' => [
1143                  'location' => 'query',
1144                  'type' => 'string',
1145                ],
1146              ],
1147            ],'launch' => [
1148              'path' => 'v1b3/projects/{projectId}/templates:launch',
1149              'httpMethod' => 'POST',
1150              'parameters' => [
1151                'projectId' => [
1152                  'location' => 'path',
1153                  'type' => 'string',
1154                  'required' => true,
1155                ],
1156                'dynamicTemplate.gcsPath' => [
1157                  'location' => 'query',
1158                  'type' => 'string',
1159                ],
1160                'dynamicTemplate.stagingLocation' => [
1161                  'location' => 'query',
1162                  'type' => 'string',
1163                ],
1164                'gcsPath' => [
1165                  'location' => 'query',
1166                  'type' => 'string',
1167                ],
1168                'location' => [
1169                  'location' => 'query',
1170                  'type' => 'string',
1171                ],
1172                'validateOnly' => [
1173                  'location' => 'query',
1174                  'type' => 'boolean',
1175                ],
1176              ],
1177            ],
1178          ]
1179        ]
1180    );
1181  }
1182}
1183
1184// Adding a class alias for backwards compatibility with the previous class name.
1185class_alias(Dataflow::class, 'Google_Service_Dataflow');
1186