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
18namespace Google\Service;
19
20use Google\Client;
21
22/**
23 * Service definition for Spanner (v1).
24 *
25 * <p>
26 * Cloud Spanner is a managed, mission-critical, globally consistent and
27 * scalable relational database service.</p>
28 *
29 * <p>
30 * For more information about this service, see the API
31 * <a href="https://cloud.google.com/spanner/" target="_blank">Documentation</a>
32 * </p>
33 *
34 * @author Google, Inc.
35 */
36class Spanner extends \Google\Service
37{
38  /** See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.. */
39  const CLOUD_PLATFORM =
40      "https://www.googleapis.com/auth/cloud-platform";
41  /** Administer your Spanner databases. */
42  const SPANNER_ADMIN =
43      "https://www.googleapis.com/auth/spanner.admin";
44  /** View and manage the contents of your Spanner databases. */
45  const SPANNER_DATA =
46      "https://www.googleapis.com/auth/spanner.data";
47
48  public $projects_instanceConfigs;
49  public $projects_instanceConfigs_operations;
50  public $projects_instances;
51  public $projects_instances_backupOperations;
52  public $projects_instances_backups;
53  public $projects_instances_backups_operations;
54  public $projects_instances_databaseOperations;
55  public $projects_instances_databases;
56  public $projects_instances_databases_operations;
57  public $projects_instances_databases_sessions;
58  public $projects_instances_operations;
59  public $scans;
60
61  /**
62   * Constructs the internal representation of the Spanner service.
63   *
64   * @param Client|array $clientOrConfig The client used to deliver requests, or a
65   *                                     config array to pass to a new Client instance.
66   * @param string $rootUrl The root URL used for requests to the service.
67   */
68  public function __construct($clientOrConfig = [], $rootUrl = null)
69  {
70    parent::__construct($clientOrConfig);
71    $this->rootUrl = $rootUrl ?: 'https://spanner.googleapis.com/';
72    $this->servicePath = '';
73    $this->batchPath = 'batch';
74    $this->version = 'v1';
75    $this->serviceName = 'spanner';
76
77    $this->projects_instanceConfigs = new Spanner\Resource\ProjectsInstanceConfigs(
78        $this,
79        $this->serviceName,
80        'instanceConfigs',
81        [
82          'methods' => [
83            'get' => [
84              'path' => 'v1/{+name}',
85              'httpMethod' => 'GET',
86              'parameters' => [
87                'name' => [
88                  'location' => 'path',
89                  'type' => 'string',
90                  'required' => true,
91                ],
92              ],
93            ],'list' => [
94              'path' => 'v1/{+parent}/instanceConfigs',
95              'httpMethod' => 'GET',
96              'parameters' => [
97                'parent' => [
98                  'location' => 'path',
99                  'type' => 'string',
100                  'required' => true,
101                ],
102                'pageSize' => [
103                  'location' => 'query',
104                  'type' => 'integer',
105                ],
106                'pageToken' => [
107                  'location' => 'query',
108                  'type' => 'string',
109                ],
110              ],
111            ],
112          ]
113        ]
114    );
115    $this->projects_instanceConfigs_operations = new Spanner\Resource\ProjectsInstanceConfigsOperations(
116        $this,
117        $this->serviceName,
118        'operations',
119        [
120          'methods' => [
121            'cancel' => [
122              'path' => 'v1/{+name}:cancel',
123              'httpMethod' => 'POST',
124              'parameters' => [
125                'name' => [
126                  'location' => 'path',
127                  'type' => 'string',
128                  'required' => true,
129                ],
130              ],
131            ],'delete' => [
132              'path' => 'v1/{+name}',
133              'httpMethod' => 'DELETE',
134              'parameters' => [
135                'name' => [
136                  'location' => 'path',
137                  'type' => 'string',
138                  'required' => true,
139                ],
140              ],
141            ],'get' => [
142              'path' => 'v1/{+name}',
143              'httpMethod' => 'GET',
144              'parameters' => [
145                'name' => [
146                  'location' => 'path',
147                  'type' => 'string',
148                  'required' => true,
149                ],
150              ],
151            ],'list' => [
152              'path' => 'v1/{+name}',
153              'httpMethod' => 'GET',
154              'parameters' => [
155                'name' => [
156                  'location' => 'path',
157                  'type' => 'string',
158                  'required' => true,
159                ],
160                'filter' => [
161                  'location' => 'query',
162                  'type' => 'string',
163                ],
164                'pageSize' => [
165                  'location' => 'query',
166                  'type' => 'integer',
167                ],
168                'pageToken' => [
169                  'location' => 'query',
170                  'type' => 'string',
171                ],
172              ],
173            ],
174          ]
175        ]
176    );
177    $this->projects_instances = new Spanner\Resource\ProjectsInstances(
178        $this,
179        $this->serviceName,
180        'instances',
181        [
182          'methods' => [
183            'create' => [
184              'path' => 'v1/{+parent}/instances',
185              'httpMethod' => 'POST',
186              'parameters' => [
187                'parent' => [
188                  'location' => 'path',
189                  'type' => 'string',
190                  'required' => true,
191                ],
192              ],
193            ],'delete' => [
194              'path' => 'v1/{+name}',
195              'httpMethod' => 'DELETE',
196              'parameters' => [
197                'name' => [
198                  'location' => 'path',
199                  'type' => 'string',
200                  'required' => true,
201                ],
202              ],
203            ],'get' => [
204              'path' => 'v1/{+name}',
205              'httpMethod' => 'GET',
206              'parameters' => [
207                'name' => [
208                  'location' => 'path',
209                  'type' => 'string',
210                  'required' => true,
211                ],
212                'fieldMask' => [
213                  'location' => 'query',
214                  'type' => 'string',
215                ],
216              ],
217            ],'getIamPolicy' => [
218              'path' => 'v1/{+resource}:getIamPolicy',
219              'httpMethod' => 'POST',
220              'parameters' => [
221                'resource' => [
222                  'location' => 'path',
223                  'type' => 'string',
224                  'required' => true,
225                ],
226              ],
227            ],'list' => [
228              'path' => 'v1/{+parent}/instances',
229              'httpMethod' => 'GET',
230              'parameters' => [
231                'parent' => [
232                  'location' => 'path',
233                  'type' => 'string',
234                  'required' => true,
235                ],
236                'filter' => [
237                  'location' => 'query',
238                  'type' => 'string',
239                ],
240                'instanceDeadline' => [
241                  'location' => 'query',
242                  'type' => 'string',
243                ],
244                'pageSize' => [
245                  'location' => 'query',
246                  'type' => 'integer',
247                ],
248                'pageToken' => [
249                  'location' => 'query',
250                  'type' => 'string',
251                ],
252              ],
253            ],'patch' => [
254              'path' => 'v1/{+name}',
255              'httpMethod' => 'PATCH',
256              'parameters' => [
257                'name' => [
258                  'location' => 'path',
259                  'type' => 'string',
260                  'required' => true,
261                ],
262              ],
263            ],'setIamPolicy' => [
264              'path' => 'v1/{+resource}:setIamPolicy',
265              'httpMethod' => 'POST',
266              'parameters' => [
267                'resource' => [
268                  'location' => 'path',
269                  'type' => 'string',
270                  'required' => true,
271                ],
272              ],
273            ],'testIamPermissions' => [
274              'path' => 'v1/{+resource}:testIamPermissions',
275              'httpMethod' => 'POST',
276              'parameters' => [
277                'resource' => [
278                  'location' => 'path',
279                  'type' => 'string',
280                  'required' => true,
281                ],
282              ],
283            ],
284          ]
285        ]
286    );
287    $this->projects_instances_backupOperations = new Spanner\Resource\ProjectsInstancesBackupOperations(
288        $this,
289        $this->serviceName,
290        'backupOperations',
291        [
292          'methods' => [
293            'list' => [
294              'path' => 'v1/{+parent}/backupOperations',
295              'httpMethod' => 'GET',
296              'parameters' => [
297                'parent' => [
298                  'location' => 'path',
299                  'type' => 'string',
300                  'required' => true,
301                ],
302                'filter' => [
303                  'location' => 'query',
304                  'type' => 'string',
305                ],
306                'pageSize' => [
307                  'location' => 'query',
308                  'type' => 'integer',
309                ],
310                'pageToken' => [
311                  'location' => 'query',
312                  'type' => 'string',
313                ],
314              ],
315            ],
316          ]
317        ]
318    );
319    $this->projects_instances_backups = new Spanner\Resource\ProjectsInstancesBackups(
320        $this,
321        $this->serviceName,
322        'backups',
323        [
324          'methods' => [
325            'copy' => [
326              'path' => 'v1/{+parent}/backups:copy',
327              'httpMethod' => 'POST',
328              'parameters' => [
329                'parent' => [
330                  'location' => 'path',
331                  'type' => 'string',
332                  'required' => true,
333                ],
334              ],
335            ],'create' => [
336              'path' => 'v1/{+parent}/backups',
337              'httpMethod' => 'POST',
338              'parameters' => [
339                'parent' => [
340                  'location' => 'path',
341                  'type' => 'string',
342                  'required' => true,
343                ],
344                'backupId' => [
345                  'location' => 'query',
346                  'type' => 'string',
347                ],
348                'encryptionConfig.encryptionType' => [
349                  'location' => 'query',
350                  'type' => 'string',
351                ],
352                'encryptionConfig.kmsKeyName' => [
353                  'location' => 'query',
354                  'type' => 'string',
355                ],
356              ],
357            ],'delete' => [
358              'path' => 'v1/{+name}',
359              'httpMethod' => 'DELETE',
360              'parameters' => [
361                'name' => [
362                  'location' => 'path',
363                  'type' => 'string',
364                  'required' => true,
365                ],
366              ],
367            ],'get' => [
368              'path' => 'v1/{+name}',
369              'httpMethod' => 'GET',
370              'parameters' => [
371                'name' => [
372                  'location' => 'path',
373                  'type' => 'string',
374                  'required' => true,
375                ],
376              ],
377            ],'getIamPolicy' => [
378              'path' => 'v1/{+resource}:getIamPolicy',
379              'httpMethod' => 'POST',
380              'parameters' => [
381                'resource' => [
382                  'location' => 'path',
383                  'type' => 'string',
384                  'required' => true,
385                ],
386              ],
387            ],'list' => [
388              'path' => 'v1/{+parent}/backups',
389              'httpMethod' => 'GET',
390              'parameters' => [
391                'parent' => [
392                  'location' => 'path',
393                  'type' => 'string',
394                  'required' => true,
395                ],
396                'filter' => [
397                  'location' => 'query',
398                  'type' => 'string',
399                ],
400                'pageSize' => [
401                  'location' => 'query',
402                  'type' => 'integer',
403                ],
404                'pageToken' => [
405                  'location' => 'query',
406                  'type' => 'string',
407                ],
408              ],
409            ],'patch' => [
410              'path' => 'v1/{+name}',
411              'httpMethod' => 'PATCH',
412              'parameters' => [
413                'name' => [
414                  'location' => 'path',
415                  'type' => 'string',
416                  'required' => true,
417                ],
418                'updateMask' => [
419                  'location' => 'query',
420                  'type' => 'string',
421                ],
422              ],
423            ],'setIamPolicy' => [
424              'path' => 'v1/{+resource}:setIamPolicy',
425              'httpMethod' => 'POST',
426              'parameters' => [
427                'resource' => [
428                  'location' => 'path',
429                  'type' => 'string',
430                  'required' => true,
431                ],
432              ],
433            ],'testIamPermissions' => [
434              'path' => 'v1/{+resource}:testIamPermissions',
435              'httpMethod' => 'POST',
436              'parameters' => [
437                'resource' => [
438                  'location' => 'path',
439                  'type' => 'string',
440                  'required' => true,
441                ],
442              ],
443            ],
444          ]
445        ]
446    );
447    $this->projects_instances_backups_operations = new Spanner\Resource\ProjectsInstancesBackupsOperations(
448        $this,
449        $this->serviceName,
450        'operations',
451        [
452          'methods' => [
453            'cancel' => [
454              'path' => 'v1/{+name}:cancel',
455              'httpMethod' => 'POST',
456              'parameters' => [
457                'name' => [
458                  'location' => 'path',
459                  'type' => 'string',
460                  'required' => true,
461                ],
462              ],
463            ],'delete' => [
464              'path' => 'v1/{+name}',
465              'httpMethod' => 'DELETE',
466              'parameters' => [
467                'name' => [
468                  'location' => 'path',
469                  'type' => 'string',
470                  'required' => true,
471                ],
472              ],
473            ],'get' => [
474              'path' => 'v1/{+name}',
475              'httpMethod' => 'GET',
476              'parameters' => [
477                'name' => [
478                  'location' => 'path',
479                  'type' => 'string',
480                  'required' => true,
481                ],
482              ],
483            ],'list' => [
484              'path' => 'v1/{+name}',
485              'httpMethod' => 'GET',
486              'parameters' => [
487                'name' => [
488                  'location' => 'path',
489                  'type' => 'string',
490                  'required' => true,
491                ],
492                'filter' => [
493                  'location' => 'query',
494                  'type' => 'string',
495                ],
496                'pageSize' => [
497                  'location' => 'query',
498                  'type' => 'integer',
499                ],
500                'pageToken' => [
501                  'location' => 'query',
502                  'type' => 'string',
503                ],
504              ],
505            ],
506          ]
507        ]
508    );
509    $this->projects_instances_databaseOperations = new Spanner\Resource\ProjectsInstancesDatabaseOperations(
510        $this,
511        $this->serviceName,
512        'databaseOperations',
513        [
514          'methods' => [
515            'list' => [
516              'path' => 'v1/{+parent}/databaseOperations',
517              'httpMethod' => 'GET',
518              'parameters' => [
519                'parent' => [
520                  'location' => 'path',
521                  'type' => 'string',
522                  'required' => true,
523                ],
524                'filter' => [
525                  'location' => 'query',
526                  'type' => 'string',
527                ],
528                'pageSize' => [
529                  'location' => 'query',
530                  'type' => 'integer',
531                ],
532                'pageToken' => [
533                  'location' => 'query',
534                  'type' => 'string',
535                ],
536              ],
537            ],
538          ]
539        ]
540    );
541    $this->projects_instances_databases = new Spanner\Resource\ProjectsInstancesDatabases(
542        $this,
543        $this->serviceName,
544        'databases',
545        [
546          'methods' => [
547            'create' => [
548              'path' => 'v1/{+parent}/databases',
549              'httpMethod' => 'POST',
550              'parameters' => [
551                'parent' => [
552                  'location' => 'path',
553                  'type' => 'string',
554                  'required' => true,
555                ],
556              ],
557            ],'dropDatabase' => [
558              'path' => 'v1/{+database}',
559              'httpMethod' => 'DELETE',
560              'parameters' => [
561                'database' => [
562                  'location' => 'path',
563                  'type' => 'string',
564                  'required' => true,
565                ],
566              ],
567            ],'get' => [
568              'path' => 'v1/{+name}',
569              'httpMethod' => 'GET',
570              'parameters' => [
571                'name' => [
572                  'location' => 'path',
573                  'type' => 'string',
574                  'required' => true,
575                ],
576              ],
577            ],'getDdl' => [
578              'path' => 'v1/{+database}/ddl',
579              'httpMethod' => 'GET',
580              'parameters' => [
581                'database' => [
582                  'location' => 'path',
583                  'type' => 'string',
584                  'required' => true,
585                ],
586              ],
587            ],'getIamPolicy' => [
588              'path' => 'v1/{+resource}:getIamPolicy',
589              'httpMethod' => 'POST',
590              'parameters' => [
591                'resource' => [
592                  'location' => 'path',
593                  'type' => 'string',
594                  'required' => true,
595                ],
596              ],
597            ],'getScans' => [
598              'path' => 'v1/{+name}/scans',
599              'httpMethod' => 'GET',
600              'parameters' => [
601                'name' => [
602                  'location' => 'path',
603                  'type' => 'string',
604                  'required' => true,
605                ],
606                'endTime' => [
607                  'location' => 'query',
608                  'type' => 'string',
609                ],
610                'startTime' => [
611                  'location' => 'query',
612                  'type' => 'string',
613                ],
614                'view' => [
615                  'location' => 'query',
616                  'type' => 'string',
617                ],
618              ],
619            ],'list' => [
620              'path' => 'v1/{+parent}/databases',
621              'httpMethod' => 'GET',
622              'parameters' => [
623                'parent' => [
624                  'location' => 'path',
625                  'type' => 'string',
626                  'required' => true,
627                ],
628                'pageSize' => [
629                  'location' => 'query',
630                  'type' => 'integer',
631                ],
632                'pageToken' => [
633                  'location' => 'query',
634                  'type' => 'string',
635                ],
636              ],
637            ],'restore' => [
638              'path' => 'v1/{+parent}/databases:restore',
639              'httpMethod' => 'POST',
640              'parameters' => [
641                'parent' => [
642                  'location' => 'path',
643                  'type' => 'string',
644                  'required' => true,
645                ],
646              ],
647            ],'setIamPolicy' => [
648              'path' => 'v1/{+resource}:setIamPolicy',
649              'httpMethod' => 'POST',
650              'parameters' => [
651                'resource' => [
652                  'location' => 'path',
653                  'type' => 'string',
654                  'required' => true,
655                ],
656              ],
657            ],'testIamPermissions' => [
658              'path' => 'v1/{+resource}:testIamPermissions',
659              'httpMethod' => 'POST',
660              'parameters' => [
661                'resource' => [
662                  'location' => 'path',
663                  'type' => 'string',
664                  'required' => true,
665                ],
666              ],
667            ],'updateDdl' => [
668              'path' => 'v1/{+database}/ddl',
669              'httpMethod' => 'PATCH',
670              'parameters' => [
671                'database' => [
672                  'location' => 'path',
673                  'type' => 'string',
674                  'required' => true,
675                ],
676              ],
677            ],
678          ]
679        ]
680    );
681    $this->projects_instances_databases_operations = new Spanner\Resource\ProjectsInstancesDatabasesOperations(
682        $this,
683        $this->serviceName,
684        'operations',
685        [
686          'methods' => [
687            'cancel' => [
688              'path' => 'v1/{+name}:cancel',
689              'httpMethod' => 'POST',
690              'parameters' => [
691                'name' => [
692                  'location' => 'path',
693                  'type' => 'string',
694                  'required' => true,
695                ],
696              ],
697            ],'delete' => [
698              'path' => 'v1/{+name}',
699              'httpMethod' => 'DELETE',
700              'parameters' => [
701                'name' => [
702                  'location' => 'path',
703                  'type' => 'string',
704                  'required' => true,
705                ],
706              ],
707            ],'get' => [
708              'path' => 'v1/{+name}',
709              'httpMethod' => 'GET',
710              'parameters' => [
711                'name' => [
712                  'location' => 'path',
713                  'type' => 'string',
714                  'required' => true,
715                ],
716              ],
717            ],'list' => [
718              'path' => 'v1/{+name}',
719              'httpMethod' => 'GET',
720              'parameters' => [
721                'name' => [
722                  'location' => 'path',
723                  'type' => 'string',
724                  'required' => true,
725                ],
726                'filter' => [
727                  'location' => 'query',
728                  'type' => 'string',
729                ],
730                'pageSize' => [
731                  'location' => 'query',
732                  'type' => 'integer',
733                ],
734                'pageToken' => [
735                  'location' => 'query',
736                  'type' => 'string',
737                ],
738              ],
739            ],
740          ]
741        ]
742    );
743    $this->projects_instances_databases_sessions = new Spanner\Resource\ProjectsInstancesDatabasesSessions(
744        $this,
745        $this->serviceName,
746        'sessions',
747        [
748          'methods' => [
749            'batchCreate' => [
750              'path' => 'v1/{+database}/sessions:batchCreate',
751              'httpMethod' => 'POST',
752              'parameters' => [
753                'database' => [
754                  'location' => 'path',
755                  'type' => 'string',
756                  'required' => true,
757                ],
758              ],
759            ],'beginTransaction' => [
760              'path' => 'v1/{+session}:beginTransaction',
761              'httpMethod' => 'POST',
762              'parameters' => [
763                'session' => [
764                  'location' => 'path',
765                  'type' => 'string',
766                  'required' => true,
767                ],
768              ],
769            ],'commit' => [
770              'path' => 'v1/{+session}:commit',
771              'httpMethod' => 'POST',
772              'parameters' => [
773                'session' => [
774                  'location' => 'path',
775                  'type' => 'string',
776                  'required' => true,
777                ],
778              ],
779            ],'create' => [
780              'path' => 'v1/{+database}/sessions',
781              'httpMethod' => 'POST',
782              'parameters' => [
783                'database' => [
784                  'location' => 'path',
785                  'type' => 'string',
786                  'required' => true,
787                ],
788              ],
789            ],'delete' => [
790              'path' => 'v1/{+name}',
791              'httpMethod' => 'DELETE',
792              'parameters' => [
793                'name' => [
794                  'location' => 'path',
795                  'type' => 'string',
796                  'required' => true,
797                ],
798              ],
799            ],'executeBatchDml' => [
800              'path' => 'v1/{+session}:executeBatchDml',
801              'httpMethod' => 'POST',
802              'parameters' => [
803                'session' => [
804                  'location' => 'path',
805                  'type' => 'string',
806                  'required' => true,
807                ],
808              ],
809            ],'executeSql' => [
810              'path' => 'v1/{+session}:executeSql',
811              'httpMethod' => 'POST',
812              'parameters' => [
813                'session' => [
814                  'location' => 'path',
815                  'type' => 'string',
816                  'required' => true,
817                ],
818              ],
819            ],'executeStreamingSql' => [
820              'path' => 'v1/{+session}:executeStreamingSql',
821              'httpMethod' => 'POST',
822              'parameters' => [
823                'session' => [
824                  'location' => 'path',
825                  'type' => 'string',
826                  'required' => true,
827                ],
828              ],
829            ],'get' => [
830              'path' => 'v1/{+name}',
831              'httpMethod' => 'GET',
832              'parameters' => [
833                'name' => [
834                  'location' => 'path',
835                  'type' => 'string',
836                  'required' => true,
837                ],
838              ],
839            ],'list' => [
840              'path' => 'v1/{+database}/sessions',
841              'httpMethod' => 'GET',
842              'parameters' => [
843                'database' => [
844                  'location' => 'path',
845                  'type' => 'string',
846                  'required' => true,
847                ],
848                'filter' => [
849                  'location' => 'query',
850                  'type' => 'string',
851                ],
852                'pageSize' => [
853                  'location' => 'query',
854                  'type' => 'integer',
855                ],
856                'pageToken' => [
857                  'location' => 'query',
858                  'type' => 'string',
859                ],
860              ],
861            ],'partitionQuery' => [
862              'path' => 'v1/{+session}:partitionQuery',
863              'httpMethod' => 'POST',
864              'parameters' => [
865                'session' => [
866                  'location' => 'path',
867                  'type' => 'string',
868                  'required' => true,
869                ],
870              ],
871            ],'partitionRead' => [
872              'path' => 'v1/{+session}:partitionRead',
873              'httpMethod' => 'POST',
874              'parameters' => [
875                'session' => [
876                  'location' => 'path',
877                  'type' => 'string',
878                  'required' => true,
879                ],
880              ],
881            ],'read' => [
882              'path' => 'v1/{+session}:read',
883              'httpMethod' => 'POST',
884              'parameters' => [
885                'session' => [
886                  'location' => 'path',
887                  'type' => 'string',
888                  'required' => true,
889                ],
890              ],
891            ],'rollback' => [
892              'path' => 'v1/{+session}:rollback',
893              'httpMethod' => 'POST',
894              'parameters' => [
895                'session' => [
896                  'location' => 'path',
897                  'type' => 'string',
898                  'required' => true,
899                ],
900              ],
901            ],'streamingRead' => [
902              'path' => 'v1/{+session}:streamingRead',
903              'httpMethod' => 'POST',
904              'parameters' => [
905                'session' => [
906                  'location' => 'path',
907                  'type' => 'string',
908                  'required' => true,
909                ],
910              ],
911            ],
912          ]
913        ]
914    );
915    $this->projects_instances_operations = new Spanner\Resource\ProjectsInstancesOperations(
916        $this,
917        $this->serviceName,
918        'operations',
919        [
920          'methods' => [
921            'cancel' => [
922              'path' => 'v1/{+name}:cancel',
923              'httpMethod' => 'POST',
924              'parameters' => [
925                'name' => [
926                  'location' => 'path',
927                  'type' => 'string',
928                  'required' => true,
929                ],
930              ],
931            ],'delete' => [
932              'path' => 'v1/{+name}',
933              'httpMethod' => 'DELETE',
934              'parameters' => [
935                'name' => [
936                  'location' => 'path',
937                  'type' => 'string',
938                  'required' => true,
939                ],
940              ],
941            ],'get' => [
942              'path' => 'v1/{+name}',
943              'httpMethod' => 'GET',
944              'parameters' => [
945                'name' => [
946                  'location' => 'path',
947                  'type' => 'string',
948                  'required' => true,
949                ],
950              ],
951            ],'list' => [
952              'path' => 'v1/{+name}',
953              'httpMethod' => 'GET',
954              'parameters' => [
955                'name' => [
956                  'location' => 'path',
957                  'type' => 'string',
958                  'required' => true,
959                ],
960                'filter' => [
961                  'location' => 'query',
962                  'type' => 'string',
963                ],
964                'pageSize' => [
965                  'location' => 'query',
966                  'type' => 'integer',
967                ],
968                'pageToken' => [
969                  'location' => 'query',
970                  'type' => 'string',
971                ],
972              ],
973            ],
974          ]
975        ]
976    );
977    $this->scans = new Spanner\Resource\Scans(
978        $this,
979        $this->serviceName,
980        'scans',
981        [
982          'methods' => [
983            'list' => [
984              'path' => 'v1/{+parent}',
985              'httpMethod' => 'GET',
986              'parameters' => [
987                'parent' => [
988                  'location' => 'path',
989                  'type' => 'string',
990                  'required' => true,
991                ],
992                'filter' => [
993                  'location' => 'query',
994                  'type' => 'string',
995                ],
996                'pageSize' => [
997                  'location' => 'query',
998                  'type' => 'integer',
999                ],
1000                'pageToken' => [
1001                  'location' => 'query',
1002                  'type' => 'string',
1003                ],
1004                'view' => [
1005                  'location' => 'query',
1006                  'type' => 'string',
1007                ],
1008              ],
1009            ],
1010          ]
1011        ]
1012    );
1013  }
1014}
1015
1016// Adding a class alias for backwards compatibility with the previous class name.
1017class_alias(Spanner::class, 'Google_Service_Spanner');
1018