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
18/**
19 * Service definition for Dataproc (v1).
20 *
21 * <p>
22 * Manages Hadoop-based clusters and jobs on Google Cloud Platform.</p>
23 *
24 * <p>
25 * For more information about this service, see the API
26 * <a href="https://cloud.google.com/dataproc/" target="_blank">Documentation</a>
27 * </p>
28 *
29 * @author Google, Inc.
30 */
31class Google_Service_Dataproc extends Google_Service
32{
33  /** View and manage your data across Google Cloud Platform services. */
34  const CLOUD_PLATFORM =
35      "https://www.googleapis.com/auth/cloud-platform";
36
37  public $projects_locations_autoscalingPolicies;
38  public $projects_locations_workflowTemplates;
39  public $projects_regions_autoscalingPolicies;
40  public $projects_regions_clusters;
41  public $projects_regions_jobs;
42  public $projects_regions_operations;
43  public $projects_regions_workflowTemplates;
44
45  /**
46   * Constructs the internal representation of the Dataproc service.
47   *
48   * @param Google_Client $client
49   */
50  public function __construct(Google_Client $client)
51  {
52    parent::__construct($client);
53    $this->rootUrl = 'https://dataproc.googleapis.com/';
54    $this->servicePath = '';
55    $this->batchPath = 'batch';
56    $this->version = 'v1';
57    $this->serviceName = 'dataproc';
58
59    $this->projects_locations_autoscalingPolicies = new Google_Service_Dataproc_Resource_ProjectsLocationsAutoscalingPolicies(
60        $this,
61        $this->serviceName,
62        'autoscalingPolicies',
63        array(
64          'methods' => array(
65            'getIamPolicy' => array(
66              'path' => 'v1/{+resource}:getIamPolicy',
67              'httpMethod' => 'POST',
68              'parameters' => array(
69                'resource' => array(
70                  'location' => 'path',
71                  'type' => 'string',
72                  'required' => true,
73                ),
74              ),
75            ),'setIamPolicy' => array(
76              'path' => 'v1/{+resource}:setIamPolicy',
77              'httpMethod' => 'POST',
78              'parameters' => array(
79                'resource' => array(
80                  'location' => 'path',
81                  'type' => 'string',
82                  'required' => true,
83                ),
84              ),
85            ),'testIamPermissions' => array(
86              'path' => 'v1/{+resource}:testIamPermissions',
87              'httpMethod' => 'POST',
88              'parameters' => array(
89                'resource' => array(
90                  'location' => 'path',
91                  'type' => 'string',
92                  'required' => true,
93                ),
94              ),
95            ),
96          )
97        )
98    );
99    $this->projects_locations_workflowTemplates = new Google_Service_Dataproc_Resource_ProjectsLocationsWorkflowTemplates(
100        $this,
101        $this->serviceName,
102        'workflowTemplates',
103        array(
104          'methods' => array(
105            'create' => array(
106              'path' => 'v1/{+parent}/workflowTemplates',
107              'httpMethod' => 'POST',
108              'parameters' => array(
109                'parent' => array(
110                  'location' => 'path',
111                  'type' => 'string',
112                  'required' => true,
113                ),
114              ),
115            ),'delete' => array(
116              'path' => 'v1/{+name}',
117              'httpMethod' => 'DELETE',
118              'parameters' => array(
119                'name' => array(
120                  'location' => 'path',
121                  'type' => 'string',
122                  'required' => true,
123                ),
124                'version' => array(
125                  'location' => 'query',
126                  'type' => 'integer',
127                ),
128              ),
129            ),'get' => array(
130              'path' => 'v1/{+name}',
131              'httpMethod' => 'GET',
132              'parameters' => array(
133                'name' => array(
134                  'location' => 'path',
135                  'type' => 'string',
136                  'required' => true,
137                ),
138                'version' => array(
139                  'location' => 'query',
140                  'type' => 'integer',
141                ),
142              ),
143            ),'getIamPolicy' => array(
144              'path' => 'v1/{+resource}:getIamPolicy',
145              'httpMethod' => 'POST',
146              'parameters' => array(
147                'resource' => array(
148                  'location' => 'path',
149                  'type' => 'string',
150                  'required' => true,
151                ),
152              ),
153            ),'instantiate' => array(
154              'path' => 'v1/{+name}:instantiate',
155              'httpMethod' => 'POST',
156              'parameters' => array(
157                'name' => array(
158                  'location' => 'path',
159                  'type' => 'string',
160                  'required' => true,
161                ),
162              ),
163            ),'instantiateInline' => array(
164              'path' => 'v1/{+parent}/workflowTemplates:instantiateInline',
165              'httpMethod' => 'POST',
166              'parameters' => array(
167                'parent' => array(
168                  'location' => 'path',
169                  'type' => 'string',
170                  'required' => true,
171                ),
172                'requestId' => array(
173                  'location' => 'query',
174                  'type' => 'string',
175                ),
176              ),
177            ),'list' => array(
178              'path' => 'v1/{+parent}/workflowTemplates',
179              'httpMethod' => 'GET',
180              'parameters' => array(
181                'parent' => array(
182                  'location' => 'path',
183                  'type' => 'string',
184                  'required' => true,
185                ),
186                'pageSize' => array(
187                  'location' => 'query',
188                  'type' => 'integer',
189                ),
190                'pageToken' => array(
191                  'location' => 'query',
192                  'type' => 'string',
193                ),
194              ),
195            ),'setIamPolicy' => array(
196              'path' => 'v1/{+resource}:setIamPolicy',
197              'httpMethod' => 'POST',
198              'parameters' => array(
199                'resource' => array(
200                  'location' => 'path',
201                  'type' => 'string',
202                  'required' => true,
203                ),
204              ),
205            ),'testIamPermissions' => array(
206              'path' => 'v1/{+resource}:testIamPermissions',
207              'httpMethod' => 'POST',
208              'parameters' => array(
209                'resource' => array(
210                  'location' => 'path',
211                  'type' => 'string',
212                  'required' => true,
213                ),
214              ),
215            ),'update' => array(
216              'path' => 'v1/{+name}',
217              'httpMethod' => 'PUT',
218              'parameters' => array(
219                'name' => array(
220                  'location' => 'path',
221                  'type' => 'string',
222                  'required' => true,
223                ),
224              ),
225            ),
226          )
227        )
228    );
229    $this->projects_regions_autoscalingPolicies = new Google_Service_Dataproc_Resource_ProjectsRegionsAutoscalingPolicies(
230        $this,
231        $this->serviceName,
232        'autoscalingPolicies',
233        array(
234          'methods' => array(
235            'getIamPolicy' => array(
236              'path' => 'v1/{+resource}:getIamPolicy',
237              'httpMethod' => 'POST',
238              'parameters' => array(
239                'resource' => array(
240                  'location' => 'path',
241                  'type' => 'string',
242                  'required' => true,
243                ),
244              ),
245            ),'setIamPolicy' => array(
246              'path' => 'v1/{+resource}:setIamPolicy',
247              'httpMethod' => 'POST',
248              'parameters' => array(
249                'resource' => array(
250                  'location' => 'path',
251                  'type' => 'string',
252                  'required' => true,
253                ),
254              ),
255            ),'testIamPermissions' => array(
256              'path' => 'v1/{+resource}:testIamPermissions',
257              'httpMethod' => 'POST',
258              'parameters' => array(
259                'resource' => array(
260                  'location' => 'path',
261                  'type' => 'string',
262                  'required' => true,
263                ),
264              ),
265            ),
266          )
267        )
268    );
269    $this->projects_regions_clusters = new Google_Service_Dataproc_Resource_ProjectsRegionsClusters(
270        $this,
271        $this->serviceName,
272        'clusters',
273        array(
274          'methods' => array(
275            'create' => array(
276              'path' => 'v1/projects/{projectId}/regions/{region}/clusters',
277              'httpMethod' => 'POST',
278              'parameters' => array(
279                'projectId' => array(
280                  'location' => 'path',
281                  'type' => 'string',
282                  'required' => true,
283                ),
284                'region' => array(
285                  'location' => 'path',
286                  'type' => 'string',
287                  'required' => true,
288                ),
289                'requestId' => array(
290                  'location' => 'query',
291                  'type' => 'string',
292                ),
293              ),
294            ),'delete' => array(
295              'path' => 'v1/projects/{projectId}/regions/{region}/clusters/{clusterName}',
296              'httpMethod' => 'DELETE',
297              'parameters' => array(
298                'projectId' => array(
299                  'location' => 'path',
300                  'type' => 'string',
301                  'required' => true,
302                ),
303                'region' => array(
304                  'location' => 'path',
305                  'type' => 'string',
306                  'required' => true,
307                ),
308                'clusterName' => array(
309                  'location' => 'path',
310                  'type' => 'string',
311                  'required' => true,
312                ),
313                'clusterUuid' => array(
314                  'location' => 'query',
315                  'type' => 'string',
316                ),
317                'requestId' => array(
318                  'location' => 'query',
319                  'type' => 'string',
320                ),
321              ),
322            ),'diagnose' => array(
323              'path' => 'v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose',
324              'httpMethod' => 'POST',
325              'parameters' => array(
326                'projectId' => array(
327                  'location' => 'path',
328                  'type' => 'string',
329                  'required' => true,
330                ),
331                'region' => array(
332                  'location' => 'path',
333                  'type' => 'string',
334                  'required' => true,
335                ),
336                'clusterName' => array(
337                  'location' => 'path',
338                  'type' => 'string',
339                  'required' => true,
340                ),
341              ),
342            ),'get' => array(
343              'path' => 'v1/projects/{projectId}/regions/{region}/clusters/{clusterName}',
344              'httpMethod' => 'GET',
345              'parameters' => array(
346                'projectId' => array(
347                  'location' => 'path',
348                  'type' => 'string',
349                  'required' => true,
350                ),
351                'region' => array(
352                  'location' => 'path',
353                  'type' => 'string',
354                  'required' => true,
355                ),
356                'clusterName' => array(
357                  'location' => 'path',
358                  'type' => 'string',
359                  'required' => true,
360                ),
361              ),
362            ),'getIamPolicy' => array(
363              'path' => 'v1/{+resource}:getIamPolicy',
364              'httpMethod' => 'POST',
365              'parameters' => array(
366                'resource' => array(
367                  'location' => 'path',
368                  'type' => 'string',
369                  'required' => true,
370                ),
371              ),
372            ),'list' => array(
373              'path' => 'v1/projects/{projectId}/regions/{region}/clusters',
374              'httpMethod' => 'GET',
375              'parameters' => array(
376                'projectId' => array(
377                  'location' => 'path',
378                  'type' => 'string',
379                  'required' => true,
380                ),
381                'region' => array(
382                  'location' => 'path',
383                  'type' => 'string',
384                  'required' => true,
385                ),
386                'filter' => array(
387                  'location' => 'query',
388                  'type' => 'string',
389                ),
390                'pageToken' => array(
391                  'location' => 'query',
392                  'type' => 'string',
393                ),
394                'pageSize' => array(
395                  'location' => 'query',
396                  'type' => 'integer',
397                ),
398              ),
399            ),'patch' => array(
400              'path' => 'v1/projects/{projectId}/regions/{region}/clusters/{clusterName}',
401              'httpMethod' => 'PATCH',
402              'parameters' => array(
403                'projectId' => array(
404                  'location' => 'path',
405                  'type' => 'string',
406                  'required' => true,
407                ),
408                'region' => array(
409                  'location' => 'path',
410                  'type' => 'string',
411                  'required' => true,
412                ),
413                'clusterName' => array(
414                  'location' => 'path',
415                  'type' => 'string',
416                  'required' => true,
417                ),
418                'gracefulDecommissionTimeout' => array(
419                  'location' => 'query',
420                  'type' => 'string',
421                ),
422                'requestId' => array(
423                  'location' => 'query',
424                  'type' => 'string',
425                ),
426                'updateMask' => array(
427                  'location' => 'query',
428                  'type' => 'string',
429                ),
430              ),
431            ),'setIamPolicy' => array(
432              'path' => 'v1/{+resource}:setIamPolicy',
433              'httpMethod' => 'POST',
434              'parameters' => array(
435                'resource' => array(
436                  'location' => 'path',
437                  'type' => 'string',
438                  'required' => true,
439                ),
440              ),
441            ),'testIamPermissions' => array(
442              'path' => 'v1/{+resource}:testIamPermissions',
443              'httpMethod' => 'POST',
444              'parameters' => array(
445                'resource' => array(
446                  'location' => 'path',
447                  'type' => 'string',
448                  'required' => true,
449                ),
450              ),
451            ),
452          )
453        )
454    );
455    $this->projects_regions_jobs = new Google_Service_Dataproc_Resource_ProjectsRegionsJobs(
456        $this,
457        $this->serviceName,
458        'jobs',
459        array(
460          'methods' => array(
461            'cancel' => array(
462              'path' => 'v1/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel',
463              'httpMethod' => 'POST',
464              'parameters' => array(
465                'projectId' => array(
466                  'location' => 'path',
467                  'type' => 'string',
468                  'required' => true,
469                ),
470                'region' => array(
471                  'location' => 'path',
472                  'type' => 'string',
473                  'required' => true,
474                ),
475                'jobId' => array(
476                  'location' => 'path',
477                  'type' => 'string',
478                  'required' => true,
479                ),
480              ),
481            ),'delete' => array(
482              'path' => 'v1/projects/{projectId}/regions/{region}/jobs/{jobId}',
483              'httpMethod' => 'DELETE',
484              'parameters' => array(
485                'projectId' => array(
486                  'location' => 'path',
487                  'type' => 'string',
488                  'required' => true,
489                ),
490                'region' => array(
491                  'location' => 'path',
492                  'type' => 'string',
493                  'required' => true,
494                ),
495                'jobId' => array(
496                  'location' => 'path',
497                  'type' => 'string',
498                  'required' => true,
499                ),
500              ),
501            ),'get' => array(
502              'path' => 'v1/projects/{projectId}/regions/{region}/jobs/{jobId}',
503              'httpMethod' => 'GET',
504              'parameters' => array(
505                'projectId' => array(
506                  'location' => 'path',
507                  'type' => 'string',
508                  'required' => true,
509                ),
510                'region' => array(
511                  'location' => 'path',
512                  'type' => 'string',
513                  'required' => true,
514                ),
515                'jobId' => array(
516                  'location' => 'path',
517                  'type' => 'string',
518                  'required' => true,
519                ),
520              ),
521            ),'getIamPolicy' => array(
522              'path' => 'v1/{+resource}:getIamPolicy',
523              'httpMethod' => 'POST',
524              'parameters' => array(
525                'resource' => array(
526                  'location' => 'path',
527                  'type' => 'string',
528                  'required' => true,
529                ),
530              ),
531            ),'list' => array(
532              'path' => 'v1/projects/{projectId}/regions/{region}/jobs',
533              'httpMethod' => 'GET',
534              'parameters' => array(
535                'projectId' => array(
536                  'location' => 'path',
537                  'type' => 'string',
538                  'required' => true,
539                ),
540                'region' => array(
541                  'location' => 'path',
542                  'type' => 'string',
543                  'required' => true,
544                ),
545                'clusterName' => array(
546                  'location' => 'query',
547                  'type' => 'string',
548                ),
549                'filter' => array(
550                  'location' => 'query',
551                  'type' => 'string',
552                ),
553                'jobStateMatcher' => array(
554                  'location' => 'query',
555                  'type' => 'string',
556                ),
557                'pageToken' => array(
558                  'location' => 'query',
559                  'type' => 'string',
560                ),
561                'pageSize' => array(
562                  'location' => 'query',
563                  'type' => 'integer',
564                ),
565              ),
566            ),'patch' => array(
567              'path' => 'v1/projects/{projectId}/regions/{region}/jobs/{jobId}',
568              'httpMethod' => 'PATCH',
569              'parameters' => array(
570                'projectId' => array(
571                  'location' => 'path',
572                  'type' => 'string',
573                  'required' => true,
574                ),
575                'region' => array(
576                  'location' => 'path',
577                  'type' => 'string',
578                  'required' => true,
579                ),
580                'jobId' => array(
581                  'location' => 'path',
582                  'type' => 'string',
583                  'required' => true,
584                ),
585                'updateMask' => array(
586                  'location' => 'query',
587                  'type' => 'string',
588                ),
589              ),
590            ),'setIamPolicy' => array(
591              'path' => 'v1/{+resource}:setIamPolicy',
592              'httpMethod' => 'POST',
593              'parameters' => array(
594                'resource' => array(
595                  'location' => 'path',
596                  'type' => 'string',
597                  'required' => true,
598                ),
599              ),
600            ),'submit' => array(
601              'path' => 'v1/projects/{projectId}/regions/{region}/jobs:submit',
602              'httpMethod' => 'POST',
603              'parameters' => array(
604                'projectId' => array(
605                  'location' => 'path',
606                  'type' => 'string',
607                  'required' => true,
608                ),
609                'region' => array(
610                  'location' => 'path',
611                  'type' => 'string',
612                  'required' => true,
613                ),
614              ),
615            ),'testIamPermissions' => array(
616              'path' => 'v1/{+resource}:testIamPermissions',
617              'httpMethod' => 'POST',
618              'parameters' => array(
619                'resource' => array(
620                  'location' => 'path',
621                  'type' => 'string',
622                  'required' => true,
623                ),
624              ),
625            ),
626          )
627        )
628    );
629    $this->projects_regions_operations = new Google_Service_Dataproc_Resource_ProjectsRegionsOperations(
630        $this,
631        $this->serviceName,
632        'operations',
633        array(
634          'methods' => array(
635            'cancel' => array(
636              'path' => 'v1/{+name}:cancel',
637              'httpMethod' => 'POST',
638              'parameters' => array(
639                'name' => array(
640                  'location' => 'path',
641                  'type' => 'string',
642                  'required' => true,
643                ),
644              ),
645            ),'delete' => array(
646              'path' => 'v1/{+name}',
647              'httpMethod' => 'DELETE',
648              'parameters' => array(
649                'name' => array(
650                  'location' => 'path',
651                  'type' => 'string',
652                  'required' => true,
653                ),
654              ),
655            ),'get' => array(
656              'path' => 'v1/{+name}',
657              'httpMethod' => 'GET',
658              'parameters' => array(
659                'name' => array(
660                  'location' => 'path',
661                  'type' => 'string',
662                  'required' => true,
663                ),
664              ),
665            ),'getIamPolicy' => array(
666              'path' => 'v1/{+resource}:getIamPolicy',
667              'httpMethod' => 'POST',
668              'parameters' => array(
669                'resource' => array(
670                  'location' => 'path',
671                  'type' => 'string',
672                  'required' => true,
673                ),
674              ),
675            ),'list' => array(
676              'path' => 'v1/{+name}',
677              'httpMethod' => 'GET',
678              'parameters' => array(
679                'name' => array(
680                  'location' => 'path',
681                  'type' => 'string',
682                  'required' => true,
683                ),
684                'filter' => array(
685                  'location' => 'query',
686                  'type' => 'string',
687                ),
688                'pageToken' => array(
689                  'location' => 'query',
690                  'type' => 'string',
691                ),
692                'pageSize' => array(
693                  'location' => 'query',
694                  'type' => 'integer',
695                ),
696              ),
697            ),'setIamPolicy' => array(
698              'path' => 'v1/{+resource}:setIamPolicy',
699              'httpMethod' => 'POST',
700              'parameters' => array(
701                'resource' => array(
702                  'location' => 'path',
703                  'type' => 'string',
704                  'required' => true,
705                ),
706              ),
707            ),'testIamPermissions' => array(
708              'path' => 'v1/{+resource}:testIamPermissions',
709              'httpMethod' => 'POST',
710              'parameters' => array(
711                'resource' => array(
712                  'location' => 'path',
713                  'type' => 'string',
714                  'required' => true,
715                ),
716              ),
717            ),
718          )
719        )
720    );
721    $this->projects_regions_workflowTemplates = new Google_Service_Dataproc_Resource_ProjectsRegionsWorkflowTemplates(
722        $this,
723        $this->serviceName,
724        'workflowTemplates',
725        array(
726          'methods' => array(
727            'create' => array(
728              'path' => 'v1/{+parent}/workflowTemplates',
729              'httpMethod' => 'POST',
730              'parameters' => array(
731                'parent' => array(
732                  'location' => 'path',
733                  'type' => 'string',
734                  'required' => true,
735                ),
736              ),
737            ),'delete' => array(
738              'path' => 'v1/{+name}',
739              'httpMethod' => 'DELETE',
740              'parameters' => array(
741                'name' => array(
742                  'location' => 'path',
743                  'type' => 'string',
744                  'required' => true,
745                ),
746                'version' => array(
747                  'location' => 'query',
748                  'type' => 'integer',
749                ),
750              ),
751            ),'get' => array(
752              'path' => 'v1/{+name}',
753              'httpMethod' => 'GET',
754              'parameters' => array(
755                'name' => array(
756                  'location' => 'path',
757                  'type' => 'string',
758                  'required' => true,
759                ),
760                'version' => array(
761                  'location' => 'query',
762                  'type' => 'integer',
763                ),
764              ),
765            ),'getIamPolicy' => array(
766              'path' => 'v1/{+resource}:getIamPolicy',
767              'httpMethod' => 'POST',
768              'parameters' => array(
769                'resource' => array(
770                  'location' => 'path',
771                  'type' => 'string',
772                  'required' => true,
773                ),
774              ),
775            ),'instantiate' => array(
776              'path' => 'v1/{+name}:instantiate',
777              'httpMethod' => 'POST',
778              'parameters' => array(
779                'name' => array(
780                  'location' => 'path',
781                  'type' => 'string',
782                  'required' => true,
783                ),
784              ),
785            ),'instantiateInline' => array(
786              'path' => 'v1/{+parent}/workflowTemplates:instantiateInline',
787              'httpMethod' => 'POST',
788              'parameters' => array(
789                'parent' => array(
790                  'location' => 'path',
791                  'type' => 'string',
792                  'required' => true,
793                ),
794                'requestId' => array(
795                  'location' => 'query',
796                  'type' => 'string',
797                ),
798              ),
799            ),'list' => array(
800              'path' => 'v1/{+parent}/workflowTemplates',
801              'httpMethod' => 'GET',
802              'parameters' => array(
803                'parent' => array(
804                  'location' => 'path',
805                  'type' => 'string',
806                  'required' => true,
807                ),
808                'pageToken' => array(
809                  'location' => 'query',
810                  'type' => 'string',
811                ),
812                'pageSize' => array(
813                  'location' => 'query',
814                  'type' => 'integer',
815                ),
816              ),
817            ),'setIamPolicy' => array(
818              'path' => 'v1/{+resource}:setIamPolicy',
819              'httpMethod' => 'POST',
820              'parameters' => array(
821                'resource' => array(
822                  'location' => 'path',
823                  'type' => 'string',
824                  'required' => true,
825                ),
826              ),
827            ),'testIamPermissions' => array(
828              'path' => 'v1/{+resource}:testIamPermissions',
829              'httpMethod' => 'POST',
830              'parameters' => array(
831                'resource' => array(
832                  'location' => 'path',
833                  'type' => 'string',
834                  'required' => true,
835                ),
836              ),
837            ),'update' => array(
838              'path' => 'v1/{+name}',
839              'httpMethod' => 'PUT',
840              'parameters' => array(
841                'name' => array(
842                  'location' => 'path',
843                  'type' => 'string',
844                  'required' => true,
845                ),
846              ),
847            ),
848          )
849        )
850    );
851  }
852}
853