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 Replicapool (v1beta1).
20 *
21 * <p>
22 * The Replica Pool API allows users to declaratively provision and manage
23 * groups of Google Compute Engine instances based on a common template.</p>
24 *
25 * <p>
26 * For more information about this service, see the API
27 * <a href="https://developers.google.com/compute/docs/replica-pool/" target="_blank">Documentation</a>
28 * </p>
29 *
30 * @author Google, Inc.
31 */
32class Google_Service_Replicapool 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  /** View your data across Google Cloud Platform services. */
38  const CLOUD_PLATFORM_READ_ONLY =
39      "https://www.googleapis.com/auth/cloud-platform.read-only";
40  /** View and manage your Google Cloud Platform management resources and deployment status information. */
41  const NDEV_CLOUDMAN =
42      "https://www.googleapis.com/auth/ndev.cloudman";
43  /** View your Google Cloud Platform management resources and deployment status information. */
44  const NDEV_CLOUDMAN_READONLY =
45      "https://www.googleapis.com/auth/ndev.cloudman.readonly";
46  /** View and manage replica pools. */
47  const REPLICAPOOL =
48      "https://www.googleapis.com/auth/replicapool";
49  /** View replica pools. */
50  const REPLICAPOOL_READONLY =
51      "https://www.googleapis.com/auth/replicapool.readonly";
52
53  public $pools;
54  public $replicas;
55
56  /**
57   * Constructs the internal representation of the Replicapool service.
58   *
59   * @param Google_Client $client
60   */
61  public function __construct(Google_Client $client)
62  {
63    parent::__construct($client);
64    $this->rootUrl = 'https://www.googleapis.com/';
65    $this->servicePath = 'replicapool/v1beta1/projects/';
66    $this->batchPath = 'batch/replicapool/v1beta1';
67    $this->version = 'v1beta1';
68    $this->serviceName = 'replicapool';
69
70    $this->pools = new Google_Service_Replicapool_Resource_Pools(
71        $this,
72        $this->serviceName,
73        'pools',
74        array(
75          'methods' => array(
76            'delete' => array(
77              'path' => '{projectName}/zones/{zone}/pools/{poolName}',
78              'httpMethod' => 'POST',
79              'parameters' => array(
80                'projectName' => array(
81                  'location' => 'path',
82                  'type' => 'string',
83                  'required' => true,
84                ),
85                'zone' => array(
86                  'location' => 'path',
87                  'type' => 'string',
88                  'required' => true,
89                ),
90                'poolName' => array(
91                  'location' => 'path',
92                  'type' => 'string',
93                  'required' => true,
94                ),
95              ),
96            ),'get' => array(
97              'path' => '{projectName}/zones/{zone}/pools/{poolName}',
98              'httpMethod' => 'GET',
99              'parameters' => array(
100                'projectName' => array(
101                  'location' => 'path',
102                  'type' => 'string',
103                  'required' => true,
104                ),
105                'zone' => array(
106                  'location' => 'path',
107                  'type' => 'string',
108                  'required' => true,
109                ),
110                'poolName' => array(
111                  'location' => 'path',
112                  'type' => 'string',
113                  'required' => true,
114                ),
115              ),
116            ),'insert' => array(
117              'path' => '{projectName}/zones/{zone}/pools',
118              'httpMethod' => 'POST',
119              'parameters' => array(
120                'projectName' => array(
121                  'location' => 'path',
122                  'type' => 'string',
123                  'required' => true,
124                ),
125                'zone' => array(
126                  'location' => 'path',
127                  'type' => 'string',
128                  'required' => true,
129                ),
130              ),
131            ),'list' => array(
132              'path' => '{projectName}/zones/{zone}/pools',
133              'httpMethod' => 'GET',
134              'parameters' => array(
135                'projectName' => array(
136                  'location' => 'path',
137                  'type' => 'string',
138                  'required' => true,
139                ),
140                'zone' => array(
141                  'location' => 'path',
142                  'type' => 'string',
143                  'required' => true,
144                ),
145                'maxResults' => array(
146                  'location' => 'query',
147                  'type' => 'integer',
148                ),
149                'pageToken' => array(
150                  'location' => 'query',
151                  'type' => 'string',
152                ),
153              ),
154            ),'resize' => array(
155              'path' => '{projectName}/zones/{zone}/pools/{poolName}/resize',
156              'httpMethod' => 'POST',
157              'parameters' => array(
158                'projectName' => array(
159                  'location' => 'path',
160                  'type' => 'string',
161                  'required' => true,
162                ),
163                'zone' => array(
164                  'location' => 'path',
165                  'type' => 'string',
166                  'required' => true,
167                ),
168                'poolName' => array(
169                  'location' => 'path',
170                  'type' => 'string',
171                  'required' => true,
172                ),
173                'numReplicas' => array(
174                  'location' => 'query',
175                  'type' => 'integer',
176                ),
177              ),
178            ),'updatetemplate' => array(
179              'path' => '{projectName}/zones/{zone}/pools/{poolName}/updateTemplate',
180              'httpMethod' => 'POST',
181              'parameters' => array(
182                'projectName' => array(
183                  'location' => 'path',
184                  'type' => 'string',
185                  'required' => true,
186                ),
187                'zone' => array(
188                  'location' => 'path',
189                  'type' => 'string',
190                  'required' => true,
191                ),
192                'poolName' => array(
193                  'location' => 'path',
194                  'type' => 'string',
195                  'required' => true,
196                ),
197              ),
198            ),
199          )
200        )
201    );
202    $this->replicas = new Google_Service_Replicapool_Resource_Replicas(
203        $this,
204        $this->serviceName,
205        'replicas',
206        array(
207          'methods' => array(
208            'delete' => array(
209              'path' => '{projectName}/zones/{zone}/pools/{poolName}/replicas/{replicaName}',
210              'httpMethod' => 'POST',
211              'parameters' => array(
212                'projectName' => array(
213                  'location' => 'path',
214                  'type' => 'string',
215                  'required' => true,
216                ),
217                'zone' => array(
218                  'location' => 'path',
219                  'type' => 'string',
220                  'required' => true,
221                ),
222                'poolName' => array(
223                  'location' => 'path',
224                  'type' => 'string',
225                  'required' => true,
226                ),
227                'replicaName' => array(
228                  'location' => 'path',
229                  'type' => 'string',
230                  'required' => true,
231                ),
232              ),
233            ),'get' => array(
234              'path' => '{projectName}/zones/{zone}/pools/{poolName}/replicas/{replicaName}',
235              'httpMethod' => 'GET',
236              'parameters' => array(
237                'projectName' => array(
238                  'location' => 'path',
239                  'type' => 'string',
240                  'required' => true,
241                ),
242                'zone' => array(
243                  'location' => 'path',
244                  'type' => 'string',
245                  'required' => true,
246                ),
247                'poolName' => array(
248                  'location' => 'path',
249                  'type' => 'string',
250                  'required' => true,
251                ),
252                'replicaName' => array(
253                  'location' => 'path',
254                  'type' => 'string',
255                  'required' => true,
256                ),
257              ),
258            ),'list' => array(
259              'path' => '{projectName}/zones/{zone}/pools/{poolName}/replicas',
260              'httpMethod' => 'GET',
261              'parameters' => array(
262                'projectName' => array(
263                  'location' => 'path',
264                  'type' => 'string',
265                  'required' => true,
266                ),
267                'zone' => array(
268                  'location' => 'path',
269                  'type' => 'string',
270                  'required' => true,
271                ),
272                'poolName' => array(
273                  'location' => 'path',
274                  'type' => 'string',
275                  'required' => true,
276                ),
277                'maxResults' => array(
278                  'location' => 'query',
279                  'type' => 'integer',
280                ),
281                'pageToken' => array(
282                  'location' => 'query',
283                  'type' => 'string',
284                ),
285              ),
286            ),'restart' => array(
287              'path' => '{projectName}/zones/{zone}/pools/{poolName}/replicas/{replicaName}/restart',
288              'httpMethod' => 'POST',
289              'parameters' => array(
290                'projectName' => array(
291                  'location' => 'path',
292                  'type' => 'string',
293                  'required' => true,
294                ),
295                'zone' => array(
296                  'location' => 'path',
297                  'type' => 'string',
298                  'required' => true,
299                ),
300                'poolName' => array(
301                  'location' => 'path',
302                  'type' => 'string',
303                  'required' => true,
304                ),
305                'replicaName' => array(
306                  'location' => 'path',
307                  'type' => 'string',
308                  'required' => true,
309                ),
310              ),
311            ),
312          )
313        )
314    );
315  }
316}
317