1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18/**
19 * Service definition for ServiceNetworking (v1).
20 *
21 * <p>
22 * Provides automatic management of network configurations necessary for certain
23 * services.</p>
24 *
25 * <p>
26 * For more information about this service, see the API
27 * <a href="https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started" target="_blank">Documentation</a>
28 * </p>
29 *
30 * @author Google, Inc.
31 */
32class Google_Service_ServiceNetworking extends Google_Service
33{
34  /** View and manage your data across Google Cloud Platform services. */
35  const CLOUD_PLATFORM =
36      "https://www.googleapis.com/auth/cloud-platform";
37  /** Manage your Google API service configuration. */
38  const SERVICE_MANAGEMENT =
39      "https://www.googleapis.com/auth/service.management";
40
41  public $operations;
42  public $services;
43  public $services_connections;
44
45  /**
46   * Constructs the internal representation of the ServiceNetworking service.
47   *
48   * @param Google_Client $client
49   */
50  public function __construct(Google_Client $client)
51  {
52    parent::__construct($client);
53    $this->rootUrl = 'https://servicenetworking.googleapis.com/';
54    $this->servicePath = '';
55    $this->batchPath = 'batch';
56    $this->version = 'v1';
57    $this->serviceName = 'servicenetworking';
58
59    $this->operations = new Google_Service_ServiceNetworking_Resource_Operations(
60        $this,
61        $this->serviceName,
62        'operations',
63        array(
64          'methods' => array(
65            'cancel' => array(
66              'path' => 'v1/{+name}:cancel',
67              'httpMethod' => 'POST',
68              'parameters' => array(
69                'name' => array(
70                  'location' => 'path',
71                  'type' => 'string',
72                  'required' => true,
73                ),
74              ),
75            ),'delete' => array(
76              'path' => 'v1/{+name}',
77              'httpMethod' => 'DELETE',
78              'parameters' => array(
79                'name' => array(
80                  'location' => 'path',
81                  'type' => 'string',
82                  'required' => true,
83                ),
84              ),
85            ),'get' => array(
86              'path' => 'v1/{+name}',
87              'httpMethod' => 'GET',
88              'parameters' => array(
89                'name' => array(
90                  'location' => 'path',
91                  'type' => 'string',
92                  'required' => true,
93                ),
94              ),
95            ),'list' => array(
96              'path' => 'v1/{+name}',
97              'httpMethod' => 'GET',
98              'parameters' => array(
99                'name' => array(
100                  'location' => 'path',
101                  'type' => 'string',
102                  'required' => true,
103                ),
104                'pageToken' => array(
105                  'location' => 'query',
106                  'type' => 'string',
107                ),
108                'pageSize' => array(
109                  'location' => 'query',
110                  'type' => 'integer',
111                ),
112                'filter' => array(
113                  'location' => 'query',
114                  'type' => 'string',
115                ),
116              ),
117            ),
118          )
119        )
120    );
121    $this->services = new Google_Service_ServiceNetworking_Resource_Services(
122        $this,
123        $this->serviceName,
124        'services',
125        array(
126          'methods' => array(
127            'addSubnetwork' => array(
128              'path' => 'v1/{+parent}:addSubnetwork',
129              'httpMethod' => 'POST',
130              'parameters' => array(
131                'parent' => array(
132                  'location' => 'path',
133                  'type' => 'string',
134                  'required' => true,
135                ),
136              ),
137            ),'searchRange' => array(
138              'path' => 'v1/{+parent}:searchRange',
139              'httpMethod' => 'POST',
140              'parameters' => array(
141                'parent' => array(
142                  'location' => 'path',
143                  'type' => 'string',
144                  'required' => true,
145                ),
146              ),
147            ),
148          )
149        )
150    );
151    $this->services_connections = new Google_Service_ServiceNetworking_Resource_ServicesConnections(
152        $this,
153        $this->serviceName,
154        'connections',
155        array(
156          'methods' => array(
157            'create' => array(
158              'path' => 'v1/{+parent}/connections',
159              'httpMethod' => 'POST',
160              'parameters' => array(
161                'parent' => array(
162                  'location' => 'path',
163                  'type' => 'string',
164                  'required' => true,
165                ),
166              ),
167            ),'list' => array(
168              'path' => 'v1/{+parent}/connections',
169              'httpMethod' => 'GET',
170              'parameters' => array(
171                'parent' => array(
172                  'location' => 'path',
173                  'type' => 'string',
174                  'required' => true,
175                ),
176                'network' => array(
177                  'location' => 'query',
178                  'type' => 'string',
179                ),
180              ),
181            ),'patch' => array(
182              'path' => 'v1/{+name}',
183              'httpMethod' => 'PATCH',
184              'parameters' => array(
185                'name' => array(
186                  'location' => 'path',
187                  'type' => 'string',
188                  'required' => true,
189                ),
190                'updateMask' => array(
191                  'location' => 'query',
192                  'type' => 'string',
193                ),
194                'force' => array(
195                  'location' => 'query',
196                  'type' => 'boolean',
197                ),
198              ),
199            ),
200          )
201        )
202    );
203  }
204}
205