Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.

Differences Between: [Versions 311 and 402] [Versions 311 and 403]

   1  <?php
   2  /*
   3   * Copyright 2010 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 Compute (v1).
  20   *
  21   * <p>
  22   * API for the Google Compute Engine service.</p>
  23   *
  24   * <p>
  25   * For more information about this service, see the API
  26   * <a href="https://developers.google.com/compute/docs/reference/latest/" target="_blank">Documentation</a>
  27   * </p>
  28   *
  29   * @author Google, Inc.
  30   */
  31  class Google_Service_Compute 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    /** View and manage your Google Compute Engine resources. */
  37    const COMPUTE =
  38        "https://www.googleapis.com/auth/compute";
  39    /** View your Google Compute Engine resources. */
  40    const COMPUTE_READONLY =
  41        "https://www.googleapis.com/auth/compute.readonly";
  42    /** Manage your data and permissions in Google Cloud Storage. */
  43    const DEVSTORAGE_FULL_CONTROL =
  44        "https://www.googleapis.com/auth/devstorage.full_control";
  45    /** View your data in Google Cloud Storage. */
  46    const DEVSTORAGE_READ_ONLY =
  47        "https://www.googleapis.com/auth/devstorage.read_only";
  48    /** Manage your data in Google Cloud Storage. */
  49    const DEVSTORAGE_READ_WRITE =
  50        "https://www.googleapis.com/auth/devstorage.read_write";
  51  
  52    public $addresses;
  53    public $autoscalers;
  54    public $backendServices;
  55    public $diskTypes;
  56    public $disks;
  57    public $firewalls;
  58    public $forwardingRules;
  59    public $globalAddresses;
  60    public $globalForwardingRules;
  61    public $globalOperations;
  62    public $httpHealthChecks;
  63    public $httpsHealthChecks;
  64    public $images;
  65    public $instanceGroupManagers;
  66    public $instanceGroups;
  67    public $instanceTemplates;
  68    public $instances;
  69    public $licenses;
  70    public $machineTypes;
  71    public $networks;
  72    public $projects;
  73    public $regionOperations;
  74    public $regions;
  75    public $routes;
  76    public $snapshots;
  77    public $sslCertificates;
  78    public $targetHttpProxies;
  79    public $targetHttpsProxies;
  80    public $targetInstances;
  81    public $targetPools;
  82    public $targetVpnGateways;
  83    public $urlMaps;
  84    public $vpnTunnels;
  85    public $zoneOperations;
  86    public $zones;
  87    
  88  
  89    /**
  90     * Constructs the internal representation of the Compute service.
  91     *
  92     * @param Google_Client $client
  93     */
  94    public function __construct(Google_Client $client)
  95    {
  96      parent::__construct($client);
  97      $this->rootUrl = 'https://www.googleapis.com/';
  98      $this->servicePath = 'compute/v1/projects/';
  99      $this->version = 'v1';
 100      $this->serviceName = 'compute';
 101  
 102      $this->addresses = new Google_Service_Compute_Addresses_Resource(
 103          $this,
 104          $this->serviceName,
 105          'addresses',
 106          array(
 107            'methods' => array(
 108              'aggregatedList' => array(
 109                'path' => '{project}/aggregated/addresses',
 110                'httpMethod' => 'GET',
 111                'parameters' => array(
 112                  'project' => array(
 113                    'location' => 'path',
 114                    'type' => 'string',
 115                    'required' => true,
 116                  ),
 117                  'filter' => array(
 118                    'location' => 'query',
 119                    'type' => 'string',
 120                  ),
 121                  'pageToken' => array(
 122                    'location' => 'query',
 123                    'type' => 'string',
 124                  ),
 125                  'maxResults' => array(
 126                    'location' => 'query',
 127                    'type' => 'integer',
 128                  ),
 129                ),
 130              ),'delete' => array(
 131                'path' => '{project}/regions/{region}/addresses/{address}',
 132                'httpMethod' => 'DELETE',
 133                'parameters' => array(
 134                  'project' => array(
 135                    'location' => 'path',
 136                    'type' => 'string',
 137                    'required' => true,
 138                  ),
 139                  'region' => array(
 140                    'location' => 'path',
 141                    'type' => 'string',
 142                    'required' => true,
 143                  ),
 144                  'address' => array(
 145                    'location' => 'path',
 146                    'type' => 'string',
 147                    'required' => true,
 148                  ),
 149                ),
 150              ),'get' => array(
 151                'path' => '{project}/regions/{region}/addresses/{address}',
 152                'httpMethod' => 'GET',
 153                'parameters' => array(
 154                  'project' => array(
 155                    'location' => 'path',
 156                    'type' => 'string',
 157                    'required' => true,
 158                  ),
 159                  'region' => array(
 160                    'location' => 'path',
 161                    'type' => 'string',
 162                    'required' => true,
 163                  ),
 164                  'address' => array(
 165                    'location' => 'path',
 166                    'type' => 'string',
 167                    'required' => true,
 168                  ),
 169                ),
 170              ),'insert' => array(
 171                'path' => '{project}/regions/{region}/addresses',
 172                'httpMethod' => 'POST',
 173                'parameters' => array(
 174                  'project' => array(
 175                    'location' => 'path',
 176                    'type' => 'string',
 177                    'required' => true,
 178                  ),
 179                  'region' => array(
 180                    'location' => 'path',
 181                    'type' => 'string',
 182                    'required' => true,
 183                  ),
 184                ),
 185              ),'list' => array(
 186                'path' => '{project}/regions/{region}/addresses',
 187                'httpMethod' => 'GET',
 188                'parameters' => array(
 189                  'project' => array(
 190                    'location' => 'path',
 191                    'type' => 'string',
 192                    'required' => true,
 193                  ),
 194                  'region' => array(
 195                    'location' => 'path',
 196                    'type' => 'string',
 197                    'required' => true,
 198                  ),
 199                  'filter' => array(
 200                    'location' => 'query',
 201                    'type' => 'string',
 202                  ),
 203                  'pageToken' => array(
 204                    'location' => 'query',
 205                    'type' => 'string',
 206                  ),
 207                  'maxResults' => array(
 208                    'location' => 'query',
 209                    'type' => 'integer',
 210                  ),
 211                ),
 212              ),
 213            )
 214          )
 215      );
 216      $this->autoscalers = new Google_Service_Compute_Autoscalers_Resource(
 217          $this,
 218          $this->serviceName,
 219          'autoscalers',
 220          array(
 221            'methods' => array(
 222              'aggregatedList' => array(
 223                'path' => '{project}/aggregated/autoscalers',
 224                'httpMethod' => 'GET',
 225                'parameters' => array(
 226                  'project' => array(
 227                    'location' => 'path',
 228                    'type' => 'string',
 229                    'required' => true,
 230                  ),
 231                  'filter' => array(
 232                    'location' => 'query',
 233                    'type' => 'string',
 234                  ),
 235                  'pageToken' => array(
 236                    'location' => 'query',
 237                    'type' => 'string',
 238                  ),
 239                  'maxResults' => array(
 240                    'location' => 'query',
 241                    'type' => 'integer',
 242                  ),
 243                ),
 244              ),'delete' => array(
 245                'path' => '{project}/zones/{zone}/autoscalers/{autoscaler}',
 246                'httpMethod' => 'DELETE',
 247                'parameters' => array(
 248                  'project' => array(
 249                    'location' => 'path',
 250                    'type' => 'string',
 251                    'required' => true,
 252                  ),
 253                  'zone' => array(
 254                    'location' => 'path',
 255                    'type' => 'string',
 256                    'required' => true,
 257                  ),
 258                  'autoscaler' => array(
 259                    'location' => 'path',
 260                    'type' => 'string',
 261                    'required' => true,
 262                  ),
 263                ),
 264              ),'get' => array(
 265                'path' => '{project}/zones/{zone}/autoscalers/{autoscaler}',
 266                'httpMethod' => 'GET',
 267                'parameters' => array(
 268                  'project' => array(
 269                    'location' => 'path',
 270                    'type' => 'string',
 271                    'required' => true,
 272                  ),
 273                  'zone' => array(
 274                    'location' => 'path',
 275                    'type' => 'string',
 276                    'required' => true,
 277                  ),
 278                  'autoscaler' => array(
 279                    'location' => 'path',
 280                    'type' => 'string',
 281                    'required' => true,
 282                  ),
 283                ),
 284              ),'insert' => array(
 285                'path' => '{project}/zones/{zone}/autoscalers',
 286                'httpMethod' => 'POST',
 287                'parameters' => array(
 288                  'project' => array(
 289                    'location' => 'path',
 290                    'type' => 'string',
 291                    'required' => true,
 292                  ),
 293                  'zone' => array(
 294                    'location' => 'path',
 295                    'type' => 'string',
 296                    'required' => true,
 297                  ),
 298                ),
 299              ),'list' => array(
 300                'path' => '{project}/zones/{zone}/autoscalers',
 301                'httpMethod' => 'GET',
 302                'parameters' => array(
 303                  'project' => array(
 304                    'location' => 'path',
 305                    'type' => 'string',
 306                    'required' => true,
 307                  ),
 308                  'zone' => array(
 309                    'location' => 'path',
 310                    'type' => 'string',
 311                    'required' => true,
 312                  ),
 313                  'filter' => array(
 314                    'location' => 'query',
 315                    'type' => 'string',
 316                  ),
 317                  'pageToken' => array(
 318                    'location' => 'query',
 319                    'type' => 'string',
 320                  ),
 321                  'maxResults' => array(
 322                    'location' => 'query',
 323                    'type' => 'integer',
 324                  ),
 325                ),
 326              ),'patch' => array(
 327                'path' => '{project}/zones/{zone}/autoscalers',
 328                'httpMethod' => 'PATCH',
 329                'parameters' => array(
 330                  'project' => array(
 331                    'location' => 'path',
 332                    'type' => 'string',
 333                    'required' => true,
 334                  ),
 335                  'zone' => array(
 336                    'location' => 'path',
 337                    'type' => 'string',
 338                    'required' => true,
 339                  ),
 340                  'autoscaler' => array(
 341                    'location' => 'query',
 342                    'type' => 'string',
 343                    'required' => true,
 344                  ),
 345                ),
 346              ),'update' => array(
 347                'path' => '{project}/zones/{zone}/autoscalers',
 348                'httpMethod' => 'PUT',
 349                'parameters' => array(
 350                  'project' => array(
 351                    'location' => 'path',
 352                    'type' => 'string',
 353                    'required' => true,
 354                  ),
 355                  'zone' => array(
 356                    'location' => 'path',
 357                    'type' => 'string',
 358                    'required' => true,
 359                  ),
 360                  'autoscaler' => array(
 361                    'location' => 'query',
 362                    'type' => 'string',
 363                  ),
 364                ),
 365              ),
 366            )
 367          )
 368      );
 369      $this->backendServices = new Google_Service_Compute_BackendServices_Resource(
 370          $this,
 371          $this->serviceName,
 372          'backendServices',
 373          array(
 374            'methods' => array(
 375              'delete' => array(
 376                'path' => '{project}/global/backendServices/{backendService}',
 377                'httpMethod' => 'DELETE',
 378                'parameters' => array(
 379                  'project' => array(
 380                    'location' => 'path',
 381                    'type' => 'string',
 382                    'required' => true,
 383                  ),
 384                  'backendService' => array(
 385                    'location' => 'path',
 386                    'type' => 'string',
 387                    'required' => true,
 388                  ),
 389                ),
 390              ),'get' => array(
 391                'path' => '{project}/global/backendServices/{backendService}',
 392                'httpMethod' => 'GET',
 393                'parameters' => array(
 394                  'project' => array(
 395                    'location' => 'path',
 396                    'type' => 'string',
 397                    'required' => true,
 398                  ),
 399                  'backendService' => array(
 400                    'location' => 'path',
 401                    'type' => 'string',
 402                    'required' => true,
 403                  ),
 404                ),
 405              ),'getHealth' => array(
 406                'path' => '{project}/global/backendServices/{backendService}/getHealth',
 407                'httpMethod' => 'POST',
 408                'parameters' => array(
 409                  'project' => array(
 410                    'location' => 'path',
 411                    'type' => 'string',
 412                    'required' => true,
 413                  ),
 414                  'backendService' => array(
 415                    'location' => 'path',
 416                    'type' => 'string',
 417                    'required' => true,
 418                  ),
 419                ),
 420              ),'insert' => array(
 421                'path' => '{project}/global/backendServices',
 422                'httpMethod' => 'POST',
 423                'parameters' => array(
 424                  'project' => array(
 425                    'location' => 'path',
 426                    'type' => 'string',
 427                    'required' => true,
 428                  ),
 429                ),
 430              ),'list' => array(
 431                'path' => '{project}/global/backendServices',
 432                'httpMethod' => 'GET',
 433                'parameters' => array(
 434                  'project' => array(
 435                    'location' => 'path',
 436                    'type' => 'string',
 437                    'required' => true,
 438                  ),
 439                  'filter' => array(
 440                    'location' => 'query',
 441                    'type' => 'string',
 442                  ),
 443                  'pageToken' => array(
 444                    'location' => 'query',
 445                    'type' => 'string',
 446                  ),
 447                  'maxResults' => array(
 448                    'location' => 'query',
 449                    'type' => 'integer',
 450                  ),
 451                ),
 452              ),'patch' => array(
 453                'path' => '{project}/global/backendServices/{backendService}',
 454                'httpMethod' => 'PATCH',
 455                'parameters' => array(
 456                  'project' => array(
 457                    'location' => 'path',
 458                    'type' => 'string',
 459                    'required' => true,
 460                  ),
 461                  'backendService' => array(
 462                    'location' => 'path',
 463                    'type' => 'string',
 464                    'required' => true,
 465                  ),
 466                ),
 467              ),'update' => array(
 468                'path' => '{project}/global/backendServices/{backendService}',
 469                'httpMethod' => 'PUT',
 470                'parameters' => array(
 471                  'project' => array(
 472                    'location' => 'path',
 473                    'type' => 'string',
 474                    'required' => true,
 475                  ),
 476                  'backendService' => array(
 477                    'location' => 'path',
 478                    'type' => 'string',
 479                    'required' => true,
 480                  ),
 481                ),
 482              ),
 483            )
 484          )
 485      );
 486      $this->diskTypes = new Google_Service_Compute_DiskTypes_Resource(
 487          $this,
 488          $this->serviceName,
 489          'diskTypes',
 490          array(
 491            'methods' => array(
 492              'aggregatedList' => array(
 493                'path' => '{project}/aggregated/diskTypes',
 494                'httpMethod' => 'GET',
 495                'parameters' => array(
 496                  'project' => array(
 497                    'location' => 'path',
 498                    'type' => 'string',
 499                    'required' => true,
 500                  ),
 501                  'filter' => array(
 502                    'location' => 'query',
 503                    'type' => 'string',
 504                  ),
 505                  'pageToken' => array(
 506                    'location' => 'query',
 507                    'type' => 'string',
 508                  ),
 509                  'maxResults' => array(
 510                    'location' => 'query',
 511                    'type' => 'integer',
 512                  ),
 513                ),
 514              ),'get' => array(
 515                'path' => '{project}/zones/{zone}/diskTypes/{diskType}',
 516                'httpMethod' => 'GET',
 517                'parameters' => array(
 518                  'project' => array(
 519                    'location' => 'path',
 520                    'type' => 'string',
 521                    'required' => true,
 522                  ),
 523                  'zone' => array(
 524                    'location' => 'path',
 525                    'type' => 'string',
 526                    'required' => true,
 527                  ),
 528                  'diskType' => array(
 529                    'location' => 'path',
 530                    'type' => 'string',
 531                    'required' => true,
 532                  ),
 533                ),
 534              ),'list' => array(
 535                'path' => '{project}/zones/{zone}/diskTypes',
 536                'httpMethod' => 'GET',
 537                'parameters' => array(
 538                  'project' => array(
 539                    'location' => 'path',
 540                    'type' => 'string',
 541                    'required' => true,
 542                  ),
 543                  'zone' => array(
 544                    'location' => 'path',
 545                    'type' => 'string',
 546                    'required' => true,
 547                  ),
 548                  'filter' => array(
 549                    'location' => 'query',
 550                    'type' => 'string',
 551                  ),
 552                  'pageToken' => array(
 553                    'location' => 'query',
 554                    'type' => 'string',
 555                  ),
 556                  'maxResults' => array(
 557                    'location' => 'query',
 558                    'type' => 'integer',
 559                  ),
 560                ),
 561              ),
 562            )
 563          )
 564      );
 565      $this->disks = new Google_Service_Compute_Disks_Resource(
 566          $this,
 567          $this->serviceName,
 568          'disks',
 569          array(
 570            'methods' => array(
 571              'aggregatedList' => array(
 572                'path' => '{project}/aggregated/disks',
 573                'httpMethod' => 'GET',
 574                'parameters' => array(
 575                  'project' => array(
 576                    'location' => 'path',
 577                    'type' => 'string',
 578                    'required' => true,
 579                  ),
 580                  'filter' => array(
 581                    'location' => 'query',
 582                    'type' => 'string',
 583                  ),
 584                  'pageToken' => array(
 585                    'location' => 'query',
 586                    'type' => 'string',
 587                  ),
 588                  'maxResults' => array(
 589                    'location' => 'query',
 590                    'type' => 'integer',
 591                  ),
 592                ),
 593              ),'createSnapshot' => array(
 594                'path' => '{project}/zones/{zone}/disks/{disk}/createSnapshot',
 595                'httpMethod' => 'POST',
 596                'parameters' => array(
 597                  'project' => array(
 598                    'location' => 'path',
 599                    'type' => 'string',
 600                    'required' => true,
 601                  ),
 602                  'zone' => array(
 603                    'location' => 'path',
 604                    'type' => 'string',
 605                    'required' => true,
 606                  ),
 607                  'disk' => array(
 608                    'location' => 'path',
 609                    'type' => 'string',
 610                    'required' => true,
 611                  ),
 612                ),
 613              ),'delete' => array(
 614                'path' => '{project}/zones/{zone}/disks/{disk}',
 615                'httpMethod' => 'DELETE',
 616                'parameters' => array(
 617                  'project' => array(
 618                    'location' => 'path',
 619                    'type' => 'string',
 620                    'required' => true,
 621                  ),
 622                  'zone' => array(
 623                    'location' => 'path',
 624                    'type' => 'string',
 625                    'required' => true,
 626                  ),
 627                  'disk' => array(
 628                    'location' => 'path',
 629                    'type' => 'string',
 630                    'required' => true,
 631                  ),
 632                ),
 633              ),'get' => array(
 634                'path' => '{project}/zones/{zone}/disks/{disk}',
 635                'httpMethod' => 'GET',
 636                'parameters' => array(
 637                  'project' => array(
 638                    'location' => 'path',
 639                    'type' => 'string',
 640                    'required' => true,
 641                  ),
 642                  'zone' => array(
 643                    'location' => 'path',
 644                    'type' => 'string',
 645                    'required' => true,
 646                  ),
 647                  'disk' => array(
 648                    'location' => 'path',
 649                    'type' => 'string',
 650                    'required' => true,
 651                  ),
 652                ),
 653              ),'insert' => array(
 654                'path' => '{project}/zones/{zone}/disks',
 655                'httpMethod' => 'POST',
 656                'parameters' => array(
 657                  'project' => array(
 658                    'location' => 'path',
 659                    'type' => 'string',
 660                    'required' => true,
 661                  ),
 662                  'zone' => array(
 663                    'location' => 'path',
 664                    'type' => 'string',
 665                    'required' => true,
 666                  ),
 667                  'sourceImage' => array(
 668                    'location' => 'query',
 669                    'type' => 'string',
 670                  ),
 671                ),
 672              ),'list' => array(
 673                'path' => '{project}/zones/{zone}/disks',
 674                'httpMethod' => 'GET',
 675                'parameters' => array(
 676                  'project' => array(
 677                    'location' => 'path',
 678                    'type' => 'string',
 679                    'required' => true,
 680                  ),
 681                  'zone' => array(
 682                    'location' => 'path',
 683                    'type' => 'string',
 684                    'required' => true,
 685                  ),
 686                  'filter' => array(
 687                    'location' => 'query',
 688                    'type' => 'string',
 689                  ),
 690                  'pageToken' => array(
 691                    'location' => 'query',
 692                    'type' => 'string',
 693                  ),
 694                  'maxResults' => array(
 695                    'location' => 'query',
 696                    'type' => 'integer',
 697                  ),
 698                ),
 699              ),
 700            )
 701          )
 702      );
 703      $this->firewalls = new Google_Service_Compute_Firewalls_Resource(
 704          $this,
 705          $this->serviceName,
 706          'firewalls',
 707          array(
 708            'methods' => array(
 709              'delete' => array(
 710                'path' => '{project}/global/firewalls/{firewall}',
 711                'httpMethod' => 'DELETE',
 712                'parameters' => array(
 713                  'project' => array(
 714                    'location' => 'path',
 715                    'type' => 'string',
 716                    'required' => true,
 717                  ),
 718                  'firewall' => array(
 719                    'location' => 'path',
 720                    'type' => 'string',
 721                    'required' => true,
 722                  ),
 723                ),
 724              ),'get' => array(
 725                'path' => '{project}/global/firewalls/{firewall}',
 726                'httpMethod' => 'GET',
 727                'parameters' => array(
 728                  'project' => array(
 729                    'location' => 'path',
 730                    'type' => 'string',
 731                    'required' => true,
 732                  ),
 733                  'firewall' => array(
 734                    'location' => 'path',
 735                    'type' => 'string',
 736                    'required' => true,
 737                  ),
 738                ),
 739              ),'insert' => array(
 740                'path' => '{project}/global/firewalls',
 741                'httpMethod' => 'POST',
 742                'parameters' => array(
 743                  'project' => array(
 744                    'location' => 'path',
 745                    'type' => 'string',
 746                    'required' => true,
 747                  ),
 748                ),
 749              ),'list' => array(
 750                'path' => '{project}/global/firewalls',
 751                'httpMethod' => 'GET',
 752                'parameters' => array(
 753                  'project' => array(
 754                    'location' => 'path',
 755                    'type' => 'string',
 756                    'required' => true,
 757                  ),
 758                  'filter' => array(
 759                    'location' => 'query',
 760                    'type' => 'string',
 761                  ),
 762                  'pageToken' => array(
 763                    'location' => 'query',
 764                    'type' => 'string',
 765                  ),
 766                  'maxResults' => array(
 767                    'location' => 'query',
 768                    'type' => 'integer',
 769                  ),
 770                ),
 771              ),'patch' => array(
 772                'path' => '{project}/global/firewalls/{firewall}',
 773                'httpMethod' => 'PATCH',
 774                'parameters' => array(
 775                  'project' => array(
 776                    'location' => 'path',
 777                    'type' => 'string',
 778                    'required' => true,
 779                  ),
 780                  'firewall' => array(
 781                    'location' => 'path',
 782                    'type' => 'string',
 783                    'required' => true,
 784                  ),
 785                ),
 786              ),'update' => array(
 787                'path' => '{project}/global/firewalls/{firewall}',
 788                'httpMethod' => 'PUT',
 789                'parameters' => array(
 790                  'project' => array(
 791                    'location' => 'path',
 792                    'type' => 'string',
 793                    'required' => true,
 794                  ),
 795                  'firewall' => array(
 796                    'location' => 'path',
 797                    'type' => 'string',
 798                    'required' => true,
 799                  ),
 800                ),
 801              ),
 802            )
 803          )
 804      );
 805      $this->forwardingRules = new Google_Service_Compute_ForwardingRules_Resource(
 806          $this,
 807          $this->serviceName,
 808          'forwardingRules',
 809          array(
 810            'methods' => array(
 811              'aggregatedList' => array(
 812                'path' => '{project}/aggregated/forwardingRules',
 813                'httpMethod' => 'GET',
 814                'parameters' => array(
 815                  'project' => array(
 816                    'location' => 'path',
 817                    'type' => 'string',
 818                    'required' => true,
 819                  ),
 820                  'filter' => array(
 821                    'location' => 'query',
 822                    'type' => 'string',
 823                  ),
 824                  'pageToken' => array(
 825                    'location' => 'query',
 826                    'type' => 'string',
 827                  ),
 828                  'maxResults' => array(
 829                    'location' => 'query',
 830                    'type' => 'integer',
 831                  ),
 832                ),
 833              ),'delete' => array(
 834                'path' => '{project}/regions/{region}/forwardingRules/{forwardingRule}',
 835                'httpMethod' => 'DELETE',
 836                'parameters' => array(
 837                  'project' => array(
 838                    'location' => 'path',
 839                    'type' => 'string',
 840                    'required' => true,
 841                  ),
 842                  'region' => array(
 843                    'location' => 'path',
 844                    'type' => 'string',
 845                    'required' => true,
 846                  ),
 847                  'forwardingRule' => array(
 848                    'location' => 'path',
 849                    'type' => 'string',
 850                    'required' => true,
 851                  ),
 852                ),
 853              ),'get' => array(
 854                'path' => '{project}/regions/{region}/forwardingRules/{forwardingRule}',
 855                'httpMethod' => 'GET',
 856                'parameters' => array(
 857                  'project' => array(
 858                    'location' => 'path',
 859                    'type' => 'string',
 860                    'required' => true,
 861                  ),
 862                  'region' => array(
 863                    'location' => 'path',
 864                    'type' => 'string',
 865                    'required' => true,
 866                  ),
 867                  'forwardingRule' => array(
 868                    'location' => 'path',
 869                    'type' => 'string',
 870                    'required' => true,
 871                  ),
 872                ),
 873              ),'insert' => array(
 874                'path' => '{project}/regions/{region}/forwardingRules',
 875                'httpMethod' => 'POST',
 876                'parameters' => array(
 877                  'project' => array(
 878                    'location' => 'path',
 879                    'type' => 'string',
 880                    'required' => true,
 881                  ),
 882                  'region' => array(
 883                    'location' => 'path',
 884                    'type' => 'string',
 885                    'required' => true,
 886                  ),
 887                ),
 888              ),'list' => array(
 889                'path' => '{project}/regions/{region}/forwardingRules',
 890                'httpMethod' => 'GET',
 891                'parameters' => array(
 892                  'project' => array(
 893                    'location' => 'path',
 894                    'type' => 'string',
 895                    'required' => true,
 896                  ),
 897                  'region' => array(
 898                    'location' => 'path',
 899                    'type' => 'string',
 900                    'required' => true,
 901                  ),
 902                  'filter' => array(
 903                    'location' => 'query',
 904                    'type' => 'string',
 905                  ),
 906                  'pageToken' => array(
 907                    'location' => 'query',
 908                    'type' => 'string',
 909                  ),
 910                  'maxResults' => array(
 911                    'location' => 'query',
 912                    'type' => 'integer',
 913                  ),
 914                ),
 915              ),'setTarget' => array(
 916                'path' => '{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget',
 917                'httpMethod' => 'POST',
 918                'parameters' => array(
 919                  'project' => array(
 920                    'location' => 'path',
 921                    'type' => 'string',
 922                    'required' => true,
 923                  ),
 924                  'region' => array(
 925                    'location' => 'path',
 926                    'type' => 'string',
 927                    'required' => true,
 928                  ),
 929                  'forwardingRule' => array(
 930                    'location' => 'path',
 931                    'type' => 'string',
 932                    'required' => true,
 933                  ),
 934                ),
 935              ),
 936            )
 937          )
 938      );
 939      $this->globalAddresses = new Google_Service_Compute_GlobalAddresses_Resource(
 940          $this,
 941          $this->serviceName,
 942          'globalAddresses',
 943          array(
 944            'methods' => array(
 945              'delete' => array(
 946                'path' => '{project}/global/addresses/{address}',
 947                'httpMethod' => 'DELETE',
 948                'parameters' => array(
 949                  'project' => array(
 950                    'location' => 'path',
 951                    'type' => 'string',
 952                    'required' => true,
 953                  ),
 954                  'address' => array(
 955                    'location' => 'path',
 956                    'type' => 'string',
 957                    'required' => true,
 958                  ),
 959                ),
 960              ),'get' => array(
 961                'path' => '{project}/global/addresses/{address}',
 962                'httpMethod' => 'GET',
 963                'parameters' => array(
 964                  'project' => array(
 965                    'location' => 'path',
 966                    'type' => 'string',
 967                    'required' => true,
 968                  ),
 969                  'address' => array(
 970                    'location' => 'path',
 971                    'type' => 'string',
 972                    'required' => true,
 973                  ),
 974                ),
 975              ),'insert' => array(
 976                'path' => '{project}/global/addresses',
 977                'httpMethod' => 'POST',
 978                'parameters' => array(
 979                  'project' => array(
 980                    'location' => 'path',
 981                    'type' => 'string',
 982                    'required' => true,
 983                  ),
 984                ),
 985              ),'list' => array(
 986                'path' => '{project}/global/addresses',
 987                'httpMethod' => 'GET',
 988                'parameters' => array(
 989                  'project' => array(
 990                    'location' => 'path',
 991                    'type' => 'string',
 992                    'required' => true,
 993                  ),
 994                  'filter' => array(
 995                    'location' => 'query',
 996                    'type' => 'string',
 997                  ),
 998                  'pageToken' => array(
 999                    'location' => 'query',
1000                    'type' => 'string',
1001                  ),
1002                  'maxResults' => array(
1003                    'location' => 'query',
1004                    'type' => 'integer',
1005                  ),
1006                ),
1007              ),
1008            )
1009          )
1010      );
1011      $this->globalForwardingRules = new Google_Service_Compute_GlobalForwardingRules_Resource(
1012          $this,
1013          $this->serviceName,
1014          'globalForwardingRules',
1015          array(
1016            'methods' => array(
1017              'delete' => array(
1018                'path' => '{project}/global/forwardingRules/{forwardingRule}',
1019                'httpMethod' => 'DELETE',
1020                'parameters' => array(
1021                  'project' => array(
1022                    'location' => 'path',
1023                    'type' => 'string',
1024                    'required' => true,
1025                  ),
1026                  'forwardingRule' => array(
1027                    'location' => 'path',
1028                    'type' => 'string',
1029                    'required' => true,
1030                  ),
1031                ),
1032              ),'get' => array(
1033                'path' => '{project}/global/forwardingRules/{forwardingRule}',
1034                'httpMethod' => 'GET',
1035                'parameters' => array(
1036                  'project' => array(
1037                    'location' => 'path',
1038                    'type' => 'string',
1039                    'required' => true,
1040                  ),
1041                  'forwardingRule' => array(
1042                    'location' => 'path',
1043                    'type' => 'string',
1044                    'required' => true,
1045                  ),
1046                ),
1047              ),'insert' => array(
1048                'path' => '{project}/global/forwardingRules',
1049                'httpMethod' => 'POST',
1050                'parameters' => array(
1051                  'project' => array(
1052                    'location' => 'path',
1053                    'type' => 'string',
1054                    'required' => true,
1055                  ),
1056                ),
1057              ),'list' => array(
1058                'path' => '{project}/global/forwardingRules',
1059                'httpMethod' => 'GET',
1060                'parameters' => array(
1061                  'project' => array(
1062                    'location' => 'path',
1063                    'type' => 'string',
1064                    'required' => true,
1065                  ),
1066                  'filter' => array(
1067                    'location' => 'query',
1068                    'type' => 'string',
1069                  ),
1070                  'pageToken' => array(
1071                    'location' => 'query',
1072                    'type' => 'string',
1073                  ),
1074                  'maxResults' => array(
1075                    'location' => 'query',
1076                    'type' => 'integer',
1077                  ),
1078                ),
1079              ),'setTarget' => array(
1080                'path' => '{project}/global/forwardingRules/{forwardingRule}/setTarget',
1081                'httpMethod' => 'POST',
1082                'parameters' => array(
1083                  'project' => array(
1084                    'location' => 'path',
1085                    'type' => 'string',
1086                    'required' => true,
1087                  ),
1088                  'forwardingRule' => array(
1089                    'location' => 'path',
1090                    'type' => 'string',
1091                    'required' => true,
1092                  ),
1093                ),
1094              ),
1095            )
1096          )
1097      );
1098      $this->globalOperations = new Google_Service_Compute_GlobalOperations_Resource(
1099          $this,
1100          $this->serviceName,
1101          'globalOperations',
1102          array(
1103            'methods' => array(
1104              'aggregatedList' => array(
1105                'path' => '{project}/aggregated/operations',
1106                'httpMethod' => 'GET',
1107                'parameters' => array(
1108                  'project' => array(
1109                    'location' => 'path',
1110                    'type' => 'string',
1111                    'required' => true,
1112                  ),
1113                  'filter' => array(
1114                    'location' => 'query',
1115                    'type' => 'string',
1116                  ),
1117                  'pageToken' => array(
1118                    'location' => 'query',
1119                    'type' => 'string',
1120                  ),
1121                  'maxResults' => array(
1122                    'location' => 'query',
1123                    'type' => 'integer',
1124                  ),
1125                ),
1126              ),'delete' => array(
1127                'path' => '{project}/global/operations/{operation}',
1128                'httpMethod' => 'DELETE',
1129                'parameters' => array(
1130                  'project' => array(
1131                    'location' => 'path',
1132                    'type' => 'string',
1133                    'required' => true,
1134                  ),
1135                  'operation' => array(
1136                    'location' => 'path',
1137                    'type' => 'string',
1138                    'required' => true,
1139                  ),
1140                ),
1141              ),'get' => array(
1142                'path' => '{project}/global/operations/{operation}',
1143                'httpMethod' => 'GET',
1144                'parameters' => array(
1145                  'project' => array(
1146                    'location' => 'path',
1147                    'type' => 'string',
1148                    'required' => true,
1149                  ),
1150                  'operation' => array(
1151                    'location' => 'path',
1152                    'type' => 'string',
1153                    'required' => true,
1154                  ),
1155                ),
1156              ),'list' => array(
1157                'path' => '{project}/global/operations',
1158                'httpMethod' => 'GET',
1159                'parameters' => array(
1160                  'project' => array(
1161                    'location' => 'path',
1162                    'type' => 'string',
1163                    'required' => true,
1164                  ),
1165                  'filter' => array(
1166                    'location' => 'query',
1167                    'type' => 'string',
1168                  ),
1169                  'pageToken' => array(
1170                    'location' => 'query',
1171                    'type' => 'string',
1172                  ),
1173                  'maxResults' => array(
1174                    'location' => 'query',
1175                    'type' => 'integer',
1176                  ),
1177                ),
1178              ),
1179            )
1180          )
1181      );
1182      $this->httpHealthChecks = new Google_Service_Compute_HttpHealthChecks_Resource(
1183          $this,
1184          $this->serviceName,
1185          'httpHealthChecks',
1186          array(
1187            'methods' => array(
1188              'delete' => array(
1189                'path' => '{project}/global/httpHealthChecks/{httpHealthCheck}',
1190                'httpMethod' => 'DELETE',
1191                'parameters' => array(
1192                  'project' => array(
1193                    'location' => 'path',
1194                    'type' => 'string',
1195                    'required' => true,
1196                  ),
1197                  'httpHealthCheck' => array(
1198                    'location' => 'path',
1199                    'type' => 'string',
1200                    'required' => true,
1201                  ),
1202                ),
1203              ),'get' => array(
1204                'path' => '{project}/global/httpHealthChecks/{httpHealthCheck}',
1205                'httpMethod' => 'GET',
1206                'parameters' => array(
1207                  'project' => array(
1208                    'location' => 'path',
1209                    'type' => 'string',
1210                    'required' => true,
1211                  ),
1212                  'httpHealthCheck' => array(
1213                    'location' => 'path',
1214                    'type' => 'string',
1215                    'required' => true,
1216                  ),
1217                ),
1218              ),'insert' => array(
1219                'path' => '{project}/global/httpHealthChecks',
1220                'httpMethod' => 'POST',
1221                'parameters' => array(
1222                  'project' => array(
1223                    'location' => 'path',
1224                    'type' => 'string',
1225                    'required' => true,
1226                  ),
1227                ),
1228              ),'list' => array(
1229                'path' => '{project}/global/httpHealthChecks',
1230                'httpMethod' => 'GET',
1231                'parameters' => array(
1232                  'project' => array(
1233                    'location' => 'path',
1234                    'type' => 'string',
1235                    'required' => true,
1236                  ),
1237                  'filter' => array(
1238                    'location' => 'query',
1239                    'type' => 'string',
1240                  ),
1241                  'pageToken' => array(
1242                    'location' => 'query',
1243                    'type' => 'string',
1244                  ),
1245                  'maxResults' => array(
1246                    'location' => 'query',
1247                    'type' => 'integer',
1248                  ),
1249                ),
1250              ),'patch' => array(
1251                'path' => '{project}/global/httpHealthChecks/{httpHealthCheck}',
1252                'httpMethod' => 'PATCH',
1253                'parameters' => array(
1254                  'project' => array(
1255                    'location' => 'path',
1256                    'type' => 'string',
1257                    'required' => true,
1258                  ),
1259                  'httpHealthCheck' => array(
1260                    'location' => 'path',
1261                    'type' => 'string',
1262                    'required' => true,
1263                  ),
1264                ),
1265              ),'update' => array(
1266                'path' => '{project}/global/httpHealthChecks/{httpHealthCheck}',
1267                'httpMethod' => 'PUT',
1268                'parameters' => array(
1269                  'project' => array(
1270                    'location' => 'path',
1271                    'type' => 'string',
1272                    'required' => true,
1273                  ),
1274                  'httpHealthCheck' => array(
1275                    'location' => 'path',
1276                    'type' => 'string',
1277                    'required' => true,
1278                  ),
1279                ),
1280              ),
1281            )
1282          )
1283      );
1284      $this->httpsHealthChecks = new Google_Service_Compute_HttpsHealthChecks_Resource(
1285          $this,
1286          $this->serviceName,
1287          'httpsHealthChecks',
1288          array(
1289            'methods' => array(
1290              'delete' => array(
1291                'path' => '{project}/global/httpsHealthChecks/{httpsHealthCheck}',
1292                'httpMethod' => 'DELETE',
1293                'parameters' => array(
1294                  'project' => array(
1295                    'location' => 'path',
1296                    'type' => 'string',
1297                    'required' => true,
1298                  ),
1299                  'httpsHealthCheck' => array(
1300                    'location' => 'path',
1301                    'type' => 'string',
1302                    'required' => true,
1303                  ),
1304                ),
1305              ),'get' => array(
1306                'path' => '{project}/global/httpsHealthChecks/{httpsHealthCheck}',
1307                'httpMethod' => 'GET',
1308                'parameters' => array(
1309                  'project' => array(
1310                    'location' => 'path',
1311                    'type' => 'string',
1312                    'required' => true,
1313                  ),
1314                  'httpsHealthCheck' => array(
1315                    'location' => 'path',
1316                    'type' => 'string',
1317                    'required' => true,
1318                  ),
1319                ),
1320              ),'insert' => array(
1321                'path' => '{project}/global/httpsHealthChecks',
1322                'httpMethod' => 'POST',
1323                'parameters' => array(
1324                  'project' => array(
1325                    'location' => 'path',
1326                    'type' => 'string',
1327                    'required' => true,
1328                  ),
1329                ),
1330              ),'list' => array(
1331                'path' => '{project}/global/httpsHealthChecks',
1332                'httpMethod' => 'GET',
1333                'parameters' => array(
1334                  'project' => array(
1335                    'location' => 'path',
1336                    'type' => 'string',
1337                    'required' => true,
1338                  ),
1339                  'filter' => array(
1340                    'location' => 'query',
1341                    'type' => 'string',
1342                  ),
1343                  'pageToken' => array(
1344                    'location' => 'query',
1345                    'type' => 'string',
1346                  ),
1347                  'maxResults' => array(
1348                    'location' => 'query',
1349                    'type' => 'integer',
1350                  ),
1351                ),
1352              ),'patch' => array(
1353                'path' => '{project}/global/httpsHealthChecks/{httpsHealthCheck}',
1354                'httpMethod' => 'PATCH',
1355                'parameters' => array(
1356                  'project' => array(
1357                    'location' => 'path',
1358                    'type' => 'string',
1359                    'required' => true,
1360                  ),
1361                  'httpsHealthCheck' => array(
1362                    'location' => 'path',
1363                    'type' => 'string',
1364                    'required' => true,
1365                  ),
1366                ),
1367              ),'update' => array(
1368                'path' => '{project}/global/httpsHealthChecks/{httpsHealthCheck}',
1369                'httpMethod' => 'PUT',
1370                'parameters' => array(
1371                  'project' => array(
1372                    'location' => 'path',
1373                    'type' => 'string',
1374                    'required' => true,
1375                  ),
1376                  'httpsHealthCheck' => array(
1377                    'location' => 'path',
1378                    'type' => 'string',
1379                    'required' => true,
1380                  ),
1381                ),
1382              ),
1383            )
1384          )
1385      );
1386      $this->images = new Google_Service_Compute_Images_Resource(
1387          $this,
1388          $this->serviceName,
1389          'images',
1390          array(
1391            'methods' => array(
1392              'delete' => array(
1393                'path' => '{project}/global/images/{image}',
1394                'httpMethod' => 'DELETE',
1395                'parameters' => array(
1396                  'project' => array(
1397                    'location' => 'path',
1398                    'type' => 'string',
1399                    'required' => true,
1400                  ),
1401                  'image' => array(
1402                    'location' => 'path',
1403                    'type' => 'string',
1404                    'required' => true,
1405                  ),
1406                ),
1407              ),'deprecate' => array(
1408                'path' => '{project}/global/images/{image}/deprecate',
1409                'httpMethod' => 'POST',
1410                'parameters' => array(
1411                  'project' => array(
1412                    'location' => 'path',
1413                    'type' => 'string',
1414                    'required' => true,
1415                  ),
1416                  'image' => array(
1417                    'location' => 'path',
1418                    'type' => 'string',
1419                    'required' => true,
1420                  ),
1421                ),
1422              ),'get' => array(
1423                'path' => '{project}/global/images/{image}',
1424                'httpMethod' => 'GET',
1425                'parameters' => array(
1426                  'project' => array(
1427                    'location' => 'path',
1428                    'type' => 'string',
1429                    'required' => true,
1430                  ),
1431                  'image' => array(
1432                    'location' => 'path',
1433                    'type' => 'string',
1434                    'required' => true,
1435                  ),
1436                ),
1437              ),'insert' => array(
1438                'path' => '{project}/global/images',
1439                'httpMethod' => 'POST',
1440                'parameters' => array(
1441                  'project' => array(
1442                    'location' => 'path',
1443                    'type' => 'string',
1444                    'required' => true,
1445                  ),
1446                ),
1447              ),'list' => array(
1448                'path' => '{project}/global/images',
1449                'httpMethod' => 'GET',
1450                'parameters' => array(
1451                  'project' => array(
1452                    'location' => 'path',
1453                    'type' => 'string',
1454                    'required' => true,
1455                  ),
1456                  'filter' => array(
1457                    'location' => 'query',
1458                    'type' => 'string',
1459                  ),
1460                  'pageToken' => array(
1461                    'location' => 'query',
1462                    'type' => 'string',
1463                  ),
1464                  'maxResults' => array(
1465                    'location' => 'query',
1466                    'type' => 'integer',
1467                  ),
1468                ),
1469              ),
1470            )
1471          )
1472      );
1473      $this->instanceGroupManagers = new Google_Service_Compute_InstanceGroupManagers_Resource(
1474          $this,
1475          $this->serviceName,
1476          'instanceGroupManagers',
1477          array(
1478            'methods' => array(
1479              'abandonInstances' => array(
1480                'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances',
1481                'httpMethod' => 'POST',
1482                'parameters' => array(
1483                  'project' => array(
1484                    'location' => 'path',
1485                    'type' => 'string',
1486                    'required' => true,
1487                  ),
1488                  'zone' => array(
1489                    'location' => 'path',
1490                    'type' => 'string',
1491                    'required' => true,
1492                  ),
1493                  'instanceGroupManager' => array(
1494                    'location' => 'path',
1495                    'type' => 'string',
1496                    'required' => true,
1497                  ),
1498                ),
1499              ),'aggregatedList' => array(
1500                'path' => '{project}/aggregated/instanceGroupManagers',
1501                'httpMethod' => 'GET',
1502                'parameters' => array(
1503                  'project' => array(
1504                    'location' => 'path',
1505                    'type' => 'string',
1506                    'required' => true,
1507                  ),
1508                  'filter' => array(
1509                    'location' => 'query',
1510                    'type' => 'string',
1511                  ),
1512                  'pageToken' => array(
1513                    'location' => 'query',
1514                    'type' => 'string',
1515                  ),
1516                  'maxResults' => array(
1517                    'location' => 'query',
1518                    'type' => 'integer',
1519                  ),
1520                ),
1521              ),'delete' => array(
1522                'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}',
1523                'httpMethod' => 'DELETE',
1524                'parameters' => array(
1525                  'project' => array(
1526                    'location' => 'path',
1527                    'type' => 'string',
1528                    'required' => true,
1529                  ),
1530                  'zone' => array(
1531                    'location' => 'path',
1532                    'type' => 'string',
1533                    'required' => true,
1534                  ),
1535                  'instanceGroupManager' => array(
1536                    'location' => 'path',
1537                    'type' => 'string',
1538                    'required' => true,
1539                  ),
1540                ),
1541              ),'deleteInstances' => array(
1542                'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances',
1543                'httpMethod' => 'POST',
1544                'parameters' => array(
1545                  'project' => array(
1546                    'location' => 'path',
1547                    'type' => 'string',
1548                    'required' => true,
1549                  ),
1550                  'zone' => array(
1551                    'location' => 'path',
1552                    'type' => 'string',
1553                    'required' => true,
1554                  ),
1555                  'instanceGroupManager' => array(
1556                    'location' => 'path',
1557                    'type' => 'string',
1558                    'required' => true,
1559                  ),
1560                ),
1561              ),'get' => array(
1562                'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}',
1563                'httpMethod' => 'GET',
1564                'parameters' => array(
1565                  'project' => array(
1566                    'location' => 'path',
1567                    'type' => 'string',
1568                    'required' => true,
1569                  ),
1570                  'zone' => array(
1571                    'location' => 'path',
1572                    'type' => 'string',
1573                    'required' => true,
1574                  ),
1575                  'instanceGroupManager' => array(
1576                    'location' => 'path',
1577                    'type' => 'string',
1578                    'required' => true,
1579                  ),
1580                ),
1581              ),'insert' => array(
1582                'path' => '{project}/zones/{zone}/instanceGroupManagers',
1583                'httpMethod' => 'POST',
1584                'parameters' => array(
1585                  'project' => array(
1586                    'location' => 'path',
1587                    'type' => 'string',
1588                    'required' => true,
1589                  ),
1590                  'zone' => array(
1591                    'location' => 'path',
1592                    'type' => 'string',
1593                    'required' => true,
1594                  ),
1595                ),
1596              ),'list' => array(
1597                'path' => '{project}/zones/{zone}/instanceGroupManagers',
1598                'httpMethod' => 'GET',
1599                'parameters' => array(
1600                  'project' => array(
1601                    'location' => 'path',
1602                    'type' => 'string',
1603                    'required' => true,
1604                  ),
1605                  'zone' => array(
1606                    'location' => 'path',
1607                    'type' => 'string',
1608                    'required' => true,
1609                  ),
1610                  'filter' => array(
1611                    'location' => 'query',
1612                    'type' => 'string',
1613                  ),
1614                  'pageToken' => array(
1615                    'location' => 'query',
1616                    'type' => 'string',
1617                  ),
1618                  'maxResults' => array(
1619                    'location' => 'query',
1620                    'type' => 'integer',
1621                  ),
1622                ),
1623              ),'listManagedInstances' => array(
1624                'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances',
1625                'httpMethod' => 'POST',
1626                'parameters' => array(
1627                  'project' => array(
1628                    'location' => 'path',
1629                    'type' => 'string',
1630                    'required' => true,
1631                  ),
1632                  'zone' => array(
1633                    'location' => 'path',
1634                    'type' => 'string',
1635                    'required' => true,
1636                  ),
1637                  'instanceGroupManager' => array(
1638                    'location' => 'path',
1639                    'type' => 'string',
1640                    'required' => true,
1641                  ),
1642                ),
1643              ),'recreateInstances' => array(
1644                'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances',
1645                'httpMethod' => 'POST',
1646                'parameters' => array(
1647                  'project' => array(
1648                    'location' => 'path',
1649                    'type' => 'string',
1650                    'required' => true,
1651                  ),
1652                  'zone' => array(
1653                    'location' => 'path',
1654                    'type' => 'string',
1655                    'required' => true,
1656                  ),
1657                  'instanceGroupManager' => array(
1658                    'location' => 'path',
1659                    'type' => 'string',
1660                    'required' => true,
1661                  ),
1662                ),
1663              ),'resize' => array(
1664                'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize',
1665                'httpMethod' => 'POST',
1666                'parameters' => array(
1667                  'project' => array(
1668                    'location' => 'path',
1669                    'type' => 'string',
1670                    'required' => true,
1671                  ),
1672                  'zone' => array(
1673                    'location' => 'path',
1674                    'type' => 'string',
1675                    'required' => true,
1676                  ),
1677                  'instanceGroupManager' => array(
1678                    'location' => 'path',
1679                    'type' => 'string',
1680                    'required' => true,
1681                  ),
1682                  'size' => array(
1683                    'location' => 'query',
1684                    'type' => 'integer',
1685                    'required' => true,
1686                  ),
1687                ),
1688              ),'setInstanceTemplate' => array(
1689                'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate',
1690                'httpMethod' => 'POST',
1691                'parameters' => array(
1692                  'project' => array(
1693                    'location' => 'path',
1694                    'type' => 'string',
1695                    'required' => true,
1696                  ),
1697                  'zone' => array(
1698                    'location' => 'path',
1699                    'type' => 'string',
1700                    'required' => true,
1701                  ),
1702                  'instanceGroupManager' => array(
1703                    'location' => 'path',
1704                    'type' => 'string',
1705                    'required' => true,
1706                  ),
1707                ),
1708              ),'setTargetPools' => array(
1709                'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools',
1710                'httpMethod' => 'POST',
1711                'parameters' => array(
1712                  'project' => array(
1713                    'location' => 'path',
1714                    'type' => 'string',
1715                    'required' => true,
1716                  ),
1717                  'zone' => array(
1718                    'location' => 'path',
1719                    'type' => 'string',
1720                    'required' => true,
1721                  ),
1722                  'instanceGroupManager' => array(
1723                    'location' => 'path',
1724                    'type' => 'string',
1725                    'required' => true,
1726                  ),
1727                ),
1728              ),
1729            )
1730          )
1731      );
1732      $this->instanceGroups = new Google_Service_Compute_InstanceGroups_Resource(
1733          $this,
1734          $this->serviceName,
1735          'instanceGroups',
1736          array(
1737            'methods' => array(
1738              'addInstances' => array(
1739                'path' => '{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances',
1740                'httpMethod' => 'POST',
1741                'parameters' => array(
1742                  'project' => array(
1743                    'location' => 'path',
1744                    'type' => 'string',
1745                    'required' => true,
1746                  ),
1747                  'zone' => array(
1748                    'location' => 'path',
1749                    'type' => 'string',
1750                    'required' => true,
1751                  ),
1752                  'instanceGroup' => array(
1753                    'location' => 'path',
1754                    'type' => 'string',
1755                    'required' => true,
1756                  ),
1757                ),
1758              ),'aggregatedList' => array(
1759                'path' => '{project}/aggregated/instanceGroups',
1760                'httpMethod' => 'GET',
1761                'parameters' => array(
1762                  'project' => array(
1763                    'location' => 'path',
1764                    'type' => 'string',
1765                    'required' => true,
1766                  ),
1767                  'filter' => array(
1768                    'location' => 'query',
1769                    'type' => 'string',
1770                  ),
1771                  'pageToken' => array(
1772                    'location' => 'query',
1773                    'type' => 'string',
1774                  ),
1775                  'maxResults' => array(
1776                    'location' => 'query',
1777                    'type' => 'integer',
1778                  ),
1779                ),
1780              ),'delete' => array(
1781                'path' => '{project}/zones/{zone}/instanceGroups/{instanceGroup}',
1782                'httpMethod' => 'DELETE',
1783                'parameters' => array(
1784                  'project' => array(
1785                    'location' => 'path',
1786                    'type' => 'string',
1787                    'required' => true,
1788                  ),
1789                  'zone' => array(
1790                    'location' => 'path',
1791                    'type' => 'string',
1792                    'required' => true,
1793                  ),
1794                  'instanceGroup' => array(
1795                    'location' => 'path',
1796                    'type' => 'string',
1797                    'required' => true,
1798                  ),
1799                ),
1800              ),'get' => array(
1801                'path' => '{project}/zones/{zone}/instanceGroups/{instanceGroup}',
1802                'httpMethod' => 'GET',
1803                'parameters' => array(
1804                  'project' => array(
1805                    'location' => 'path',
1806                    'type' => 'string',
1807                    'required' => true,
1808                  ),
1809                  'zone' => array(
1810                    'location' => 'path',
1811                    'type' => 'string',
1812                    'required' => true,
1813                  ),
1814                  'instanceGroup' => array(
1815                    'location' => 'path',
1816                    'type' => 'string',
1817                    'required' => true,
1818                  ),
1819                ),
1820              ),'insert' => array(
1821                'path' => '{project}/zones/{zone}/instanceGroups',
1822                'httpMethod' => 'POST',
1823                'parameters' => array(
1824                  'project' => array(
1825                    'location' => 'path',
1826                    'type' => 'string',
1827                    'required' => true,
1828                  ),
1829                  'zone' => array(
1830                    'location' => 'path',
1831                    'type' => 'string',
1832                    'required' => true,
1833                  ),
1834                ),
1835              ),'list' => array(
1836                'path' => '{project}/zones/{zone}/instanceGroups',
1837                'httpMethod' => 'GET',
1838                'parameters' => array(
1839                  'project' => array(
1840                    'location' => 'path',
1841                    'type' => 'string',
1842                    'required' => true,
1843                  ),
1844                  'zone' => array(
1845                    'location' => 'path',
1846                    'type' => 'string',
1847                    'required' => true,
1848                  ),
1849                  'filter' => array(
1850                    'location' => 'query',
1851                    'type' => 'string',
1852                  ),
1853                  'pageToken' => array(
1854                    'location' => 'query',
1855                    'type' => 'string',
1856                  ),
1857                  'maxResults' => array(
1858                    'location' => 'query',
1859                    'type' => 'integer',
1860                  ),
1861                ),
1862              ),'listInstances' => array(
1863                'path' => '{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances',
1864                'httpMethod' => 'POST',
1865                'parameters' => array(
1866                  'project' => array(
1867                    'location' => 'path',
1868                    'type' => 'string',
1869                    'required' => true,
1870                  ),
1871                  'zone' => array(
1872                    'location' => 'path',
1873                    'type' => 'string',
1874                    'required' => true,
1875                  ),
1876                  'instanceGroup' => array(
1877                    'location' => 'path',
1878                    'type' => 'string',
1879                    'required' => true,
1880                  ),
1881                  'maxResults' => array(
1882                    'location' => 'query',
1883                    'type' => 'integer',
1884                  ),
1885                  'filter' => array(
1886                    'location' => 'query',
1887                    'type' => 'string',
1888                  ),
1889                  'pageToken' => array(
1890                    'location' => 'query',
1891                    'type' => 'string',
1892                  ),
1893                ),
1894              ),'removeInstances' => array(
1895                'path' => '{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances',
1896                'httpMethod' => 'POST',
1897                'parameters' => array(
1898                  'project' => array(
1899                    'location' => 'path',
1900                    'type' => 'string',
1901                    'required' => true,
1902                  ),
1903                  'zone' => array(
1904                    'location' => 'path',
1905                    'type' => 'string',
1906                    'required' => true,
1907                  ),
1908                  'instanceGroup' => array(
1909                    'location' => 'path',
1910                    'type' => 'string',
1911                    'required' => true,
1912                  ),
1913                ),
1914              ),'setNamedPorts' => array(
1915                'path' => '{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts',
1916                'httpMethod' => 'POST',
1917                'parameters' => array(
1918                  'project' => array(
1919                    'location' => 'path',
1920                    'type' => 'string',
1921                    'required' => true,
1922                  ),
1923                  'zone' => array(
1924                    'location' => 'path',
1925                    'type' => 'string',
1926                    'required' => true,
1927                  ),
1928                  'instanceGroup' => array(
1929                    'location' => 'path',
1930                    'type' => 'string',
1931                    'required' => true,
1932                  ),
1933                ),
1934              ),
1935            )
1936          )
1937      );
1938      $this->instanceTemplates = new Google_Service_Compute_InstanceTemplates_Resource(
1939          $this,
1940          $this->serviceName,
1941          'instanceTemplates',
1942          array(
1943            'methods' => array(
1944              'delete' => array(
1945                'path' => '{project}/global/instanceTemplates/{instanceTemplate}',
1946                'httpMethod' => 'DELETE',
1947                'parameters' => array(
1948                  'project' => array(
1949                    'location' => 'path',
1950                    'type' => 'string',
1951                    'required' => true,
1952                  ),
1953                  'instanceTemplate' => array(
1954                    'location' => 'path',
1955                    'type' => 'string',
1956                    'required' => true,
1957                  ),
1958                ),
1959              ),'get' => array(
1960                'path' => '{project}/global/instanceTemplates/{instanceTemplate}',
1961                'httpMethod' => 'GET',
1962                'parameters' => array(
1963                  'project' => array(
1964                    'location' => 'path',
1965                    'type' => 'string',
1966                    'required' => true,
1967                  ),
1968                  'instanceTemplate' => array(
1969                    'location' => 'path',
1970                    'type' => 'string',
1971                    'required' => true,
1972                  ),
1973                ),
1974              ),'insert' => array(
1975                'path' => '{project}/global/instanceTemplates',
1976                'httpMethod' => 'POST',
1977                'parameters' => array(
1978                  'project' => array(
1979                    'location' => 'path',
1980                    'type' => 'string',
1981                    'required' => true,
1982                  ),
1983                ),
1984              ),'list' => array(
1985                'path' => '{project}/global/instanceTemplates',
1986                'httpMethod' => 'GET',
1987                'parameters' => array(
1988                  'project' => array(
1989                    'location' => 'path',
1990                    'type' => 'string',
1991                    'required' => true,
1992                  ),
1993                  'filter' => array(
1994                    'location' => 'query',
1995                    'type' => 'string',
1996                  ),
1997                  'pageToken' => array(
1998                    'location' => 'query',
1999                    'type' => 'string',
2000                  ),
2001                  'maxResults' => array(
2002                    'location' => 'query',
2003                    'type' => 'integer',
2004                  ),
2005                ),
2006              ),
2007            )
2008          )
2009      );
2010      $this->instances = new Google_Service_Compute_Instances_Resource(
2011          $this,
2012          $this->serviceName,
2013          'instances',
2014          array(
2015            'methods' => array(
2016              'addAccessConfig' => array(
2017                'path' => '{project}/zones/{zone}/instances/{instance}/addAccessConfig',
2018                'httpMethod' => 'POST',
2019                'parameters' => array(
2020                  'project' => array(
2021                    'location' => 'path',
2022                    'type' => 'string',
2023                    'required' => true,
2024                  ),
2025                  'zone' => array(
2026                    'location' => 'path',
2027                    'type' => 'string',
2028                    'required' => true,
2029                  ),
2030                  'instance' => array(
2031                    'location' => 'path',
2032                    'type' => 'string',
2033                    'required' => true,
2034                  ),
2035                  'networkInterface' => array(
2036                    'location' => 'query',
2037                    'type' => 'string',
2038                    'required' => true,
2039                  ),
2040                ),
2041              ),'aggregatedList' => array(
2042                'path' => '{project}/aggregated/instances',
2043                'httpMethod' => 'GET',
2044                'parameters' => array(
2045                  'project' => array(
2046                    'location' => 'path',
2047                    'type' => 'string',
2048                    'required' => true,
2049                  ),
2050                  'filter' => array(
2051                    'location' => 'query',
2052                    'type' => 'string',
2053                  ),
2054                  'pageToken' => array(
2055                    'location' => 'query',
2056                    'type' => 'string',
2057                  ),
2058                  'maxResults' => array(
2059                    'location' => 'query',
2060                    'type' => 'integer',
2061                  ),
2062                ),
2063              ),'attachDisk' => array(
2064                'path' => '{project}/zones/{zone}/instances/{instance}/attachDisk',
2065                'httpMethod' => 'POST',
2066                'parameters' => array(
2067                  'project' => array(
2068                    'location' => 'path',
2069                    'type' => 'string',
2070                    'required' => true,
2071                  ),
2072                  'zone' => array(
2073                    'location' => 'path',
2074                    'type' => 'string',
2075                    'required' => true,
2076                  ),
2077                  'instance' => array(
2078                    'location' => 'path',
2079                    'type' => 'string',
2080                    'required' => true,
2081                  ),
2082                ),
2083              ),'delete' => array(
2084                'path' => '{project}/zones/{zone}/instances/{instance}',
2085                'httpMethod' => 'DELETE',
2086                'parameters' => array(
2087                  'project' => array(
2088                    'location' => 'path',
2089                    'type' => 'string',
2090                    'required' => true,
2091                  ),
2092                  'zone' => array(
2093                    'location' => 'path',
2094                    'type' => 'string',
2095                    'required' => true,
2096                  ),
2097                  'instance' => array(
2098                    'location' => 'path',
2099                    'type' => 'string',
2100                    'required' => true,
2101                  ),
2102                ),
2103              ),'deleteAccessConfig' => array(
2104                'path' => '{project}/zones/{zone}/instances/{instance}/deleteAccessConfig',
2105                'httpMethod' => 'POST',
2106                'parameters' => array(
2107                  'project' => array(
2108                    'location' => 'path',
2109                    'type' => 'string',
2110                    'required' => true,
2111                  ),
2112                  'zone' => array(
2113                    'location' => 'path',
2114                    'type' => 'string',
2115                    'required' => true,
2116                  ),
2117                  'instance' => array(
2118                    'location' => 'path',
2119                    'type' => 'string',
2120                    'required' => true,
2121                  ),
2122                  'accessConfig' => array(
2123                    'location' => 'query',
2124                    'type' => 'string',
2125                    'required' => true,
2126                  ),
2127                  'networkInterface' => array(
2128                    'location' => 'query',
2129                    'type' => 'string',
2130                    'required' => true,
2131                  ),
2132                ),
2133              ),'detachDisk' => array(
2134                'path' => '{project}/zones/{zone}/instances/{instance}/detachDisk',
2135                'httpMethod' => 'POST',
2136                'parameters' => array(
2137                  'project' => array(
2138                    'location' => 'path',
2139                    'type' => 'string',
2140                    'required' => true,
2141                  ),
2142                  'zone' => array(
2143                    'location' => 'path',
2144                    'type' => 'string',
2145                    'required' => true,
2146                  ),
2147                  'instance' => array(
2148                    'location' => 'path',
2149                    'type' => 'string',
2150                    'required' => true,
2151                  ),
2152                  'deviceName' => array(
2153                    'location' => 'query',
2154                    'type' => 'string',
2155                    'required' => true,
2156                  ),
2157                ),
2158              ),'get' => array(
2159                'path' => '{project}/zones/{zone}/instances/{instance}',
2160                'httpMethod' => 'GET',
2161                'parameters' => array(
2162                  'project' => array(
2163                    'location' => 'path',
2164                    'type' => 'string',
2165                    'required' => true,
2166                  ),
2167                  'zone' => array(
2168                    'location' => 'path',
2169                    'type' => 'string',
2170                    'required' => true,
2171                  ),
2172                  'instance' => array(
2173                    'location' => 'path',
2174                    'type' => 'string',
2175                    'required' => true,
2176                  ),
2177                ),
2178              ),'getSerialPortOutput' => array(
2179                'path' => '{project}/zones/{zone}/instances/{instance}/serialPort',
2180                'httpMethod' => 'GET',
2181                'parameters' => array(
2182                  'project' => array(
2183                    'location' => 'path',
2184                    'type' => 'string',
2185                    'required' => true,
2186                  ),
2187                  'zone' => array(
2188                    'location' => 'path',
2189                    'type' => 'string',
2190                    'required' => true,
2191                  ),
2192                  'instance' => array(
2193                    'location' => 'path',
2194                    'type' => 'string',
2195                    'required' => true,
2196                  ),
2197                  'port' => array(
2198                    'location' => 'query',
2199                    'type' => 'integer',
2200                  ),
2201                ),
2202              ),'insert' => array(
2203                'path' => '{project}/zones/{zone}/instances',
2204                'httpMethod' => 'POST',
2205                'parameters' => array(
2206                  'project' => array(
2207                    'location' => 'path',
2208                    'type' => 'string',
2209                    'required' => true,
2210                  ),
2211                  'zone' => array(
2212                    'location' => 'path',
2213                    'type' => 'string',
2214                    'required' => true,
2215                  ),
2216                ),
2217              ),'list' => array(
2218                'path' => '{project}/zones/{zone}/instances',
2219                'httpMethod' => 'GET',
2220                'parameters' => array(
2221                  'project' => array(
2222                    'location' => 'path',
2223                    'type' => 'string',
2224                    'required' => true,
2225                  ),
2226                  'zone' => array(
2227                    'location' => 'path',
2228                    'type' => 'string',
2229                    'required' => true,
2230                  ),
2231                  'filter' => array(
2232                    'location' => 'query',
2233                    'type' => 'string',
2234                  ),
2235                  'pageToken' => array(
2236                    'location' => 'query',
2237                    'type' => 'string',
2238                  ),
2239                  'maxResults' => array(
2240                    'location' => 'query',
2241                    'type' => 'integer',
2242                  ),
2243                ),
2244              ),'reset' => array(
2245                'path' => '{project}/zones/{zone}/instances/{instance}/reset',
2246                'httpMethod' => 'POST',
2247                'parameters' => array(
2248                  'project' => array(
2249                    'location' => 'path',
2250                    'type' => 'string',
2251                    'required' => true,
2252                  ),
2253                  'zone' => array(
2254                    'location' => 'path',
2255                    'type' => 'string',
2256                    'required' => true,
2257                  ),
2258                  'instance' => array(
2259                    'location' => 'path',
2260                    'type' => 'string',
2261                    'required' => true,
2262                  ),
2263                ),
2264              ),'setDiskAutoDelete' => array(
2265                'path' => '{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete',
2266                'httpMethod' => 'POST',
2267                'parameters' => array(
2268                  'project' => array(
2269                    'location' => 'path',
2270                    'type' => 'string',
2271                    'required' => true,
2272                  ),
2273                  'zone' => array(
2274                    'location' => 'path',
2275                    'type' => 'string',
2276                    'required' => true,
2277                  ),
2278                  'instance' => array(
2279                    'location' => 'path',
2280                    'type' => 'string',
2281                    'required' => true,
2282                  ),
2283                  'autoDelete' => array(
2284                    'location' => 'query',
2285                    'type' => 'boolean',
2286                    'required' => true,
2287                  ),
2288                  'deviceName' => array(
2289                    'location' => 'query',
2290                    'type' => 'string',
2291                    'required' => true,
2292                  ),
2293                ),
2294              ),'setMetadata' => array(
2295                'path' => '{project}/zones/{zone}/instances/{instance}/setMetadata',
2296                'httpMethod' => 'POST',
2297                'parameters' => array(
2298                  'project' => array(
2299                    'location' => 'path',
2300                    'type' => 'string',
2301                    'required' => true,
2302                  ),
2303                  'zone' => array(
2304                    'location' => 'path',
2305                    'type' => 'string',
2306                    'required' => true,
2307                  ),
2308                  'instance' => array(
2309                    'location' => 'path',
2310                    'type' => 'string',
2311                    'required' => true,
2312                  ),
2313                ),
2314              ),'setScheduling' => array(
2315                'path' => '{project}/zones/{zone}/instances/{instance}/setScheduling',
2316                'httpMethod' => 'POST',
2317                'parameters' => array(
2318                  'project' => array(
2319                    'location' => 'path',
2320                    'type' => 'string',
2321                    'required' => true,
2322                  ),
2323                  'zone' => array(
2324                    'location' => 'path',
2325                    'type' => 'string',
2326                    'required' => true,
2327                  ),
2328                  'instance' => array(
2329                    'location' => 'path',
2330                    'type' => 'string',
2331                    'required' => true,
2332                  ),
2333                ),
2334              ),'setTags' => array(
2335                'path' => '{project}/zones/{zone}/instances/{instance}/setTags',
2336                'httpMethod' => 'POST',
2337                'parameters' => array(
2338                  'project' => array(
2339                    'location' => 'path',
2340                    'type' => 'string',
2341                    'required' => true,
2342                  ),
2343                  'zone' => array(
2344                    'location' => 'path',
2345                    'type' => 'string',
2346                    'required' => true,
2347                  ),
2348                  'instance' => array(
2349                    'location' => 'path',
2350                    'type' => 'string',
2351                    'required' => true,
2352                  ),
2353                ),
2354              ),'start' => array(
2355                'path' => '{project}/zones/{zone}/instances/{instance}/start',
2356                'httpMethod' => 'POST',
2357                'parameters' => array(
2358                  'project' => array(
2359                    'location' => 'path',
2360                    'type' => 'string',
2361                    'required' => true,
2362                  ),
2363                  'zone' => array(
2364                    'location' => 'path',
2365                    'type' => 'string',
2366                    'required' => true,
2367                  ),
2368                  'instance' => array(
2369                    'location' => 'path',
2370                    'type' => 'string',
2371                    'required' => true,
2372                  ),
2373                ),
2374              ),'stop' => array(
2375                'path' => '{project}/zones/{zone}/instances/{instance}/stop',
2376                'httpMethod' => 'POST',
2377                'parameters' => array(
2378                  'project' => array(
2379                    'location' => 'path',
2380                    'type' => 'string',
2381                    'required' => true,
2382                  ),
2383                  'zone' => array(
2384                    'location' => 'path',
2385                    'type' => 'string',
2386                    'required' => true,
2387                  ),
2388                  'instance' => array(
2389                    'location' => 'path',
2390                    'type' => 'string',
2391                    'required' => true,
2392                  ),
2393                ),
2394              ),
2395            )
2396          )
2397      );
2398      $this->licenses = new Google_Service_Compute_Licenses_Resource(
2399          $this,
2400          $this->serviceName,
2401          'licenses',
2402          array(
2403            'methods' => array(
2404              'get' => array(
2405                'path' => '{project}/global/licenses/{license}',
2406                'httpMethod' => 'GET',
2407                'parameters' => array(
2408                  'project' => array(
2409                    'location' => 'path',
2410                    'type' => 'string',
2411                    'required' => true,
2412                  ),
2413                  'license' => array(
2414                    'location' => 'path',
2415                    'type' => 'string',
2416                    'required' => true,
2417                  ),
2418                ),
2419              ),
2420            )
2421          )
2422      );
2423      $this->machineTypes = new Google_Service_Compute_MachineTypes_Resource(
2424          $this,
2425          $this->serviceName,
2426          'machineTypes',
2427          array(
2428            'methods' => array(
2429              'aggregatedList' => array(
2430                'path' => '{project}/aggregated/machineTypes',
2431                'httpMethod' => 'GET',
2432                'parameters' => array(
2433                  'project' => array(
2434                    'location' => 'path',
2435                    'type' => 'string',
2436                    'required' => true,
2437                  ),
2438                  'filter' => array(
2439                    'location' => 'query',
2440                    'type' => 'string',
2441                  ),
2442                  'pageToken' => array(
2443                    'location' => 'query',
2444                    'type' => 'string',
2445                  ),
2446                  'maxResults' => array(
2447                    'location' => 'query',
2448                    'type' => 'integer',
2449                  ),
2450                ),
2451              ),'get' => array(
2452                'path' => '{project}/zones/{zone}/machineTypes/{machineType}',
2453                'httpMethod' => 'GET',
2454                'parameters' => array(
2455                  'project' => array(
2456                    'location' => 'path',
2457                    'type' => 'string',
2458                    'required' => true,
2459                  ),
2460                  'zone' => array(
2461                    'location' => 'path',
2462                    'type' => 'string',
2463                    'required' => true,
2464                  ),
2465                  'machineType' => array(
2466                    'location' => 'path',
2467                    'type' => 'string',
2468                    'required' => true,
2469                  ),
2470                ),
2471              ),'list' => array(
2472                'path' => '{project}/zones/{zone}/machineTypes',
2473                'httpMethod' => 'GET',
2474                'parameters' => array(
2475                  'project' => array(
2476                    'location' => 'path',
2477                    'type' => 'string',
2478                    'required' => true,
2479                  ),
2480                  'zone' => array(
2481                    'location' => 'path',
2482                    'type' => 'string',
2483                    'required' => true,
2484                  ),
2485                  'filter' => array(
2486                    'location' => 'query',
2487                    'type' => 'string',
2488                  ),
2489                  'pageToken' => array(
2490                    'location' => 'query',
2491                    'type' => 'string',
2492                  ),
2493                  'maxResults' => array(
2494                    'location' => 'query',
2495                    'type' => 'integer',
2496                  ),
2497                ),
2498              ),
2499            )
2500          )
2501      );
2502      $this->networks = new Google_Service_Compute_Networks_Resource(
2503          $this,
2504          $this->serviceName,
2505          'networks',
2506          array(
2507            'methods' => array(
2508              'delete' => array(
2509                'path' => '{project}/global/networks/{network}',
2510                'httpMethod' => 'DELETE',
2511                'parameters' => array(
2512                  'project' => array(
2513                    'location' => 'path',
2514                    'type' => 'string',
2515                    'required' => true,
2516                  ),
2517                  'network' => array(
2518                    'location' => 'path',
2519                    'type' => 'string',
2520                    'required' => true,
2521                  ),
2522                ),
2523              ),'get' => array(
2524                'path' => '{project}/global/networks/{network}',
2525                'httpMethod' => 'GET',
2526                'parameters' => array(
2527                  'project' => array(
2528                    'location' => 'path',
2529                    'type' => 'string',
2530                    'required' => true,
2531                  ),
2532                  'network' => array(
2533                    'location' => 'path',
2534                    'type' => 'string',
2535                    'required' => true,
2536                  ),
2537                ),
2538              ),'insert' => array(
2539                'path' => '{project}/global/networks',
2540                'httpMethod' => 'POST',
2541                'parameters' => array(
2542                  'project' => array(
2543                    'location' => 'path',
2544                    'type' => 'string',
2545                    'required' => true,
2546                  ),
2547                ),
2548              ),'list' => array(
2549                'path' => '{project}/global/networks',
2550                'httpMethod' => 'GET',
2551                'parameters' => array(
2552                  'project' => array(
2553                    'location' => 'path',
2554                    'type' => 'string',
2555                    'required' => true,
2556                  ),
2557                  'filter' => array(
2558                    'location' => 'query',
2559                    'type' => 'string',
2560                  ),
2561                  'pageToken' => array(
2562                    'location' => 'query',
2563                    'type' => 'string',
2564                  ),
2565                  'maxResults' => array(
2566                    'location' => 'query',
2567                    'type' => 'integer',
2568                  ),
2569                ),
2570              ),
2571            )
2572          )
2573      );
2574      $this->projects = new Google_Service_Compute_Projects_Resource(
2575          $this,
2576          $this->serviceName,
2577          'projects',
2578          array(
2579            'methods' => array(
2580              'get' => array(
2581                'path' => '{project}',
2582                'httpMethod' => 'GET',
2583                'parameters' => array(
2584                  'project' => array(
2585                    'location' => 'path',
2586                    'type' => 'string',
2587                    'required' => true,
2588                  ),
2589                ),
2590              ),'moveDisk' => array(
2591                'path' => '{project}/moveDisk',
2592                'httpMethod' => 'POST',
2593                'parameters' => array(
2594                  'project' => array(
2595                    'location' => 'path',
2596                    'type' => 'string',
2597                    'required' => true,
2598                  ),
2599                ),
2600              ),'moveInstance' => array(
2601                'path' => '{project}/moveInstance',
2602                'httpMethod' => 'POST',
2603                'parameters' => array(
2604                  'project' => array(
2605                    'location' => 'path',
2606                    'type' => 'string',
2607                    'required' => true,
2608                  ),
2609                ),
2610              ),'setCommonInstanceMetadata' => array(
2611                'path' => '{project}/setCommonInstanceMetadata',
2612                'httpMethod' => 'POST',
2613                'parameters' => array(
2614                  'project' => array(
2615                    'location' => 'path',
2616                    'type' => 'string',
2617                    'required' => true,
2618                  ),
2619                ),
2620              ),'setUsageExportBucket' => array(
2621                'path' => '{project}/setUsageExportBucket',
2622                'httpMethod' => 'POST',
2623                'parameters' => array(
2624                  'project' => array(
2625                    'location' => 'path',
2626                    'type' => 'string',
2627                    'required' => true,
2628                  ),
2629                ),
2630              ),
2631            )
2632          )
2633      );
2634      $this->regionOperations = new Google_Service_Compute_RegionOperations_Resource(
2635          $this,
2636          $this->serviceName,
2637          'regionOperations',
2638          array(
2639            'methods' => array(
2640              'delete' => array(
2641                'path' => '{project}/regions/{region}/operations/{operation}',
2642                'httpMethod' => 'DELETE',
2643                'parameters' => array(
2644                  'project' => array(
2645                    'location' => 'path',
2646                    'type' => 'string',
2647                    'required' => true,
2648                  ),
2649                  'region' => array(
2650                    'location' => 'path',
2651                    'type' => 'string',
2652                    'required' => true,
2653                  ),
2654                  'operation' => array(
2655                    'location' => 'path',
2656                    'type' => 'string',
2657                    'required' => true,
2658                  ),
2659                ),
2660              ),'get' => array(
2661                'path' => '{project}/regions/{region}/operations/{operation}',
2662                'httpMethod' => 'GET',
2663                'parameters' => array(
2664                  'project' => array(
2665                    'location' => 'path',
2666                    'type' => 'string',
2667                    'required' => true,
2668                  ),
2669                  'region' => array(
2670                    'location' => 'path',
2671                    'type' => 'string',
2672                    'required' => true,
2673                  ),
2674                  'operation' => array(
2675                    'location' => 'path',
2676                    'type' => 'string',
2677                    'required' => true,
2678                  ),
2679                ),
2680              ),'list' => array(
2681                'path' => '{project}/regions/{region}/operations',
2682                'httpMethod' => 'GET',
2683                'parameters' => array(
2684                  'project' => array(
2685                    'location' => 'path',
2686                    'type' => 'string',
2687                    'required' => true,
2688                  ),
2689                  'region' => array(
2690                    'location' => 'path',
2691                    'type' => 'string',
2692                    'required' => true,
2693                  ),
2694                  'filter' => array(
2695                    'location' => 'query',
2696                    'type' => 'string',
2697                  ),
2698                  'pageToken' => array(
2699                    'location' => 'query',
2700                    'type' => 'string',
2701                  ),
2702                  'maxResults' => array(
2703                    'location' => 'query',
2704                    'type' => 'integer',
2705                  ),
2706                ),
2707              ),
2708            )
2709          )
2710      );
2711      $this->regions = new Google_Service_Compute_Regions_Resource(
2712          $this,
2713          $this->serviceName,
2714          'regions',
2715          array(
2716            'methods' => array(
2717              'get' => array(
2718                'path' => '{project}/regions/{region}',
2719                'httpMethod' => 'GET',
2720                'parameters' => array(
2721                  'project' => array(
2722                    'location' => 'path',
2723                    'type' => 'string',
2724                    'required' => true,
2725                  ),
2726                  'region' => array(
2727                    'location' => 'path',
2728                    'type' => 'string',
2729                    'required' => true,
2730                  ),
2731                ),
2732              ),'list' => array(
2733                'path' => '{project}/regions',
2734                'httpMethod' => 'GET',
2735                'parameters' => array(
2736                  'project' => array(
2737                    'location' => 'path',
2738                    'type' => 'string',
2739                    'required' => true,
2740                  ),
2741                  'filter' => array(
2742                    'location' => 'query',
2743                    'type' => 'string',
2744                  ),
2745                  'pageToken' => array(
2746                    'location' => 'query',
2747                    'type' => 'string',
2748                  ),
2749                  'maxResults' => array(
2750                    'location' => 'query',
2751                    'type' => 'integer',
2752                  ),
2753                ),
2754              ),
2755            )
2756          )
2757      );
2758      $this->routes = new Google_Service_Compute_Routes_Resource(
2759          $this,
2760          $this->serviceName,
2761          'routes',
2762          array(
2763            'methods' => array(
2764              'delete' => array(
2765                'path' => '{project}/global/routes/{route}',
2766                'httpMethod' => 'DELETE',
2767                'parameters' => array(
2768                  'project' => array(
2769                    'location' => 'path',
2770                    'type' => 'string',
2771                    'required' => true,
2772                  ),
2773                  'route' => array(
2774                    'location' => 'path',
2775                    'type' => 'string',
2776                    'required' => true,
2777                  ),
2778                ),
2779              ),'get' => array(
2780                'path' => '{project}/global/routes/{route}',
2781                'httpMethod' => 'GET',
2782                'parameters' => array(
2783                  'project' => array(
2784                    'location' => 'path',
2785                    'type' => 'string',
2786                    'required' => true,
2787                  ),
2788                  'route' => array(
2789                    'location' => 'path',
2790                    'type' => 'string',
2791                    'required' => true,
2792                  ),
2793                ),
2794              ),'insert' => array(
2795                'path' => '{project}/global/routes',
2796                'httpMethod' => 'POST',
2797                'parameters' => array(
2798                  'project' => array(
2799                    'location' => 'path',
2800                    'type' => 'string',
2801                    'required' => true,
2802                  ),
2803                ),
2804              ),'list' => array(
2805                'path' => '{project}/global/routes',
2806                'httpMethod' => 'GET',
2807                'parameters' => array(
2808                  'project' => array(
2809                    'location' => 'path',
2810                    'type' => 'string',
2811                    'required' => true,
2812                  ),
2813                  'filter' => array(
2814                    'location' => 'query',
2815                    'type' => 'string',
2816                  ),
2817                  'pageToken' => array(
2818                    'location' => 'query',
2819                    'type' => 'string',
2820                  ),
2821                  'maxResults' => array(
2822                    'location' => 'query',
2823                    'type' => 'integer',
2824                  ),
2825                ),
2826              ),
2827            )
2828          )
2829      );
2830      $this->snapshots = new Google_Service_Compute_Snapshots_Resource(
2831          $this,
2832          $this->serviceName,
2833          'snapshots',
2834          array(
2835            'methods' => array(
2836              'delete' => array(
2837                'path' => '{project}/global/snapshots/{snapshot}',
2838                'httpMethod' => 'DELETE',
2839                'parameters' => array(
2840                  'project' => array(
2841                    'location' => 'path',
2842                    'type' => 'string',
2843                    'required' => true,
2844                  ),
2845                  'snapshot' => array(
2846                    'location' => 'path',
2847                    'type' => 'string',
2848                    'required' => true,
2849                  ),
2850                ),
2851              ),'get' => array(
2852                'path' => '{project}/global/snapshots/{snapshot}',
2853                'httpMethod' => 'GET',
2854                'parameters' => array(
2855                  'project' => array(
2856                    'location' => 'path',
2857                    'type' => 'string',
2858                    'required' => true,
2859                  ),
2860                  'snapshot' => array(
2861                    'location' => 'path',
2862                    'type' => 'string',
2863                    'required' => true,
2864                  ),
2865                ),
2866              ),'list' => array(
2867                'path' => '{project}/global/snapshots',
2868                'httpMethod' => 'GET',
2869                'parameters' => array(
2870                  'project' => array(
2871                    'location' => 'path',
2872                    'type' => 'string',
2873                    'required' => true,
2874                  ),
2875                  'filter' => array(
2876                    'location' => 'query',
2877                    'type' => 'string',
2878                  ),
2879                  'pageToken' => array(
2880                    'location' => 'query',
2881                    'type' => 'string',
2882                  ),
2883                  'maxResults' => array(
2884                    'location' => 'query',
2885                    'type' => 'integer',
2886                  ),
2887                ),
2888              ),
2889            )
2890          )
2891      );
2892      $this->sslCertificates = new Google_Service_Compute_SslCertificates_Resource(
2893          $this,
2894          $this->serviceName,
2895          'sslCertificates',
2896          array(
2897            'methods' => array(
2898              'delete' => array(
2899                'path' => '{project}/global/sslCertificates/{sslCertificate}',
2900                'httpMethod' => 'DELETE',
2901                'parameters' => array(
2902                  'project' => array(
2903                    'location' => 'path',
2904                    'type' => 'string',
2905                    'required' => true,
2906                  ),
2907                  'sslCertificate' => array(
2908                    'location' => 'path',
2909                    'type' => 'string',
2910                    'required' => true,
2911                  ),
2912                ),
2913              ),'get' => array(
2914                'path' => '{project}/global/sslCertificates/{sslCertificate}',
2915                'httpMethod' => 'GET',
2916                'parameters' => array(
2917                  'project' => array(
2918                    'location' => 'path',
2919                    'type' => 'string',
2920                    'required' => true,
2921                  ),
2922                  'sslCertificate' => array(
2923                    'location' => 'path',
2924                    'type' => 'string',
2925                    'required' => true,
2926                  ),
2927                ),
2928              ),'insert' => array(
2929                'path' => '{project}/global/sslCertificates',
2930                'httpMethod' => 'POST',
2931                'parameters' => array(
2932                  'project' => array(
2933                    'location' => 'path',
2934                    'type' => 'string',
2935                    'required' => true,
2936                  ),
2937                ),
2938              ),'list' => array(
2939                'path' => '{project}/global/sslCertificates',
2940                'httpMethod' => 'GET',
2941                'parameters' => array(
2942                  'project' => array(
2943                    'location' => 'path',
2944                    'type' => 'string',
2945                    'required' => true,
2946                  ),
2947                  'filter' => array(
2948                    'location' => 'query',
2949                    'type' => 'string',
2950                  ),
2951                  'pageToken' => array(
2952                    'location' => 'query',
2953                    'type' => 'string',
2954                  ),
2955                  'maxResults' => array(
2956                    'location' => 'query',
2957                    'type' => 'integer',
2958                  ),
2959                ),
2960              ),
2961            )
2962          )
2963      );
2964      $this->targetHttpProxies = new Google_Service_Compute_TargetHttpProxies_Resource(
2965          $this,
2966          $this->serviceName,
2967          'targetHttpProxies',
2968          array(
2969            'methods' => array(
2970              'delete' => array(
2971                'path' => '{project}/global/targetHttpProxies/{targetHttpProxy}',
2972                'httpMethod' => 'DELETE',
2973                'parameters' => array(
2974                  'project' => array(
2975                    'location' => 'path',
2976                    'type' => 'string',
2977                    'required' => true,
2978                  ),
2979                  'targetHttpProxy' => array(
2980                    'location' => 'path',
2981                    'type' => 'string',
2982                    'required' => true,
2983                  ),
2984                ),
2985              ),'get' => array(
2986                'path' => '{project}/global/targetHttpProxies/{targetHttpProxy}',
2987                'httpMethod' => 'GET',
2988                'parameters' => array(
2989                  'project' => array(
2990                    'location' => 'path',
2991                    'type' => 'string',
2992                    'required' => true,
2993                  ),
2994                  'targetHttpProxy' => array(
2995                    'location' => 'path',
2996                    'type' => 'string',
2997                    'required' => true,
2998                  ),
2999                ),
3000              ),'insert' => array(
3001                'path' => '{project}/global/targetHttpProxies',
3002                'httpMethod' => 'POST',
3003                'parameters' => array(
3004                  'project' => array(
3005                    'location' => 'path',
3006                    'type' => 'string',
3007                    'required' => true,
3008                  ),
3009                ),
3010              ),'list' => array(
3011                'path' => '{project}/global/targetHttpProxies',
3012                'httpMethod' => 'GET',
3013                'parameters' => array(
3014                  'project' => array(
3015                    'location' => 'path',
3016                    'type' => 'string',
3017                    'required' => true,
3018                  ),
3019                  'filter' => array(
3020                    'location' => 'query',
3021                    'type' => 'string',
3022                  ),
3023                  'pageToken' => array(
3024                    'location' => 'query',
3025                    'type' => 'string',
3026                  ),
3027                  'maxResults' => array(
3028                    'location' => 'query',
3029                    'type' => 'integer',
3030                  ),
3031                ),
3032              ),'setUrlMap' => array(
3033                'path' => '{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap',
3034                'httpMethod' => 'POST',
3035                'parameters' => array(
3036                  'project' => array(
3037                    'location' => 'path',
3038                    'type' => 'string',
3039                    'required' => true,
3040                  ),
3041                  'targetHttpProxy' => array(
3042                    'location' => 'path',
3043                    'type' => 'string',
3044                    'required' => true,
3045                  ),
3046                ),
3047              ),
3048            )
3049          )
3050      );
3051      $this->targetHttpsProxies = new Google_Service_Compute_TargetHttpsProxies_Resource(
3052          $this,
3053          $this->serviceName,
3054          'targetHttpsProxies',
3055          array(
3056            'methods' => array(
3057              'delete' => array(
3058                'path' => '{project}/global/targetHttpsProxies/{targetHttpsProxy}',
3059                'httpMethod' => 'DELETE',
3060                'parameters' => array(
3061                  'project' => array(
3062                    'location' => 'path',
3063                    'type' => 'string',
3064                    'required' => true,
3065                  ),
3066                  'targetHttpsProxy' => array(
3067                    'location' => 'path',
3068                    'type' => 'string',
3069                    'required' => true,
3070                  ),
3071                ),
3072              ),'get' => array(
3073                'path' => '{project}/global/targetHttpsProxies/{targetHttpsProxy}',
3074                'httpMethod' => 'GET',
3075                'parameters' => array(
3076                  'project' => array(
3077                    'location' => 'path',
3078                    'type' => 'string',
3079                    'required' => true,
3080                  ),
3081                  'targetHttpsProxy' => array(
3082                    'location' => 'path',
3083                    'type' => 'string',
3084                    'required' => true,
3085                  ),
3086                ),
3087              ),'insert' => array(
3088                'path' => '{project}/global/targetHttpsProxies',
3089                'httpMethod' => 'POST',
3090                'parameters' => array(
3091                  'project' => array(
3092                    'location' => 'path',
3093                    'type' => 'string',
3094                    'required' => true,
3095                  ),
3096                ),
3097              ),'list' => array(
3098                'path' => '{project}/global/targetHttpsProxies',
3099                'httpMethod' => 'GET',
3100                'parameters' => array(
3101                  'project' => array(
3102                    'location' => 'path',
3103                    'type' => 'string',
3104                    'required' => true,
3105                  ),
3106                  'filter' => array(
3107                    'location' => 'query',
3108                    'type' => 'string',
3109                  ),
3110                  'pageToken' => array(
3111                    'location' => 'query',
3112                    'type' => 'string',
3113                  ),
3114                  'maxResults' => array(
3115                    'location' => 'query',
3116                    'type' => 'integer',
3117                  ),
3118                ),
3119              ),'setSslCertificates' => array(
3120                'path' => '{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates',
3121                'httpMethod' => 'POST',
3122                'parameters' => array(
3123                  'project' => array(
3124                    'location' => 'path',
3125                    'type' => 'string',
3126                    'required' => true,
3127                  ),
3128                  'targetHttpsProxy' => array(
3129                    'location' => 'path',
3130                    'type' => 'string',
3131                    'required' => true,
3132                  ),
3133                ),
3134              ),'setUrlMap' => array(
3135                'path' => '{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap',
3136                'httpMethod' => 'POST',
3137                'parameters' => array(
3138                  'project' => array(
3139                    'location' => 'path',
3140                    'type' => 'string',
3141                    'required' => true,
3142                  ),
3143                  'targetHttpsProxy' => array(
3144                    'location' => 'path',
3145                    'type' => 'string',
3146                    'required' => true,
3147                  ),
3148                ),
3149              ),
3150            )
3151          )
3152      );
3153      $this->targetInstances = new Google_Service_Compute_TargetInstances_Resource(
3154          $this,
3155          $this->serviceName,
3156          'targetInstances',
3157          array(
3158            'methods' => array(
3159              'aggregatedList' => array(
3160                'path' => '{project}/aggregated/targetInstances',
3161                'httpMethod' => 'GET',
3162                'parameters' => array(
3163                  'project' => array(
3164                    'location' => 'path',
3165                    'type' => 'string',
3166                    'required' => true,
3167                  ),
3168                  'filter' => array(
3169                    'location' => 'query',
3170                    'type' => 'string',
3171                  ),
3172                  'pageToken' => array(
3173                    'location' => 'query',
3174                    'type' => 'string',
3175                  ),
3176                  'maxResults' => array(
3177                    'location' => 'query',
3178                    'type' => 'integer',
3179                  ),
3180                ),
3181              ),'delete' => array(
3182                'path' => '{project}/zones/{zone}/targetInstances/{targetInstance}',
3183                'httpMethod' => 'DELETE',
3184                'parameters' => array(
3185                  'project' => array(
3186                    'location' => 'path',
3187                    'type' => 'string',
3188                    'required' => true,
3189                  ),
3190                  'zone' => array(
3191                    'location' => 'path',
3192                    'type' => 'string',
3193                    'required' => true,
3194                  ),
3195                  'targetInstance' => array(
3196                    'location' => 'path',
3197                    'type' => 'string',
3198                    'required' => true,
3199                  ),
3200                ),
3201              ),'get' => array(
3202                'path' => '{project}/zones/{zone}/targetInstances/{targetInstance}',
3203                'httpMethod' => 'GET',
3204                'parameters' => array(
3205                  'project' => array(
3206                    'location' => 'path',
3207                    'type' => 'string',
3208                    'required' => true,
3209                  ),
3210                  'zone' => array(
3211                    'location' => 'path',
3212                    'type' => 'string',
3213                    'required' => true,
3214                  ),
3215                  'targetInstance' => array(
3216                    'location' => 'path',
3217                    'type' => 'string',
3218                    'required' => true,
3219                  ),
3220                ),
3221              ),'insert' => array(
3222                'path' => '{project}/zones/{zone}/targetInstances',
3223                'httpMethod' => 'POST',
3224                'parameters' => array(
3225                  'project' => array(
3226                    'location' => 'path',
3227                    'type' => 'string',
3228                    'required' => true,
3229                  ),
3230                  'zone' => array(
3231                    'location' => 'path',
3232                    'type' => 'string',
3233                    'required' => true,
3234                  ),
3235                ),
3236              ),'list' => array(
3237                'path' => '{project}/zones/{zone}/targetInstances',
3238                'httpMethod' => 'GET',
3239                'parameters' => array(
3240                  'project' => array(
3241                    'location' => 'path',
3242                    'type' => 'string',
3243                    'required' => true,
3244                  ),
3245                  'zone' => array(
3246                    'location' => 'path',
3247                    'type' => 'string',
3248                    'required' => true,
3249                  ),
3250                  'filter' => array(
3251                    'location' => 'query',
3252                    'type' => 'string',
3253                  ),
3254                  'pageToken' => array(
3255                    'location' => 'query',
3256                    'type' => 'string',
3257                  ),
3258                  'maxResults' => array(
3259                    'location' => 'query',
3260                    'type' => 'integer',
3261                  ),
3262                ),
3263              ),
3264            )
3265          )
3266      );
3267      $this->targetPools = new Google_Service_Compute_TargetPools_Resource(
3268          $this,
3269          $this->serviceName,
3270          'targetPools',
3271          array(
3272            'methods' => array(
3273              'addHealthCheck' => array(
3274                'path' => '{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck',
3275                'httpMethod' => 'POST',
3276                'parameters' => array(
3277                  'project' => array(
3278                    'location' => 'path',
3279                    'type' => 'string',
3280                    'required' => true,
3281                  ),
3282                  'region' => array(
3283                    'location' => 'path',
3284                    'type' => 'string',
3285                    'required' => true,
3286                  ),
3287                  'targetPool' => array(
3288                    'location' => 'path',
3289                    'type' => 'string',
3290                    'required' => true,
3291                  ),
3292                ),
3293              ),'addInstance' => array(
3294                'path' => '{project}/regions/{region}/targetPools/{targetPool}/addInstance',
3295                'httpMethod' => 'POST',
3296                'parameters' => array(
3297                  'project' => array(
3298                    'location' => 'path',
3299                    'type' => 'string',
3300                    'required' => true,
3301                  ),
3302                  'region' => array(
3303                    'location' => 'path',
3304                    'type' => 'string',
3305                    'required' => true,
3306                  ),
3307                  'targetPool' => array(
3308                    'location' => 'path',
3309                    'type' => 'string',
3310                    'required' => true,
3311                  ),
3312                ),
3313              ),'aggregatedList' => array(
3314                'path' => '{project}/aggregated/targetPools',
3315                'httpMethod' => 'GET',
3316                'parameters' => array(
3317                  'project' => array(
3318                    'location' => 'path',
3319                    'type' => 'string',
3320                    'required' => true,
3321                  ),
3322                  'filter' => array(
3323                    'location' => 'query',
3324                    'type' => 'string',
3325                  ),
3326                  'pageToken' => array(
3327                    'location' => 'query',
3328                    'type' => 'string',
3329                  ),
3330                  'maxResults' => array(
3331                    'location' => 'query',
3332                    'type' => 'integer',
3333                  ),
3334                ),
3335              ),'delete' => array(
3336                'path' => '{project}/regions/{region}/targetPools/{targetPool}',
3337                'httpMethod' => 'DELETE',
3338                'parameters' => array(
3339                  'project' => array(
3340                    'location' => 'path',
3341                    'type' => 'string',
3342                    'required' => true,
3343                  ),
3344                  'region' => array(
3345                    'location' => 'path',
3346                    'type' => 'string',
3347                    'required' => true,
3348                  ),
3349                  'targetPool' => array(
3350                    'location' => 'path',
3351                    'type' => 'string',
3352                    'required' => true,
3353                  ),
3354                ),
3355              ),'get' => array(
3356                'path' => '{project}/regions/{region}/targetPools/{targetPool}',
3357                'httpMethod' => 'GET',
3358                'parameters' => array(
3359                  'project' => array(
3360                    'location' => 'path',
3361                    'type' => 'string',
3362                    'required' => true,
3363                  ),
3364                  'region' => array(
3365                    'location' => 'path',
3366                    'type' => 'string',
3367                    'required' => true,
3368                  ),
3369                  'targetPool' => array(
3370                    'location' => 'path',
3371                    'type' => 'string',
3372                    'required' => true,
3373                  ),
3374                ),
3375              ),'getHealth' => array(
3376                'path' => '{project}/regions/{region}/targetPools/{targetPool}/getHealth',
3377                'httpMethod' => 'POST',
3378                'parameters' => array(
3379                  'project' => array(
3380                    'location' => 'path',
3381                    'type' => 'string',
3382                    'required' => true,
3383                  ),
3384                  'region' => array(
3385                    'location' => 'path',
3386                    'type' => 'string',
3387                    'required' => true,
3388                  ),
3389                  'targetPool' => array(
3390                    'location' => 'path',
3391                    'type' => 'string',
3392                    'required' => true,
3393                  ),
3394                ),
3395              ),'insert' => array(
3396                'path' => '{project}/regions/{region}/targetPools',
3397                'httpMethod' => 'POST',
3398                'parameters' => array(
3399                  'project' => array(
3400                    'location' => 'path',
3401                    'type' => 'string',
3402                    'required' => true,
3403                  ),
3404                  'region' => array(
3405                    'location' => 'path',
3406                    'type' => 'string',
3407                    'required' => true,
3408                  ),
3409                ),
3410              ),'list' => array(
3411                'path' => '{project}/regions/{region}/targetPools',
3412                'httpMethod' => 'GET',
3413                'parameters' => array(
3414                  'project' => array(
3415                    'location' => 'path',
3416                    'type' => 'string',
3417                    'required' => true,
3418                  ),
3419                  'region' => array(
3420                    'location' => 'path',
3421                    'type' => 'string',
3422                    'required' => true,
3423                  ),
3424                  'filter' => array(
3425                    'location' => 'query',
3426                    'type' => 'string',
3427                  ),
3428                  'pageToken' => array(
3429                    'location' => 'query',
3430                    'type' => 'string',
3431                  ),
3432                  'maxResults' => array(
3433                    'location' => 'query',
3434                    'type' => 'integer',
3435                  ),
3436                ),
3437              ),'removeHealthCheck' => array(
3438                'path' => '{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck',
3439                'httpMethod' => 'POST',
3440                'parameters' => array(
3441                  'project' => array(
3442                    'location' => 'path',
3443                    'type' => 'string',
3444                    'required' => true,
3445                  ),
3446                  'region' => array(
3447                    'location' => 'path',
3448                    'type' => 'string',
3449                    'required' => true,
3450                  ),
3451                  'targetPool' => array(
3452                    'location' => 'path',
3453                    'type' => 'string',
3454                    'required' => true,
3455                  ),
3456                ),
3457              ),'removeInstance' => array(
3458                'path' => '{project}/regions/{region}/targetPools/{targetPool}/removeInstance',
3459                'httpMethod' => 'POST',
3460                'parameters' => array(
3461                  'project' => array(
3462                    'location' => 'path',
3463                    'type' => 'string',
3464                    'required' => true,
3465                  ),
3466                  'region' => array(
3467                    'location' => 'path',
3468                    'type' => 'string',
3469                    'required' => true,
3470                  ),
3471                  'targetPool' => array(
3472                    'location' => 'path',
3473                    'type' => 'string',
3474                    'required' => true,
3475                  ),
3476                ),
3477              ),'setBackup' => array(
3478                'path' => '{project}/regions/{region}/targetPools/{targetPool}/setBackup',
3479                'httpMethod' => 'POST',
3480                'parameters' => array(
3481                  'project' => array(
3482                    'location' => 'path',
3483                    'type' => 'string',
3484                    'required' => true,
3485                  ),
3486                  'region' => array(
3487                    'location' => 'path',
3488                    'type' => 'string',
3489                    'required' => true,
3490                  ),
3491                  'targetPool' => array(
3492                    'location' => 'path',
3493                    'type' => 'string',
3494                    'required' => true,
3495                  ),
3496                  'failoverRatio' => array(
3497                    'location' => 'query',
3498                    'type' => 'number',
3499                  ),
3500                ),
3501              ),
3502            )
3503          )
3504      );
3505      $this->targetVpnGateways = new Google_Service_Compute_TargetVpnGateways_Resource(
3506          $this,
3507          $this->serviceName,
3508          'targetVpnGateways',
3509          array(
3510            'methods' => array(
3511              'aggregatedList' => array(
3512                'path' => '{project}/aggregated/targetVpnGateways',
3513                'httpMethod' => 'GET',
3514                'parameters' => array(
3515                  'project' => array(
3516                    'location' => 'path',
3517                    'type' => 'string',
3518                    'required' => true,
3519                  ),
3520                  'filter' => array(
3521                    'location' => 'query',
3522                    'type' => 'string',
3523                  ),
3524                  'pageToken' => array(
3525                    'location' => 'query',
3526                    'type' => 'string',
3527                  ),
3528                  'maxResults' => array(
3529                    'location' => 'query',
3530                    'type' => 'integer',
3531                  ),
3532                ),
3533              ),'delete' => array(
3534                'path' => '{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}',
3535                'httpMethod' => 'DELETE',
3536                'parameters' => array(
3537                  'project' => array(
3538                    'location' => 'path',
3539                    'type' => 'string',
3540                    'required' => true,
3541                  ),
3542                  'region' => array(
3543                    'location' => 'path',
3544                    'type' => 'string',
3545                    'required' => true,
3546                  ),
3547                  'targetVpnGateway' => array(
3548                    'location' => 'path',
3549                    'type' => 'string',
3550                    'required' => true,
3551                  ),
3552                ),
3553              ),'get' => array(
3554                'path' => '{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}',
3555                'httpMethod' => 'GET',
3556                'parameters' => array(
3557                  'project' => array(
3558                    'location' => 'path',
3559                    'type' => 'string',
3560                    'required' => true,
3561                  ),
3562                  'region' => array(
3563                    'location' => 'path',
3564                    'type' => 'string',
3565                    'required' => true,
3566                  ),
3567                  'targetVpnGateway' => array(
3568                    'location' => 'path',
3569                    'type' => 'string',
3570                    'required' => true,
3571                  ),
3572                ),
3573              ),'insert' => array(
3574                'path' => '{project}/regions/{region}/targetVpnGateways',
3575                'httpMethod' => 'POST',
3576                'parameters' => array(
3577                  'project' => array(
3578                    'location' => 'path',
3579                    'type' => 'string',
3580                    'required' => true,
3581                  ),
3582                  'region' => array(
3583                    'location' => 'path',
3584                    'type' => 'string',
3585                    'required' => true,
3586                  ),
3587                ),
3588              ),'list' => array(
3589                'path' => '{project}/regions/{region}/targetVpnGateways',
3590                'httpMethod' => 'GET',
3591                'parameters' => array(
3592                  'project' => array(
3593                    'location' => 'path',
3594                    'type' => 'string',
3595                    'required' => true,
3596                  ),
3597                  'region' => array(
3598                    'location' => 'path',
3599                    'type' => 'string',
3600                    'required' => true,
3601                  ),
3602                  'filter' => array(
3603                    'location' => 'query',
3604                    'type' => 'string',
3605                  ),
3606                  'pageToken' => array(
3607                    'location' => 'query',
3608                    'type' => 'string',
3609                  ),
3610                  'maxResults' => array(
3611                    'location' => 'query',
3612                    'type' => 'integer',
3613                  ),
3614                ),
3615              ),
3616            )
3617          )
3618      );
3619      $this->urlMaps = new Google_Service_Compute_UrlMaps_Resource(
3620          $this,
3621          $this->serviceName,
3622          'urlMaps',
3623          array(
3624            'methods' => array(
3625              'delete' => array(
3626                'path' => '{project}/global/urlMaps/{urlMap}',
3627                'httpMethod' => 'DELETE',
3628                'parameters' => array(
3629                  'project' => array(
3630                    'location' => 'path',
3631                    'type' => 'string',
3632                    'required' => true,
3633                  ),
3634                  'urlMap' => array(
3635                    'location' => 'path',
3636                    'type' => 'string',
3637                    'required' => true,
3638                  ),
3639                ),
3640              ),'get' => array(
3641                'path' => '{project}/global/urlMaps/{urlMap}',
3642                'httpMethod' => 'GET',
3643                'parameters' => array(
3644                  'project' => array(
3645                    'location' => 'path',
3646                    'type' => 'string',
3647                    'required' => true,
3648                  ),
3649                  'urlMap' => array(
3650                    'location' => 'path',
3651                    'type' => 'string',
3652                    'required' => true,
3653                  ),
3654                ),
3655              ),'insert' => array(
3656                'path' => '{project}/global/urlMaps',
3657                'httpMethod' => 'POST',
3658                'parameters' => array(
3659                  'project' => array(
3660                    'location' => 'path',
3661                    'type' => 'string',
3662                    'required' => true,
3663                  ),
3664                ),
3665              ),'list' => array(
3666                'path' => '{project}/global/urlMaps',
3667                'httpMethod' => 'GET',
3668                'parameters' => array(
3669                  'project' => array(
3670                    'location' => 'path',
3671                    'type' => 'string',
3672                    'required' => true,
3673                  ),
3674                  'filter' => array(
3675                    'location' => 'query',
3676                    'type' => 'string',
3677                  ),
3678                  'pageToken' => array(
3679                    'location' => 'query',
3680                    'type' => 'string',
3681                  ),
3682                  'maxResults' => array(
3683                    'location' => 'query',
3684                    'type' => 'integer',
3685                  ),
3686                ),
3687              ),'patch' => array(
3688                'path' => '{project}/global/urlMaps/{urlMap}',
3689                'httpMethod' => 'PATCH',
3690                'parameters' => array(
3691                  'project' => array(
3692                    'location' => 'path',
3693                    'type' => 'string',
3694                    'required' => true,
3695                  ),
3696                  'urlMap' => array(
3697                    'location' => 'path',
3698                    'type' => 'string',
3699                    'required' => true,
3700                  ),
3701                ),
3702              ),'update' => array(
3703                'path' => '{project}/global/urlMaps/{urlMap}',
3704                'httpMethod' => 'PUT',
3705                'parameters' => array(
3706                  'project' => array(
3707                    'location' => 'path',
3708                    'type' => 'string',
3709                    'required' => true,
3710                  ),
3711                  'urlMap' => array(
3712                    'location' => 'path',
3713                    'type' => 'string',
3714                    'required' => true,
3715                  ),
3716                ),
3717              ),'validate' => array(
3718                'path' => '{project}/global/urlMaps/{urlMap}/validate',
3719                'httpMethod' => 'POST',
3720                'parameters' => array(
3721                  'project' => array(
3722                    'location' => 'path',
3723                    'type' => 'string',
3724                    'required' => true,
3725                  ),
3726                  'urlMap' => array(
3727                    'location' => 'path',
3728                    'type' => 'string',
3729                    'required' => true,
3730                  ),
3731                ),
3732              ),
3733            )
3734          )
3735      );
3736      $this->vpnTunnels = new Google_Service_Compute_VpnTunnels_Resource(
3737          $this,
3738          $this->serviceName,
3739          'vpnTunnels',
3740          array(
3741            'methods' => array(
3742              'aggregatedList' => array(
3743                'path' => '{project}/aggregated/vpnTunnels',
3744                'httpMethod' => 'GET',
3745                'parameters' => array(
3746                  'project' => array(
3747                    'location' => 'path',
3748                    'type' => 'string',
3749                    'required' => true,
3750                  ),
3751                  'filter' => array(
3752                    'location' => 'query',
3753                    'type' => 'string',
3754                  ),
3755                  'pageToken' => array(
3756                    'location' => 'query',
3757                    'type' => 'string',
3758                  ),
3759                  'maxResults' => array(
3760                    'location' => 'query',
3761                    'type' => 'integer',
3762                  ),
3763                ),
3764              ),'delete' => array(
3765                'path' => '{project}/regions/{region}/vpnTunnels/{vpnTunnel}',
3766                'httpMethod' => 'DELETE',
3767                'parameters' => array(
3768                  'project' => array(
3769                    'location' => 'path',
3770                    'type' => 'string',
3771                    'required' => true,
3772                  ),
3773                  'region' => array(
3774                    'location' => 'path',
3775                    'type' => 'string',
3776                    'required' => true,
3777                  ),
3778                  'vpnTunnel' => array(
3779                    'location' => 'path',
3780                    'type' => 'string',
3781                    'required' => true,
3782                  ),
3783                ),
3784              ),'get' => array(
3785                'path' => '{project}/regions/{region}/vpnTunnels/{vpnTunnel}',
3786                'httpMethod' => 'GET',
3787                'parameters' => array(
3788                  'project' => array(
3789                    'location' => 'path',
3790                    'type' => 'string',
3791                    'required' => true,
3792                  ),
3793                  'region' => array(
3794                    'location' => 'path',
3795                    'type' => 'string',
3796                    'required' => true,
3797                  ),
3798                  'vpnTunnel' => array(
3799                    'location' => 'path',
3800                    'type' => 'string',
3801                    'required' => true,
3802                  ),
3803                ),
3804              ),'insert' => array(
3805                'path' => '{project}/regions/{region}/vpnTunnels',
3806                'httpMethod' => 'POST',
3807                'parameters' => array(
3808                  'project' => array(
3809                    'location' => 'path',
3810                    'type' => 'string',
3811                    'required' => true,
3812                  ),
3813                  'region' => array(
3814                    'location' => 'path',
3815                    'type' => 'string',
3816                    'required' => true,
3817                  ),
3818                ),
3819              ),'list' => array(
3820                'path' => '{project}/regions/{region}/vpnTunnels',
3821                'httpMethod' => 'GET',
3822                'parameters' => array(
3823                  'project' => array(
3824                    'location' => 'path',
3825                    'type' => 'string',
3826                    'required' => true,
3827                  ),
3828                  'region' => array(
3829                    'location' => 'path',
3830                    'type' => 'string',
3831                    'required' => true,
3832                  ),
3833                  'filter' => array(
3834                    'location' => 'query',
3835                    'type' => 'string',
3836                  ),
3837                  'pageToken' => array(
3838                    'location' => 'query',
3839                    'type' => 'string',
3840                  ),
3841                  'maxResults' => array(
3842                    'location' => 'query',
3843                    'type' => 'integer',
3844                  ),
3845                ),
3846              ),
3847            )
3848          )
3849      );
3850      $this->zoneOperations = new Google_Service_Compute_ZoneOperations_Resource(
3851          $this,
3852          $this->serviceName,
3853          'zoneOperations',
3854          array(
3855            'methods' => array(
3856              'delete' => array(
3857                'path' => '{project}/zones/{zone}/operations/{operation}',
3858                'httpMethod' => 'DELETE',
3859                'parameters' => array(
3860                  'project' => array(
3861                    'location' => 'path',
3862                    'type' => 'string',
3863                    'required' => true,
3864                  ),
3865                  'zone' => array(
3866                    'location' => 'path',
3867                    'type' => 'string',
3868                    'required' => true,
3869                  ),
3870                  'operation' => array(
3871                    'location' => 'path',
3872                    'type' => 'string',
3873                    'required' => true,
3874                  ),
3875                ),
3876              ),'get' => array(
3877                'path' => '{project}/zones/{zone}/operations/{operation}',
3878                'httpMethod' => 'GET',
3879                'parameters' => array(
3880                  'project' => array(
3881                    'location' => 'path',
3882                    'type' => 'string',
3883                    'required' => true,
3884                  ),
3885                  'zone' => array(
3886                    'location' => 'path',
3887                    'type' => 'string',
3888                    'required' => true,
3889                  ),
3890                  'operation' => array(
3891                    'location' => 'path',
3892                    'type' => 'string',
3893                    'required' => true,
3894                  ),
3895                ),
3896              ),'list' => array(
3897                'path' => '{project}/zones/{zone}/operations',
3898                'httpMethod' => 'GET',
3899                'parameters' => array(
3900                  'project' => array(
3901                    'location' => 'path',
3902                    'type' => 'string',
3903                    'required' => true,
3904                  ),
3905                  'zone' => array(
3906                    'location' => 'path',
3907                    'type' => 'string',
3908                    'required' => true,
3909                  ),
3910                  'filter' => array(
3911                    'location' => 'query',
3912                    'type' => 'string',
3913                  ),
3914                  'pageToken' => array(
3915                    'location' => 'query',
3916                    'type' => 'string',
3917                  ),
3918                  'maxResults' => array(
3919                    'location' => 'query',
3920                    'type' => 'integer',
3921                  ),
3922                ),
3923              ),
3924            )
3925          )
3926      );
3927      $this->zones = new Google_Service_Compute_Zones_Resource(
3928          $this,
3929          $this->serviceName,
3930          'zones',
3931          array(
3932            'methods' => array(
3933              'get' => array(
3934                'path' => '{project}/zones/{zone}',
3935                'httpMethod' => 'GET',
3936                'parameters' => array(
3937                  'project' => array(
3938                    'location' => 'path',
3939                    'type' => 'string',
3940                    'required' => true,
3941                  ),
3942                  'zone' => array(
3943                    'location' => 'path',
3944                    'type' => 'string',
3945                    'required' => true,
3946                  ),
3947                ),
3948              ),'list' => array(
3949                'path' => '{project}/zones',
3950                'httpMethod' => 'GET',
3951                'parameters' => array(
3952                  'project' => array(
3953                    'location' => 'path',
3954                    'type' => 'string',
3955                    'required' => true,
3956                  ),
3957                  'filter' => array(
3958                    'location' => 'query',
3959                    'type' => 'string',
3960                  ),
3961                  'pageToken' => array(
3962                    'location' => 'query',
3963                    'type' => 'string',
3964                  ),
3965                  'maxResults' => array(
3966                    'location' => 'query',
3967                    'type' => 'integer',
3968                  ),
3969                ),
3970              ),
3971            )
3972          )
3973      );
3974    }
3975  }
3976  
3977  
3978  /**
3979   * The "addresses" collection of methods.
3980   * Typical usage is:
3981   *  <code>
3982   *   $computeService = new Google_Service_Compute(...);
3983   *   $addresses = $computeService->addresses;
3984   *  </code>
3985   */
3986  class Google_Service_Compute_Addresses_Resource extends Google_Service_Resource
3987  {
3988  
3989    /**
3990     * Retrieves the list of addresses grouped by scope. (addresses.aggregatedList)
3991     *
3992     * @param string $project Project ID for this request.
3993     * @param array $optParams Optional parameters.
3994     *
3995     * @opt_param string filter Sets a filter expression for filtering listed
3996     * resources, in the form filter={expression}. Your {expression} must be in the
3997     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
3998     *
3999     * The FIELD_NAME is the name of the field you want to compare. Only atomic
4000     * field types are supported (string, number, boolean). The COMPARISON_STRING
4001     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
4002     * string value to filter to. The literal value must be valid for the type of
4003     * field (string, number, boolean). For string fields, the literal value is
4004     * interpreted as a regular expression using RE2 syntax. The literal value must
4005     * match the entire field.
4006     *
4007     * For example, filter=name ne example-instance.
4008     * @opt_param string pageToken Specifies a page token to use. Use this parameter
4009     * if you want to list the next page of results. Set pageToken to the
4010     * nextPageToken returned by a previous list request.
4011     * @opt_param string maxResults Maximum count of results to be returned.
4012     * @return Google_Service_Compute_AddressAggregatedList
4013     */
4014    public function aggregatedList($project, $optParams = array())
4015    {
4016      $params = array('project' => $project);
4017      $params = array_merge($params, $optParams);
4018      return $this->call('aggregatedList', array($params), "Google_Service_Compute_AddressAggregatedList");
4019    }
4020  
4021    /**
4022     * Deletes the specified address resource. (addresses.delete)
4023     *
4024     * @param string $project Project ID for this request.
4025     * @param string $region The name of the region for this request.
4026     * @param string $address Name of the address resource to delete.
4027     * @param array $optParams Optional parameters.
4028     * @return Google_Service_Compute_Operation
4029     */
4030    public function delete($project, $region, $address, $optParams = array())
4031    {
4032      $params = array('project' => $project, 'region' => $region, 'address' => $address);
4033      $params = array_merge($params, $optParams);
4034      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
4035    }
4036  
4037    /**
4038     * Returns the specified address resource. (addresses.get)
4039     *
4040     * @param string $project Project ID for this request.
4041     * @param string $region The name of the region for this request.
4042     * @param string $address Name of the address resource to return.
4043     * @param array $optParams Optional parameters.
4044     * @return Google_Service_Compute_Address
4045     */
4046    public function get($project, $region, $address, $optParams = array())
4047    {
4048      $params = array('project' => $project, 'region' => $region, 'address' => $address);
4049      $params = array_merge($params, $optParams);
4050      return $this->call('get', array($params), "Google_Service_Compute_Address");
4051    }
4052  
4053    /**
4054     * Creates an address resource in the specified project using the data included
4055     * in the request. (addresses.insert)
4056     *
4057     * @param string $project Project ID for this request.
4058     * @param string $region The name of the region for this request.
4059     * @param Google_Address $postBody
4060     * @param array $optParams Optional parameters.
4061     * @return Google_Service_Compute_Operation
4062     */
4063    public function insert($project, $region, Google_Service_Compute_Address $postBody, $optParams = array())
4064    {
4065      $params = array('project' => $project, 'region' => $region, 'postBody' => $postBody);
4066      $params = array_merge($params, $optParams);
4067      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
4068    }
4069  
4070    /**
4071     * Retrieves the list of address resources contained within the specified
4072     * region. (addresses.listAddresses)
4073     *
4074     * @param string $project Project ID for this request.
4075     * @param string $region The name of the region for this request.
4076     * @param array $optParams Optional parameters.
4077     *
4078     * @opt_param string filter Sets a filter expression for filtering listed
4079     * resources, in the form filter={expression}. Your {expression} must be in the
4080     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
4081     *
4082     * The FIELD_NAME is the name of the field you want to compare. Only atomic
4083     * field types are supported (string, number, boolean). The COMPARISON_STRING
4084     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
4085     * string value to filter to. The literal value must be valid for the type of
4086     * field (string, number, boolean). For string fields, the literal value is
4087     * interpreted as a regular expression using RE2 syntax. The literal value must
4088     * match the entire field.
4089     *
4090     * For example, filter=name ne example-instance.
4091     * @opt_param string pageToken Specifies a page token to use. Use this parameter
4092     * if you want to list the next page of results. Set pageToken to the
4093     * nextPageToken returned by a previous list request.
4094     * @opt_param string maxResults Maximum count of results to be returned.
4095     * @return Google_Service_Compute_AddressList
4096     */
4097    public function listAddresses($project, $region, $optParams = array())
4098    {
4099      $params = array('project' => $project, 'region' => $region);
4100      $params = array_merge($params, $optParams);
4101      return $this->call('list', array($params), "Google_Service_Compute_AddressList");
4102    }
4103  }
4104  
4105  /**
4106   * The "autoscalers" collection of methods.
4107   * Typical usage is:
4108   *  <code>
4109   *   $computeService = new Google_Service_Compute(...);
4110   *   $autoscalers = $computeService->autoscalers;
4111   *  </code>
4112   */
4113  class Google_Service_Compute_Autoscalers_Resource extends Google_Service_Resource
4114  {
4115  
4116    /**
4117     * Retrieves the list of autoscalers grouped by scope.
4118     * (autoscalers.aggregatedList)
4119     *
4120     * @param string $project Name of the project scoping this request.
4121     * @param array $optParams Optional parameters.
4122     *
4123     * @opt_param string filter Sets a filter expression for filtering listed
4124     * resources, in the form filter={expression}. Your {expression} must be in the
4125     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
4126     *
4127     * The FIELD_NAME is the name of the field you want to compare. Only atomic
4128     * field types are supported (string, number, boolean). The COMPARISON_STRING
4129     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
4130     * string value to filter to. The literal value must be valid for the type of
4131     * field (string, number, boolean). For string fields, the literal value is
4132     * interpreted as a regular expression using RE2 syntax. The literal value must
4133     * match the entire field.
4134     *
4135     * For example, filter=name ne example-instance.
4136     * @opt_param string pageToken Specifies a page token to use. Use this parameter
4137     * if you want to list the next page of results. Set pageToken to the
4138     * nextPageToken returned by a previous list request.
4139     * @opt_param string maxResults Maximum count of results to be returned.
4140     * @return Google_Service_Compute_AutoscalerAggregatedList
4141     */
4142    public function aggregatedList($project, $optParams = array())
4143    {
4144      $params = array('project' => $project);
4145      $params = array_merge($params, $optParams);
4146      return $this->call('aggregatedList', array($params), "Google_Service_Compute_AutoscalerAggregatedList");
4147    }
4148  
4149    /**
4150     * Deletes the specified autoscaler resource. (autoscalers.delete)
4151     *
4152     * @param string $project Name of the project scoping this request.
4153     * @param string $zone Name of the zone scoping this request.
4154     * @param string $autoscaler Name of the persistent autoscaler resource to
4155     * delete.
4156     * @param array $optParams Optional parameters.
4157     * @return Google_Service_Compute_Operation
4158     */
4159    public function delete($project, $zone, $autoscaler, $optParams = array())
4160    {
4161      $params = array('project' => $project, 'zone' => $zone, 'autoscaler' => $autoscaler);
4162      $params = array_merge($params, $optParams);
4163      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
4164    }
4165  
4166    /**
4167     * Returns the specified autoscaler resource. (autoscalers.get)
4168     *
4169     * @param string $project Name of the project scoping this request.
4170     * @param string $zone Name of the zone scoping this request.
4171     * @param string $autoscaler Name of the persistent autoscaler resource to
4172     * return.
4173     * @param array $optParams Optional parameters.
4174     * @return Google_Service_Compute_Autoscaler
4175     */
4176    public function get($project, $zone, $autoscaler, $optParams = array())
4177    {
4178      $params = array('project' => $project, 'zone' => $zone, 'autoscaler' => $autoscaler);
4179      $params = array_merge($params, $optParams);
4180      return $this->call('get', array($params), "Google_Service_Compute_Autoscaler");
4181    }
4182  
4183    /**
4184     * Creates an autoscaler resource in the specified project using the data
4185     * included in the request. (autoscalers.insert)
4186     *
4187     * @param string $project Name of the project scoping this request.
4188     * @param string $zone Name of the zone scoping this request.
4189     * @param Google_Autoscaler $postBody
4190     * @param array $optParams Optional parameters.
4191     * @return Google_Service_Compute_Operation
4192     */
4193    public function insert($project, $zone, Google_Service_Compute_Autoscaler $postBody, $optParams = array())
4194    {
4195      $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody);
4196      $params = array_merge($params, $optParams);
4197      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
4198    }
4199  
4200    /**
4201     * Retrieves the list of autoscaler resources contained within the specified
4202     * zone. (autoscalers.listAutoscalers)
4203     *
4204     * @param string $project Name of the project scoping this request.
4205     * @param string $zone Name of the zone scoping this request.
4206     * @param array $optParams Optional parameters.
4207     *
4208     * @opt_param string filter Sets a filter expression for filtering listed
4209     * resources, in the form filter={expression}. Your {expression} must be in the
4210     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
4211     *
4212     * The FIELD_NAME is the name of the field you want to compare. Only atomic
4213     * field types are supported (string, number, boolean). The COMPARISON_STRING
4214     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
4215     * string value to filter to. The literal value must be valid for the type of
4216     * field (string, number, boolean). For string fields, the literal value is
4217     * interpreted as a regular expression using RE2 syntax. The literal value must
4218     * match the entire field.
4219     *
4220     * For example, filter=name ne example-instance.
4221     * @opt_param string pageToken Specifies a page token to use. Use this parameter
4222     * if you want to list the next page of results. Set pageToken to the
4223     * nextPageToken returned by a previous list request.
4224     * @opt_param string maxResults Maximum count of results to be returned.
4225     * @return Google_Service_Compute_AutoscalerList
4226     */
4227    public function listAutoscalers($project, $zone, $optParams = array())
4228    {
4229      $params = array('project' => $project, 'zone' => $zone);
4230      $params = array_merge($params, $optParams);
4231      return $this->call('list', array($params), "Google_Service_Compute_AutoscalerList");
4232    }
4233  
4234    /**
4235     * Updates an autoscaler resource in the specified project using the data
4236     * included in the request. This method supports patch semantics.
4237     * (autoscalers.patch)
4238     *
4239     * @param string $project Name of the project scoping this request.
4240     * @param string $zone Name of the zone scoping this request.
4241     * @param string $autoscaler Name of the autoscaler resource to update.
4242     * @param Google_Autoscaler $postBody
4243     * @param array $optParams Optional parameters.
4244     * @return Google_Service_Compute_Operation
4245     */
4246    public function patch($project, $zone, $autoscaler, Google_Service_Compute_Autoscaler $postBody, $optParams = array())
4247    {
4248      $params = array('project' => $project, 'zone' => $zone, 'autoscaler' => $autoscaler, 'postBody' => $postBody);
4249      $params = array_merge($params, $optParams);
4250      return $this->call('patch', array($params), "Google_Service_Compute_Operation");
4251    }
4252  
4253    /**
4254     * Updates an autoscaler resource in the specified project using the data
4255     * included in the request. (autoscalers.update)
4256     *
4257     * @param string $project Name of the project scoping this request.
4258     * @param string $zone Name of the zone scoping this request.
4259     * @param Google_Autoscaler $postBody
4260     * @param array $optParams Optional parameters.
4261     *
4262     * @opt_param string autoscaler Name of the autoscaler resource to update.
4263     * @return Google_Service_Compute_Operation
4264     */
4265    public function update($project, $zone, Google_Service_Compute_Autoscaler $postBody, $optParams = array())
4266    {
4267      $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody);
4268      $params = array_merge($params, $optParams);
4269      return $this->call('update', array($params), "Google_Service_Compute_Operation");
4270    }
4271  }
4272  
4273  /**
4274   * The "backendServices" collection of methods.
4275   * Typical usage is:
4276   *  <code>
4277   *   $computeService = new Google_Service_Compute(...);
4278   *   $backendServices = $computeService->backendServices;
4279   *  </code>
4280   */
4281  class Google_Service_Compute_BackendServices_Resource extends Google_Service_Resource
4282  {
4283  
4284    /**
4285     * Deletes the specified BackendService resource. (backendServices.delete)
4286     *
4287     * @param string $project Name of the project scoping this request.
4288     * @param string $backendService Name of the BackendService resource to delete.
4289     * @param array $optParams Optional parameters.
4290     * @return Google_Service_Compute_Operation
4291     */
4292    public function delete($project, $backendService, $optParams = array())
4293    {
4294      $params = array('project' => $project, 'backendService' => $backendService);
4295      $params = array_merge($params, $optParams);
4296      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
4297    }
4298  
4299    /**
4300     * Returns the specified BackendService resource. (backendServices.get)
4301     *
4302     * @param string $project Name of the project scoping this request.
4303     * @param string $backendService Name of the BackendService resource to return.
4304     * @param array $optParams Optional parameters.
4305     * @return Google_Service_Compute_BackendService
4306     */
4307    public function get($project, $backendService, $optParams = array())
4308    {
4309      $params = array('project' => $project, 'backendService' => $backendService);
4310      $params = array_merge($params, $optParams);
4311      return $this->call('get', array($params), "Google_Service_Compute_BackendService");
4312    }
4313  
4314    /**
4315     * Gets the most recent health check results for this BackendService.
4316     * (backendServices.getHealth)
4317     *
4318     * @param string $project
4319     * @param string $backendService Name of the BackendService resource to which
4320     * the queried instance belongs.
4321     * @param Google_ResourceGroupReference $postBody
4322     * @param array $optParams Optional parameters.
4323     * @return Google_Service_Compute_BackendServiceGroupHealth
4324     */
4325    public function getHealth($project, $backendService, Google_Service_Compute_ResourceGroupReference $postBody, $optParams = array())
4326    {
4327      $params = array('project' => $project, 'backendService' => $backendService, 'postBody' => $postBody);
4328      $params = array_merge($params, $optParams);
4329      return $this->call('getHealth', array($params), "Google_Service_Compute_BackendServiceGroupHealth");
4330    }
4331  
4332    /**
4333     * Creates a BackendService resource in the specified project using the data
4334     * included in the request. (backendServices.insert)
4335     *
4336     * @param string $project Name of the project scoping this request.
4337     * @param Google_BackendService $postBody
4338     * @param array $optParams Optional parameters.
4339     * @return Google_Service_Compute_Operation
4340     */
4341    public function insert($project, Google_Service_Compute_BackendService $postBody, $optParams = array())
4342    {
4343      $params = array('project' => $project, 'postBody' => $postBody);
4344      $params = array_merge($params, $optParams);
4345      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
4346    }
4347  
4348    /**
4349     * Retrieves the list of BackendService resources available to the specified
4350     * project. (backendServices.listBackendServices)
4351     *
4352     * @param string $project Name of the project scoping this request.
4353     * @param array $optParams Optional parameters.
4354     *
4355     * @opt_param string filter Sets a filter expression for filtering listed
4356     * resources, in the form filter={expression}. Your {expression} must be in the
4357     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
4358     *
4359     * The FIELD_NAME is the name of the field you want to compare. Only atomic
4360     * field types are supported (string, number, boolean). The COMPARISON_STRING
4361     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
4362     * string value to filter to. The literal value must be valid for the type of
4363     * field (string, number, boolean). For string fields, the literal value is
4364     * interpreted as a regular expression using RE2 syntax. The literal value must
4365     * match the entire field.
4366     *
4367     * For example, filter=name ne example-instance.
4368     * @opt_param string pageToken Specifies a page token to use. Use this parameter
4369     * if you want to list the next page of results. Set pageToken to the
4370     * nextPageToken returned by a previous list request.
4371     * @opt_param string maxResults Maximum count of results to be returned.
4372     * @return Google_Service_Compute_BackendServiceList
4373     */
4374    public function listBackendServices($project, $optParams = array())
4375    {
4376      $params = array('project' => $project);
4377      $params = array_merge($params, $optParams);
4378      return $this->call('list', array($params), "Google_Service_Compute_BackendServiceList");
4379    }
4380  
4381    /**
4382     * Update the entire content of the BackendService resource. This method
4383     * supports patch semantics. (backendServices.patch)
4384     *
4385     * @param string $project Name of the project scoping this request.
4386     * @param string $backendService Name of the BackendService resource to update.
4387     * @param Google_BackendService $postBody
4388     * @param array $optParams Optional parameters.
4389     * @return Google_Service_Compute_Operation
4390     */
4391    public function patch($project, $backendService, Google_Service_Compute_BackendService $postBody, $optParams = array())
4392    {
4393      $params = array('project' => $project, 'backendService' => $backendService, 'postBody' => $postBody);
4394      $params = array_merge($params, $optParams);
4395      return $this->call('patch', array($params), "Google_Service_Compute_Operation");
4396    }
4397  
4398    /**
4399     * Update the entire content of the BackendService resource.
4400     * (backendServices.update)
4401     *
4402     * @param string $project Name of the project scoping this request.
4403     * @param string $backendService Name of the BackendService resource to update.
4404     * @param Google_BackendService $postBody
4405     * @param array $optParams Optional parameters.
4406     * @return Google_Service_Compute_Operation
4407     */
4408    public function update($project, $backendService, Google_Service_Compute_BackendService $postBody, $optParams = array())
4409    {
4410      $params = array('project' => $project, 'backendService' => $backendService, 'postBody' => $postBody);
4411      $params = array_merge($params, $optParams);
4412      return $this->call('update', array($params), "Google_Service_Compute_Operation");
4413    }
4414  }
4415  
4416  /**
4417   * The "diskTypes" collection of methods.
4418   * Typical usage is:
4419   *  <code>
4420   *   $computeService = new Google_Service_Compute(...);
4421   *   $diskTypes = $computeService->diskTypes;
4422   *  </code>
4423   */
4424  class Google_Service_Compute_DiskTypes_Resource extends Google_Service_Resource
4425  {
4426  
4427    /**
4428     * Retrieves the list of disk type resources grouped by scope.
4429     * (diskTypes.aggregatedList)
4430     *
4431     * @param string $project Project ID for this request.
4432     * @param array $optParams Optional parameters.
4433     *
4434     * @opt_param string filter Sets a filter expression for filtering listed
4435     * resources, in the form filter={expression}. Your {expression} must be in the
4436     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
4437     *
4438     * The FIELD_NAME is the name of the field you want to compare. Only atomic
4439     * field types are supported (string, number, boolean). The COMPARISON_STRING
4440     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
4441     * string value to filter to. The literal value must be valid for the type of
4442     * field (string, number, boolean). For string fields, the literal value is
4443     * interpreted as a regular expression using RE2 syntax. The literal value must
4444     * match the entire field.
4445     *
4446     * For example, filter=name ne example-instance.
4447     * @opt_param string pageToken Specifies a page token to use. Use this parameter
4448     * if you want to list the next page of results. Set pageToken to the
4449     * nextPageToken returned by a previous list request.
4450     * @opt_param string maxResults Maximum count of results to be returned.
4451     * @return Google_Service_Compute_DiskTypeAggregatedList
4452     */
4453    public function aggregatedList($project, $optParams = array())
4454    {
4455      $params = array('project' => $project);
4456      $params = array_merge($params, $optParams);
4457      return $this->call('aggregatedList', array($params), "Google_Service_Compute_DiskTypeAggregatedList");
4458    }
4459  
4460    /**
4461     * Returns the specified disk type resource. (diskTypes.get)
4462     *
4463     * @param string $project Project ID for this request.
4464     * @param string $zone The name of the zone for this request.
4465     * @param string $diskType Name of the disk type resource to return.
4466     * @param array $optParams Optional parameters.
4467     * @return Google_Service_Compute_DiskType
4468     */
4469    public function get($project, $zone, $diskType, $optParams = array())
4470    {
4471      $params = array('project' => $project, 'zone' => $zone, 'diskType' => $diskType);
4472      $params = array_merge($params, $optParams);
4473      return $this->call('get', array($params), "Google_Service_Compute_DiskType");
4474    }
4475  
4476    /**
4477     * Retrieves the list of disk type resources available to the specified project.
4478     * (diskTypes.listDiskTypes)
4479     *
4480     * @param string $project Project ID for this request.
4481     * @param string $zone The name of the zone for this request.
4482     * @param array $optParams Optional parameters.
4483     *
4484     * @opt_param string filter Sets a filter expression for filtering listed
4485     * resources, in the form filter={expression}. Your {expression} must be in the
4486     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
4487     *
4488     * The FIELD_NAME is the name of the field you want to compare. Only atomic
4489     * field types are supported (string, number, boolean). The COMPARISON_STRING
4490     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
4491     * string value to filter to. The literal value must be valid for the type of
4492     * field (string, number, boolean). For string fields, the literal value is
4493     * interpreted as a regular expression using RE2 syntax. The literal value must
4494     * match the entire field.
4495     *
4496     * For example, filter=name ne example-instance.
4497     * @opt_param string pageToken Specifies a page token to use. Use this parameter
4498     * if you want to list the next page of results. Set pageToken to the
4499     * nextPageToken returned by a previous list request.
4500     * @opt_param string maxResults Maximum count of results to be returned.
4501     * @return Google_Service_Compute_DiskTypeList
4502     */
4503    public function listDiskTypes($project, $zone, $optParams = array())
4504    {
4505      $params = array('project' => $project, 'zone' => $zone);
4506      $params = array_merge($params, $optParams);
4507      return $this->call('list', array($params), "Google_Service_Compute_DiskTypeList");
4508    }
4509  }
4510  
4511  /**
4512   * The "disks" collection of methods.
4513   * Typical usage is:
4514   *  <code>
4515   *   $computeService = new Google_Service_Compute(...);
4516   *   $disks = $computeService->disks;
4517   *  </code>
4518   */
4519  class Google_Service_Compute_Disks_Resource extends Google_Service_Resource
4520  {
4521  
4522    /**
4523     * Retrieves the list of disks grouped by scope. (disks.aggregatedList)
4524     *
4525     * @param string $project Project ID for this request.
4526     * @param array $optParams Optional parameters.
4527     *
4528     * @opt_param string filter Sets a filter expression for filtering listed
4529     * resources, in the form filter={expression}. Your {expression} must be in the
4530     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
4531     *
4532     * The FIELD_NAME is the name of the field you want to compare. Only atomic
4533     * field types are supported (string, number, boolean). The COMPARISON_STRING
4534     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
4535     * string value to filter to. The literal value must be valid for the type of
4536     * field (string, number, boolean). For string fields, the literal value is
4537     * interpreted as a regular expression using RE2 syntax. The literal value must
4538     * match the entire field.
4539     *
4540     * For example, filter=name ne example-instance.
4541     * @opt_param string pageToken Specifies a page token to use. Use this parameter
4542     * if you want to list the next page of results. Set pageToken to the
4543     * nextPageToken returned by a previous list request.
4544     * @opt_param string maxResults Maximum count of results to be returned.
4545     * @return Google_Service_Compute_DiskAggregatedList
4546     */
4547    public function aggregatedList($project, $optParams = array())
4548    {
4549      $params = array('project' => $project);
4550      $params = array_merge($params, $optParams);
4551      return $this->call('aggregatedList', array($params), "Google_Service_Compute_DiskAggregatedList");
4552    }
4553  
4554    /**
4555     * Creates a snapshot of this disk. (disks.createSnapshot)
4556     *
4557     * @param string $project Project ID for this request.
4558     * @param string $zone The name of the zone for this request.
4559     * @param string $disk Name of the persistent disk to snapshot.
4560     * @param Google_Snapshot $postBody
4561     * @param array $optParams Optional parameters.
4562     * @return Google_Service_Compute_Operation
4563     */
4564    public function createSnapshot($project, $zone, $disk, Google_Service_Compute_Snapshot $postBody, $optParams = array())
4565    {
4566      $params = array('project' => $project, 'zone' => $zone, 'disk' => $disk, 'postBody' => $postBody);
4567      $params = array_merge($params, $optParams);
4568      return $this->call('createSnapshot', array($params), "Google_Service_Compute_Operation");
4569    }
4570  
4571    /**
4572     * Deletes the specified persistent disk. Deleting a disk removes its data
4573     * permanently and is irreversible. However, deleting a disk does not delete any
4574     * snapshots previously made from the disk. You must separately delete
4575     * snapshots. (disks.delete)
4576     *
4577     * @param string $project Project ID for this request.
4578     * @param string $zone The name of the zone for this request.
4579     * @param string $disk Name of the persistent disk to delete.
4580     * @param array $optParams Optional parameters.
4581     * @return Google_Service_Compute_Operation
4582     */
4583    public function delete($project, $zone, $disk, $optParams = array())
4584    {
4585      $params = array('project' => $project, 'zone' => $zone, 'disk' => $disk);
4586      $params = array_merge($params, $optParams);
4587      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
4588    }
4589  
4590    /**
4591     * Returns a specified persistent disk. (disks.get)
4592     *
4593     * @param string $project Project ID for this request.
4594     * @param string $zone The name of the zone for this request.
4595     * @param string $disk Name of the persistent disk to return.
4596     * @param array $optParams Optional parameters.
4597     * @return Google_Service_Compute_Disk
4598     */
4599    public function get($project, $zone, $disk, $optParams = array())
4600    {
4601      $params = array('project' => $project, 'zone' => $zone, 'disk' => $disk);
4602      $params = array_merge($params, $optParams);
4603      return $this->call('get', array($params), "Google_Service_Compute_Disk");
4604    }
4605  
4606    /**
4607     * Creates a persistent disk in the specified project using the data included in
4608     * the request. (disks.insert)
4609     *
4610     * @param string $project Project ID for this request.
4611     * @param string $zone The name of the zone for this request.
4612     * @param Google_Disk $postBody
4613     * @param array $optParams Optional parameters.
4614     *
4615     * @opt_param string sourceImage Optional. Source image to restore onto a disk.
4616     * @return Google_Service_Compute_Operation
4617     */
4618    public function insert($project, $zone, Google_Service_Compute_Disk $postBody, $optParams = array())
4619    {
4620      $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody);
4621      $params = array_merge($params, $optParams);
4622      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
4623    }
4624  
4625    /**
4626     * Retrieves the list of persistent disks contained within the specified zone.
4627     * (disks.listDisks)
4628     *
4629     * @param string $project Project ID for this request.
4630     * @param string $zone The name of the zone for this request.
4631     * @param array $optParams Optional parameters.
4632     *
4633     * @opt_param string filter Sets a filter expression for filtering listed
4634     * resources, in the form filter={expression}. Your {expression} must be in the
4635     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
4636     *
4637     * The FIELD_NAME is the name of the field you want to compare. Only atomic
4638     * field types are supported (string, number, boolean). The COMPARISON_STRING
4639     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
4640     * string value to filter to. The literal value must be valid for the type of
4641     * field (string, number, boolean). For string fields, the literal value is
4642     * interpreted as a regular expression using RE2 syntax. The literal value must
4643     * match the entire field.
4644     *
4645     * For example, filter=name ne example-instance.
4646     * @opt_param string pageToken Specifies a page token to use. Use this parameter
4647     * if you want to list the next page of results. Set pageToken to the
4648     * nextPageToken returned by a previous list request.
4649     * @opt_param string maxResults Maximum count of results to be returned.
4650     * @return Google_Service_Compute_DiskList
4651     */
4652    public function listDisks($project, $zone, $optParams = array())
4653    {
4654      $params = array('project' => $project, 'zone' => $zone);
4655      $params = array_merge($params, $optParams);
4656      return $this->call('list', array($params), "Google_Service_Compute_DiskList");
4657    }
4658  }
4659  
4660  /**
4661   * The "firewalls" collection of methods.
4662   * Typical usage is:
4663   *  <code>
4664   *   $computeService = new Google_Service_Compute(...);
4665   *   $firewalls = $computeService->firewalls;
4666   *  </code>
4667   */
4668  class Google_Service_Compute_Firewalls_Resource extends Google_Service_Resource
4669  {
4670  
4671    /**
4672     * Deletes the specified firewall resource. (firewalls.delete)
4673     *
4674     * @param string $project Project ID for this request.
4675     * @param string $firewall Name of the firewall resource to delete.
4676     * @param array $optParams Optional parameters.
4677     * @return Google_Service_Compute_Operation
4678     */
4679    public function delete($project, $firewall, $optParams = array())
4680    {
4681      $params = array('project' => $project, 'firewall' => $firewall);
4682      $params = array_merge($params, $optParams);
4683      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
4684    }
4685  
4686    /**
4687     * Returns the specified firewall resource. (firewalls.get)
4688     *
4689     * @param string $project Project ID for this request.
4690     * @param string $firewall Name of the firewall resource to return.
4691     * @param array $optParams Optional parameters.
4692     * @return Google_Service_Compute_Firewall
4693     */
4694    public function get($project, $firewall, $optParams = array())
4695    {
4696      $params = array('project' => $project, 'firewall' => $firewall);
4697      $params = array_merge($params, $optParams);
4698      return $this->call('get', array($params), "Google_Service_Compute_Firewall");
4699    }
4700  
4701    /**
4702     * Creates a firewall resource in the specified project using the data included
4703     * in the request. (firewalls.insert)
4704     *
4705     * @param string $project Project ID for this request.
4706     * @param Google_Firewall $postBody
4707     * @param array $optParams Optional parameters.
4708     * @return Google_Service_Compute_Operation
4709     */
4710    public function insert($project, Google_Service_Compute_Firewall $postBody, $optParams = array())
4711    {
4712      $params = array('project' => $project, 'postBody' => $postBody);
4713      $params = array_merge($params, $optParams);
4714      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
4715    }
4716  
4717    /**
4718     * Retrieves the list of firewall resources available to the specified project.
4719     * (firewalls.listFirewalls)
4720     *
4721     * @param string $project Project ID for this request.
4722     * @param array $optParams Optional parameters.
4723     *
4724     * @opt_param string filter Sets a filter expression for filtering listed
4725     * resources, in the form filter={expression}. Your {expression} must be in the
4726     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
4727     *
4728     * The FIELD_NAME is the name of the field you want to compare. Only atomic
4729     * field types are supported (string, number, boolean). The COMPARISON_STRING
4730     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
4731     * string value to filter to. The literal value must be valid for the type of
4732     * field (string, number, boolean). For string fields, the literal value is
4733     * interpreted as a regular expression using RE2 syntax. The literal value must
4734     * match the entire field.
4735     *
4736     * For example, filter=name ne example-instance.
4737     * @opt_param string pageToken Specifies a page token to use. Use this parameter
4738     * if you want to list the next page of results. Set pageToken to the
4739     * nextPageToken returned by a previous list request.
4740     * @opt_param string maxResults Maximum count of results to be returned.
4741     * @return Google_Service_Compute_FirewallList
4742     */
4743    public function listFirewalls($project, $optParams = array())
4744    {
4745      $params = array('project' => $project);
4746      $params = array_merge($params, $optParams);
4747      return $this->call('list', array($params), "Google_Service_Compute_FirewallList");
4748    }
4749  
4750    /**
4751     * Updates the specified firewall resource with the data included in the
4752     * request. This method supports patch semantics. (firewalls.patch)
4753     *
4754     * @param string $project Project ID for this request.
4755     * @param string $firewall Name of the firewall resource to update.
4756     * @param Google_Firewall $postBody
4757     * @param array $optParams Optional parameters.
4758     * @return Google_Service_Compute_Operation
4759     */
4760    public function patch($project, $firewall, Google_Service_Compute_Firewall $postBody, $optParams = array())
4761    {
4762      $params = array('project' => $project, 'firewall' => $firewall, 'postBody' => $postBody);
4763      $params = array_merge($params, $optParams);
4764      return $this->call('patch', array($params), "Google_Service_Compute_Operation");
4765    }
4766  
4767    /**
4768     * Updates the specified firewall resource with the data included in the
4769     * request. (firewalls.update)
4770     *
4771     * @param string $project Project ID for this request.
4772     * @param string $firewall Name of the firewall resource to update.
4773     * @param Google_Firewall $postBody
4774     * @param array $optParams Optional parameters.
4775     * @return Google_Service_Compute_Operation
4776     */
4777    public function update($project, $firewall, Google_Service_Compute_Firewall $postBody, $optParams = array())
4778    {
4779      $params = array('project' => $project, 'firewall' => $firewall, 'postBody' => $postBody);
4780      $params = array_merge($params, $optParams);
4781      return $this->call('update', array($params), "Google_Service_Compute_Operation");
4782    }
4783  }
4784  
4785  /**
4786   * The "forwardingRules" collection of methods.
4787   * Typical usage is:
4788   *  <code>
4789   *   $computeService = new Google_Service_Compute(...);
4790   *   $forwardingRules = $computeService->forwardingRules;
4791   *  </code>
4792   */
4793  class Google_Service_Compute_ForwardingRules_Resource extends Google_Service_Resource
4794  {
4795  
4796    /**
4797     * Retrieves the list of forwarding rules grouped by scope.
4798     * (forwardingRules.aggregatedList)
4799     *
4800     * @param string $project Name of the project scoping this request.
4801     * @param array $optParams Optional parameters.
4802     *
4803     * @opt_param string filter Sets a filter expression for filtering listed
4804     * resources, in the form filter={expression}. Your {expression} must be in the
4805     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
4806     *
4807     * The FIELD_NAME is the name of the field you want to compare. Only atomic
4808     * field types are supported (string, number, boolean). The COMPARISON_STRING
4809     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
4810     * string value to filter to. The literal value must be valid for the type of
4811     * field (string, number, boolean). For string fields, the literal value is
4812     * interpreted as a regular expression using RE2 syntax. The literal value must
4813     * match the entire field.
4814     *
4815     * For example, filter=name ne example-instance.
4816     * @opt_param string pageToken Specifies a page token to use. Use this parameter
4817     * if you want to list the next page of results. Set pageToken to the
4818     * nextPageToken returned by a previous list request.
4819     * @opt_param string maxResults Maximum count of results to be returned.
4820     * @return Google_Service_Compute_ForwardingRuleAggregatedList
4821     */
4822    public function aggregatedList($project, $optParams = array())
4823    {
4824      $params = array('project' => $project);
4825      $params = array_merge($params, $optParams);
4826      return $this->call('aggregatedList', array($params), "Google_Service_Compute_ForwardingRuleAggregatedList");
4827    }
4828  
4829    /**
4830     * Deletes the specified ForwardingRule resource. (forwardingRules.delete)
4831     *
4832     * @param string $project Name of the project scoping this request.
4833     * @param string $region Name of the region scoping this request.
4834     * @param string $forwardingRule Name of the ForwardingRule resource to delete.
4835     * @param array $optParams Optional parameters.
4836     * @return Google_Service_Compute_Operation
4837     */
4838    public function delete($project, $region, $forwardingRule, $optParams = array())
4839    {
4840      $params = array('project' => $project, 'region' => $region, 'forwardingRule' => $forwardingRule);
4841      $params = array_merge($params, $optParams);
4842      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
4843    }
4844  
4845    /**
4846     * Returns the specified ForwardingRule resource. (forwardingRules.get)
4847     *
4848     * @param string $project Name of the project scoping this request.
4849     * @param string $region Name of the region scoping this request.
4850     * @param string $forwardingRule Name of the ForwardingRule resource to return.
4851     * @param array $optParams Optional parameters.
4852     * @return Google_Service_Compute_ForwardingRule
4853     */
4854    public function get($project, $region, $forwardingRule, $optParams = array())
4855    {
4856      $params = array('project' => $project, 'region' => $region, 'forwardingRule' => $forwardingRule);
4857      $params = array_merge($params, $optParams);
4858      return $this->call('get', array($params), "Google_Service_Compute_ForwardingRule");
4859    }
4860  
4861    /**
4862     * Creates a ForwardingRule resource in the specified project and region using
4863     * the data included in the request. (forwardingRules.insert)
4864     *
4865     * @param string $project Name of the project scoping this request.
4866     * @param string $region Name of the region scoping this request.
4867     * @param Google_ForwardingRule $postBody
4868     * @param array $optParams Optional parameters.
4869     * @return Google_Service_Compute_Operation
4870     */
4871    public function insert($project, $region, Google_Service_Compute_ForwardingRule $postBody, $optParams = array())
4872    {
4873      $params = array('project' => $project, 'region' => $region, 'postBody' => $postBody);
4874      $params = array_merge($params, $optParams);
4875      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
4876    }
4877  
4878    /**
4879     * Retrieves the list of ForwardingRule resources available to the specified
4880     * project and region. (forwardingRules.listForwardingRules)
4881     *
4882     * @param string $project Name of the project scoping this request.
4883     * @param string $region Name of the region scoping this request.
4884     * @param array $optParams Optional parameters.
4885     *
4886     * @opt_param string filter Sets a filter expression for filtering listed
4887     * resources, in the form filter={expression}. Your {expression} must be in the
4888     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
4889     *
4890     * The FIELD_NAME is the name of the field you want to compare. Only atomic
4891     * field types are supported (string, number, boolean). The COMPARISON_STRING
4892     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
4893     * string value to filter to. The literal value must be valid for the type of
4894     * field (string, number, boolean). For string fields, the literal value is
4895     * interpreted as a regular expression using RE2 syntax. The literal value must
4896     * match the entire field.
4897     *
4898     * For example, filter=name ne example-instance.
4899     * @opt_param string pageToken Specifies a page token to use. Use this parameter
4900     * if you want to list the next page of results. Set pageToken to the
4901     * nextPageToken returned by a previous list request.
4902     * @opt_param string maxResults Maximum count of results to be returned.
4903     * @return Google_Service_Compute_ForwardingRuleList
4904     */
4905    public function listForwardingRules($project, $region, $optParams = array())
4906    {
4907      $params = array('project' => $project, 'region' => $region);
4908      $params = array_merge($params, $optParams);
4909      return $this->call('list', array($params), "Google_Service_Compute_ForwardingRuleList");
4910    }
4911  
4912    /**
4913     * Changes target url for forwarding rule. (forwardingRules.setTarget)
4914     *
4915     * @param string $project Name of the project scoping this request.
4916     * @param string $region Name of the region scoping this request.
4917     * @param string $forwardingRule Name of the ForwardingRule resource in which
4918     * target is to be set.
4919     * @param Google_TargetReference $postBody
4920     * @param array $optParams Optional parameters.
4921     * @return Google_Service_Compute_Operation
4922     */
4923    public function setTarget($project, $region, $forwardingRule, Google_Service_Compute_TargetReference $postBody, $optParams = array())
4924    {
4925      $params = array('project' => $project, 'region' => $region, 'forwardingRule' => $forwardingRule, 'postBody' => $postBody);
4926      $params = array_merge($params, $optParams);
4927      return $this->call('setTarget', array($params), "Google_Service_Compute_Operation");
4928    }
4929  }
4930  
4931  /**
4932   * The "globalAddresses" collection of methods.
4933   * Typical usage is:
4934   *  <code>
4935   *   $computeService = new Google_Service_Compute(...);
4936   *   $globalAddresses = $computeService->globalAddresses;
4937   *  </code>
4938   */
4939  class Google_Service_Compute_GlobalAddresses_Resource extends Google_Service_Resource
4940  {
4941  
4942    /**
4943     * Deletes the specified address resource. (globalAddresses.delete)
4944     *
4945     * @param string $project Project ID for this request.
4946     * @param string $address Name of the address resource to delete.
4947     * @param array $optParams Optional parameters.
4948     * @return Google_Service_Compute_Operation
4949     */
4950    public function delete($project, $address, $optParams = array())
4951    {
4952      $params = array('project' => $project, 'address' => $address);
4953      $params = array_merge($params, $optParams);
4954      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
4955    }
4956  
4957    /**
4958     * Returns the specified address resource. (globalAddresses.get)
4959     *
4960     * @param string $project Project ID for this request.
4961     * @param string $address Name of the address resource to return.
4962     * @param array $optParams Optional parameters.
4963     * @return Google_Service_Compute_Address
4964     */
4965    public function get($project, $address, $optParams = array())
4966    {
4967      $params = array('project' => $project, 'address' => $address);
4968      $params = array_merge($params, $optParams);
4969      return $this->call('get', array($params), "Google_Service_Compute_Address");
4970    }
4971  
4972    /**
4973     * Creates an address resource in the specified project using the data included
4974     * in the request. (globalAddresses.insert)
4975     *
4976     * @param string $project Project ID for this request.
4977     * @param Google_Address $postBody
4978     * @param array $optParams Optional parameters.
4979     * @return Google_Service_Compute_Operation
4980     */
4981    public function insert($project, Google_Service_Compute_Address $postBody, $optParams = array())
4982    {
4983      $params = array('project' => $project, 'postBody' => $postBody);
4984      $params = array_merge($params, $optParams);
4985      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
4986    }
4987  
4988    /**
4989     * Retrieves the list of global address resources.
4990     * (globalAddresses.listGlobalAddresses)
4991     *
4992     * @param string $project Project ID for this request.
4993     * @param array $optParams Optional parameters.
4994     *
4995     * @opt_param string filter Sets a filter expression for filtering listed
4996     * resources, in the form filter={expression}. Your {expression} must be in the
4997     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
4998     *
4999     * The FIELD_NAME is the name of the field you want to compare. Only atomic
5000     * field types are supported (string, number, boolean). The COMPARISON_STRING
5001     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
5002     * string value to filter to. The literal value must be valid for the type of
5003     * field (string, number, boolean). For string fields, the literal value is
5004     * interpreted as a regular expression using RE2 syntax. The literal value must
5005     * match the entire field.
5006     *
5007     * For example, filter=name ne example-instance.
5008     * @opt_param string pageToken Specifies a page token to use. Use this parameter
5009     * if you want to list the next page of results. Set pageToken to the
5010     * nextPageToken returned by a previous list request.
5011     * @opt_param string maxResults Maximum count of results to be returned.
5012     * @return Google_Service_Compute_AddressList
5013     */
5014    public function listGlobalAddresses($project, $optParams = array())
5015    {
5016      $params = array('project' => $project);
5017      $params = array_merge($params, $optParams);
5018      return $this->call('list', array($params), "Google_Service_Compute_AddressList");
5019    }
5020  }
5021  
5022  /**
5023   * The "globalForwardingRules" collection of methods.
5024   * Typical usage is:
5025   *  <code>
5026   *   $computeService = new Google_Service_Compute(...);
5027   *   $globalForwardingRules = $computeService->globalForwardingRules;
5028   *  </code>
5029   */
5030  class Google_Service_Compute_GlobalForwardingRules_Resource extends Google_Service_Resource
5031  {
5032  
5033    /**
5034     * Deletes the specified ForwardingRule resource. (globalForwardingRules.delete)
5035     *
5036     * @param string $project Name of the project scoping this request.
5037     * @param string $forwardingRule Name of the ForwardingRule resource to delete.
5038     * @param array $optParams Optional parameters.
5039     * @return Google_Service_Compute_Operation
5040     */
5041    public function delete($project, $forwardingRule, $optParams = array())
5042    {
5043      $params = array('project' => $project, 'forwardingRule' => $forwardingRule);
5044      $params = array_merge($params, $optParams);
5045      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
5046    }
5047  
5048    /**
5049     * Returns the specified ForwardingRule resource. (globalForwardingRules.get)
5050     *
5051     * @param string $project Name of the project scoping this request.
5052     * @param string $forwardingRule Name of the ForwardingRule resource to return.
5053     * @param array $optParams Optional parameters.
5054     * @return Google_Service_Compute_ForwardingRule
5055     */
5056    public function get($project, $forwardingRule, $optParams = array())
5057    {
5058      $params = array('project' => $project, 'forwardingRule' => $forwardingRule);
5059      $params = array_merge($params, $optParams);
5060      return $this->call('get', array($params), "Google_Service_Compute_ForwardingRule");
5061    }
5062  
5063    /**
5064     * Creates a ForwardingRule resource in the specified project and region using
5065     * the data included in the request. (globalForwardingRules.insert)
5066     *
5067     * @param string $project Name of the project scoping this request.
5068     * @param Google_ForwardingRule $postBody
5069     * @param array $optParams Optional parameters.
5070     * @return Google_Service_Compute_Operation
5071     */
5072    public function insert($project, Google_Service_Compute_ForwardingRule $postBody, $optParams = array())
5073    {
5074      $params = array('project' => $project, 'postBody' => $postBody);
5075      $params = array_merge($params, $optParams);
5076      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
5077    }
5078  
5079    /**
5080     * Retrieves the list of ForwardingRule resources available to the specified
5081     * project. (globalForwardingRules.listGlobalForwardingRules)
5082     *
5083     * @param string $project Name of the project scoping this request.
5084     * @param array $optParams Optional parameters.
5085     *
5086     * @opt_param string filter Sets a filter expression for filtering listed
5087     * resources, in the form filter={expression}. Your {expression} must be in the
5088     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
5089     *
5090     * The FIELD_NAME is the name of the field you want to compare. Only atomic
5091     * field types are supported (string, number, boolean). The COMPARISON_STRING
5092     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
5093     * string value to filter to. The literal value must be valid for the type of
5094     * field (string, number, boolean). For string fields, the literal value is
5095     * interpreted as a regular expression using RE2 syntax. The literal value must
5096     * match the entire field.
5097     *
5098     * For example, filter=name ne example-instance.
5099     * @opt_param string pageToken Specifies a page token to use. Use this parameter
5100     * if you want to list the next page of results. Set pageToken to the
5101     * nextPageToken returned by a previous list request.
5102     * @opt_param string maxResults Maximum count of results to be returned.
5103     * @return Google_Service_Compute_ForwardingRuleList
5104     */
5105    public function listGlobalForwardingRules($project, $optParams = array())
5106    {
5107      $params = array('project' => $project);
5108      $params = array_merge($params, $optParams);
5109      return $this->call('list', array($params), "Google_Service_Compute_ForwardingRuleList");
5110    }
5111  
5112    /**
5113     * Changes target url for forwarding rule. (globalForwardingRules.setTarget)
5114     *
5115     * @param string $project Name of the project scoping this request.
5116     * @param string $forwardingRule Name of the ForwardingRule resource in which
5117     * target is to be set.
5118     * @param Google_TargetReference $postBody
5119     * @param array $optParams Optional parameters.
5120     * @return Google_Service_Compute_Operation
5121     */
5122    public function setTarget($project, $forwardingRule, Google_Service_Compute_TargetReference $postBody, $optParams = array())
5123    {
5124      $params = array('project' => $project, 'forwardingRule' => $forwardingRule, 'postBody' => $postBody);
5125      $params = array_merge($params, $optParams);
5126      return $this->call('setTarget', array($params), "Google_Service_Compute_Operation");
5127    }
5128  }
5129  
5130  /**
5131   * The "globalOperations" collection of methods.
5132   * Typical usage is:
5133   *  <code>
5134   *   $computeService = new Google_Service_Compute(...);
5135   *   $globalOperations = $computeService->globalOperations;
5136   *  </code>
5137   */
5138  class Google_Service_Compute_GlobalOperations_Resource extends Google_Service_Resource
5139  {
5140  
5141    /**
5142     * Retrieves the list of all operations grouped by scope.
5143     * (globalOperations.aggregatedList)
5144     *
5145     * @param string $project Project ID for this request.
5146     * @param array $optParams Optional parameters.
5147     *
5148     * @opt_param string filter Sets a filter expression for filtering listed
5149     * resources, in the form filter={expression}. Your {expression} must be in the
5150     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
5151     *
5152     * The FIELD_NAME is the name of the field you want to compare. Only atomic
5153     * field types are supported (string, number, boolean). The COMPARISON_STRING
5154     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
5155     * string value to filter to. The literal value must be valid for the type of
5156     * field (string, number, boolean). For string fields, the literal value is
5157     * interpreted as a regular expression using RE2 syntax. The literal value must
5158     * match the entire field.
5159     *
5160     * For example, filter=name ne example-instance.
5161     * @opt_param string pageToken Specifies a page token to use. Use this parameter
5162     * if you want to list the next page of results. Set pageToken to the
5163     * nextPageToken returned by a previous list request.
5164     * @opt_param string maxResults Maximum count of results to be returned.
5165     * @return Google_Service_Compute_OperationAggregatedList
5166     */
5167    public function aggregatedList($project, $optParams = array())
5168    {
5169      $params = array('project' => $project);
5170      $params = array_merge($params, $optParams);
5171      return $this->call('aggregatedList', array($params), "Google_Service_Compute_OperationAggregatedList");
5172    }
5173  
5174    /**
5175     * Deletes the specified Operations resource. (globalOperations.delete)
5176     *
5177     * @param string $project Project ID for this request.
5178     * @param string $operation Name of the Operations resource to delete.
5179     * @param array $optParams Optional parameters.
5180     */
5181    public function delete($project, $operation, $optParams = array())
5182    {
5183      $params = array('project' => $project, 'operation' => $operation);
5184      $params = array_merge($params, $optParams);
5185      return $this->call('delete', array($params));
5186    }
5187  
5188    /**
5189     * Retrieves the specified Operations resource. (globalOperations.get)
5190     *
5191     * @param string $project Project ID for this request.
5192     * @param string $operation Name of the Operations resource to return.
5193     * @param array $optParams Optional parameters.
5194     * @return Google_Service_Compute_Operation
5195     */
5196    public function get($project, $operation, $optParams = array())
5197    {
5198      $params = array('project' => $project, 'operation' => $operation);
5199      $params = array_merge($params, $optParams);
5200      return $this->call('get', array($params), "Google_Service_Compute_Operation");
5201    }
5202  
5203    /**
5204     * Retrieves the list of Operation resources contained within the specified
5205     * project. (globalOperations.listGlobalOperations)
5206     *
5207     * @param string $project Project ID for this request.
5208     * @param array $optParams Optional parameters.
5209     *
5210     * @opt_param string filter Sets a filter expression for filtering listed
5211     * resources, in the form filter={expression}. Your {expression} must be in the
5212     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
5213     *
5214     * The FIELD_NAME is the name of the field you want to compare. Only atomic
5215     * field types are supported (string, number, boolean). The COMPARISON_STRING
5216     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
5217     * string value to filter to. The literal value must be valid for the type of
5218     * field (string, number, boolean). For string fields, the literal value is
5219     * interpreted as a regular expression using RE2 syntax. The literal value must
5220     * match the entire field.
5221     *
5222     * For example, filter=name ne example-instance.
5223     * @opt_param string pageToken Specifies a page token to use. Use this parameter
5224     * if you want to list the next page of results. Set pageToken to the
5225     * nextPageToken returned by a previous list request.
5226     * @opt_param string maxResults Maximum count of results to be returned.
5227     * @return Google_Service_Compute_OperationList
5228     */
5229    public function listGlobalOperations($project, $optParams = array())
5230    {
5231      $params = array('project' => $project);
5232      $params = array_merge($params, $optParams);
5233      return $this->call('list', array($params), "Google_Service_Compute_OperationList");
5234    }
5235  }
5236  
5237  /**
5238   * The "httpHealthChecks" collection of methods.
5239   * Typical usage is:
5240   *  <code>
5241   *   $computeService = new Google_Service_Compute(...);
5242   *   $httpHealthChecks = $computeService->httpHealthChecks;
5243   *  </code>
5244   */
5245  class Google_Service_Compute_HttpHealthChecks_Resource extends Google_Service_Resource
5246  {
5247  
5248    /**
5249     * Deletes the specified HttpHealthCheck resource. (httpHealthChecks.delete)
5250     *
5251     * @param string $project Name of the project scoping this request.
5252     * @param string $httpHealthCheck Name of the HttpHealthCheck resource to
5253     * delete.
5254     * @param array $optParams Optional parameters.
5255     * @return Google_Service_Compute_Operation
5256     */
5257    public function delete($project, $httpHealthCheck, $optParams = array())
5258    {
5259      $params = array('project' => $project, 'httpHealthCheck' => $httpHealthCheck);
5260      $params = array_merge($params, $optParams);
5261      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
5262    }
5263  
5264    /**
5265     * Returns the specified HttpHealthCheck resource. (httpHealthChecks.get)
5266     *
5267     * @param string $project Name of the project scoping this request.
5268     * @param string $httpHealthCheck Name of the HttpHealthCheck resource to
5269     * return.
5270     * @param array $optParams Optional parameters.
5271     * @return Google_Service_Compute_HttpHealthCheck
5272     */
5273    public function get($project, $httpHealthCheck, $optParams = array())
5274    {
5275      $params = array('project' => $project, 'httpHealthCheck' => $httpHealthCheck);
5276      $params = array_merge($params, $optParams);
5277      return $this->call('get', array($params), "Google_Service_Compute_HttpHealthCheck");
5278    }
5279  
5280    /**
5281     * Creates a HttpHealthCheck resource in the specified project using the data
5282     * included in the request. (httpHealthChecks.insert)
5283     *
5284     * @param string $project Name of the project scoping this request.
5285     * @param Google_HttpHealthCheck $postBody
5286     * @param array $optParams Optional parameters.
5287     * @return Google_Service_Compute_Operation
5288     */
5289    public function insert($project, Google_Service_Compute_HttpHealthCheck $postBody, $optParams = array())
5290    {
5291      $params = array('project' => $project, 'postBody' => $postBody);
5292      $params = array_merge($params, $optParams);
5293      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
5294    }
5295  
5296    /**
5297     * Retrieves the list of HttpHealthCheck resources available to the specified
5298     * project. (httpHealthChecks.listHttpHealthChecks)
5299     *
5300     * @param string $project Name of the project scoping this request.
5301     * @param array $optParams Optional parameters.
5302     *
5303     * @opt_param string filter Sets a filter expression for filtering listed
5304     * resources, in the form filter={expression}. Your {expression} must be in the
5305     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
5306     *
5307     * The FIELD_NAME is the name of the field you want to compare. Only atomic
5308     * field types are supported (string, number, boolean). The COMPARISON_STRING
5309     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
5310     * string value to filter to. The literal value must be valid for the type of
5311     * field (string, number, boolean). For string fields, the literal value is
5312     * interpreted as a regular expression using RE2 syntax. The literal value must
5313     * match the entire field.
5314     *
5315     * For example, filter=name ne example-instance.
5316     * @opt_param string pageToken Specifies a page token to use. Use this parameter
5317     * if you want to list the next page of results. Set pageToken to the
5318     * nextPageToken returned by a previous list request.
5319     * @opt_param string maxResults Maximum count of results to be returned.
5320     * @return Google_Service_Compute_HttpHealthCheckList
5321     */
5322    public function listHttpHealthChecks($project, $optParams = array())
5323    {
5324      $params = array('project' => $project);
5325      $params = array_merge($params, $optParams);
5326      return $this->call('list', array($params), "Google_Service_Compute_HttpHealthCheckList");
5327    }
5328  
5329    /**
5330     * Updates a HttpHealthCheck resource in the specified project using the data
5331     * included in the request. This method supports patch semantics.
5332     * (httpHealthChecks.patch)
5333     *
5334     * @param string $project Name of the project scoping this request.
5335     * @param string $httpHealthCheck Name of the HttpHealthCheck resource to
5336     * update.
5337     * @param Google_HttpHealthCheck $postBody
5338     * @param array $optParams Optional parameters.
5339     * @return Google_Service_Compute_Operation
5340     */
5341    public function patch($project, $httpHealthCheck, Google_Service_Compute_HttpHealthCheck $postBody, $optParams = array())
5342    {
5343      $params = array('project' => $project, 'httpHealthCheck' => $httpHealthCheck, 'postBody' => $postBody);
5344      $params = array_merge($params, $optParams);
5345      return $this->call('patch', array($params), "Google_Service_Compute_Operation");
5346    }
5347  
5348    /**
5349     * Updates a HttpHealthCheck resource in the specified project using the data
5350     * included in the request. (httpHealthChecks.update)
5351     *
5352     * @param string $project Name of the project scoping this request.
5353     * @param string $httpHealthCheck Name of the HttpHealthCheck resource to
5354     * update.
5355     * @param Google_HttpHealthCheck $postBody
5356     * @param array $optParams Optional parameters.
5357     * @return Google_Service_Compute_Operation
5358     */
5359    public function update($project, $httpHealthCheck, Google_Service_Compute_HttpHealthCheck $postBody, $optParams = array())
5360    {
5361      $params = array('project' => $project, 'httpHealthCheck' => $httpHealthCheck, 'postBody' => $postBody);
5362      $params = array_merge($params, $optParams);
5363      return $this->call('update', array($params), "Google_Service_Compute_Operation");
5364    }
5365  }
5366  
5367  /**
5368   * The "httpsHealthChecks" collection of methods.
5369   * Typical usage is:
5370   *  <code>
5371   *   $computeService = new Google_Service_Compute(...);
5372   *   $httpsHealthChecks = $computeService->httpsHealthChecks;
5373   *  </code>
5374   */
5375  class Google_Service_Compute_HttpsHealthChecks_Resource extends Google_Service_Resource
5376  {
5377  
5378    /**
5379     * Deletes the specified HttpsHealthCheck resource. (httpsHealthChecks.delete)
5380     *
5381     * @param string $project Name of the project scoping this request.
5382     * @param string $httpsHealthCheck Name of the HttpsHealthCheck resource to
5383     * delete.
5384     * @param array $optParams Optional parameters.
5385     * @return Google_Service_Compute_Operation
5386     */
5387    public function delete($project, $httpsHealthCheck, $optParams = array())
5388    {
5389      $params = array('project' => $project, 'httpsHealthCheck' => $httpsHealthCheck);
5390      $params = array_merge($params, $optParams);
5391      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
5392    }
5393  
5394    /**
5395     * Returns the specified HttpsHealthCheck resource. (httpsHealthChecks.get)
5396     *
5397     * @param string $project Name of the project scoping this request.
5398     * @param string $httpsHealthCheck Name of the HttpsHealthCheck resource to
5399     * return.
5400     * @param array $optParams Optional parameters.
5401     * @return Google_Service_Compute_HttpsHealthCheck
5402     */
5403    public function get($project, $httpsHealthCheck, $optParams = array())
5404    {
5405      $params = array('project' => $project, 'httpsHealthCheck' => $httpsHealthCheck);
5406      $params = array_merge($params, $optParams);
5407      return $this->call('get', array($params), "Google_Service_Compute_HttpsHealthCheck");
5408    }
5409  
5410    /**
5411     * Creates a HttpsHealthCheck resource in the specified project using the data
5412     * included in the request. (httpsHealthChecks.insert)
5413     *
5414     * @param string $project Name of the project scoping this request.
5415     * @param Google_HttpsHealthCheck $postBody
5416     * @param array $optParams Optional parameters.
5417     * @return Google_Service_Compute_Operation
5418     */
5419    public function insert($project, Google_Service_Compute_HttpsHealthCheck $postBody, $optParams = array())
5420    {
5421      $params = array('project' => $project, 'postBody' => $postBody);
5422      $params = array_merge($params, $optParams);
5423      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
5424    }
5425  
5426    /**
5427     * Retrieves the list of HttpsHealthCheck resources available to the specified
5428     * project. (httpsHealthChecks.listHttpsHealthChecks)
5429     *
5430     * @param string $project Name of the project scoping this request.
5431     * @param array $optParams Optional parameters.
5432     *
5433     * @opt_param string filter Sets a filter expression for filtering listed
5434     * resources, in the form filter={expression}. Your {expression} must be in the
5435     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
5436     *
5437     * The FIELD_NAME is the name of the field you want to compare. Only atomic
5438     * field types are supported (string, number, boolean). The COMPARISON_STRING
5439     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
5440     * string value to filter to. The literal value must be valid for the type of
5441     * field (string, number, boolean). For string fields, the literal value is
5442     * interpreted as a regular expression using RE2 syntax. The literal value must
5443     * match the entire field.
5444     *
5445     * For example, filter=name ne example-instance.
5446     * @opt_param string pageToken Specifies a page token to use. Use this parameter
5447     * if you want to list the next page of results. Set pageToken to the
5448     * nextPageToken returned by a previous list request.
5449     * @opt_param string maxResults Maximum count of results to be returned.
5450     * @return Google_Service_Compute_HttpsHealthCheckList
5451     */
5452    public function listHttpsHealthChecks($project, $optParams = array())
5453    {
5454      $params = array('project' => $project);
5455      $params = array_merge($params, $optParams);
5456      return $this->call('list', array($params), "Google_Service_Compute_HttpsHealthCheckList");
5457    }
5458  
5459    /**
5460     * Updates a HttpsHealthCheck resource in the specified project using the data
5461     * included in the request. This method supports patch semantics.
5462     * (httpsHealthChecks.patch)
5463     *
5464     * @param string $project Name of the project scoping this request.
5465     * @param string $httpsHealthCheck Name of the HttpsHealthCheck resource to
5466     * update.
5467     * @param Google_HttpsHealthCheck $postBody
5468     * @param array $optParams Optional parameters.
5469     * @return Google_Service_Compute_Operation
5470     */
5471    public function patch($project, $httpsHealthCheck, Google_Service_Compute_HttpsHealthCheck $postBody, $optParams = array())
5472    {
5473      $params = array('project' => $project, 'httpsHealthCheck' => $httpsHealthCheck, 'postBody' => $postBody);
5474      $params = array_merge($params, $optParams);
5475      return $this->call('patch', array($params), "Google_Service_Compute_Operation");
5476    }
5477  
5478    /**
5479     * Updates a HttpsHealthCheck resource in the specified project using the data
5480     * included in the request. (httpsHealthChecks.update)
5481     *
5482     * @param string $project Name of the project scoping this request.
5483     * @param string $httpsHealthCheck Name of the HttpsHealthCheck resource to
5484     * update.
5485     * @param Google_HttpsHealthCheck $postBody
5486     * @param array $optParams Optional parameters.
5487     * @return Google_Service_Compute_Operation
5488     */
5489    public function update($project, $httpsHealthCheck, Google_Service_Compute_HttpsHealthCheck $postBody, $optParams = array())
5490    {
5491      $params = array('project' => $project, 'httpsHealthCheck' => $httpsHealthCheck, 'postBody' => $postBody);
5492      $params = array_merge($params, $optParams);
5493      return $this->call('update', array($params), "Google_Service_Compute_Operation");
5494    }
5495  }
5496  
5497  /**
5498   * The "images" collection of methods.
5499   * Typical usage is:
5500   *  <code>
5501   *   $computeService = new Google_Service_Compute(...);
5502   *   $images = $computeService->images;
5503   *  </code>
5504   */
5505  class Google_Service_Compute_Images_Resource extends Google_Service_Resource
5506  {
5507  
5508    /**
5509     * Deletes the specified image resource. (images.delete)
5510     *
5511     * @param string $project Project ID for this request.
5512     * @param string $image Name of the image resource to delete.
5513     * @param array $optParams Optional parameters.
5514     * @return Google_Service_Compute_Operation
5515     */
5516    public function delete($project, $image, $optParams = array())
5517    {
5518      $params = array('project' => $project, 'image' => $image);
5519      $params = array_merge($params, $optParams);
5520      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
5521    }
5522  
5523    /**
5524     * Sets the deprecation status of an image.
5525     *
5526     * If an empty request body is given, clears the deprecation status instead.
5527     * (images.deprecate)
5528     *
5529     * @param string $project Project ID for this request.
5530     * @param string $image Image name.
5531     * @param Google_DeprecationStatus $postBody
5532     * @param array $optParams Optional parameters.
5533     * @return Google_Service_Compute_Operation
5534     */
5535    public function deprecate($project, $image, Google_Service_Compute_DeprecationStatus $postBody, $optParams = array())
5536    {
5537      $params = array('project' => $project, 'image' => $image, 'postBody' => $postBody);
5538      $params = array_merge($params, $optParams);
5539      return $this->call('deprecate', array($params), "Google_Service_Compute_Operation");
5540    }
5541  
5542    /**
5543     * Returns the specified image resource. (images.get)
5544     *
5545     * @param string $project Project ID for this request.
5546     * @param string $image Name of the image resource to return.
5547     * @param array $optParams Optional parameters.
5548     * @return Google_Service_Compute_Image
5549     */
5550    public function get($project, $image, $optParams = array())
5551    {
5552      $params = array('project' => $project, 'image' => $image);
5553      $params = array_merge($params, $optParams);
5554      return $this->call('get', array($params), "Google_Service_Compute_Image");
5555    }
5556  
5557    /**
5558     * Creates an image resource in the specified project using the data included in
5559     * the request. (images.insert)
5560     *
5561     * @param string $project Project ID for this request.
5562     * @param Google_Image $postBody
5563     * @param array $optParams Optional parameters.
5564     * @return Google_Service_Compute_Operation
5565     */
5566    public function insert($project, Google_Service_Compute_Image $postBody, $optParams = array())
5567    {
5568      $params = array('project' => $project, 'postBody' => $postBody);
5569      $params = array_merge($params, $optParams);
5570      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
5571    }
5572  
5573    /**
5574     * Retrieves the list of private images available to the specified project.
5575     * Private images are images you create that belong to your project. This method
5576     * does not get any images that belong to other projects, including publicly-
5577     * available images, like Debian 7. If you want to get a list of publicly-
5578     * available images, use this method to make a request to the respective image
5579     * project, such as debian-cloud or windows-cloud.
5580     *
5581     * See Accessing images for more information. (images.listImages)
5582     *
5583     * @param string $project Project ID for this request.
5584     * @param array $optParams Optional parameters.
5585     *
5586     * @opt_param string filter Sets a filter expression for filtering listed
5587     * resources, in the form filter={expression}. Your {expression} must be in the
5588     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
5589     *
5590     * The FIELD_NAME is the name of the field you want to compare. Only atomic
5591     * field types are supported (string, number, boolean). The COMPARISON_STRING
5592     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
5593     * string value to filter to. The literal value must be valid for the type of
5594     * field (string, number, boolean). For string fields, the literal value is
5595     * interpreted as a regular expression using RE2 syntax. The literal value must
5596     * match the entire field.
5597     *
5598     * For example, filter=name ne example-instance.
5599     * @opt_param string pageToken Specifies a page token to use. Use this parameter
5600     * if you want to list the next page of results. Set pageToken to the
5601     * nextPageToken returned by a previous list request.
5602     * @opt_param string maxResults Maximum count of results to be returned.
5603     * @return Google_Service_Compute_ImageList
5604     */
5605    public function listImages($project, $optParams = array())
5606    {
5607      $params = array('project' => $project);
5608      $params = array_merge($params, $optParams);
5609      return $this->call('list', array($params), "Google_Service_Compute_ImageList");
5610    }
5611  }
5612  
5613  /**
5614   * The "instanceGroupManagers" collection of methods.
5615   * Typical usage is:
5616   *  <code>
5617   *   $computeService = new Google_Service_Compute(...);
5618   *   $instanceGroupManagers = $computeService->instanceGroupManagers;
5619   *  </code>
5620   */
5621  class Google_Service_Compute_InstanceGroupManagers_Resource extends Google_Service_Resource
5622  {
5623  
5624    /**
5625     * Schedules a group action to remove the specified instances from the managed
5626     * instance group. Abandoning an instance does not delete the instance, but it
5627     * does remove the instance from any target pools that are applied by the
5628     * managed instance group. This method reduces the targetSize of the managed
5629     * instance group by the number of instances that you abandon. This operation is
5630     * marked as DONE when the action is scheduled even if the instances have not
5631     * yet been removed from the group. You must separately verify the status of the
5632     * abandoning action with the listmanagedinstances method.
5633     * (instanceGroupManagers.abandonInstances)
5634     *
5635     * @param string $project The project ID for this request.
5636     * @param string $zone The name of the zone where the managed instance group is
5637     * located.
5638     * @param string $instanceGroupManager The name of the managed instance group.
5639     * @param Google_InstanceGroupManagersAbandonInstancesRequest $postBody
5640     * @param array $optParams Optional parameters.
5641     * @return Google_Service_Compute_Operation
5642     */
5643    public function abandonInstances($project, $zone, $instanceGroupManager, Google_Service_Compute_InstanceGroupManagersAbandonInstancesRequest $postBody, $optParams = array())
5644    {
5645      $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody);
5646      $params = array_merge($params, $optParams);
5647      return $this->call('abandonInstances', array($params), "Google_Service_Compute_Operation");
5648    }
5649  
5650    /**
5651     * Retrieves the list of managed instance groups and groups them by zone.
5652     * (instanceGroupManagers.aggregatedList)
5653     *
5654     * @param string $project The project ID for this request.
5655     * @param array $optParams Optional parameters.
5656     *
5657     * @opt_param string filter Sets a filter expression for filtering listed
5658     * resources, in the form filter={expression}. Your {expression} must be in the
5659     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
5660     *
5661     * The FIELD_NAME is the name of the field you want to compare. Only atomic
5662     * field types are supported (string, number, boolean). The COMPARISON_STRING
5663     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
5664     * string value to filter to. The literal value must be valid for the type of
5665     * field (string, number, boolean). For string fields, the literal value is
5666     * interpreted as a regular expression using RE2 syntax. The literal value must
5667     * match the entire field.
5668     *
5669     * For example, filter=name ne example-instance.
5670     * @opt_param string pageToken Specifies a page token to use. Use this parameter
5671     * if you want to list the next page of results. Set pageToken to the
5672     * nextPageToken returned by a previous list request.
5673     * @opt_param string maxResults Maximum count of results to be returned.
5674     * @return Google_Service_Compute_InstanceGroupManagerAggregatedList
5675     */
5676    public function aggregatedList($project, $optParams = array())
5677    {
5678      $params = array('project' => $project);
5679      $params = array_merge($params, $optParams);
5680      return $this->call('aggregatedList', array($params), "Google_Service_Compute_InstanceGroupManagerAggregatedList");
5681    }
5682  
5683    /**
5684     * Deletes the specified managed instance group and all of the instances in that
5685     * group. (instanceGroupManagers.delete)
5686     *
5687     * @param string $project The project ID for this request.
5688     * @param string $zone The name of the zone where the managed instance group is
5689     * located.
5690     * @param string $instanceGroupManager The name of the managed instance group to
5691     * delete.
5692     * @param array $optParams Optional parameters.
5693     * @return Google_Service_Compute_Operation
5694     */
5695    public function delete($project, $zone, $instanceGroupManager, $optParams = array())
5696    {
5697      $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager);
5698      $params = array_merge($params, $optParams);
5699      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
5700    }
5701  
5702    /**
5703     * Schedules a group action to delete the specified instances in the managed
5704     * instance group. The instances are also removed from any target pools of which
5705     * they were a member. This method reduces the targetSize of the managed
5706     * instance group by the number of instances that you delete. This operation is
5707     * marked as DONE when the action is scheduled even if the instances are still
5708     * being deleted. You must separately verify the status of the deleting action
5709     * with the listmanagedinstances method. (instanceGroupManagers.deleteInstances)
5710     *
5711     * @param string $project The project ID for this request.
5712     * @param string $zone The name of the zone where the managed instance group is
5713     * located.
5714     * @param string $instanceGroupManager The name of the managed instance group.
5715     * @param Google_InstanceGroupManagersDeleteInstancesRequest $postBody
5716     * @param array $optParams Optional parameters.
5717     * @return Google_Service_Compute_Operation
5718     */
5719    public function deleteInstances($project, $zone, $instanceGroupManager, Google_Service_Compute_InstanceGroupManagersDeleteInstancesRequest $postBody, $optParams = array())
5720    {
5721      $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody);
5722      $params = array_merge($params, $optParams);
5723      return $this->call('deleteInstances', array($params), "Google_Service_Compute_Operation");
5724    }
5725  
5726    /**
5727     * Returns all of the details about the specified managed instance group.
5728     * (instanceGroupManagers.get)
5729     *
5730     * @param string $project The project ID for this request.
5731     * @param string $zone The name of the zone where the managed instance group is
5732     * located.
5733     * @param string $instanceGroupManager The name of the managed instance group.
5734     * @param array $optParams Optional parameters.
5735     * @return Google_Service_Compute_InstanceGroupManager
5736     */
5737    public function get($project, $zone, $instanceGroupManager, $optParams = array())
5738    {
5739      $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager);
5740      $params = array_merge($params, $optParams);
5741      return $this->call('get', array($params), "Google_Service_Compute_InstanceGroupManager");
5742    }
5743  
5744    /**
5745     * Creates a managed instance group using the information that you specify in
5746     * the request. After the group is created, it schedules an action to create
5747     * instances in the group using the specified instance template. This operation
5748     * is marked as DONE when the group is created even if the instances in the
5749     * group have not yet been created. You must separately verify the status of the
5750     * individual instances with the listmanagedinstances method.
5751     * (instanceGroupManagers.insert)
5752     *
5753     * @param string $project The project ID for this request.
5754     * @param string $zone The name of the zone where you want to create the managed
5755     * instance group.
5756     * @param Google_InstanceGroupManager $postBody
5757     * @param array $optParams Optional parameters.
5758     * @return Google_Service_Compute_Operation
5759     */
5760    public function insert($project, $zone, Google_Service_Compute_InstanceGroupManager $postBody, $optParams = array())
5761    {
5762      $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody);
5763      $params = array_merge($params, $optParams);
5764      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
5765    }
5766  
5767    /**
5768     * Retrieves a list of managed instance groups that are contained within the
5769     * specified project and zone. (instanceGroupManagers.listInstanceGroupManagers)
5770     *
5771     * @param string $project The project ID for this request.
5772     * @param string $zone The name of the zone where the managed instance group is
5773     * located.
5774     * @param array $optParams Optional parameters.
5775     *
5776     * @opt_param string filter Sets a filter expression for filtering listed
5777     * resources, in the form filter={expression}. Your {expression} must be in the
5778     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
5779     *
5780     * The FIELD_NAME is the name of the field you want to compare. Only atomic
5781     * field types are supported (string, number, boolean). The COMPARISON_STRING
5782     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
5783     * string value to filter to. The literal value must be valid for the type of
5784     * field (string, number, boolean). For string fields, the literal value is
5785     * interpreted as a regular expression using RE2 syntax. The literal value must
5786     * match the entire field.
5787     *
5788     * For example, filter=name ne example-instance.
5789     * @opt_param string pageToken Specifies a page token to use. Use this parameter
5790     * if you want to list the next page of results. Set pageToken to the
5791     * nextPageToken returned by a previous list request.
5792     * @opt_param string maxResults Maximum count of results to be returned.
5793     * @return Google_Service_Compute_InstanceGroupManagerList
5794     */
5795    public function listInstanceGroupManagers($project, $zone, $optParams = array())
5796    {
5797      $params = array('project' => $project, 'zone' => $zone);
5798      $params = array_merge($params, $optParams);
5799      return $this->call('list', array($params), "Google_Service_Compute_InstanceGroupManagerList");
5800    }
5801  
5802    /**
5803     * Lists all of the instances in the managed instance group. Each instance in
5804     * the list has a currentAction, which indicates the action that the managed
5805     * instance group is performing on the instance. For example, if the group is
5806     * still creating an instance, the currentAction is CREATING. If a previous
5807     * action failed, the list displays the errors for that failed action.
5808     * (instanceGroupManagers.listManagedInstances)
5809     *
5810     * @param string $project The project ID for this request.
5811     * @param string $zone The name of the zone where the managed instance group is
5812     * located.
5813     * @param string $instanceGroupManager The name of the managed instance group.
5814     * @param array $optParams Optional parameters.
5815     * @return Google_Service_Compute_InstanceGroupManagersListManagedInstancesResponse
5816     */
5817    public function listManagedInstances($project, $zone, $instanceGroupManager, $optParams = array())
5818    {
5819      $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager);
5820      $params = array_merge($params, $optParams);
5821      return $this->call('listManagedInstances', array($params), "Google_Service_Compute_InstanceGroupManagersListManagedInstancesResponse");
5822    }
5823  
5824    /**
5825     * Schedules a group action to recreate the specified instances in the managed
5826     * instance group. The instances are deleted and recreated using the current
5827     * instance template for the managed instance group. This operation is marked as
5828     * DONE when the action is scheduled even if the instances have not yet been
5829     * recreated. You must separately verify the status of the recreating action
5830     * with the listmanagedinstances method.
5831     * (instanceGroupManagers.recreateInstances)
5832     *
5833     * @param string $project The project ID for this request.
5834     * @param string $zone The name of the zone where the managed instance group is
5835     * located.
5836     * @param string $instanceGroupManager The name of the managed instance group.
5837     * @param Google_InstanceGroupManagersRecreateInstancesRequest $postBody
5838     * @param array $optParams Optional parameters.
5839     * @return Google_Service_Compute_Operation
5840     */
5841    public function recreateInstances($project, $zone, $instanceGroupManager, Google_Service_Compute_InstanceGroupManagersRecreateInstancesRequest $postBody, $optParams = array())
5842    {
5843      $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody);
5844      $params = array_merge($params, $optParams);
5845      return $this->call('recreateInstances', array($params), "Google_Service_Compute_Operation");
5846    }
5847  
5848    /**
5849     * Resizes the managed instance group. If you increase the size, the group
5850     * creates new instances using the current instance template. If you decrease
5851     * the size, the group deletes instances. The resize operation is marked DONE
5852     * when the resize actions are scheduled even if the group has not yet added or
5853     * deleted any instances. You must separately verify the status of the creating
5854     * or deleting actions with the listmanagedinstances method.
5855     * (instanceGroupManagers.resize)
5856     *
5857     * @param string $project The project ID for this request.
5858     * @param string $zone The name of the zone where the managed instance group is
5859     * located.
5860     * @param string $instanceGroupManager The name of the managed instance group.
5861     * @param int $size The number of running instances that the managed instance
5862     * group should maintain at any given time. The group automatically adds or
5863     * removes instances to maintain the number of instances specified by this
5864     * parameter.
5865     * @param array $optParams Optional parameters.
5866     * @return Google_Service_Compute_Operation
5867     */
5868    public function resize($project, $zone, $instanceGroupManager, $size, $optParams = array())
5869    {
5870      $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'size' => $size);
5871      $params = array_merge($params, $optParams);
5872      return $this->call('resize', array($params), "Google_Service_Compute_Operation");
5873    }
5874  
5875    /**
5876     * Specifies the instance template to use when creating new instances in this
5877     * group. The templates for existing instances in the group do not change unless
5878     * you recreate them. (instanceGroupManagers.setInstanceTemplate)
5879     *
5880     * @param string $project The project ID for this request.
5881     * @param string $zone The name of the zone where the managed instance group is
5882     * located.
5883     * @param string $instanceGroupManager The name of the managed instance group.
5884     * @param Google_InstanceGroupManagersSetInstanceTemplateRequest $postBody
5885     * @param array $optParams Optional parameters.
5886     * @return Google_Service_Compute_Operation
5887     */
5888    public function setInstanceTemplate($project, $zone, $instanceGroupManager, Google_Service_Compute_InstanceGroupManagersSetInstanceTemplateRequest $postBody, $optParams = array())
5889    {
5890      $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody);
5891      $params = array_merge($params, $optParams);
5892      return $this->call('setInstanceTemplate', array($params), "Google_Service_Compute_Operation");
5893    }
5894  
5895    /**
5896     * Modifies the target pools to which all instances in this managed instance
5897     * group are assigned. The target pools automatically apply to all of the
5898     * instances in the managed instance group. This operation is marked DONE when
5899     * you make the request even if the instances have not yet been added to their
5900     * target pools. The change might take some time to apply to all of the
5901     * instances in the group depending on the size of the group.
5902     * (instanceGroupManagers.setTargetPools)
5903     *
5904     * @param string $project The project ID for this request.
5905     * @param string $zone The name of the zone where the managed instance group is
5906     * located.
5907     * @param string $instanceGroupManager The name of the managed instance group.
5908     * @param Google_InstanceGroupManagersSetTargetPoolsRequest $postBody
5909     * @param array $optParams Optional parameters.
5910     * @return Google_Service_Compute_Operation
5911     */
5912    public function setTargetPools($project, $zone, $instanceGroupManager, Google_Service_Compute_InstanceGroupManagersSetTargetPoolsRequest $postBody, $optParams = array())
5913    {
5914      $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody);
5915      $params = array_merge($params, $optParams);
5916      return $this->call('setTargetPools', array($params), "Google_Service_Compute_Operation");
5917    }
5918  }
5919  
5920  /**
5921   * The "instanceGroups" collection of methods.
5922   * Typical usage is:
5923   *  <code>
5924   *   $computeService = new Google_Service_Compute(...);
5925   *   $instanceGroups = $computeService->instanceGroups;
5926   *  </code>
5927   */
5928  class Google_Service_Compute_InstanceGroups_Resource extends Google_Service_Resource
5929  {
5930  
5931    /**
5932     * Adds a list of instances to the specified instance group. All of the
5933     * instances in the instance group must be in the same network/subnetwork.
5934     * (instanceGroups.addInstances)
5935     *
5936     * @param string $project The project ID for this request.
5937     * @param string $zone The name of the zone where the instance group is located.
5938     * @param string $instanceGroup The name of the instance group where you are
5939     * adding instances.
5940     * @param Google_InstanceGroupsAddInstancesRequest $postBody
5941     * @param array $optParams Optional parameters.
5942     * @return Google_Service_Compute_Operation
5943     */
5944    public function addInstances($project, $zone, $instanceGroup, Google_Service_Compute_InstanceGroupsAddInstancesRequest $postBody, $optParams = array())
5945    {
5946      $params = array('project' => $project, 'zone' => $zone, 'instanceGroup' => $instanceGroup, 'postBody' => $postBody);
5947      $params = array_merge($params, $optParams);
5948      return $this->call('addInstances', array($params), "Google_Service_Compute_Operation");
5949    }
5950  
5951    /**
5952     * Retrieves the list of instance groups and sorts them by zone.
5953     * (instanceGroups.aggregatedList)
5954     *
5955     * @param string $project The project ID for this request.
5956     * @param array $optParams Optional parameters.
5957     *
5958     * @opt_param string filter Sets a filter expression for filtering listed
5959     * resources, in the form filter={expression}. Your {expression} must be in the
5960     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
5961     *
5962     * The FIELD_NAME is the name of the field you want to compare. Only atomic
5963     * field types are supported (string, number, boolean). The COMPARISON_STRING
5964     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
5965     * string value to filter to. The literal value must be valid for the type of
5966     * field (string, number, boolean). For string fields, the literal value is
5967     * interpreted as a regular expression using RE2 syntax. The literal value must
5968     * match the entire field.
5969     *
5970     * For example, filter=name ne example-instance.
5971     * @opt_param string pageToken Specifies a page token to use. Use this parameter
5972     * if you want to list the next page of results. Set pageToken to the
5973     * nextPageToken returned by a previous list request.
5974     * @opt_param string maxResults Maximum count of results to be returned.
5975     * @return Google_Service_Compute_InstanceGroupAggregatedList
5976     */
5977    public function aggregatedList($project, $optParams = array())
5978    {
5979      $params = array('project' => $project);
5980      $params = array_merge($params, $optParams);
5981      return $this->call('aggregatedList', array($params), "Google_Service_Compute_InstanceGroupAggregatedList");
5982    }
5983  
5984    /**
5985     * Deletes the specified instance group. The instances in the group are not
5986     * deleted. (instanceGroups.delete)
5987     *
5988     * @param string $project The project ID for this request.
5989     * @param string $zone The name of the zone where the instance group is located.
5990     * @param string $instanceGroup The name of the instance group to delete.
5991     * @param array $optParams Optional parameters.
5992     * @return Google_Service_Compute_Operation
5993     */
5994    public function delete($project, $zone, $instanceGroup, $optParams = array())
5995    {
5996      $params = array('project' => $project, 'zone' => $zone, 'instanceGroup' => $instanceGroup);
5997      $params = array_merge($params, $optParams);
5998      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
5999    }
6000  
6001    /**
6002     * Returns the specified instance group resource. (instanceGroups.get)
6003     *
6004     * @param string $project The project ID for this request.
6005     * @param string $zone The name of the zone where the instance group is located.
6006     * @param string $instanceGroup The name of the instance group.
6007     * @param array $optParams Optional parameters.
6008     * @return Google_Service_Compute_InstanceGroup
6009     */
6010    public function get($project, $zone, $instanceGroup, $optParams = array())
6011    {
6012      $params = array('project' => $project, 'zone' => $zone, 'instanceGroup' => $instanceGroup);
6013      $params = array_merge($params, $optParams);
6014      return $this->call('get', array($params), "Google_Service_Compute_InstanceGroup");
6015    }
6016  
6017    /**
6018     * Creates an instance group in the specified project using the parameters that
6019     * are included in the request. (instanceGroups.insert)
6020     *
6021     * @param string $project The project ID for this request.
6022     * @param string $zone The name of the zone where you want to create the
6023     * instance group.
6024     * @param Google_InstanceGroup $postBody
6025     * @param array $optParams Optional parameters.
6026     * @return Google_Service_Compute_Operation
6027     */
6028    public function insert($project, $zone, Google_Service_Compute_InstanceGroup $postBody, $optParams = array())
6029    {
6030      $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody);
6031      $params = array_merge($params, $optParams);
6032      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
6033    }
6034  
6035    /**
6036     * Retrieves the list of instance groups that are located in the specified
6037     * project and zone. (instanceGroups.listInstanceGroups)
6038     *
6039     * @param string $project The project ID for this request.
6040     * @param string $zone The name of the zone where the instance group is located.
6041     * @param array $optParams Optional parameters.
6042     *
6043     * @opt_param string filter Sets a filter expression for filtering listed
6044     * resources, in the form filter={expression}. Your {expression} must be in the
6045     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
6046     *
6047     * The FIELD_NAME is the name of the field you want to compare. Only atomic
6048     * field types are supported (string, number, boolean). The COMPARISON_STRING
6049     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
6050     * string value to filter to. The literal value must be valid for the type of
6051     * field (string, number, boolean). For string fields, the literal value is
6052     * interpreted as a regular expression using RE2 syntax. The literal value must
6053     * match the entire field.
6054     *
6055     * For example, filter=name ne example-instance.
6056     * @opt_param string pageToken Specifies a page token to use. Use this parameter
6057     * if you want to list the next page of results. Set pageToken to the
6058     * nextPageToken returned by a previous list request.
6059     * @opt_param string maxResults Maximum count of results to be returned.
6060     * @return Google_Service_Compute_InstanceGroupList
6061     */
6062    public function listInstanceGroups($project, $zone, $optParams = array())
6063    {
6064      $params = array('project' => $project, 'zone' => $zone);
6065      $params = array_merge($params, $optParams);
6066      return $this->call('list', array($params), "Google_Service_Compute_InstanceGroupList");
6067    }
6068  
6069    /**
6070     * Lists the instances in the specified instance group.
6071     * (instanceGroups.listInstances)
6072     *
6073     * @param string $project The project ID for this request.
6074     * @param string $zone The name of the zone where the instance group is located.
6075     * @param string $instanceGroup The name of the instance group from which you
6076     * want to generate a list of included instances.
6077     * @param Google_InstanceGroupsListInstancesRequest $postBody
6078     * @param array $optParams Optional parameters.
6079     *
6080     * @opt_param string maxResults Maximum count of results to be returned.
6081     * @opt_param string filter Sets a filter expression for filtering listed
6082     * resources, in the form filter={expression}. Your {expression} must be in the
6083     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
6084     *
6085     * The FIELD_NAME is the name of the field you want to compare. Only atomic
6086     * field types are supported (string, number, boolean). The COMPARISON_STRING
6087     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
6088     * string value to filter to. The literal value must be valid for the type of
6089     * field (string, number, boolean). For string fields, the literal value is
6090     * interpreted as a regular expression using RE2 syntax. The literal value must
6091     * match the entire field.
6092     *
6093     * For example, filter=name ne example-instance.
6094     * @opt_param string pageToken Specifies a page token to use. Use this parameter
6095     * if you want to list the next page of results. Set pageToken to the
6096     * nextPageToken returned by a previous list request.
6097     * @return Google_Service_Compute_InstanceGroupsListInstances
6098     */
6099    public function listInstances($project, $zone, $instanceGroup, Google_Service_Compute_InstanceGroupsListInstancesRequest $postBody, $optParams = array())
6100    {
6101      $params = array('project' => $project, 'zone' => $zone, 'instanceGroup' => $instanceGroup, 'postBody' => $postBody);
6102      $params = array_merge($params, $optParams);
6103      return $this->call('listInstances', array($params), "Google_Service_Compute_InstanceGroupsListInstances");
6104    }
6105  
6106    /**
6107     * Removes one or more instances from the specified instance group, but does not
6108     * delete those instances. (instanceGroups.removeInstances)
6109     *
6110     * @param string $project The project ID for this request.
6111     * @param string $zone The name of the zone where the instance group is located.
6112     * @param string $instanceGroup The name of the instance group where the
6113     * specified instances will be removed.
6114     * @param Google_InstanceGroupsRemoveInstancesRequest $postBody
6115     * @param array $optParams Optional parameters.
6116     * @return Google_Service_Compute_Operation
6117     */
6118    public function removeInstances($project, $zone, $instanceGroup, Google_Service_Compute_InstanceGroupsRemoveInstancesRequest $postBody, $optParams = array())
6119    {
6120      $params = array('project' => $project, 'zone' => $zone, 'instanceGroup' => $instanceGroup, 'postBody' => $postBody);
6121      $params = array_merge($params, $optParams);
6122      return $this->call('removeInstances', array($params), "Google_Service_Compute_Operation");
6123    }
6124  
6125    /**
6126     * Sets the named ports for the specified instance group.
6127     * (instanceGroups.setNamedPorts)
6128     *
6129     * @param string $project The project ID for this request.
6130     * @param string $zone The name of the zone where the instance group is located.
6131     * @param string $instanceGroup The name of the instance group where the named
6132     * ports are updated.
6133     * @param Google_InstanceGroupsSetNamedPortsRequest $postBody
6134     * @param array $optParams Optional parameters.
6135     * @return Google_Service_Compute_Operation
6136     */
6137    public function setNamedPorts($project, $zone, $instanceGroup, Google_Service_Compute_InstanceGroupsSetNamedPortsRequest $postBody, $optParams = array())
6138    {
6139      $params = array('project' => $project, 'zone' => $zone, 'instanceGroup' => $instanceGroup, 'postBody' => $postBody);
6140      $params = array_merge($params, $optParams);
6141      return $this->call('setNamedPorts', array($params), "Google_Service_Compute_Operation");
6142    }
6143  }
6144  
6145  /**
6146   * The "instanceTemplates" collection of methods.
6147   * Typical usage is:
6148   *  <code>
6149   *   $computeService = new Google_Service_Compute(...);
6150   *   $instanceTemplates = $computeService->instanceTemplates;
6151   *  </code>
6152   */
6153  class Google_Service_Compute_InstanceTemplates_Resource extends Google_Service_Resource
6154  {
6155  
6156    /**
6157     * Deletes the specified instance template. (instanceTemplates.delete)
6158     *
6159     * @param string $project The project ID for this request.
6160     * @param string $instanceTemplate The name of the instance template to delete.
6161     * @param array $optParams Optional parameters.
6162     * @return Google_Service_Compute_Operation
6163     */
6164    public function delete($project, $instanceTemplate, $optParams = array())
6165    {
6166      $params = array('project' => $project, 'instanceTemplate' => $instanceTemplate);
6167      $params = array_merge($params, $optParams);
6168      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
6169    }
6170  
6171    /**
6172     * Returns the specified instance template resource. (instanceTemplates.get)
6173     *
6174     * @param string $project The project ID for this request.
6175     * @param string $instanceTemplate The name of the instance template.
6176     * @param array $optParams Optional parameters.
6177     * @return Google_Service_Compute_InstanceTemplate
6178     */
6179    public function get($project, $instanceTemplate, $optParams = array())
6180    {
6181      $params = array('project' => $project, 'instanceTemplate' => $instanceTemplate);
6182      $params = array_merge($params, $optParams);
6183      return $this->call('get', array($params), "Google_Service_Compute_InstanceTemplate");
6184    }
6185  
6186    /**
6187     * Creates an instance template in the specified project using the data that is
6188     * included in the request. (instanceTemplates.insert)
6189     *
6190     * @param string $project The project ID for this request.
6191     * @param Google_InstanceTemplate $postBody
6192     * @param array $optParams Optional parameters.
6193     * @return Google_Service_Compute_Operation
6194     */
6195    public function insert($project, Google_Service_Compute_InstanceTemplate $postBody, $optParams = array())
6196    {
6197      $params = array('project' => $project, 'postBody' => $postBody);
6198      $params = array_merge($params, $optParams);
6199      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
6200    }
6201  
6202    /**
6203     * Retrieves a list of instance templates that are contained within the
6204     * specified project and zone. (instanceTemplates.listInstanceTemplates)
6205     *
6206     * @param string $project The project ID for this request.
6207     * @param array $optParams Optional parameters.
6208     *
6209     * @opt_param string filter Sets a filter expression for filtering listed
6210     * resources, in the form filter={expression}. Your {expression} must be in the
6211     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
6212     *
6213     * The FIELD_NAME is the name of the field you want to compare. Only atomic
6214     * field types are supported (string, number, boolean). The COMPARISON_STRING
6215     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
6216     * string value to filter to. The literal value must be valid for the type of
6217     * field (string, number, boolean). For string fields, the literal value is
6218     * interpreted as a regular expression using RE2 syntax. The literal value must
6219     * match the entire field.
6220     *
6221     * For example, filter=name ne example-instance.
6222     * @opt_param string pageToken Specifies a page token to use. Use this parameter
6223     * if you want to list the next page of results. Set pageToken to the
6224     * nextPageToken returned by a previous list request.
6225     * @opt_param string maxResults Maximum count of results to be returned.
6226     * @return Google_Service_Compute_InstanceTemplateList
6227     */
6228    public function listInstanceTemplates($project, $optParams = array())
6229    {
6230      $params = array('project' => $project);
6231      $params = array_merge($params, $optParams);
6232      return $this->call('list', array($params), "Google_Service_Compute_InstanceTemplateList");
6233    }
6234  }
6235  
6236  /**
6237   * The "instances" collection of methods.
6238   * Typical usage is:
6239   *  <code>
6240   *   $computeService = new Google_Service_Compute(...);
6241   *   $instances = $computeService->instances;
6242   *  </code>
6243   */
6244  class Google_Service_Compute_Instances_Resource extends Google_Service_Resource
6245  {
6246  
6247    /**
6248     * Adds an access config to an instance's network interface.
6249     * (instances.addAccessConfig)
6250     *
6251     * @param string $project Project ID for this request.
6252     * @param string $zone The name of the zone for this request.
6253     * @param string $instance The instance name for this request.
6254     * @param string $networkInterface The name of the network interface to add to
6255     * this instance.
6256     * @param Google_AccessConfig $postBody
6257     * @param array $optParams Optional parameters.
6258     * @return Google_Service_Compute_Operation
6259     */
6260    public function addAccessConfig($project, $zone, $instance, $networkInterface, Google_Service_Compute_AccessConfig $postBody, $optParams = array())
6261    {
6262      $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'networkInterface' => $networkInterface, 'postBody' => $postBody);
6263      $params = array_merge($params, $optParams);
6264      return $this->call('addAccessConfig', array($params), "Google_Service_Compute_Operation");
6265    }
6266  
6267    /**
6268     * Retrieves aggregated list of instance resources. (instances.aggregatedList)
6269     *
6270     * @param string $project Project ID for this request.
6271     * @param array $optParams Optional parameters.
6272     *
6273     * @opt_param string filter Sets a filter expression for filtering listed
6274     * resources, in the form filter={expression}. Your {expression} must be in the
6275     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
6276     *
6277     * The FIELD_NAME is the name of the field you want to compare. Only atomic
6278     * field types are supported (string, number, boolean). The COMPARISON_STRING
6279     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
6280     * string value to filter to. The literal value must be valid for the type of
6281     * field (string, number, boolean). For string fields, the literal value is
6282     * interpreted as a regular expression using RE2 syntax. The literal value must
6283     * match the entire field.
6284     *
6285     * For example, filter=name ne example-instance.
6286     * @opt_param string pageToken Specifies a page token to use. Use this parameter
6287     * if you want to list the next page of results. Set pageToken to the
6288     * nextPageToken returned by a previous list request.
6289     * @opt_param string maxResults Maximum count of results to be returned.
6290     * @return Google_Service_Compute_InstanceAggregatedList
6291     */
6292    public function aggregatedList($project, $optParams = array())
6293    {
6294      $params = array('project' => $project);
6295      $params = array_merge($params, $optParams);
6296      return $this->call('aggregatedList', array($params), "Google_Service_Compute_InstanceAggregatedList");
6297    }
6298  
6299    /**
6300     * Attaches a Disk resource to an instance. (instances.attachDisk)
6301     *
6302     * @param string $project Project ID for this request.
6303     * @param string $zone The name of the zone for this request.
6304     * @param string $instance Instance name.
6305     * @param Google_AttachedDisk $postBody
6306     * @param array $optParams Optional parameters.
6307     * @return Google_Service_Compute_Operation
6308     */
6309    public function attachDisk($project, $zone, $instance, Google_Service_Compute_AttachedDisk $postBody, $optParams = array())
6310    {
6311      $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'postBody' => $postBody);
6312      $params = array_merge($params, $optParams);
6313      return $this->call('attachDisk', array($params), "Google_Service_Compute_Operation");
6314    }
6315  
6316    /**
6317     * Deletes the specified Instance resource. For more information, see Shutting
6318     * down an instance. (instances.delete)
6319     *
6320     * @param string $project Project ID for this request.
6321     * @param string $zone The name of the zone for this request.
6322     * @param string $instance Name of the instance resource to delete.
6323     * @param array $optParams Optional parameters.
6324     * @return Google_Service_Compute_Operation
6325     */
6326    public function delete($project, $zone, $instance, $optParams = array())
6327    {
6328      $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance);
6329      $params = array_merge($params, $optParams);
6330      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
6331    }
6332  
6333    /**
6334     * Deletes an access config from an instance's network interface.
6335     * (instances.deleteAccessConfig)
6336     *
6337     * @param string $project Project ID for this request.
6338     * @param string $zone The name of the zone for this request.
6339     * @param string $instance The instance name for this request.
6340     * @param string $accessConfig The name of the access config to delete.
6341     * @param string $networkInterface The name of the network interface.
6342     * @param array $optParams Optional parameters.
6343     * @return Google_Service_Compute_Operation
6344     */
6345    public function deleteAccessConfig($project, $zone, $instance, $accessConfig, $networkInterface, $optParams = array())
6346    {
6347      $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'accessConfig' => $accessConfig, 'networkInterface' => $networkInterface);
6348      $params = array_merge($params, $optParams);
6349      return $this->call('deleteAccessConfig', array($params), "Google_Service_Compute_Operation");
6350    }
6351  
6352    /**
6353     * Detaches a disk from an instance. (instances.detachDisk)
6354     *
6355     * @param string $project Project ID for this request.
6356     * @param string $zone The name of the zone for this request.
6357     * @param string $instance Instance name.
6358     * @param string $deviceName Disk device name to detach.
6359     * @param array $optParams Optional parameters.
6360     * @return Google_Service_Compute_Operation
6361     */
6362    public function detachDisk($project, $zone, $instance, $deviceName, $optParams = array())
6363    {
6364      $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'deviceName' => $deviceName);
6365      $params = array_merge($params, $optParams);
6366      return $this->call('detachDisk', array($params), "Google_Service_Compute_Operation");
6367    }
6368  
6369    /**
6370     * Returns the specified instance resource. (instances.get)
6371     *
6372     * @param string $project Project ID for this request.
6373     * @param string $zone The name of the zone for this request.
6374     * @param string $instance Name of the instance resource to return.
6375     * @param array $optParams Optional parameters.
6376     * @return Google_Service_Compute_Instance
6377     */
6378    public function get($project, $zone, $instance, $optParams = array())
6379    {
6380      $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance);
6381      $params = array_merge($params, $optParams);
6382      return $this->call('get', array($params), "Google_Service_Compute_Instance");
6383    }
6384  
6385    /**
6386     * Returns the specified instance's serial port output.
6387     * (instances.getSerialPortOutput)
6388     *
6389     * @param string $project Project ID for this request.
6390     * @param string $zone The name of the zone for this request.
6391     * @param string $instance Name of the instance scoping this request.
6392     * @param array $optParams Optional parameters.
6393     *
6394     * @opt_param int port Specifies which COM or serial port to retrieve data from.
6395     * @return Google_Service_Compute_SerialPortOutput
6396     */
6397    public function getSerialPortOutput($project, $zone, $instance, $optParams = array())
6398    {
6399      $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance);
6400      $params = array_merge($params, $optParams);
6401      return $this->call('getSerialPortOutput', array($params), "Google_Service_Compute_SerialPortOutput");
6402    }
6403  
6404    /**
6405     * Creates an instance resource in the specified project using the data included
6406     * in the request. (instances.insert)
6407     *
6408     * @param string $project Project ID for this request.
6409     * @param string $zone The name of the zone for this request.
6410     * @param Google_Instance $postBody
6411     * @param array $optParams Optional parameters.
6412     * @return Google_Service_Compute_Operation
6413     */
6414    public function insert($project, $zone, Google_Service_Compute_Instance $postBody, $optParams = array())
6415    {
6416      $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody);
6417      $params = array_merge($params, $optParams);
6418      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
6419    }
6420  
6421    /**
6422     * Retrieves the list of instance resources contained within the specified zone.
6423     * (instances.listInstances)
6424     *
6425     * @param string $project Project ID for this request.
6426     * @param string $zone The name of the zone for this request.
6427     * @param array $optParams Optional parameters.
6428     *
6429     * @opt_param string filter Sets a filter expression for filtering listed
6430     * resources, in the form filter={expression}. Your {expression} must be in the
6431     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
6432     *
6433     * The FIELD_NAME is the name of the field you want to compare. Only atomic
6434     * field types are supported (string, number, boolean). The COMPARISON_STRING
6435     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
6436     * string value to filter to. The literal value must be valid for the type of
6437     * field (string, number, boolean). For string fields, the literal value is
6438     * interpreted as a regular expression using RE2 syntax. The literal value must
6439     * match the entire field.
6440     *
6441     * For example, filter=name ne example-instance.
6442     * @opt_param string pageToken Specifies a page token to use. Use this parameter
6443     * if you want to list the next page of results. Set pageToken to the
6444     * nextPageToken returned by a previous list request.
6445     * @opt_param string maxResults Maximum count of results to be returned.
6446     * @return Google_Service_Compute_InstanceList
6447     */
6448    public function listInstances($project, $zone, $optParams = array())
6449    {
6450      $params = array('project' => $project, 'zone' => $zone);
6451      $params = array_merge($params, $optParams);
6452      return $this->call('list', array($params), "Google_Service_Compute_InstanceList");
6453    }
6454  
6455    /**
6456     * Performs a hard reset on the instance. (instances.reset)
6457     *
6458     * @param string $project Project ID for this request.
6459     * @param string $zone The name of the zone for this request.
6460     * @param string $instance Name of the instance scoping this request.
6461     * @param array $optParams Optional parameters.
6462     * @return Google_Service_Compute_Operation
6463     */
6464    public function reset($project, $zone, $instance, $optParams = array())
6465    {
6466      $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance);
6467      $params = array_merge($params, $optParams);
6468      return $this->call('reset', array($params), "Google_Service_Compute_Operation");
6469    }
6470  
6471    /**
6472     * Sets the auto-delete flag for a disk attached to an instance.
6473     * (instances.setDiskAutoDelete)
6474     *
6475     * @param string $project Project ID for this request.
6476     * @param string $zone The name of the zone for this request.
6477     * @param string $instance The instance name.
6478     * @param bool $autoDelete Whether to auto-delete the disk when the instance is
6479     * deleted.
6480     * @param string $deviceName The device name of the disk to modify.
6481     * @param array $optParams Optional parameters.
6482     * @return Google_Service_Compute_Operation
6483     */
6484    public function setDiskAutoDelete($project, $zone, $instance, $autoDelete, $deviceName, $optParams = array())
6485    {
6486      $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'autoDelete' => $autoDelete, 'deviceName' => $deviceName);
6487      $params = array_merge($params, $optParams);
6488      return $this->call('setDiskAutoDelete', array($params), "Google_Service_Compute_Operation");
6489    }
6490  
6491    /**
6492     * Sets metadata for the specified instance to the data included in the request.
6493     * (instances.setMetadata)
6494     *
6495     * @param string $project Project ID for this request.
6496     * @param string $zone The name of the zone for this request.
6497     * @param string $instance Name of the instance scoping this request.
6498     * @param Google_Metadata $postBody
6499     * @param array $optParams Optional parameters.
6500     * @return Google_Service_Compute_Operation
6501     */
6502    public function setMetadata($project, $zone, $instance, Google_Service_Compute_Metadata $postBody, $optParams = array())
6503    {
6504      $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'postBody' => $postBody);
6505      $params = array_merge($params, $optParams);
6506      return $this->call('setMetadata', array($params), "Google_Service_Compute_Operation");
6507    }
6508  
6509    /**
6510     * Sets an instance's scheduling options. (instances.setScheduling)
6511     *
6512     * @param string $project Project ID for this request.
6513     * @param string $zone The name of the zone for this request.
6514     * @param string $instance Instance name.
6515     * @param Google_Scheduling $postBody
6516     * @param array $optParams Optional parameters.
6517     * @return Google_Service_Compute_Operation
6518     */
6519    public function setScheduling($project, $zone, $instance, Google_Service_Compute_Scheduling $postBody, $optParams = array())
6520    {
6521      $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'postBody' => $postBody);
6522      $params = array_merge($params, $optParams);
6523      return $this->call('setScheduling', array($params), "Google_Service_Compute_Operation");
6524    }
6525  
6526    /**
6527     * Sets tags for the specified instance to the data included in the request.
6528     * (instances.setTags)
6529     *
6530     * @param string $project Project ID for this request.
6531     * @param string $zone The name of the zone for this request.
6532     * @param string $instance Name of the instance scoping this request.
6533     * @param Google_Tags $postBody
6534     * @param array $optParams Optional parameters.
6535     * @return Google_Service_Compute_Operation
6536     */
6537    public function setTags($project, $zone, $instance, Google_Service_Compute_Tags $postBody, $optParams = array())
6538    {
6539      $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'postBody' => $postBody);
6540      $params = array_merge($params, $optParams);
6541      return $this->call('setTags', array($params), "Google_Service_Compute_Operation");
6542    }
6543  
6544    /**
6545     * This method starts an instance that was stopped using the using the
6546     * instances().stop method. For more information, see Restart an instance.
6547     * (instances.start)
6548     *
6549     * @param string $project Project ID for this request.
6550     * @param string $zone The name of the zone for this request.
6551     * @param string $instance Name of the instance resource to start.
6552     * @param array $optParams Optional parameters.
6553     * @return Google_Service_Compute_Operation
6554     */
6555    public function start($project, $zone, $instance, $optParams = array())
6556    {
6557      $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance);
6558      $params = array_merge($params, $optParams);
6559      return $this->call('start', array($params), "Google_Service_Compute_Operation");
6560    }
6561  
6562    /**
6563     * This method stops a running instance, shutting it down cleanly, and allows
6564     * you to restart the instance at a later time. Stopped instances do not incur
6565     * per-minute, virtual machine usage charges while they are stopped, but any
6566     * resources that the virtual machine is using, such as persistent disks and
6567     * static IP addresses,will continue to be charged until they are deleted. For
6568     * more information, see Stopping an instance. (instances.stop)
6569     *
6570     * @param string $project Project ID for this request.
6571     * @param string $zone The name of the zone for this request.
6572     * @param string $instance Name of the instance resource to stop.
6573     * @param array $optParams Optional parameters.
6574     * @return Google_Service_Compute_Operation
6575     */
6576    public function stop($project, $zone, $instance, $optParams = array())
6577    {
6578      $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance);
6579      $params = array_merge($params, $optParams);
6580      return $this->call('stop', array($params), "Google_Service_Compute_Operation");
6581    }
6582  }
6583  
6584  /**
6585   * The "licenses" collection of methods.
6586   * Typical usage is:
6587   *  <code>
6588   *   $computeService = new Google_Service_Compute(...);
6589   *   $licenses = $computeService->licenses;
6590   *  </code>
6591   */
6592  class Google_Service_Compute_Licenses_Resource extends Google_Service_Resource
6593  {
6594  
6595    /**
6596     * Returns the specified license resource. (licenses.get)
6597     *
6598     * @param string $project Project ID for this request.
6599     * @param string $license Name of the license resource to return.
6600     * @param array $optParams Optional parameters.
6601     * @return Google_Service_Compute_License
6602     */
6603    public function get($project, $license, $optParams = array())
6604    {
6605      $params = array('project' => $project, 'license' => $license);
6606      $params = array_merge($params, $optParams);
6607      return $this->call('get', array($params), "Google_Service_Compute_License");
6608    }
6609  }
6610  
6611  /**
6612   * The "machineTypes" collection of methods.
6613   * Typical usage is:
6614   *  <code>
6615   *   $computeService = new Google_Service_Compute(...);
6616   *   $machineTypes = $computeService->machineTypes;
6617   *  </code>
6618   */
6619  class Google_Service_Compute_MachineTypes_Resource extends Google_Service_Resource
6620  {
6621  
6622    /**
6623     * Retrieves the list of machine type resources grouped by scope.
6624     * (machineTypes.aggregatedList)
6625     *
6626     * @param string $project Project ID for this request.
6627     * @param array $optParams Optional parameters.
6628     *
6629     * @opt_param string filter Sets a filter expression for filtering listed
6630     * resources, in the form filter={expression}. Your {expression} must be in the
6631     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
6632     *
6633     * The FIELD_NAME is the name of the field you want to compare. Only atomic
6634     * field types are supported (string, number, boolean). The COMPARISON_STRING
6635     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
6636     * string value to filter to. The literal value must be valid for the type of
6637     * field (string, number, boolean). For string fields, the literal value is
6638     * interpreted as a regular expression using RE2 syntax. The literal value must
6639     * match the entire field.
6640     *
6641     * For example, filter=name ne example-instance.
6642     * @opt_param string pageToken Specifies a page token to use. Use this parameter
6643     * if you want to list the next page of results. Set pageToken to the
6644     * nextPageToken returned by a previous list request.
6645     * @opt_param string maxResults Maximum count of results to be returned.
6646     * @return Google_Service_Compute_MachineTypeAggregatedList
6647     */
6648    public function aggregatedList($project, $optParams = array())
6649    {
6650      $params = array('project' => $project);
6651      $params = array_merge($params, $optParams);
6652      return $this->call('aggregatedList', array($params), "Google_Service_Compute_MachineTypeAggregatedList");
6653    }
6654  
6655    /**
6656     * Returns the specified machine type resource. (machineTypes.get)
6657     *
6658     * @param string $project Project ID for this request.
6659     * @param string $zone The name of the zone for this request.
6660     * @param string $machineType Name of the machine type resource to return.
6661     * @param array $optParams Optional parameters.
6662     * @return Google_Service_Compute_MachineType
6663     */
6664    public function get($project, $zone, $machineType, $optParams = array())
6665    {
6666      $params = array('project' => $project, 'zone' => $zone, 'machineType' => $machineType);
6667      $params = array_merge($params, $optParams);
6668      return $this->call('get', array($params), "Google_Service_Compute_MachineType");
6669    }
6670  
6671    /**
6672     * Retrieves the list of machine type resources available to the specified
6673     * project. (machineTypes.listMachineTypes)
6674     *
6675     * @param string $project Project ID for this request.
6676     * @param string $zone The name of the zone for this request.
6677     * @param array $optParams Optional parameters.
6678     *
6679     * @opt_param string filter Sets a filter expression for filtering listed
6680     * resources, in the form filter={expression}. Your {expression} must be in the
6681     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
6682     *
6683     * The FIELD_NAME is the name of the field you want to compare. Only atomic
6684     * field types are supported (string, number, boolean). The COMPARISON_STRING
6685     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
6686     * string value to filter to. The literal value must be valid for the type of
6687     * field (string, number, boolean). For string fields, the literal value is
6688     * interpreted as a regular expression using RE2 syntax. The literal value must
6689     * match the entire field.
6690     *
6691     * For example, filter=name ne example-instance.
6692     * @opt_param string pageToken Specifies a page token to use. Use this parameter
6693     * if you want to list the next page of results. Set pageToken to the
6694     * nextPageToken returned by a previous list request.
6695     * @opt_param string maxResults Maximum count of results to be returned.
6696     * @return Google_Service_Compute_MachineTypeList
6697     */
6698    public function listMachineTypes($project, $zone, $optParams = array())
6699    {
6700      $params = array('project' => $project, 'zone' => $zone);
6701      $params = array_merge($params, $optParams);
6702      return $this->call('list', array($params), "Google_Service_Compute_MachineTypeList");
6703    }
6704  }
6705  
6706  /**
6707   * The "networks" collection of methods.
6708   * Typical usage is:
6709   *  <code>
6710   *   $computeService = new Google_Service_Compute(...);
6711   *   $networks = $computeService->networks;
6712   *  </code>
6713   */
6714  class Google_Service_Compute_Networks_Resource extends Google_Service_Resource
6715  {
6716  
6717    /**
6718     * Deletes the specified network resource. (networks.delete)
6719     *
6720     * @param string $project Project ID for this request.
6721     * @param string $network Name of the network resource to delete.
6722     * @param array $optParams Optional parameters.
6723     * @return Google_Service_Compute_Operation
6724     */
6725    public function delete($project, $network, $optParams = array())
6726    {
6727      $params = array('project' => $project, 'network' => $network);
6728      $params = array_merge($params, $optParams);
6729      return $this->call('delete', array($params), "Google_Service_Compute_Operation");
6730    }
6731  
6732    /**
6733     * Returns the specified network resource. (networks.get)
6734     *
6735     * @param string $project Project ID for this request.
6736     * @param string $network Name of the network resource to return.
6737     * @param array $optParams Optional parameters.
6738     * @return Google_Service_Compute_Network
6739     */
6740    public function get($project, $network, $optParams = array())
6741    {
6742      $params = array('project' => $project, 'network' => $network);
6743      $params = array_merge($params, $optParams);
6744      return $this->call('get', array($params), "Google_Service_Compute_Network");
6745    }
6746  
6747    /**
6748     * Creates a network resource in the specified project using the data included
6749     * in the request. (networks.insert)
6750     *
6751     * @param string $project Project ID for this request.
6752     * @param Google_Network $postBody
6753     * @param array $optParams Optional parameters.
6754     * @return Google_Service_Compute_Operation
6755     */
6756    public function insert($project, Google_Service_Compute_Network $postBody, $optParams = array())
6757    {
6758      $params = array('project' => $project, 'postBody' => $postBody);
6759      $params = array_merge($params, $optParams);
6760      return $this->call('insert', array($params), "Google_Service_Compute_Operation");
6761    }
6762  
6763    /**
6764     * Retrieves the list of network resources available to the specified project.
6765     * (networks.listNetworks)
6766     *
6767     * @param string $project Project ID for this request.
6768     * @param array $optParams Optional parameters.
6769     *
6770     * @opt_param string filter Sets a filter expression for filtering listed
6771     * resources, in the form filter={expression}. Your {expression} must be in the
6772     * format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.
6773     *
6774     * The FIELD_NAME is the name of the field you want to compare. Only atomic
6775     * field types are supported (string, number, boolean). The COMPARISON_STRING
6776     * must be either eq (equals) or ne (not equals). The LITERAL_STRING is the
6777     * string value to filter to. The literal value must be valid for the type of
6778     * field (string, number, boolean). For string fields, the literal value is
6779     * interpreted as a regular expression using RE2 syntax. The literal value must
6780     * match the entire field.
6781     *
6782     * For example, filter=name ne example-instance.
6783     * @opt_param string pageToken Specifies a page token to use. Use this parameter
6784     * if you want to list the next page of results. Set pageToken to the
6785     * nextPageToken returned by a previous list request.
6786     * @opt_param string maxResults Maximum count of results to be returned.
6787     * @return Google_Service_Compute_NetworkList
6788     */
6789    public function listNetworks($project, $optParams = array())
6790    {
6791      $params = array('project' => $project);
6792      $params = array_merge($params, $optParams);
6793      return $this->call('list', array($params), "Google_Service_Compute_NetworkList");
6794    }
6795  }
6796  
6797  /**
6798   * The "projects" collection of methods.
6799   * Typical usage is:
6800   *  <code>
6801   *   $computeService = new Google_Service_Compute(...);
6802   *   $projects = $computeService->projects;
6803   *  </code>
6804   */
6805  class Google_Service_Compute_Projects_Resource extends Google_Service_Resource
6806  {
6807  
6808    /**
6809     * Returns the specified project resource. (projects.get)
6810     *
6811     * @param string $project Project ID for this request.
6812     * @param array $optParams Optional parameters.
6813     * @return Google_Service_Compute_Project
6814     */
6815    public function get($project, $optParams = array())
6816    {
6817      $params = array('project' => $project);
6818      $params = array_merge($params, $optParams);
6819      return $this->call('get', array($params), "Google_Service_Compute_Project");
6820    }
6821  
6822    /**
6823     * Moves a persistent disk from one zone to another. (projects.moveDisk)
6824     *
6825     * @param string $project Project ID for this request.
6826     * @param Google_DiskMoveRequest $postBody
6827     * @param array $optParams Optional parameters.
6828     * @return Google_Service_Compute_Operation
6829     */
6830    public function moveDisk(