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 Spanner (v1).
20 *
21 * <p>
22 * Cloud Spanner is a managed, mission-critical, globally consistent and
23 * scalable relational database service.</p>
24 *
25 * <p>
26 * For more information about this service, see the API
27 * <a href="https://cloud.google.com/spanner/" target="_blank">Documentation</a>
28 * </p>
29 *
30 * @author Google, Inc.
31 */
32class Google_Service_Spanner 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  /** Administer your Spanner databases. */
38  const SPANNER_ADMIN =
39      "https://www.googleapis.com/auth/spanner.admin";
40  /** View and manage the contents of your Spanner databases. */
41  const SPANNER_DATA =
42      "https://www.googleapis.com/auth/spanner.data";
43
44  public $projects_instanceConfigs;
45  public $projects_instances;
46  public $projects_instances_databases;
47  public $projects_instances_databases_operations;
48  public $projects_instances_databases_sessions;
49  public $projects_instances_operations;
50
51  /**
52   * Constructs the internal representation of the Spanner service.
53   *
54   * @param Google_Client $client
55   */
56  public function __construct(Google_Client $client)
57  {
58    parent::__construct($client);
59    $this->rootUrl = 'https://spanner.googleapis.com/';
60    $this->servicePath = '';
61    $this->batchPath = 'batch';
62    $this->version = 'v1';
63    $this->serviceName = 'spanner';
64
65    $this->projects_instanceConfigs = new Google_Service_Spanner_Resource_ProjectsInstanceConfigs(
66        $this,
67        $this->serviceName,
68        'instanceConfigs',
69        array(
70          'methods' => array(
71            'get' => array(
72              'path' => 'v1/{+name}',
73              'httpMethod' => 'GET',
74              'parameters' => array(
75                'name' => array(
76                  'location' => 'path',
77                  'type' => 'string',
78                  'required' => true,
79                ),
80              ),
81            ),'list' => array(
82              'path' => 'v1/{+parent}/instanceConfigs',
83              'httpMethod' => 'GET',
84              'parameters' => array(
85                'parent' => array(
86                  'location' => 'path',
87                  'type' => 'string',
88                  'required' => true,
89                ),
90                'pageToken' => array(
91                  'location' => 'query',
92                  'type' => 'string',
93                ),
94                'pageSize' => array(
95                  'location' => 'query',
96                  'type' => 'integer',
97                ),
98              ),
99            ),
100          )
101        )
102    );
103    $this->projects_instances = new Google_Service_Spanner_Resource_ProjectsInstances(
104        $this,
105        $this->serviceName,
106        'instances',
107        array(
108          'methods' => array(
109            'create' => array(
110              'path' => 'v1/{+parent}/instances',
111              'httpMethod' => 'POST',
112              'parameters' => array(
113                'parent' => array(
114                  'location' => 'path',
115                  'type' => 'string',
116                  'required' => true,
117                ),
118              ),
119            ),'delete' => array(
120              'path' => 'v1/{+name}',
121              'httpMethod' => 'DELETE',
122              'parameters' => array(
123                'name' => array(
124                  'location' => 'path',
125                  'type' => 'string',
126                  'required' => true,
127                ),
128              ),
129            ),'get' => array(
130              'path' => 'v1/{+name}',
131              'httpMethod' => 'GET',
132              'parameters' => array(
133                'name' => array(
134                  'location' => 'path',
135                  'type' => 'string',
136                  'required' => true,
137                ),
138              ),
139            ),'getIamPolicy' => array(
140              'path' => 'v1/{+resource}:getIamPolicy',
141              'httpMethod' => 'POST',
142              'parameters' => array(
143                'resource' => array(
144                  'location' => 'path',
145                  'type' => 'string',
146                  'required' => true,
147                ),
148              ),
149            ),'list' => array(
150              'path' => 'v1/{+parent}/instances',
151              'httpMethod' => 'GET',
152              'parameters' => array(
153                'parent' => array(
154                  'location' => 'path',
155                  'type' => 'string',
156                  'required' => true,
157                ),
158                'filter' => array(
159                  'location' => 'query',
160                  'type' => 'string',
161                ),
162                'pageToken' => array(
163                  'location' => 'query',
164                  'type' => 'string',
165                ),
166                'pageSize' => array(
167                  'location' => 'query',
168                  'type' => 'integer',
169                ),
170              ),
171            ),'patch' => array(
172              'path' => 'v1/{+name}',
173              'httpMethod' => 'PATCH',
174              'parameters' => array(
175                'name' => array(
176                  'location' => 'path',
177                  'type' => 'string',
178                  'required' => true,
179                ),
180              ),
181            ),'setIamPolicy' => array(
182              'path' => 'v1/{+resource}:setIamPolicy',
183              'httpMethod' => 'POST',
184              'parameters' => array(
185                'resource' => array(
186                  'location' => 'path',
187                  'type' => 'string',
188                  'required' => true,
189                ),
190              ),
191            ),'testIamPermissions' => array(
192              'path' => 'v1/{+resource}:testIamPermissions',
193              'httpMethod' => 'POST',
194              'parameters' => array(
195                'resource' => array(
196                  'location' => 'path',
197                  'type' => 'string',
198                  'required' => true,
199                ),
200              ),
201            ),
202          )
203        )
204    );
205    $this->projects_instances_databases = new Google_Service_Spanner_Resource_ProjectsInstancesDatabases(
206        $this,
207        $this->serviceName,
208        'databases',
209        array(
210          'methods' => array(
211            'create' => array(
212              'path' => 'v1/{+parent}/databases',
213              'httpMethod' => 'POST',
214              'parameters' => array(
215                'parent' => array(
216                  'location' => 'path',
217                  'type' => 'string',
218                  'required' => true,
219                ),
220              ),
221            ),'dropDatabase' => array(
222              'path' => 'v1/{+database}',
223              'httpMethod' => 'DELETE',
224              'parameters' => array(
225                'database' => array(
226                  'location' => 'path',
227                  'type' => 'string',
228                  'required' => true,
229                ),
230              ),
231            ),'get' => array(
232              'path' => 'v1/{+name}',
233              'httpMethod' => 'GET',
234              'parameters' => array(
235                'name' => array(
236                  'location' => 'path',
237                  'type' => 'string',
238                  'required' => true,
239                ),
240              ),
241            ),'getDdl' => array(
242              'path' => 'v1/{+database}/ddl',
243              'httpMethod' => 'GET',
244              'parameters' => array(
245                'database' => array(
246                  'location' => 'path',
247                  'type' => 'string',
248                  'required' => true,
249                ),
250              ),
251            ),'getIamPolicy' => array(
252              'path' => 'v1/{+resource}:getIamPolicy',
253              'httpMethod' => 'POST',
254              'parameters' => array(
255                'resource' => array(
256                  'location' => 'path',
257                  'type' => 'string',
258                  'required' => true,
259                ),
260              ),
261            ),'list' => array(
262              'path' => 'v1/{+parent}/databases',
263              'httpMethod' => 'GET',
264              'parameters' => array(
265                'parent' => array(
266                  'location' => 'path',
267                  'type' => 'string',
268                  'required' => true,
269                ),
270                'pageSize' => array(
271                  'location' => 'query',
272                  'type' => 'integer',
273                ),
274                'pageToken' => array(
275                  'location' => 'query',
276                  'type' => 'string',
277                ),
278              ),
279            ),'setIamPolicy' => array(
280              'path' => 'v1/{+resource}:setIamPolicy',
281              'httpMethod' => 'POST',
282              'parameters' => array(
283                'resource' => array(
284                  'location' => 'path',
285                  'type' => 'string',
286                  'required' => true,
287                ),
288              ),
289            ),'testIamPermissions' => array(
290              'path' => 'v1/{+resource}:testIamPermissions',
291              'httpMethod' => 'POST',
292              'parameters' => array(
293                'resource' => array(
294                  'location' => 'path',
295                  'type' => 'string',
296                  'required' => true,
297                ),
298              ),
299            ),'updateDdl' => array(
300              'path' => 'v1/{+database}/ddl',
301              'httpMethod' => 'PATCH',
302              'parameters' => array(
303                'database' => array(
304                  'location' => 'path',
305                  'type' => 'string',
306                  'required' => true,
307                ),
308              ),
309            ),
310          )
311        )
312    );
313    $this->projects_instances_databases_operations = new Google_Service_Spanner_Resource_ProjectsInstancesDatabasesOperations(
314        $this,
315        $this->serviceName,
316        'operations',
317        array(
318          'methods' => array(
319            'cancel' => array(
320              'path' => 'v1/{+name}:cancel',
321              'httpMethod' => 'POST',
322              'parameters' => array(
323                'name' => array(
324                  'location' => 'path',
325                  'type' => 'string',
326                  'required' => true,
327                ),
328              ),
329            ),'delete' => array(
330              'path' => 'v1/{+name}',
331              'httpMethod' => 'DELETE',
332              'parameters' => array(
333                'name' => array(
334                  'location' => 'path',
335                  'type' => 'string',
336                  'required' => true,
337                ),
338              ),
339            ),'get' => array(
340              'path' => 'v1/{+name}',
341              'httpMethod' => 'GET',
342              'parameters' => array(
343                'name' => array(
344                  'location' => 'path',
345                  'type' => 'string',
346                  'required' => true,
347                ),
348              ),
349            ),'list' => array(
350              'path' => 'v1/{+name}',
351              'httpMethod' => 'GET',
352              'parameters' => array(
353                'name' => array(
354                  'location' => 'path',
355                  'type' => 'string',
356                  'required' => true,
357                ),
358                'filter' => array(
359                  'location' => 'query',
360                  'type' => 'string',
361                ),
362                'pageToken' => array(
363                  'location' => 'query',
364                  'type' => 'string',
365                ),
366                'pageSize' => array(
367                  'location' => 'query',
368                  'type' => 'integer',
369                ),
370              ),
371            ),
372          )
373        )
374    );
375    $this->projects_instances_databases_sessions = new Google_Service_Spanner_Resource_ProjectsInstancesDatabasesSessions(
376        $this,
377        $this->serviceName,
378        'sessions',
379        array(
380          'methods' => array(
381            'beginTransaction' => array(
382              'path' => 'v1/{+session}:beginTransaction',
383              'httpMethod' => 'POST',
384              'parameters' => array(
385                'session' => array(
386                  'location' => 'path',
387                  'type' => 'string',
388                  'required' => true,
389                ),
390              ),
391            ),'commit' => array(
392              'path' => 'v1/{+session}:commit',
393              'httpMethod' => 'POST',
394              'parameters' => array(
395                'session' => array(
396                  'location' => 'path',
397                  'type' => 'string',
398                  'required' => true,
399                ),
400              ),
401            ),'create' => array(
402              'path' => 'v1/{+database}/sessions',
403              'httpMethod' => 'POST',
404              'parameters' => array(
405                'database' => array(
406                  'location' => 'path',
407                  'type' => 'string',
408                  'required' => true,
409                ),
410              ),
411            ),'delete' => array(
412              'path' => 'v1/{+name}',
413              'httpMethod' => 'DELETE',
414              'parameters' => array(
415                'name' => array(
416                  'location' => 'path',
417                  'type' => 'string',
418                  'required' => true,
419                ),
420              ),
421            ),'executeBatchDml' => array(
422              'path' => 'v1/{+session}:executeBatchDml',
423              'httpMethod' => 'POST',
424              'parameters' => array(
425                'session' => array(
426                  'location' => 'path',
427                  'type' => 'string',
428                  'required' => true,
429                ),
430              ),
431            ),'executeSql' => array(
432              'path' => 'v1/{+session}:executeSql',
433              'httpMethod' => 'POST',
434              'parameters' => array(
435                'session' => array(
436                  'location' => 'path',
437                  'type' => 'string',
438                  'required' => true,
439                ),
440              ),
441            ),'executeStreamingSql' => array(
442              'path' => 'v1/{+session}:executeStreamingSql',
443              'httpMethod' => 'POST',
444              'parameters' => array(
445                'session' => array(
446                  'location' => 'path',
447                  'type' => 'string',
448                  'required' => true,
449                ),
450              ),
451            ),'get' => array(
452              'path' => 'v1/{+name}',
453              'httpMethod' => 'GET',
454              'parameters' => array(
455                'name' => array(
456                  'location' => 'path',
457                  'type' => 'string',
458                  'required' => true,
459                ),
460              ),
461            ),'list' => array(
462              'path' => 'v1/{+database}/sessions',
463              'httpMethod' => 'GET',
464              'parameters' => array(
465                'database' => array(
466                  'location' => 'path',
467                  'type' => 'string',
468                  'required' => true,
469                ),
470                'filter' => array(
471                  'location' => 'query',
472                  'type' => 'string',
473                ),
474                'pageToken' => array(
475                  'location' => 'query',
476                  'type' => 'string',
477                ),
478                'pageSize' => array(
479                  'location' => 'query',
480                  'type' => 'integer',
481                ),
482              ),
483            ),'partitionQuery' => array(
484              'path' => 'v1/{+session}:partitionQuery',
485              'httpMethod' => 'POST',
486              'parameters' => array(
487                'session' => array(
488                  'location' => 'path',
489                  'type' => 'string',
490                  'required' => true,
491                ),
492              ),
493            ),'partitionRead' => array(
494              'path' => 'v1/{+session}:partitionRead',
495              'httpMethod' => 'POST',
496              'parameters' => array(
497                'session' => array(
498                  'location' => 'path',
499                  'type' => 'string',
500                  'required' => true,
501                ),
502              ),
503            ),'read' => array(
504              'path' => 'v1/{+session}:read',
505              'httpMethod' => 'POST',
506              'parameters' => array(
507                'session' => array(
508                  'location' => 'path',
509                  'type' => 'string',
510                  'required' => true,
511                ),
512              ),
513            ),'rollback' => array(
514              'path' => 'v1/{+session}:rollback',
515              'httpMethod' => 'POST',
516              'parameters' => array(
517                'session' => array(
518                  'location' => 'path',
519                  'type' => 'string',
520                  'required' => true,
521                ),
522              ),
523            ),'streamingRead' => array(
524              'path' => 'v1/{+session}:streamingRead',
525              'httpMethod' => 'POST',
526              'parameters' => array(
527                'session' => array(
528                  'location' => 'path',
529                  'type' => 'string',
530                  'required' => true,
531                ),
532              ),
533            ),
534          )
535        )
536    );
537    $this->projects_instances_operations = new Google_Service_Spanner_Resource_ProjectsInstancesOperations(
538        $this,
539        $this->serviceName,
540        'operations',
541        array(
542          'methods' => array(
543            'cancel' => array(
544              'path' => 'v1/{+name}:cancel',
545              'httpMethod' => 'POST',
546              'parameters' => array(
547                'name' => array(
548                  'location' => 'path',
549                  'type' => 'string',
550                  'required' => true,
551                ),
552              ),
553            ),'delete' => array(
554              'path' => 'v1/{+name}',
555              'httpMethod' => 'DELETE',
556              'parameters' => array(
557                'name' => array(
558                  'location' => 'path',
559                  'type' => 'string',
560                  'required' => true,
561                ),
562              ),
563            ),'get' => array(
564              'path' => 'v1/{+name}',
565              'httpMethod' => 'GET',
566              'parameters' => array(
567                'name' => array(
568                  'location' => 'path',
569                  'type' => 'string',
570                  'required' => true,
571                ),
572              ),
573            ),'list' => array(
574              'path' => 'v1/{+name}',
575              'httpMethod' => 'GET',
576              'parameters' => array(
577                'name' => array(
578                  'location' => 'path',
579                  'type' => 'string',
580                  'required' => true,
581                ),
582                'pageToken' => array(
583                  'location' => 'query',
584                  'type' => 'string',
585                ),
586                'pageSize' => array(
587                  'location' => 'query',
588                  'type' => 'integer',
589                ),
590                'filter' => array(
591                  'location' => 'query',
592                  'type' => 'string',
593                ),
594              ),
595            ),
596          )
597        )
598    );
599  }
600}
601