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