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