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 TPU (v1).
20 *
21 * <p>
22 * TPU API provides customers with access to Google TPU technology.</p>
23 *
24 * <p>
25 * For more information about this service, see the API
26 * <a href="https://cloud.google.com/tpu/" target="_blank">Documentation</a>
27 * </p>
28 *
29 * @author Google, Inc.
30 */
31class Google_Service_TPU extends Google_Service
32{
33  /** View and manage your data across Google Cloud Platform services. */
34  const CLOUD_PLATFORM =
35      "https://www.googleapis.com/auth/cloud-platform";
36
37  public $projects_locations;
38  public $projects_locations_acceleratorTypes;
39  public $projects_locations_nodes;
40  public $projects_locations_operations;
41  public $projects_locations_tensorflowVersions;
42
43  /**
44   * Constructs the internal representation of the TPU service.
45   *
46   * @param Google_Client $client
47   */
48  public function __construct(Google_Client $client)
49  {
50    parent::__construct($client);
51    $this->rootUrl = 'https://tpu.googleapis.com/';
52    $this->servicePath = '';
53    $this->batchPath = 'batch';
54    $this->version = 'v1';
55    $this->serviceName = 'tpu';
56
57    $this->projects_locations = new Google_Service_TPU_Resource_ProjectsLocations(
58        $this,
59        $this->serviceName,
60        'locations',
61        array(
62          'methods' => array(
63            'get' => array(
64              'path' => 'v1/{+name}',
65              'httpMethod' => 'GET',
66              'parameters' => array(
67                'name' => array(
68                  'location' => 'path',
69                  'type' => 'string',
70                  'required' => true,
71                ),
72              ),
73            ),'list' => array(
74              'path' => 'v1/{+name}/locations',
75              'httpMethod' => 'GET',
76              'parameters' => array(
77                'name' => array(
78                  'location' => 'path',
79                  'type' => 'string',
80                  'required' => true,
81                ),
82                'pageToken' => array(
83                  'location' => 'query',
84                  'type' => 'string',
85                ),
86                'pageSize' => array(
87                  'location' => 'query',
88                  'type' => 'integer',
89                ),
90                'filter' => array(
91                  'location' => 'query',
92                  'type' => 'string',
93                ),
94              ),
95            ),
96          )
97        )
98    );
99    $this->projects_locations_acceleratorTypes = new Google_Service_TPU_Resource_ProjectsLocationsAcceleratorTypes(
100        $this,
101        $this->serviceName,
102        'acceleratorTypes',
103        array(
104          'methods' => array(
105            'get' => array(
106              'path' => 'v1/{+name}',
107              'httpMethod' => 'GET',
108              'parameters' => array(
109                'name' => array(
110                  'location' => 'path',
111                  'type' => 'string',
112                  'required' => true,
113                ),
114              ),
115            ),'list' => array(
116              'path' => 'v1/{+parent}/acceleratorTypes',
117              'httpMethod' => 'GET',
118              'parameters' => array(
119                'parent' => array(
120                  'location' => 'path',
121                  'type' => 'string',
122                  'required' => true,
123                ),
124                'pageToken' => array(
125                  'location' => 'query',
126                  'type' => 'string',
127                ),
128                'orderBy' => array(
129                  'location' => 'query',
130                  'type' => 'string',
131                ),
132                'pageSize' => array(
133                  'location' => 'query',
134                  'type' => 'integer',
135                ),
136                'filter' => array(
137                  'location' => 'query',
138                  'type' => 'string',
139                ),
140              ),
141            ),
142          )
143        )
144    );
145    $this->projects_locations_nodes = new Google_Service_TPU_Resource_ProjectsLocationsNodes(
146        $this,
147        $this->serviceName,
148        'nodes',
149        array(
150          'methods' => array(
151            'create' => array(
152              'path' => 'v1/{+parent}/nodes',
153              'httpMethod' => 'POST',
154              'parameters' => array(
155                'parent' => array(
156                  'location' => 'path',
157                  'type' => 'string',
158                  'required' => true,
159                ),
160                'nodeId' => array(
161                  'location' => 'query',
162                  'type' => 'string',
163                ),
164              ),
165            ),'delete' => array(
166              'path' => 'v1/{+name}',
167              'httpMethod' => 'DELETE',
168              'parameters' => array(
169                'name' => array(
170                  'location' => 'path',
171                  'type' => 'string',
172                  'required' => true,
173                ),
174              ),
175            ),'get' => array(
176              'path' => 'v1/{+name}',
177              'httpMethod' => 'GET',
178              'parameters' => array(
179                'name' => array(
180                  'location' => 'path',
181                  'type' => 'string',
182                  'required' => true,
183                ),
184              ),
185            ),'list' => array(
186              'path' => 'v1/{+parent}/nodes',
187              'httpMethod' => 'GET',
188              'parameters' => array(
189                'parent' => array(
190                  'location' => 'path',
191                  'type' => 'string',
192                  'required' => true,
193                ),
194                'pageToken' => array(
195                  'location' => 'query',
196                  'type' => 'string',
197                ),
198                'pageSize' => array(
199                  'location' => 'query',
200                  'type' => 'integer',
201                ),
202              ),
203            ),'reimage' => array(
204              'path' => 'v1/{+name}:reimage',
205              'httpMethod' => 'POST',
206              'parameters' => array(
207                'name' => array(
208                  'location' => 'path',
209                  'type' => 'string',
210                  'required' => true,
211                ),
212              ),
213            ),'start' => array(
214              'path' => 'v1/{+name}:start',
215              'httpMethod' => 'POST',
216              'parameters' => array(
217                'name' => array(
218                  'location' => 'path',
219                  'type' => 'string',
220                  'required' => true,
221                ),
222              ),
223            ),'stop' => array(
224              'path' => 'v1/{+name}:stop',
225              'httpMethod' => 'POST',
226              'parameters' => array(
227                'name' => array(
228                  'location' => 'path',
229                  'type' => 'string',
230                  'required' => true,
231                ),
232              ),
233            ),
234          )
235        )
236    );
237    $this->projects_locations_operations = new Google_Service_TPU_Resource_ProjectsLocationsOperations(
238        $this,
239        $this->serviceName,
240        'operations',
241        array(
242          'methods' => array(
243            'cancel' => array(
244              'path' => 'v1/{+name}:cancel',
245              'httpMethod' => 'POST',
246              'parameters' => array(
247                'name' => array(
248                  'location' => 'path',
249                  'type' => 'string',
250                  'required' => true,
251                ),
252              ),
253            ),'delete' => array(
254              'path' => 'v1/{+name}',
255              'httpMethod' => 'DELETE',
256              'parameters' => array(
257                'name' => array(
258                  'location' => 'path',
259                  'type' => 'string',
260                  'required' => true,
261                ),
262              ),
263            ),'get' => array(
264              'path' => 'v1/{+name}',
265              'httpMethod' => 'GET',
266              'parameters' => array(
267                'name' => array(
268                  'location' => 'path',
269                  'type' => 'string',
270                  'required' => true,
271                ),
272              ),
273            ),'list' => array(
274              'path' => 'v1/{+name}/operations',
275              'httpMethod' => 'GET',
276              'parameters' => array(
277                'name' => array(
278                  'location' => 'path',
279                  'type' => 'string',
280                  'required' => true,
281                ),
282                'filter' => array(
283                  'location' => 'query',
284                  'type' => 'string',
285                ),
286                'pageToken' => array(
287                  'location' => 'query',
288                  'type' => 'string',
289                ),
290                'pageSize' => array(
291                  'location' => 'query',
292                  'type' => 'integer',
293                ),
294              ),
295            ),
296          )
297        )
298    );
299    $this->projects_locations_tensorflowVersions = new Google_Service_TPU_Resource_ProjectsLocationsTensorflowVersions(
300        $this,
301        $this->serviceName,
302        'tensorflowVersions',
303        array(
304          'methods' => array(
305            'get' => array(
306              'path' => 'v1/{+name}',
307              'httpMethod' => 'GET',
308              'parameters' => array(
309                'name' => array(
310                  'location' => 'path',
311                  'type' => 'string',
312                  'required' => true,
313                ),
314              ),
315            ),'list' => array(
316              'path' => 'v1/{+parent}/tensorflowVersions',
317              'httpMethod' => 'GET',
318              'parameters' => array(
319                'parent' => array(
320                  'location' => 'path',
321                  'type' => 'string',
322                  'required' => true,
323                ),
324                'pageToken' => array(
325                  'location' => 'query',
326                  'type' => 'string',
327                ),
328                'orderBy' => array(
329                  'location' => 'query',
330                  'type' => 'string',
331                ),
332                'pageSize' => array(
333                  'location' => 'query',
334                  'type' => 'integer',
335                ),
336                'filter' => array(
337                  'location' => 'query',
338                  'type' => 'string',
339                ),
340              ),
341            ),
342          )
343        )
344    );
345  }
346}
347