* Cloud Spanner is a managed, mission-critical, globally consistent and * scalable relational database service.

* *

* For more information about this service, see the API * Documentation *

* * @author Google, Inc. */ class Spanner extends \Google\Service { /** See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.. */ const CLOUD_PLATFORM = "https://www.googleapis.com/auth/cloud-platform"; /** Administer your Spanner databases. */ const SPANNER_ADMIN = "https://www.googleapis.com/auth/spanner.admin"; /** View and manage the contents of your Spanner databases. */ const SPANNER_DATA = "https://www.googleapis.com/auth/spanner.data"; public $projects_instanceConfigs; public $projects_instanceConfigs_operations; public $projects_instances; public $projects_instances_backupOperations; public $projects_instances_backups; public $projects_instances_backups_operations; public $projects_instances_databaseOperations; public $projects_instances_databases; public $projects_instances_databases_operations; public $projects_instances_databases_sessions; public $projects_instances_operations; public $scans; /** * Constructs the internal representation of the Spanner service. * * @param Client|array $clientOrConfig The client used to deliver requests, or a * config array to pass to a new Client instance. * @param string $rootUrl The root URL used for requests to the service. */ public function __construct($clientOrConfig = [], $rootUrl = null) { parent::__construct($clientOrConfig); $this->rootUrl = $rootUrl ?: 'https://spanner.googleapis.com/'; $this->servicePath = ''; $this->batchPath = 'batch'; $this->version = 'v1'; $this->serviceName = 'spanner'; $this->projects_instanceConfigs = new Spanner\Resource\ProjectsInstanceConfigs( $this, $this->serviceName, 'instanceConfigs', [ 'methods' => [ 'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'list' => [ 'path' => 'v1/{+parent}/instanceConfigs', 'httpMethod' => 'GET', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ], ] ] ); $this->projects_instanceConfigs_operations = new Spanner\Resource\ProjectsInstanceConfigsOperations( $this, $this->serviceName, 'operations', [ 'methods' => [ 'cancel' => [ 'path' => 'v1/{+name}:cancel', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'delete' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'DELETE', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'list' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ], ] ] ); $this->projects_instances = new Spanner\Resource\ProjectsInstances( $this, $this->serviceName, 'instances', [ 'methods' => [ 'create' => [ 'path' => 'v1/{+parent}/instances', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'delete' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'DELETE', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'fieldMask' => [ 'location' => 'query', 'type' => 'string', ], ], ],'getIamPolicy' => [ 'path' => 'v1/{+resource}:getIamPolicy', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'list' => [ 'path' => 'v1/{+parent}/instances', 'httpMethod' => 'GET', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'instanceDeadline' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ],'patch' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'PATCH', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'setIamPolicy' => [ 'path' => 'v1/{+resource}:setIamPolicy', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'testIamPermissions' => [ 'path' => 'v1/{+resource}:testIamPermissions', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->projects_instances_backupOperations = new Spanner\Resource\ProjectsInstancesBackupOperations( $this, $this->serviceName, 'backupOperations', [ 'methods' => [ 'list' => [ 'path' => 'v1/{+parent}/backupOperations', 'httpMethod' => 'GET', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ], ] ] ); $this->projects_instances_backups = new Spanner\Resource\ProjectsInstancesBackups( $this, $this->serviceName, 'backups', [ 'methods' => [ 'copy' => [ 'path' => 'v1/{+parent}/backups:copy', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'create' => [ 'path' => 'v1/{+parent}/backups', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'backupId' => [ 'location' => 'query', 'type' => 'string', ], 'encryptionConfig.encryptionType' => [ 'location' => 'query', 'type' => 'string', ], 'encryptionConfig.kmsKeyName' => [ 'location' => 'query', 'type' => 'string', ], ], ],'delete' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'DELETE', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'getIamPolicy' => [ 'path' => 'v1/{+resource}:getIamPolicy', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'list' => [ 'path' => 'v1/{+parent}/backups', 'httpMethod' => 'GET', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ],'patch' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'PATCH', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'updateMask' => [ 'location' => 'query', 'type' => 'string', ], ], ],'setIamPolicy' => [ 'path' => 'v1/{+resource}:setIamPolicy', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'testIamPermissions' => [ 'path' => 'v1/{+resource}:testIamPermissions', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->projects_instances_backups_operations = new Spanner\Resource\ProjectsInstancesBackupsOperations( $this, $this->serviceName, 'operations', [ 'methods' => [ 'cancel' => [ 'path' => 'v1/{+name}:cancel', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'delete' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'DELETE', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'list' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ], ] ] ); $this->projects_instances_databaseOperations = new Spanner\Resource\ProjectsInstancesDatabaseOperations( $this, $this->serviceName, 'databaseOperations', [ 'methods' => [ 'list' => [ 'path' => 'v1/{+parent}/databaseOperations', 'httpMethod' => 'GET', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ], ] ] ); $this->projects_instances_databases = new Spanner\Resource\ProjectsInstancesDatabases( $this, $this->serviceName, 'databases', [ 'methods' => [ 'create' => [ 'path' => 'v1/{+parent}/databases', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'dropDatabase' => [ 'path' => 'v1/{+database}', 'httpMethod' => 'DELETE', 'parameters' => [ 'database' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'getDdl' => [ 'path' => 'v1/{+database}/ddl', 'httpMethod' => 'GET', 'parameters' => [ 'database' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'getIamPolicy' => [ 'path' => 'v1/{+resource}:getIamPolicy', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'getScans' => [ 'path' => 'v1/{+name}/scans', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'endTime' => [ 'location' => 'query', 'type' => 'string', ], 'startTime' => [ 'location' => 'query', 'type' => 'string', ], 'view' => [ 'location' => 'query', 'type' => 'string', ], ], ],'list' => [ 'path' => 'v1/{+parent}/databases', 'httpMethod' => 'GET', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ],'restore' => [ 'path' => 'v1/{+parent}/databases:restore', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'setIamPolicy' => [ 'path' => 'v1/{+resource}:setIamPolicy', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'testIamPermissions' => [ 'path' => 'v1/{+resource}:testIamPermissions', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'updateDdl' => [ 'path' => 'v1/{+database}/ddl', 'httpMethod' => 'PATCH', 'parameters' => [ 'database' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->projects_instances_databases_operations = new Spanner\Resource\ProjectsInstancesDatabasesOperations( $this, $this->serviceName, 'operations', [ 'methods' => [ 'cancel' => [ 'path' => 'v1/{+name}:cancel', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'delete' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'DELETE', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'list' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ], ] ] ); $this->projects_instances_databases_sessions = new Spanner\Resource\ProjectsInstancesDatabasesSessions( $this, $this->serviceName, 'sessions', [ 'methods' => [ 'batchCreate' => [ 'path' => 'v1/{+database}/sessions:batchCreate', 'httpMethod' => 'POST', 'parameters' => [ 'database' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'beginTransaction' => [ 'path' => 'v1/{+session}:beginTransaction', 'httpMethod' => 'POST', 'parameters' => [ 'session' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'commit' => [ 'path' => 'v1/{+session}:commit', 'httpMethod' => 'POST', 'parameters' => [ 'session' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'create' => [ 'path' => 'v1/{+database}/sessions', 'httpMethod' => 'POST', 'parameters' => [ 'database' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'delete' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'DELETE', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'executeBatchDml' => [ 'path' => 'v1/{+session}:executeBatchDml', 'httpMethod' => 'POST', 'parameters' => [ 'session' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'executeSql' => [ 'path' => 'v1/{+session}:executeSql', 'httpMethod' => 'POST', 'parameters' => [ 'session' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'executeStreamingSql' => [ 'path' => 'v1/{+session}:executeStreamingSql', 'httpMethod' => 'POST', 'parameters' => [ 'session' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'list' => [ 'path' => 'v1/{+database}/sessions', 'httpMethod' => 'GET', 'parameters' => [ 'database' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ],'partitionQuery' => [ 'path' => 'v1/{+session}:partitionQuery', 'httpMethod' => 'POST', 'parameters' => [ 'session' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'partitionRead' => [ 'path' => 'v1/{+session}:partitionRead', 'httpMethod' => 'POST', 'parameters' => [ 'session' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'read' => [ 'path' => 'v1/{+session}:read', 'httpMethod' => 'POST', 'parameters' => [ 'session' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'rollback' => [ 'path' => 'v1/{+session}:rollback', 'httpMethod' => 'POST', 'parameters' => [ 'session' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'streamingRead' => [ 'path' => 'v1/{+session}:streamingRead', 'httpMethod' => 'POST', 'parameters' => [ 'session' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->projects_instances_operations = new Spanner\Resource\ProjectsInstancesOperations( $this, $this->serviceName, 'operations', [ 'methods' => [ 'cancel' => [ 'path' => 'v1/{+name}:cancel', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'delete' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'DELETE', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'list' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ], ] ] ); $this->scans = new Spanner\Resource\Scans( $this, $this->serviceName, 'scans', [ 'methods' => [ 'list' => [ 'path' => 'v1/{+parent}', 'httpMethod' => 'GET', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], 'view' => [ 'location' => 'query', 'type' => 'string', ], ], ], ] ] ); } } // Adding a class alias for backwards compatibility with the previous class name. class_alias(Spanner::class, 'Google_Service_Spanner');