@googleapis/spanner 7.2.0 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/v1.ts CHANGED
@@ -127,7 +127,7 @@ export namespace spanner_v1 {
127
127
  }
128
128
 
129
129
  /**
130
- * Autoscaling config for an instance.
130
+ * Autoscaling configuration for an instance.
131
131
  */
132
132
  export interface Schema$AutoscalingConfig {
133
133
  /**
@@ -177,6 +177,10 @@ export namespace spanner_v1 {
177
177
  * A backup of a Cloud Spanner database.
178
178
  */
179
179
  export interface Schema$Backup {
180
+ /**
181
+ * Output only. List of backup schedule URIs that are associated with creating this backup. This is only applicable for scheduled backups, and is empty for on-demand backups. To optimize for storage, whenever possible, multiple schedules are collapsed together to create one backup. In such cases, this field captures the list of all backup schedule URIs that are associated with creating this backup. If collapsing is not done, then this field captures the single backup schedule URI associated with creating this backup.
182
+ */
183
+ backupSchedules?: string[] | null;
180
184
  /**
181
185
  * Output only. The time the CreateBackup request is received. If the request does not specify `version_time`, the `version_time` of the backup will be equivalent to the `create_time`.
182
186
  */
@@ -197,10 +201,22 @@ export namespace spanner_v1 {
197
201
  * Output only. The encryption information for the backup, whether it is protected by one or more KMS keys. The information includes all Cloud KMS key versions used to encrypt the backup. The `encryption_status' field inside of each `EncryptionInfo` is not populated. At least one of the key versions must be available for the backup to be restored. If a key version is revoked in the middle of a restore, the restore behavior is undefined.
198
202
  */
199
203
  encryptionInformation?: Schema$EncryptionInfo[];
204
+ /**
205
+ * Output only. For a backup in an incremental backup chain, this is the storage space needed to keep the data that has changed since the previous backup. For all other backups, this is always the size of the backup. This value may change if backups on the same chain get deleted or expired. This field can be used to calculate the total storage space used by a set of backups. For example, the total space used by all backups of a database can be computed by summing up this field.
206
+ */
207
+ exclusiveSizeBytes?: string | null;
200
208
  /**
201
209
  * Required for the CreateBackup operation. The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 366 days from the time the CreateBackup request is processed. Once the `expire_time` has passed, the backup is eligible to be automatically deleted by Cloud Spanner to free the resources used by the backup.
202
210
  */
203
211
  expireTime?: string | null;
212
+ /**
213
+ * Output only. The number of bytes that will be freed by deleting this backup. This value will be zero if, for example, this backup is part of an incremental backup chain and younger backups in the chain require that we keep its data. For backups not in an incremental backup chain, this is always the size of the backup. This value may change if backups on the same chain get created, deleted or expired.
214
+ */
215
+ freeableSizeBytes?: string | null;
216
+ /**
217
+ * Output only. Populated only for backups in an incremental backup chain. Backups share the same chain id if and only if they belong to the same incremental backup chain. Use this field to determine which backups are part of the same incremental backup chain. The ordering of backups in the chain can be determined by ordering the backup `version_time`.
218
+ */
219
+ incrementalBackupChainId?: string | null;
204
220
  /**
205
221
  * Output only. The max allowed expiration time of the backup, with microseconds granularity. A backup's expiration time can be configured in multiple APIs: CreateBackup, UpdateBackup, CopyBackup. When updating or copying an existing backup, the expiration time specified must be less than `Backup.max_expire_time`.
206
222
  */
@@ -209,6 +225,10 @@ export namespace spanner_v1 {
209
225
  * Output only for the CreateBackup operation. Required for the UpdateBackup operation. A globally unique identifier for the backup which cannot be changed. Values are of the form `projects//instances//backups/a-z*[a-z0-9]` The final segment of the name must be between 2 and 60 characters in length. The backup is stored in the location(s) specified in the instance configuration of the instance containing the backup, identified by the prefix of the backup name of the form `projects//instances/`.
210
226
  */
211
227
  name?: string | null;
228
+ /**
229
+ * Output only. Data deleted at a time older than this is guaranteed not to be retained in order to support this backup. For a backup in an incremental backup chain, this is the version time of the oldest backup that exists or ever existed in the chain. For all other backups, this is the version time of the backup. This field can be used to understand what data is being retained by the backup system.
230
+ */
231
+ oldestVersionTime?: string | null;
212
232
  /**
213
233
  * Output only. The names of the destination backups being created by copying this source backup. The backup names are of the form `projects//instances//backups/`. Referencing backups may exist in different instances. The existence of any referencing backup prevents the backup from being deleted. When the copy operation is done (either successfully completed or cancelled or the destination backup is deleted), the reference to the backup is removed.
214
234
  */
@@ -218,7 +238,7 @@ export namespace spanner_v1 {
218
238
  */
219
239
  referencingDatabases?: string[] | null;
220
240
  /**
221
- * Output only. Size of the backup in bytes.
241
+ * Output only. Size of the backup in bytes. For a backup in an incremental backup chain, this is the sum of the `exclusive_size_bytes` of itself and all older backups in the chain.
222
242
  */
223
243
  sizeBytes?: string | null;
224
244
  /**
@@ -251,6 +271,48 @@ export namespace spanner_v1 {
251
271
  */
252
272
  versionTime?: string | null;
253
273
  }
274
+ /**
275
+ * BackupSchedule expresses the automated backup creation specification for a Spanner database. Next ID: 10
276
+ */
277
+ export interface Schema$BackupSchedule {
278
+ /**
279
+ * Optional. The encryption configuration that will be used to encrypt the backup. If this field is not specified, the backup will use the same encryption configuration as the database.
280
+ */
281
+ encryptionConfig?: Schema$CreateBackupEncryptionConfig;
282
+ /**
283
+ * The schedule creates only full backups.
284
+ */
285
+ fullBackupSpec?: Schema$FullBackupSpec;
286
+ /**
287
+ * The schedule creates incremental backup chains.
288
+ */
289
+ incrementalBackupSpec?: Schema$IncrementalBackupSpec;
290
+ /**
291
+ * Identifier. Output only for the CreateBackupSchedule operation. Required for the UpdateBackupSchedule operation. A globally unique identifier for the backup schedule which cannot be changed. Values are of the form `projects//instances//databases//backupSchedules/a-z*[a-z0-9]` The final segment of the name must be between 2 and 60 characters in length.
292
+ */
293
+ name?: string | null;
294
+ /**
295
+ * Optional. The retention duration of a backup that must be at least 6 hours and at most 366 days. The backup is eligible to be automatically deleted once the retention period has elapsed.
296
+ */
297
+ retentionDuration?: string | null;
298
+ /**
299
+ * Optional. The schedule specification based on which the backup creations are triggered.
300
+ */
301
+ spec?: Schema$BackupScheduleSpec;
302
+ /**
303
+ * Output only. The timestamp at which the schedule was last updated. If the schedule has never been updated, this field contains the timestamp when the schedule was first created.
304
+ */
305
+ updateTime?: string | null;
306
+ }
307
+ /**
308
+ * Defines specifications of the backup schedule.
309
+ */
310
+ export interface Schema$BackupScheduleSpec {
311
+ /**
312
+ * Cron style schedule specification.
313
+ */
314
+ cronSpec?: Schema$CrontabSpec;
315
+ }
254
316
  /**
255
317
  * The request for BatchCreateSessions.
256
318
  */
@@ -359,15 +421,15 @@ export namespace spanner_v1 {
359
421
  */
360
422
  export interface Schema$ChangeQuorumRequest {
361
423
  /**
362
- * Optional. The etag is the hash of the QuorumInfo. The ChangeQuorum operation will only be performed if the etag matches that of the QuorumInfo in the current database resource. Otherwise the API will return an `ABORTED` error. The etag is used for optimistic concurrency control as a way to help prevent simultaneous change quorum requests that could create a race condition.
424
+ * Optional. The etag is the hash of the `QuorumInfo`. The `ChangeQuorum` operation is only performed if the etag matches that of the `QuorumInfo` in the current database resource. Otherwise the API returns an `ABORTED` error. The etag is used for optimistic concurrency control as a way to help prevent simultaneous change quorum requests that could create a race condition.
363
425
  */
364
426
  etag?: string | null;
365
427
  /**
366
- * Required. Name of the database in which to apply the ChangeQuorum. Values are of the form `projects//instances//databases/`.
428
+ * Required. Name of the database in which to apply `ChangeQuorum`. Values are of the form `projects//instances//databases/`.
367
429
  */
368
430
  name?: string | null;
369
431
  /**
370
- * Required. The type of this Quorum.
432
+ * Required. The type of this quorum.
371
433
  */
372
434
  quorumType?: Schema$QuorumType;
373
435
  }
@@ -519,6 +581,23 @@ export namespace spanner_v1 {
519
581
  */
520
582
  sourceBackup?: string | null;
521
583
  }
584
+ /**
585
+ * Encryption configuration for the backup to create.
586
+ */
587
+ export interface Schema$CreateBackupEncryptionConfig {
588
+ /**
589
+ * Required. The encryption type of the backup.
590
+ */
591
+ encryptionType?: string | null;
592
+ /**
593
+ * Optional. The Cloud KMS key that will be used to protect the backup. This field should be set only when encryption_type is `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form `projects//locations//keyRings//cryptoKeys/`.
594
+ */
595
+ kmsKeyName?: string | null;
596
+ /**
597
+ * Optional. Specifies the KMS configuration for the one or more keys used to protect the backup. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by kms_key_names must fully cover all regions of the backup's instance configuration. Some examples: * For single region instance configs, specify a single regional location KMS key. * For multi-regional instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config. * For an instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs.
598
+ */
599
+ kmsKeyNames?: string[] | null;
600
+ }
522
601
  /**
523
602
  * Metadata type for the operation returned by CreateBackup.
524
603
  */
@@ -570,7 +649,7 @@ export namespace spanner_v1 {
570
649
  */
571
650
  extraStatements?: string[] | null;
572
651
  /**
573
- * Optional. Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements in 'extra_statements' above. Contains a protobuf-serialized [google.protobuf.FileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto). To generate it, [install](https://grpc.io/docs/protoc-installation/) and run `protoc` with --include_imports and --descriptor_set_out. For example, to generate for moon/shot/app.proto, run ``` $protoc --proto_path=/app_path --proto_path=/lib_path \ --include_imports \ --descriptor_set_out=descriptors.data \ moon/shot/app.proto ``` For more details, see protobuffer [self description](https://developers.google.com/protocol-buffers/docs/techniques#self-description).
652
+ * Optional. Proto descriptors used by `CREATE/ALTER PROTO BUNDLE` statements in 'extra_statements'. Contains a protobuf-serialized [`google.protobuf.FileDescriptorSet`](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto) descriptor set. To generate it, [install](https://grpc.io/docs/protoc-installation/) and run `protoc` with --include_imports and --descriptor_set_out. For example, to generate for moon/shot/app.proto, run ``` $protoc --proto_path=/app_path --proto_path=/lib_path \ --include_imports \ --descriptor_set_out=descriptors.data \ moon/shot/app.proto ``` For more details, see protobuffer [self description](https://developers.google.com/protocol-buffers/docs/techniques#self-description).
574
653
  */
575
654
  protoDescriptors?: string | null;
576
655
  }
@@ -583,7 +662,7 @@ export namespace spanner_v1 {
583
662
  */
584
663
  cancelTime?: string | null;
585
664
  /**
586
- * The target instance config end state.
665
+ * The target instance configuration end state.
587
666
  */
588
667
  instanceConfig?: Schema$InstanceConfig;
589
668
  /**
@@ -596,11 +675,11 @@ export namespace spanner_v1 {
596
675
  */
597
676
  export interface Schema$CreateInstanceConfigRequest {
598
677
  /**
599
- * Required. The InstanceConfig proto of the configuration to create. instance_config.name must be `/instanceConfigs/`. instance_config.base_config must be a Google managed configuration name, e.g. /instanceConfigs/us-east1, /instanceConfigs/nam3.
678
+ * Required. The `InstanceConfig` proto of the configuration to create. `instance_config.name` must be `/instanceConfigs/`. `instance_config.base_config` must be a Google-managed configuration name, e.g. /instanceConfigs/us-east1, /instanceConfigs/nam3.
600
679
  */
601
680
  instanceConfig?: Schema$InstanceConfig;
602
681
  /**
603
- * Required. The ID of the instance config to create. Valid identifiers are of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64 characters in length. The `custom-` prefix is required to avoid name conflicts with Google managed configurations.
682
+ * Required. The ID of the instance configuration to create. Valid identifiers are of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64 characters in length. The `custom-` prefix is required to avoid name conflicts with Google-managed configurations.
604
683
  */
605
684
  instanceConfigId?: string | null;
606
685
  /**
@@ -689,6 +768,23 @@ export namespace spanner_v1 {
689
768
  */
690
769
  session?: Schema$Session;
691
770
  }
771
+ /**
772
+ * CrontabSpec can be used to specify the version time and frequency at which the backup should be created.
773
+ */
774
+ export interface Schema$CrontabSpec {
775
+ /**
776
+ * Output only. Schedule backups will contain an externally consistent copy of the database at the version time specified in `schedule_spec.cron_spec`. However, Spanner may not initiate the creation of the scheduled backups at that version time. Spanner will initiate the creation of scheduled backups within the time window bounded by the version_time specified in `schedule_spec.cron_spec` and version_time + `creation_window`.
777
+ */
778
+ creationWindow?: string | null;
779
+ /**
780
+ * Required. Textual representation of the crontab. User can customize the backup frequency and the backup version time using the cron expression. The version time must be in UTC timzeone. The backup will contain an externally consistent copy of the database at the version time. Allowed frequencies are 12 hour, 1 day, 1 week and 1 month. Examples of valid cron specifications: * `0 2/12 * * * ` : every 12 hours at (2, 14) hours past midnight in UTC. * `0 2,14 * * * ` : every 12 hours at (2,14) hours past midnight in UTC. * `0 2 * * * ` : once a day at 2 past midnight in UTC. * `0 2 * * 0 ` : once a week every Sunday at 2 past midnight in UTC. * `0 2 8 * * ` : once a month on 8th day at 2 past midnight in UTC.
781
+ */
782
+ text?: string | null;
783
+ /**
784
+ * Output only. The time zone of the times in `CrontabSpec.text`. Currently only UTC is supported.
785
+ */
786
+ timeZone?: string | null;
787
+ }
692
788
  /**
693
789
  * A Cloud Spanner database.
694
790
  */
@@ -710,7 +806,7 @@ export namespace spanner_v1 {
710
806
  */
711
807
  earliestVersionTime?: string | null;
712
808
  /**
713
- * Whether drop protection is enabled for this database. Defaults to false, if not set. For more details, please see how to [prevent accidental database deletion](https://cloud.google.com/spanner/docs/prevent-database-deletion).
809
+ * Optional. Whether drop protection is enabled for this database. Defaults to false, if not set. For more details, please see how to [prevent accidental database deletion](https://cloud.google.com/spanner/docs/prevent-database-deletion).
714
810
  */
715
811
  enableDropProtection?: boolean | null;
716
812
  /**
@@ -726,7 +822,7 @@ export namespace spanner_v1 {
726
822
  */
727
823
  name?: string | null;
728
824
  /**
729
- * Output only. Applicable only for databases that use dual region instance configurations. Contains information about the quorum.
825
+ * Output only. Applicable only for databases that use dual-region instance configurations. Contains information about the quorum.
730
826
  */
731
827
  quorumInfo?: Schema$QuorumInfo;
732
828
  /**
@@ -1021,6 +1117,10 @@ export namespace spanner_v1 {
1021
1117
  */
1022
1118
  upgradeTime?: string | null;
1023
1119
  }
1120
+ /**
1121
+ * The specification for full backups. A full backup stores the entire contents of the database at a given version time.
1122
+ */
1123
+ export interface Schema$FullBackupSpec {}
1024
1124
  /**
1025
1125
  * The response for GetDatabaseDdl.
1026
1126
  */
@@ -1065,6 +1165,10 @@ export namespace spanner_v1 {
1065
1165
  */
1066
1166
  replicaSelections?: Schema$ReplicaSelection[];
1067
1167
  }
1168
+ /**
1169
+ * The specification for incremental backup chains. An incremental backup stores the delta of changes between a previous backup and the database contents at a given version time. An incremental backup chain consists of a full backup and zero or more successive incremental backups. The first backup created for an incremental backup chain is always a full backup.
1170
+ */
1171
+ export interface Schema$IncrementalBackupSpec {}
1068
1172
  /**
1069
1173
  * Recommendation to add new indexes to run queries more efficiently.
1070
1174
  */
@@ -1116,6 +1220,10 @@ export namespace spanner_v1 {
1116
1220
  * Required. The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.
1117
1221
  */
1118
1222
  displayName?: string | null;
1223
+ /**
1224
+ * Optional. The `Edition` of the current instance.
1225
+ */
1226
+ edition?: string | null;
1119
1227
  /**
1120
1228
  * Deprecated. This field is not populated.
1121
1229
  */
@@ -1137,11 +1245,11 @@ export namespace spanner_v1 {
1137
1245
  */
1138
1246
  name?: string | null;
1139
1247
  /**
1140
- * The number of nodes allocated to this instance. At most one of either node_count or processing_units should be present in the message. Users can set the node_count field to specify the target number of nodes allocated to the instance. If autoscaling is enabled, node_count is treated as an OUTPUT_ONLY field and reflects the current number of nodes allocated to the instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units.
1248
+ * The number of nodes allocated to this instance. At most, one of either `node_count` or `processing_units` should be present in the message. Users can set the `node_count` field to specify the target number of nodes allocated to the instance. If autoscaling is enabled, `node_count` is treated as an `OUTPUT_ONLY` field and reflects the current number of nodes allocated to the instance. This might be zero in API responses for instances that are not yet in the `READY` state. For more information, see [Compute capacity, nodes, and processing units](https://cloud.google.com/spanner/docs/compute-capacity).
1141
1249
  */
1142
1250
  nodeCount?: number | null;
1143
1251
  /**
1144
- * The number of processing units allocated to this instance. At most one of processing_units or node_count should be present in the message. Users can set the processing_units field to specify the target number of processing units allocated to the instance. If autoscaling is enabled, processing_units is treated as an OUTPUT_ONLY field and reflects the current number of processing units allocated to the instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units.
1252
+ * The number of processing units allocated to this instance. At most, one of either `processing_units` or `node_count` should be present in the message. Users can set the `processing_units` field to specify the target number of processing units allocated to the instance. If autoscaling is enabled, `processing_units` is treated as an `OUTPUT_ONLY` field and reflects the current number of processing units allocated to the instance. This might be zero in API responses for instances that are not yet in the `READY` state. For more information, see [Compute capacity, nodes and processing units](https://cloud.google.com/spanner/docs/compute-capacity).
1145
1253
  */
1146
1254
  processingUnits?: number | null;
1147
1255
  /**
@@ -1158,11 +1266,11 @@ export namespace spanner_v1 {
1158
1266
  */
1159
1267
  export interface Schema$InstanceConfig {
1160
1268
  /**
1161
- * Base configuration name, e.g. projects//instanceConfigs/nam3, based on which this configuration is created. Only set for user managed configurations. `base_config` must refer to a configuration of type GOOGLE_MANAGED in the same project as this configuration.
1269
+ * Base configuration name, e.g. projects//instanceConfigs/nam3, based on which this configuration is created. Only set for user-managed configurations. `base_config` must refer to a configuration of type `GOOGLE_MANAGED` in the same project as this configuration.
1162
1270
  */
1163
1271
  baseConfig?: string | null;
1164
1272
  /**
1165
- * Output only. Whether this instance config is a Google or User Managed Configuration.
1273
+ * Output only. Whether this instance configuration is a Google-managed or user-managed configuration.
1166
1274
  */
1167
1275
  configType?: string | null;
1168
1276
  /**
@@ -1170,11 +1278,11 @@ export namespace spanner_v1 {
1170
1278
  */
1171
1279
  displayName?: string | null;
1172
1280
  /**
1173
- * etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a instance config from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform instance config updates in order to avoid race conditions: An etag is returned in the response which contains instance configs, and systems are expected to put that etag in the request to update instance config to ensure that their change will be applied to the same version of the instance config. If no etag is provided in the call to update instance config, then the existing instance config is overwritten blindly.
1281
+ * etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a instance configuration from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform instance configuration updates in order to avoid race conditions: An etag is returned in the response which contains instance configurations, and systems are expected to put that etag in the request to update instance configuration to ensure that their change is applied to the same version of the instance configuration. If no etag is provided in the call to update the instance configuration, then the existing instance configuration is overwritten blindly.
1174
1282
  */
1175
1283
  etag?: string | null;
1176
1284
  /**
1177
- * Output only. Describes whether free instances are available to be created in this instance config.
1285
+ * Output only. Describes whether free instances are available to be created in this instance configuration.
1178
1286
  */
1179
1287
  freeInstanceAvailability?: string | null;
1180
1288
  /**
@@ -1186,11 +1294,11 @@ export namespace spanner_v1 {
1186
1294
  */
1187
1295
  leaderOptions?: string[] | null;
1188
1296
  /**
1189
- * A unique identifier for the instance configuration. Values are of the form `projects//instanceConfigs/a-z*`.
1297
+ * A unique identifier for the instance configuration. Values are of the form `projects//instanceConfigs/a-z*`. User instance configuration must start with `custom-`.
1190
1298
  */
1191
1299
  name?: string | null;
1192
1300
  /**
1193
- * Output only. The available optional replicas to choose from for user managed configurations. Populated for Google managed configurations.
1301
+ * Output only. The available optional replicas to choose from for user-managed configurations. Populated for Google-managed configurations.
1194
1302
  */
1195
1303
  optionalReplicas?: Schema$ReplicaInfo[];
1196
1304
  /**
@@ -1198,15 +1306,15 @@ export namespace spanner_v1 {
1198
1306
  */
1199
1307
  quorumType?: string | null;
1200
1308
  /**
1201
- * Output only. If true, the instance config is being created or updated. If false, there are no ongoing operations for the instance config.
1309
+ * Output only. If true, the instance configuration is being created or updated. If false, there are no ongoing operations for the instance configuration.
1202
1310
  */
1203
1311
  reconciling?: boolean | null;
1204
1312
  /**
1205
- * The geographic placement of nodes in this instance configuration and their replication properties.
1313
+ * The geographic placement of nodes in this instance configuration and their replication properties. To create user-managed configurations, input `replicas` must include all replicas in `replicas` of the `base_config` and include one or more replicas in the `optional_replicas` of the `base_config`.
1206
1314
  */
1207
1315
  replicas?: Schema$ReplicaInfo[];
1208
1316
  /**
1209
- * Output only. The current instance config state. Applicable only for USER_MANAGED configs.
1317
+ * Output only. The current instance configuration state. Applicable only for `USER_MANAGED` configurations.
1210
1318
  */
1211
1319
  state?: string | null;
1212
1320
  /**
@@ -1256,15 +1364,15 @@ export namespace spanner_v1 {
1256
1364
  */
1257
1365
  name?: string | null;
1258
1366
  /**
1259
- * The number of nodes allocated to this instance partition. Users can set the node_count field to specify the target number of nodes allocated to the instance partition. This may be zero in API responses for instance partitions that are not yet in state `READY`.
1367
+ * The number of nodes allocated to this instance partition. Users can set the `node_count` field to specify the target number of nodes allocated to the instance partition. This may be zero in API responses for instance partitions that are not yet in state `READY`.
1260
1368
  */
1261
1369
  nodeCount?: number | null;
1262
1370
  /**
1263
- * The number of processing units allocated to this instance partition. Users can set the processing_units field to specify the target number of processing units allocated to the instance partition. This may be zero in API responses for instance partitions that are not yet in state `READY`.
1371
+ * The number of processing units allocated to this instance partition. Users can set the `processing_units` field to specify the target number of processing units allocated to the instance partition. This might be zero in API responses for instance partitions that are not yet in the `READY` state.
1264
1372
  */
1265
1373
  processingUnits?: number | null;
1266
1374
  /**
1267
- * Output only. The names of the backups that reference this instance partition. Referencing backups should share the parent instance. The existence of any referencing backup prevents the instance partition from being deleted.
1375
+ * Output only. Deprecated: This field is not populated. Output only. The names of the backups that reference this instance partition. Referencing backups should share the parent instance. The existence of any referencing backup prevents the instance partition from being deleted.
1268
1376
  */
1269
1377
  referencingBackups?: string[] | null;
1270
1378
  /**
@@ -1385,6 +1493,19 @@ export namespace spanner_v1 {
1385
1493
  */
1386
1494
  operations?: Schema$Operation[];
1387
1495
  }
1496
+ /**
1497
+ * The response for ListBackupSchedules.
1498
+ */
1499
+ export interface Schema$ListBackupSchedulesResponse {
1500
+ /**
1501
+ * The list of backup schedules for a database.
1502
+ */
1503
+ backupSchedules?: Schema$BackupSchedule[];
1504
+ /**
1505
+ * `next_page_token` can be sent in a subsequent ListBackupSchedules call to fetch more of the schedules.
1506
+ */
1507
+ nextPageToken?: string | null;
1508
+ }
1388
1509
  /**
1389
1510
  * The response for ListBackups.
1390
1511
  */
@@ -1446,7 +1567,7 @@ export namespace spanner_v1 {
1446
1567
  */
1447
1568
  nextPageToken?: string | null;
1448
1569
  /**
1449
- * The list of matching instance config long-running operations. Each operation's name will be prefixed by the instance config's name. The operation's metadata field type `metadata.type_url` describes the type of the metadata.
1570
+ * The list of matching instance configuration long-running operations. Each operation's name will be prefixed by the name of the instance configuration. The operation's metadata field type `metadata.type_url` describes the type of the metadata.
1450
1571
  */
1451
1572
  operations?: Schema$Operation[];
1452
1573
  }
@@ -1646,7 +1767,7 @@ export namespace spanner_v1 {
1646
1767
  */
1647
1768
  export interface Schema$MoveInstanceRequest {
1648
1769
  /**
1649
- * Required. The target instance config for the instance to move. Values are of the form `projects//instanceConfigs/`.
1770
+ * Required. The target instance configuration where to move the instance. Values are of the form `projects//instanceConfigs/`.
1650
1771
  */
1651
1772
  targetConfig?: string | null;
1652
1773
  }
@@ -1807,7 +1928,7 @@ export namespace spanner_v1 {
1807
1928
  */
1808
1929
  partitionOptions?: Schema$PartitionOptions;
1809
1930
  /**
1810
- * Required. The query request to generate partitions for. The request will fail if the query is not root partitionable. For a query to be root partitionable, it needs to satisfy a few conditions. For example, if the query execution plan contains a distributed union operator, then it must be the first operator in the plan. For more information about other conditions, see [Read data in parallel](https://cloud.google.com/spanner/docs/reads#read_data_in_parallel). The query request must not contain DML commands, such as INSERT, UPDATE, or DELETE. Use ExecuteStreamingSql with a PartitionedDml transaction for large, partition-friendly DML operations.
1931
+ * Required. The query request to generate partitions for. The request fails if the query is not root partitionable. For a query to be root partitionable, it needs to satisfy a few conditions. For example, if the query execution plan contains a distributed union operator, then it must be the first operator in the plan. For more information about other conditions, see [Read data in parallel](https://cloud.google.com/spanner/docs/reads#read_data_in_parallel). The query request must not contain DML commands, such as `INSERT`, `UPDATE`, or `DELETE`. Use `ExecuteStreamingSql` with a PartitionedDml transaction for large, partition-friendly DML operations.
1811
1932
  */
1812
1933
  sql?: string | null;
1813
1934
  /**
@@ -1968,15 +2089,15 @@ export namespace spanner_v1 {
1968
2089
  queryAdvice?: Schema$QueryAdvisorResult;
1969
2090
  }
1970
2091
  /**
1971
- * Information about the dual region quorum.
2092
+ * Information about the dual-region quorum.
1972
2093
  */
1973
2094
  export interface Schema$QuorumInfo {
1974
2095
  /**
1975
- * Output only. The etag is used for optimistic concurrency control as a way to help prevent simultaneous ChangeQuorum requests that could create a race condition.
2096
+ * Output only. The etag is used for optimistic concurrency control as a way to help prevent simultaneous `ChangeQuorum` requests that might create a race condition.
1976
2097
  */
1977
2098
  etag?: string | null;
1978
2099
  /**
1979
- * Output only. Whether this ChangeQuorum is a Google or User initiated.
2100
+ * Output only. Whether this `ChangeQuorum` is Google or User initiated.
1980
2101
  */
1981
2102
  initiator?: string | null;
1982
2103
  /**
@@ -1989,15 +2110,15 @@ export namespace spanner_v1 {
1989
2110
  startTime?: string | null;
1990
2111
  }
1991
2112
  /**
1992
- * Information about the database quorum type. this applies only for dual region instance configs.
2113
+ * Information about the database quorum type. This only applies to dual-region instance configs.
1993
2114
  */
1994
2115
  export interface Schema$QuorumType {
1995
2116
  /**
1996
- * Dual region quorum type.
2117
+ * Dual-region quorum type.
1997
2118
  */
1998
2119
  dualRegion?: Schema$DualRegionQuorum;
1999
2120
  /**
2000
- * Single region quorum type.
2121
+ * Single-region quorum type.
2001
2122
  */
2002
2123
  singleRegion?: Schema$SingleRegionQuorum;
2003
2124
  }
@@ -2058,6 +2179,14 @@ export namespace spanner_v1 {
2058
2179
  * If greater than zero, only the first `limit` rows are yielded. If `limit` is zero, the default is no limit. A limit cannot be specified if `partition_token` is set.
2059
2180
  */
2060
2181
  limit?: string | null;
2182
+ /**
2183
+ * Optional. Lock Hint for the request, it can only be used with read-write transactions.
2184
+ */
2185
+ lockHint?: string | null;
2186
+ /**
2187
+ * Optional. Order for the returned rows. By default, Spanner will return result rows in primary key order except for PartitionRead requests. For applications that do not require rows to be returned in primary key (`ORDER_BY_PRIMARY_KEY`) order, setting `ORDER_BY_NO_ORDER` option allows Spanner to optimize row retrieval, resulting in lower latencies in certain cases (e.g. bulk point lookups).
2188
+ */
2189
+ orderBy?: string | null;
2061
2190
  /**
2062
2191
  * If present, results will be restricted to the specified partition previously created using PartitionRead(). There must be an exact match for the values of fields common to this message and the PartitionReadRequest message used to create this partition_token.
2063
2192
  */
@@ -2145,7 +2274,7 @@ export namespace spanner_v1 {
2145
2274
  */
2146
2275
  kmsKeyName?: string | null;
2147
2276
  /**
2148
- * Optional. Specifies the KMS configuration for the one or more keys used to encrypt the database. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by kms_key_names must fully cover all regions of the database instance configuration. Some examples: * For single region database instance configs, specify a single regional location KMS key. * For multi-regional database instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config. * For a database instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs.
2277
+ * Optional. Specifies the KMS configuration for the one or more keys used to encrypt the database. Values have the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by kms_key_names must fully cover all regions of the database instance configuration. Some examples: * For single region database instance configurations, specify a single regional location KMS key. * For multi-regional database instance configurations of type `GOOGLE_MANAGED`, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance configuration. * For a database instance configuration of type `USER_MANAGED`, please specify only regional location KMS keys to cover each region in the instance configuration. Multi-regional location KMS keys are not supported for USER_MANAGED instance configurations.
2149
2278
  */
2150
2279
  kmsKeyNames?: string[] | null;
2151
2280
  }
@@ -2335,7 +2464,7 @@ export namespace spanner_v1 {
2335
2464
  */
2336
2465
  labels?: {[key: string]: string} | null;
2337
2466
  /**
2338
- * Optional. If true, specifies a multiplexed session. A multiplexed session may be used for multiple, concurrent read-only operations but can not be used for read-write transactions, partitioned reads, or partitioned queries. Multiplexed sessions can be created via CreateSession but not via BatchCreateSessions. Multiplexed sessions may not be deleted nor listed.
2467
+ * Optional. If true, specifies a multiplexed session. Use a multiplexed session for multiple, concurrent read-only operations. Don't use them for read-write transactions, partitioned reads, or partitioned queries. Use CreateSession to create multiplexed sessions. Don't use BatchCreateSessions to create a multiplexed session. You can't delete or list multiplexed sessions.
2339
2468
  */
2340
2469
  multiplexed?: boolean | null;
2341
2470
  /**
@@ -2370,7 +2499,7 @@ export namespace spanner_v1 {
2370
2499
  */
2371
2500
  export interface Schema$SingleRegionQuorum {
2372
2501
  /**
2373
- * Required. The location of the serving region, e.g. "us-central1". The location must be one of the regions within the dual region instance configuration of your database. The list of valid locations is available via [GetInstanceConfig[InstanceAdmin.GetInstanceConfig] API. This should only be used if you plan to change quorum in single-region quorum type.
2502
+ * Required. The location of the serving region, e.g. "us-central1". The location must be one of the regions within the dual-region instance configuration of your database. The list of valid locations is available using the GetInstanceConfig API. This should only be used if you plan to change quorum to the single-region quorum type.
2374
2503
  */
2375
2504
  servingLocation?: string | null;
2376
2505
  }
@@ -2596,7 +2725,7 @@ export namespace spanner_v1 {
2596
2725
  */
2597
2726
  cancelTime?: string | null;
2598
2727
  /**
2599
- * The desired instance config after updating.
2728
+ * The desired instance configuration after updating.
2600
2729
  */
2601
2730
  instanceConfig?: Schema$InstanceConfig;
2602
2731
  /**
@@ -2609,7 +2738,7 @@ export namespace spanner_v1 {
2609
2738
  */
2610
2739
  export interface Schema$UpdateInstanceConfigRequest {
2611
2740
  /**
2612
- * Required. The user instance config to update, which must always include the instance config name. Otherwise, only fields mentioned in update_mask need be included. To prevent conflicts of concurrent updates, etag can be used.
2741
+ * Required. The user instance configuration to update, which must always include the instance configuration name. Otherwise, only fields mentioned in update_mask need be included. To prevent conflicts of concurrent updates, etag can be used.
2613
2742
  */
2614
2743
  instanceConfig?: Schema$InstanceConfig;
2615
2744
  /**
@@ -2776,7 +2905,7 @@ export namespace spanner_v1 {
2776
2905
  }
2777
2906
 
2778
2907
  /**
2779
- * Lists the user-managed instance config long-running operations in the given project. An instance config operation has a name of the form `projects//instanceConfigs//operations/`. The long-running operation metadata field type `metadata.type_url` describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations. Operations returned are ordered by `operation.metadata.value.start_time` in descending order starting from the most recently started operation.
2908
+ * Lists the user-managed instance configuration long-running operations in the given project. An instance configuration operation has a name of the form `projects//instanceConfigs//operations/`. The long-running operation metadata field type `metadata.type_url` describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations. Operations returned are ordered by `operation.metadata.value.start_time` in descending order starting from the most recently started operation.
2780
2909
  *
2781
2910
  * @param params - Parameters for request
2782
2911
  * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
@@ -2876,7 +3005,7 @@ export namespace spanner_v1 {
2876
3005
  export interface Params$Resource$Projects$Instanceconfigoperations$List
2877
3006
  extends StandardParameters {
2878
3007
  /**
2879
- * An expression that filters the list of returned operations. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `<`, `\>`, `<=`, `\>=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the Operation are eligible for filtering: * `name` - The name of the long-running operation * `done` - False if the operation is in progress, else true. * `metadata.@type` - the type of metadata. For example, the type string for CreateInstanceConfigMetadata is `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`. * `metadata.` - any field in metadata.value. `metadata.@type` must be specified first, if filtering on metadata fields. * `error` - Error associated with the long-running operation. * `response.@type` - the type of response. * `response.` - any field in response.value. You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic. However, you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `done:true` - The operation is complete. * `(metadata.@type=` \ `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata) AND` \ `(metadata.instance_config.name:custom-config) AND` \ `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \ `(error:*)` - Return operations where: * The operation's metadata type is CreateInstanceConfigMetadata. * The instance config name contains "custom-config". * The operation started before 2021-03-28T14:50:00Z. * The operation resulted in an error.
3008
+ * An expression that filters the list of returned operations. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `<`, `\>`, `<=`, `\>=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the Operation are eligible for filtering: * `name` - The name of the long-running operation * `done` - False if the operation is in progress, else true. * `metadata.@type` - the type of metadata. For example, the type string for CreateInstanceConfigMetadata is `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`. * `metadata.` - any field in metadata.value. `metadata.@type` must be specified first, if filtering on metadata fields. * `error` - Error associated with the long-running operation. * `response.@type` - the type of response. * `response.` - any field in response.value. You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic. However, you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `done:true` - The operation is complete. * `(metadata.@type=` \ `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata) AND` \ `(metadata.instance_config.name:custom-config) AND` \ `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \ `(error:*)` - Return operations where: * The operation's metadata type is CreateInstanceConfigMetadata. * The instance configuration name contains "custom-config". * The operation started before 2021-03-28T14:50:00Z. * The operation resulted in an error.
2880
3009
  */
2881
3010
  filter?: string;
2882
3011
  /**
@@ -2888,7 +3017,7 @@ export namespace spanner_v1 {
2888
3017
  */
2889
3018
  pageToken?: string;
2890
3019
  /**
2891
- * Required. The project of the instance config operations. Values are of the form `projects/`.
3020
+ * Required. The project of the instance configuration operations. Values are of the form `projects/`.
2892
3021
  */
2893
3022
  parent?: string;
2894
3023
  }
@@ -2908,7 +3037,7 @@ export namespace spanner_v1 {
2908
3037
  }
2909
3038
 
2910
3039
  /**
2911
- * Creates an instance config and begins preparing it to be used. The returned long-running operation can be used to track the progress of preparing the new instance config. The instance config name is assigned by the caller. If the named instance config already exists, `CreateInstanceConfig` returns `ALREADY_EXISTS`. Immediately after the request returns: * The instance config is readable via the API, with all requested attributes. The instance config's reconciling field is set to true. Its state is `CREATING`. While the operation is pending: * Cancelling the operation renders the instance config immediately unreadable via the API. * Except for deleting the creating resource, all other attempts to modify the instance config are rejected. Upon completion of the returned operation: * Instances can be created using the instance configuration. * The instance config's reconciling field becomes false. Its state becomes `READY`. The returned long-running operation will have a name of the format `/operations/` and can be used to track creation of the instance config. The metadata field type is CreateInstanceConfigMetadata. The response field type is InstanceConfig, if successful. Authorization requires `spanner.instanceConfigs.create` permission on the resource parent.
3040
+ * Creates an instance configuration and begins preparing it to be used. The returned long-running operation can be used to track the progress of preparing the new instance configuration. The instance configuration name is assigned by the caller. If the named instance configuration already exists, `CreateInstanceConfig` returns `ALREADY_EXISTS`. Immediately after the request returns: * The instance configuration is readable via the API, with all requested attributes. The instance configuration's reconciling field is set to true. Its state is `CREATING`. While the operation is pending: * Cancelling the operation renders the instance configuration immediately unreadable via the API. * Except for deleting the creating resource, all other attempts to modify the instance configuration are rejected. Upon completion of the returned operation: * Instances can be created using the instance configuration. * The instance configuration's reconciling field becomes false. Its state becomes `READY`. The returned long-running operation will have a name of the format `/operations/` and can be used to track creation of the instance configuration. The metadata field type is CreateInstanceConfigMetadata. The response field type is InstanceConfig, if successful. Authorization requires `spanner.instanceConfigs.create` permission on the resource parent.
2912
3041
  *
2913
3042
  * @param params - Parameters for request
2914
3043
  * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
@@ -2996,7 +3125,7 @@ export namespace spanner_v1 {
2996
3125
  }
2997
3126
 
2998
3127
  /**
2999
- * Deletes the instance config. Deletion is only allowed when no instances are using the configuration. If any instances are using the config, returns `FAILED_PRECONDITION`. Only user managed configurations can be deleted. Authorization requires `spanner.instanceConfigs.delete` permission on the resource name.
3128
+ * Deletes the instance configuration. Deletion is only allowed when no instances are using the configuration. If any instances are using the configuration, returns `FAILED_PRECONDITION`. Only user-managed configurations can be deleted. Authorization requires `spanner.instanceConfigs.delete` permission on the resource name.
3000
3129
  *
3001
3130
  * @param params - Parameters for request
3002
3131
  * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
@@ -3166,7 +3295,7 @@ export namespace spanner_v1 {
3166
3295
  }
3167
3296
 
3168
3297
  /**
3169
- * Lists the supported instance configurations for a given project.
3298
+ * Lists the supported instance configurations for a given project. Returns both Google-managed configurations and user-managed configurations.
3170
3299
  *
3171
3300
  * @param params - Parameters for request
3172
3301
  * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
@@ -3261,7 +3390,7 @@ export namespace spanner_v1 {
3261
3390
  }
3262
3391
 
3263
3392
  /**
3264
- * Updates an instance config. The returned long-running operation can be used to track the progress of updating the instance. If the named instance config does not exist, returns `NOT_FOUND`. Only user managed configurations can be updated. Immediately after the request returns: * The instance config's reconciling field is set to true. While the operation is pending: * Cancelling the operation sets its metadata's cancel_time. The operation is guaranteed to succeed at undoing all changes, after which point it terminates with a `CANCELLED` status. * All other attempts to modify the instance config are rejected. * Reading the instance config via the API continues to give the pre-request values. Upon completion of the returned operation: * Creating instances using the instance configuration uses the new values. * The instance config's new values are readable via the API. * The instance config's reconciling field becomes false. The returned long-running operation will have a name of the format `/operations/` and can be used to track the instance config modification. The metadata field type is UpdateInstanceConfigMetadata. The response field type is InstanceConfig, if successful. Authorization requires `spanner.instanceConfigs.update` permission on the resource name.
3393
+ * Updates an instance configuration. The returned long-running operation can be used to track the progress of updating the instance. If the named instance configuration does not exist, returns `NOT_FOUND`. Only user-managed configurations can be updated. Immediately after the request returns: * The instance configuration's reconciling field is set to true. While the operation is pending: * Cancelling the operation sets its metadata's cancel_time. The operation is guaranteed to succeed at undoing all changes, after which point it terminates with a `CANCELLED` status. * All other attempts to modify the instance configuration are rejected. * Reading the instance configuration via the API continues to give the pre-request values. Upon completion of the returned operation: * Creating instances using the instance configuration uses the new values. * The new values of the instance configuration are readable via the API. * The instance configuration's reconciling field becomes false. The returned long-running operation will have a name of the format `/operations/` and can be used to track the instance configuration modification. The metadata field type is UpdateInstanceConfigMetadata. The response field type is InstanceConfig, if successful. Authorization requires `spanner.instanceConfigs.update` permission on the resource name.
3265
3394
  *
3266
3395
  * @param params - Parameters for request
3267
3396
  * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
@@ -3349,7 +3478,7 @@ export namespace spanner_v1 {
3349
3478
  export interface Params$Resource$Projects$Instanceconfigs$Create
3350
3479
  extends StandardParameters {
3351
3480
  /**
3352
- * Required. The name of the project in which to create the instance config. Values are of the form `projects/`.
3481
+ * Required. The name of the project in which to create the instance configuration. Values are of the form `projects/`.
3353
3482
  */
3354
3483
  parent?: string;
3355
3484
 
@@ -3361,7 +3490,7 @@ export namespace spanner_v1 {
3361
3490
  export interface Params$Resource$Projects$Instanceconfigs$Delete
3362
3491
  extends StandardParameters {
3363
3492
  /**
3364
- * Used for optimistic concurrency control as a way to help prevent simultaneous deletes of an instance config from overwriting each other. If not empty, the API only deletes the instance config when the etag provided matches the current status of the requested instance config. Otherwise, deletes the instance config without checking the current status of the requested instance config.
3493
+ * Used for optimistic concurrency control as a way to help prevent simultaneous deletes of an instance configuration from overwriting each other. If not empty, the API only deletes the instance configuration when the etag provided matches the current status of the requested instance configuration. Otherwise, deletes the instance configuration without checking the current status of the requested instance configuration.
3365
3494
  */
3366
3495
  etag?: string;
3367
3496
  /**
@@ -3398,7 +3527,7 @@ export namespace spanner_v1 {
3398
3527
  export interface Params$Resource$Projects$Instanceconfigs$Patch
3399
3528
  extends StandardParameters {
3400
3529
  /**
3401
- * A unique identifier for the instance configuration. Values are of the form `projects//instanceConfigs/a-z*`.
3530
+ * A unique identifier for the instance configuration. Values are of the form `projects//instanceConfigs/a-z*`. User instance configuration must start with `custom-`.
3402
3531
  */
3403
3532
  name?: string;
3404
3533
 
@@ -4681,7 +4810,7 @@ export namespace spanner_v1 {
4681
4810
  }
4682
4811
 
4683
4812
  /**
4684
- * Moves the instance to the target instance config. The returned long-running operation can be used to track the progress of moving the instance. `MoveInstance` returns `FAILED_PRECONDITION` if the instance meets any of the following criteria: * Has an ongoing move to a different instance config * Has backups * Has an ongoing update * Is under free trial * Contains any CMEK-enabled databases While the operation is pending: * All other attempts to modify the instance, including changes to its compute capacity, are rejected. * The following database and backup admin operations are rejected: * DatabaseAdmin.CreateDatabase, * DatabaseAdmin.UpdateDatabaseDdl (Disabled if default_leader is specified in the request.) * DatabaseAdmin.RestoreDatabase * DatabaseAdmin.CreateBackup * DatabaseAdmin.CopyBackup * Both the source and target instance configs are subject to hourly compute and storage charges. * The instance may experience higher read-write latencies and a higher transaction abort rate. However, moving an instance does not cause any downtime. The returned long-running operation will have a name of the format `/operations/` and can be used to track the move instance operation. The metadata field type is MoveInstanceMetadata. The response field type is Instance, if successful. Cancelling the operation sets its metadata's cancel_time. Cancellation is not immediate since it involves moving any data previously moved to target instance config back to the original instance config. The same operation can be used to track the progress of the cancellation. Upon successful completion of the cancellation, the operation terminates with CANCELLED status. Upon completion(if not cancelled) of the returned operation: * Instance would be successfully moved to the target instance config. * You are billed for compute and storage in target instance config. Authorization requires `spanner.instances.update` permission on the resource instance. For more details, please see [documentation](https://cloud.google.com/spanner/docs/move-instance).
4813
+ * Moves an instance to the target instance configuration. You can use the returned long-running operation to track the progress of moving the instance. `MoveInstance` returns `FAILED_PRECONDITION` if the instance meets any of the following criteria: * Is undergoing a move to a different instance configuration * Has backups * Has an ongoing update * Contains any CMEK-enabled databases * Is a free trial instance While the operation is pending: * All other attempts to modify the instance, including changes to its compute capacity, are rejected. * The following database and backup admin operations are rejected: * `DatabaseAdmin.CreateDatabase` * `DatabaseAdmin.UpdateDatabaseDdl` (disabled if default_leader is specified in the request.) * `DatabaseAdmin.RestoreDatabase` * `DatabaseAdmin.CreateBackup` * `DatabaseAdmin.CopyBackup` * Both the source and target instance configurations are subject to hourly compute and storage charges. * The instance might experience higher read-write latencies and a higher transaction abort rate. However, moving an instance doesn't cause any downtime. The returned long-running operation has a name of the format `/operations/` and can be used to track the move instance operation. The metadata field type is MoveInstanceMetadata. The response field type is Instance, if successful. Cancelling the operation sets its metadata's cancel_time. Cancellation is not immediate because it involves moving any data previously moved to the target instance configuration back to the original instance configuration. You can use this operation to track the progress of the cancellation. Upon successful completion of the cancellation, the operation terminates with `CANCELLED` status. If not cancelled, upon completion of the returned operation: * The instance successfully moves to the target instance configuration. * You are billed for compute and storage in target instance configuration. Authorization requires the `spanner.instances.update` permission on the resource instance. For more details, see [Move an instance](https://cloud.google.com/spanner/docs/move-instance).
4685
4814
  *
4686
4815
  * @param params - Parameters for request
4687
4816
  * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
@@ -6727,11 +6856,14 @@ export namespace spanner_v1 {
6727
6856
 
6728
6857
  export class Resource$Projects$Instances$Databases {
6729
6858
  context: APIRequestContext;
6859
+ backupSchedules: Resource$Projects$Instances$Databases$Backupschedules;
6730
6860
  databaseRoles: Resource$Projects$Instances$Databases$Databaseroles;
6731
6861
  operations: Resource$Projects$Instances$Databases$Operations;
6732
6862
  sessions: Resource$Projects$Instances$Databases$Sessions;
6733
6863
  constructor(context: APIRequestContext) {
6734
6864
  this.context = context;
6865
+ this.backupSchedules =
6866
+ new Resource$Projects$Instances$Databases$Backupschedules(this.context);
6735
6867
  this.databaseRoles =
6736
6868
  new Resource$Projects$Instances$Databases$Databaseroles(this.context);
6737
6869
  this.operations = new Resource$Projects$Instances$Databases$Operations(
@@ -6743,7 +6875,7 @@ export namespace spanner_v1 {
6743
6875
  }
6744
6876
 
6745
6877
  /**
6746
- * ChangeQuorum is strictly restricted to databases that use dual region instance configurations. Initiates a background operation to change quorum a database from dual-region mode to single-region mode and vice versa. The returned long-running operation will have a name of the format `projects//instances//databases//operations/` and can be used to track execution of the ChangeQuorum. The metadata field type is ChangeQuorumMetadata. Authorization requires `spanner.databases.changequorum` permission on the resource database.
6878
+ * `ChangeQuorum` is strictly restricted to databases that use dual-region instance configurations. Initiates a background operation to change the quorum of a database from dual-region mode to single-region mode or vice versa. The returned long-running operation has a name of the format `projects//instances//databases//operations/` and can be used to track execution of the `ChangeQuorum`. The metadata field type is ChangeQuorumMetadata. Authorization requires `spanner.databases.changequorum` permission on the resource database.
6747
6879
  *
6748
6880
  * @param params - Parameters for request
6749
6881
  * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
@@ -6832,7 +6964,7 @@ export namespace spanner_v1 {
6832
6964
  }
6833
6965
 
6834
6966
  /**
6835
- * Creates a new Cloud Spanner database and starts to prepare it for serving. The returned long-running operation will have a name of the format `/operations/` and can be used to track preparation of the database. The metadata field type is CreateDatabaseMetadata. The response field type is Database, if successful.
6967
+ * Creates a new Spanner database and starts to prepare it for serving. The returned long-running operation will have a name of the format `/operations/` and can be used to track preparation of the database. The metadata field type is CreateDatabaseMetadata. The response field type is Database, if successful.
6836
6968
  *
6837
6969
  * @param params - Parameters for request
6838
6970
  * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
@@ -7900,7 +8032,7 @@ export namespace spanner_v1 {
7900
8032
  export interface Params$Resource$Projects$Instances$Databases$Changequorum
7901
8033
  extends StandardParameters {
7902
8034
  /**
7903
- * Required. Name of the database in which to apply the ChangeQuorum. Values are of the form `projects//instances//databases/`.
8035
+ * Required. Name of the database in which to apply `ChangeQuorum`. Values are of the form `projects//instances//databases/`.
7904
8036
  */
7905
8037
  name?: string;
7906
8038
 
@@ -8053,6 +8185,828 @@ export namespace spanner_v1 {
8053
8185
  requestBody?: Schema$UpdateDatabaseDdlRequest;
8054
8186
  }
8055
8187
 
8188
+ export class Resource$Projects$Instances$Databases$Backupschedules {
8189
+ context: APIRequestContext;
8190
+ constructor(context: APIRequestContext) {
8191
+ this.context = context;
8192
+ }
8193
+
8194
+ /**
8195
+ * Creates a new backup schedule.
8196
+ *
8197
+ * @param params - Parameters for request
8198
+ * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
8199
+ * @param callback - Optional callback that handles the response.
8200
+ * @returns A promise if used with async/await, or void if used with a callback.
8201
+ */
8202
+ create(
8203
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Create,
8204
+ options: StreamMethodOptions
8205
+ ): GaxiosPromise<Readable>;
8206
+ create(
8207
+ params?: Params$Resource$Projects$Instances$Databases$Backupschedules$Create,
8208
+ options?: MethodOptions
8209
+ ): GaxiosPromise<Schema$BackupSchedule>;
8210
+ create(
8211
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Create,
8212
+ options: StreamMethodOptions | BodyResponseCallback<Readable>,
8213
+ callback: BodyResponseCallback<Readable>
8214
+ ): void;
8215
+ create(
8216
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Create,
8217
+ options: MethodOptions | BodyResponseCallback<Schema$BackupSchedule>,
8218
+ callback: BodyResponseCallback<Schema$BackupSchedule>
8219
+ ): void;
8220
+ create(
8221
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Create,
8222
+ callback: BodyResponseCallback<Schema$BackupSchedule>
8223
+ ): void;
8224
+ create(callback: BodyResponseCallback<Schema$BackupSchedule>): void;
8225
+ create(
8226
+ paramsOrCallback?:
8227
+ | Params$Resource$Projects$Instances$Databases$Backupschedules$Create
8228
+ | BodyResponseCallback<Schema$BackupSchedule>
8229
+ | BodyResponseCallback<Readable>,
8230
+ optionsOrCallback?:
8231
+ | MethodOptions
8232
+ | StreamMethodOptions
8233
+ | BodyResponseCallback<Schema$BackupSchedule>
8234
+ | BodyResponseCallback<Readable>,
8235
+ callback?:
8236
+ | BodyResponseCallback<Schema$BackupSchedule>
8237
+ | BodyResponseCallback<Readable>
8238
+ ): void | GaxiosPromise<Schema$BackupSchedule> | GaxiosPromise<Readable> {
8239
+ let params = (paramsOrCallback ||
8240
+ {}) as Params$Resource$Projects$Instances$Databases$Backupschedules$Create;
8241
+ let options = (optionsOrCallback || {}) as MethodOptions;
8242
+
8243
+ if (typeof paramsOrCallback === 'function') {
8244
+ callback = paramsOrCallback;
8245
+ params =
8246
+ {} as Params$Resource$Projects$Instances$Databases$Backupschedules$Create;
8247
+ options = {};
8248
+ }
8249
+
8250
+ if (typeof optionsOrCallback === 'function') {
8251
+ callback = optionsOrCallback;
8252
+ options = {};
8253
+ }
8254
+
8255
+ const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/';
8256
+ const parameters = {
8257
+ options: Object.assign(
8258
+ {
8259
+ url: (rootUrl + '/v1/{+parent}/backupSchedules').replace(
8260
+ /([^:]\/)\/+/g,
8261
+ '$1'
8262
+ ),
8263
+ method: 'POST',
8264
+ apiVersion: '',
8265
+ },
8266
+ options
8267
+ ),
8268
+ params,
8269
+ requiredParams: ['parent'],
8270
+ pathParams: ['parent'],
8271
+ context: this.context,
8272
+ };
8273
+ if (callback) {
8274
+ createAPIRequest<Schema$BackupSchedule>(
8275
+ parameters,
8276
+ callback as BodyResponseCallback<unknown>
8277
+ );
8278
+ } else {
8279
+ return createAPIRequest<Schema$BackupSchedule>(parameters);
8280
+ }
8281
+ }
8282
+
8283
+ /**
8284
+ * Deletes a backup schedule.
8285
+ *
8286
+ * @param params - Parameters for request
8287
+ * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
8288
+ * @param callback - Optional callback that handles the response.
8289
+ * @returns A promise if used with async/await, or void if used with a callback.
8290
+ */
8291
+ delete(
8292
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Delete,
8293
+ options: StreamMethodOptions
8294
+ ): GaxiosPromise<Readable>;
8295
+ delete(
8296
+ params?: Params$Resource$Projects$Instances$Databases$Backupschedules$Delete,
8297
+ options?: MethodOptions
8298
+ ): GaxiosPromise<Schema$Empty>;
8299
+ delete(
8300
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Delete,
8301
+ options: StreamMethodOptions | BodyResponseCallback<Readable>,
8302
+ callback: BodyResponseCallback<Readable>
8303
+ ): void;
8304
+ delete(
8305
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Delete,
8306
+ options: MethodOptions | BodyResponseCallback<Schema$Empty>,
8307
+ callback: BodyResponseCallback<Schema$Empty>
8308
+ ): void;
8309
+ delete(
8310
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Delete,
8311
+ callback: BodyResponseCallback<Schema$Empty>
8312
+ ): void;
8313
+ delete(callback: BodyResponseCallback<Schema$Empty>): void;
8314
+ delete(
8315
+ paramsOrCallback?:
8316
+ | Params$Resource$Projects$Instances$Databases$Backupschedules$Delete
8317
+ | BodyResponseCallback<Schema$Empty>
8318
+ | BodyResponseCallback<Readable>,
8319
+ optionsOrCallback?:
8320
+ | MethodOptions
8321
+ | StreamMethodOptions
8322
+ | BodyResponseCallback<Schema$Empty>
8323
+ | BodyResponseCallback<Readable>,
8324
+ callback?:
8325
+ | BodyResponseCallback<Schema$Empty>
8326
+ | BodyResponseCallback<Readable>
8327
+ ): void | GaxiosPromise<Schema$Empty> | GaxiosPromise<Readable> {
8328
+ let params = (paramsOrCallback ||
8329
+ {}) as Params$Resource$Projects$Instances$Databases$Backupschedules$Delete;
8330
+ let options = (optionsOrCallback || {}) as MethodOptions;
8331
+
8332
+ if (typeof paramsOrCallback === 'function') {
8333
+ callback = paramsOrCallback;
8334
+ params =
8335
+ {} as Params$Resource$Projects$Instances$Databases$Backupschedules$Delete;
8336
+ options = {};
8337
+ }
8338
+
8339
+ if (typeof optionsOrCallback === 'function') {
8340
+ callback = optionsOrCallback;
8341
+ options = {};
8342
+ }
8343
+
8344
+ const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/';
8345
+ const parameters = {
8346
+ options: Object.assign(
8347
+ {
8348
+ url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'),
8349
+ method: 'DELETE',
8350
+ apiVersion: '',
8351
+ },
8352
+ options
8353
+ ),
8354
+ params,
8355
+ requiredParams: ['name'],
8356
+ pathParams: ['name'],
8357
+ context: this.context,
8358
+ };
8359
+ if (callback) {
8360
+ createAPIRequest<Schema$Empty>(
8361
+ parameters,
8362
+ callback as BodyResponseCallback<unknown>
8363
+ );
8364
+ } else {
8365
+ return createAPIRequest<Schema$Empty>(parameters);
8366
+ }
8367
+ }
8368
+
8369
+ /**
8370
+ * Gets backup schedule for the input schedule name.
8371
+ *
8372
+ * @param params - Parameters for request
8373
+ * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
8374
+ * @param callback - Optional callback that handles the response.
8375
+ * @returns A promise if used with async/await, or void if used with a callback.
8376
+ */
8377
+ get(
8378
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Get,
8379
+ options: StreamMethodOptions
8380
+ ): GaxiosPromise<Readable>;
8381
+ get(
8382
+ params?: Params$Resource$Projects$Instances$Databases$Backupschedules$Get,
8383
+ options?: MethodOptions
8384
+ ): GaxiosPromise<Schema$BackupSchedule>;
8385
+ get(
8386
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Get,
8387
+ options: StreamMethodOptions | BodyResponseCallback<Readable>,
8388
+ callback: BodyResponseCallback<Readable>
8389
+ ): void;
8390
+ get(
8391
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Get,
8392
+ options: MethodOptions | BodyResponseCallback<Schema$BackupSchedule>,
8393
+ callback: BodyResponseCallback<Schema$BackupSchedule>
8394
+ ): void;
8395
+ get(
8396
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Get,
8397
+ callback: BodyResponseCallback<Schema$BackupSchedule>
8398
+ ): void;
8399
+ get(callback: BodyResponseCallback<Schema$BackupSchedule>): void;
8400
+ get(
8401
+ paramsOrCallback?:
8402
+ | Params$Resource$Projects$Instances$Databases$Backupschedules$Get
8403
+ | BodyResponseCallback<Schema$BackupSchedule>
8404
+ | BodyResponseCallback<Readable>,
8405
+ optionsOrCallback?:
8406
+ | MethodOptions
8407
+ | StreamMethodOptions
8408
+ | BodyResponseCallback<Schema$BackupSchedule>
8409
+ | BodyResponseCallback<Readable>,
8410
+ callback?:
8411
+ | BodyResponseCallback<Schema$BackupSchedule>
8412
+ | BodyResponseCallback<Readable>
8413
+ ): void | GaxiosPromise<Schema$BackupSchedule> | GaxiosPromise<Readable> {
8414
+ let params = (paramsOrCallback ||
8415
+ {}) as Params$Resource$Projects$Instances$Databases$Backupschedules$Get;
8416
+ let options = (optionsOrCallback || {}) as MethodOptions;
8417
+
8418
+ if (typeof paramsOrCallback === 'function') {
8419
+ callback = paramsOrCallback;
8420
+ params =
8421
+ {} as Params$Resource$Projects$Instances$Databases$Backupschedules$Get;
8422
+ options = {};
8423
+ }
8424
+
8425
+ if (typeof optionsOrCallback === 'function') {
8426
+ callback = optionsOrCallback;
8427
+ options = {};
8428
+ }
8429
+
8430
+ const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/';
8431
+ const parameters = {
8432
+ options: Object.assign(
8433
+ {
8434
+ url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'),
8435
+ method: 'GET',
8436
+ apiVersion: '',
8437
+ },
8438
+ options
8439
+ ),
8440
+ params,
8441
+ requiredParams: ['name'],
8442
+ pathParams: ['name'],
8443
+ context: this.context,
8444
+ };
8445
+ if (callback) {
8446
+ createAPIRequest<Schema$BackupSchedule>(
8447
+ parameters,
8448
+ callback as BodyResponseCallback<unknown>
8449
+ );
8450
+ } else {
8451
+ return createAPIRequest<Schema$BackupSchedule>(parameters);
8452
+ }
8453
+ }
8454
+
8455
+ /**
8456
+ * Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource.
8457
+ *
8458
+ * @param params - Parameters for request
8459
+ * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
8460
+ * @param callback - Optional callback that handles the response.
8461
+ * @returns A promise if used with async/await, or void if used with a callback.
8462
+ */
8463
+ getIamPolicy(
8464
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Getiampolicy,
8465
+ options: StreamMethodOptions
8466
+ ): GaxiosPromise<Readable>;
8467
+ getIamPolicy(
8468
+ params?: Params$Resource$Projects$Instances$Databases$Backupschedules$Getiampolicy,
8469
+ options?: MethodOptions
8470
+ ): GaxiosPromise<Schema$Policy>;
8471
+ getIamPolicy(
8472
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Getiampolicy,
8473
+ options: StreamMethodOptions | BodyResponseCallback<Readable>,
8474
+ callback: BodyResponseCallback<Readable>
8475
+ ): void;
8476
+ getIamPolicy(
8477
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Getiampolicy,
8478
+ options: MethodOptions | BodyResponseCallback<Schema$Policy>,
8479
+ callback: BodyResponseCallback<Schema$Policy>
8480
+ ): void;
8481
+ getIamPolicy(
8482
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Getiampolicy,
8483
+ callback: BodyResponseCallback<Schema$Policy>
8484
+ ): void;
8485
+ getIamPolicy(callback: BodyResponseCallback<Schema$Policy>): void;
8486
+ getIamPolicy(
8487
+ paramsOrCallback?:
8488
+ | Params$Resource$Projects$Instances$Databases$Backupschedules$Getiampolicy
8489
+ | BodyResponseCallback<Schema$Policy>
8490
+ | BodyResponseCallback<Readable>,
8491
+ optionsOrCallback?:
8492
+ | MethodOptions
8493
+ | StreamMethodOptions
8494
+ | BodyResponseCallback<Schema$Policy>
8495
+ | BodyResponseCallback<Readable>,
8496
+ callback?:
8497
+ | BodyResponseCallback<Schema$Policy>
8498
+ | BodyResponseCallback<Readable>
8499
+ ): void | GaxiosPromise<Schema$Policy> | GaxiosPromise<Readable> {
8500
+ let params = (paramsOrCallback ||
8501
+ {}) as Params$Resource$Projects$Instances$Databases$Backupschedules$Getiampolicy;
8502
+ let options = (optionsOrCallback || {}) as MethodOptions;
8503
+
8504
+ if (typeof paramsOrCallback === 'function') {
8505
+ callback = paramsOrCallback;
8506
+ params =
8507
+ {} as Params$Resource$Projects$Instances$Databases$Backupschedules$Getiampolicy;
8508
+ options = {};
8509
+ }
8510
+
8511
+ if (typeof optionsOrCallback === 'function') {
8512
+ callback = optionsOrCallback;
8513
+ options = {};
8514
+ }
8515
+
8516
+ const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/';
8517
+ const parameters = {
8518
+ options: Object.assign(
8519
+ {
8520
+ url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace(
8521
+ /([^:]\/)\/+/g,
8522
+ '$1'
8523
+ ),
8524
+ method: 'POST',
8525
+ apiVersion: '',
8526
+ },
8527
+ options
8528
+ ),
8529
+ params,
8530
+ requiredParams: ['resource'],
8531
+ pathParams: ['resource'],
8532
+ context: this.context,
8533
+ };
8534
+ if (callback) {
8535
+ createAPIRequest<Schema$Policy>(
8536
+ parameters,
8537
+ callback as BodyResponseCallback<unknown>
8538
+ );
8539
+ } else {
8540
+ return createAPIRequest<Schema$Policy>(parameters);
8541
+ }
8542
+ }
8543
+
8544
+ /**
8545
+ * Lists all the backup schedules for the database.
8546
+ *
8547
+ * @param params - Parameters for request
8548
+ * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
8549
+ * @param callback - Optional callback that handles the response.
8550
+ * @returns A promise if used with async/await, or void if used with a callback.
8551
+ */
8552
+ list(
8553
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$List,
8554
+ options: StreamMethodOptions
8555
+ ): GaxiosPromise<Readable>;
8556
+ list(
8557
+ params?: Params$Resource$Projects$Instances$Databases$Backupschedules$List,
8558
+ options?: MethodOptions
8559
+ ): GaxiosPromise<Schema$ListBackupSchedulesResponse>;
8560
+ list(
8561
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$List,
8562
+ options: StreamMethodOptions | BodyResponseCallback<Readable>,
8563
+ callback: BodyResponseCallback<Readable>
8564
+ ): void;
8565
+ list(
8566
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$List,
8567
+ options:
8568
+ | MethodOptions
8569
+ | BodyResponseCallback<Schema$ListBackupSchedulesResponse>,
8570
+ callback: BodyResponseCallback<Schema$ListBackupSchedulesResponse>
8571
+ ): void;
8572
+ list(
8573
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$List,
8574
+ callback: BodyResponseCallback<Schema$ListBackupSchedulesResponse>
8575
+ ): void;
8576
+ list(
8577
+ callback: BodyResponseCallback<Schema$ListBackupSchedulesResponse>
8578
+ ): void;
8579
+ list(
8580
+ paramsOrCallback?:
8581
+ | Params$Resource$Projects$Instances$Databases$Backupschedules$List
8582
+ | BodyResponseCallback<Schema$ListBackupSchedulesResponse>
8583
+ | BodyResponseCallback<Readable>,
8584
+ optionsOrCallback?:
8585
+ | MethodOptions
8586
+ | StreamMethodOptions
8587
+ | BodyResponseCallback<Schema$ListBackupSchedulesResponse>
8588
+ | BodyResponseCallback<Readable>,
8589
+ callback?:
8590
+ | BodyResponseCallback<Schema$ListBackupSchedulesResponse>
8591
+ | BodyResponseCallback<Readable>
8592
+ ):
8593
+ | void
8594
+ | GaxiosPromise<Schema$ListBackupSchedulesResponse>
8595
+ | GaxiosPromise<Readable> {
8596
+ let params = (paramsOrCallback ||
8597
+ {}) as Params$Resource$Projects$Instances$Databases$Backupschedules$List;
8598
+ let options = (optionsOrCallback || {}) as MethodOptions;
8599
+
8600
+ if (typeof paramsOrCallback === 'function') {
8601
+ callback = paramsOrCallback;
8602
+ params =
8603
+ {} as Params$Resource$Projects$Instances$Databases$Backupschedules$List;
8604
+ options = {};
8605
+ }
8606
+
8607
+ if (typeof optionsOrCallback === 'function') {
8608
+ callback = optionsOrCallback;
8609
+ options = {};
8610
+ }
8611
+
8612
+ const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/';
8613
+ const parameters = {
8614
+ options: Object.assign(
8615
+ {
8616
+ url: (rootUrl + '/v1/{+parent}/backupSchedules').replace(
8617
+ /([^:]\/)\/+/g,
8618
+ '$1'
8619
+ ),
8620
+ method: 'GET',
8621
+ apiVersion: '',
8622
+ },
8623
+ options
8624
+ ),
8625
+ params,
8626
+ requiredParams: ['parent'],
8627
+ pathParams: ['parent'],
8628
+ context: this.context,
8629
+ };
8630
+ if (callback) {
8631
+ createAPIRequest<Schema$ListBackupSchedulesResponse>(
8632
+ parameters,
8633
+ callback as BodyResponseCallback<unknown>
8634
+ );
8635
+ } else {
8636
+ return createAPIRequest<Schema$ListBackupSchedulesResponse>(parameters);
8637
+ }
8638
+ }
8639
+
8640
+ /**
8641
+ * Updates a backup schedule.
8642
+ *
8643
+ * @param params - Parameters for request
8644
+ * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
8645
+ * @param callback - Optional callback that handles the response.
8646
+ * @returns A promise if used with async/await, or void if used with a callback.
8647
+ */
8648
+ patch(
8649
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Patch,
8650
+ options: StreamMethodOptions
8651
+ ): GaxiosPromise<Readable>;
8652
+ patch(
8653
+ params?: Params$Resource$Projects$Instances$Databases$Backupschedules$Patch,
8654
+ options?: MethodOptions
8655
+ ): GaxiosPromise<Schema$BackupSchedule>;
8656
+ patch(
8657
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Patch,
8658
+ options: StreamMethodOptions | BodyResponseCallback<Readable>,
8659
+ callback: BodyResponseCallback<Readable>
8660
+ ): void;
8661
+ patch(
8662
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Patch,
8663
+ options: MethodOptions | BodyResponseCallback<Schema$BackupSchedule>,
8664
+ callback: BodyResponseCallback<Schema$BackupSchedule>
8665
+ ): void;
8666
+ patch(
8667
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Patch,
8668
+ callback: BodyResponseCallback<Schema$BackupSchedule>
8669
+ ): void;
8670
+ patch(callback: BodyResponseCallback<Schema$BackupSchedule>): void;
8671
+ patch(
8672
+ paramsOrCallback?:
8673
+ | Params$Resource$Projects$Instances$Databases$Backupschedules$Patch
8674
+ | BodyResponseCallback<Schema$BackupSchedule>
8675
+ | BodyResponseCallback<Readable>,
8676
+ optionsOrCallback?:
8677
+ | MethodOptions
8678
+ | StreamMethodOptions
8679
+ | BodyResponseCallback<Schema$BackupSchedule>
8680
+ | BodyResponseCallback<Readable>,
8681
+ callback?:
8682
+ | BodyResponseCallback<Schema$BackupSchedule>
8683
+ | BodyResponseCallback<Readable>
8684
+ ): void | GaxiosPromise<Schema$BackupSchedule> | GaxiosPromise<Readable> {
8685
+ let params = (paramsOrCallback ||
8686
+ {}) as Params$Resource$Projects$Instances$Databases$Backupschedules$Patch;
8687
+ let options = (optionsOrCallback || {}) as MethodOptions;
8688
+
8689
+ if (typeof paramsOrCallback === 'function') {
8690
+ callback = paramsOrCallback;
8691
+ params =
8692
+ {} as Params$Resource$Projects$Instances$Databases$Backupschedules$Patch;
8693
+ options = {};
8694
+ }
8695
+
8696
+ if (typeof optionsOrCallback === 'function') {
8697
+ callback = optionsOrCallback;
8698
+ options = {};
8699
+ }
8700
+
8701
+ const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/';
8702
+ const parameters = {
8703
+ options: Object.assign(
8704
+ {
8705
+ url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'),
8706
+ method: 'PATCH',
8707
+ apiVersion: '',
8708
+ },
8709
+ options
8710
+ ),
8711
+ params,
8712
+ requiredParams: ['name'],
8713
+ pathParams: ['name'],
8714
+ context: this.context,
8715
+ };
8716
+ if (callback) {
8717
+ createAPIRequest<Schema$BackupSchedule>(
8718
+ parameters,
8719
+ callback as BodyResponseCallback<unknown>
8720
+ );
8721
+ } else {
8722
+ return createAPIRequest<Schema$BackupSchedule>(parameters);
8723
+ }
8724
+ }
8725
+
8726
+ /**
8727
+ * Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource.
8728
+ *
8729
+ * @param params - Parameters for request
8730
+ * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
8731
+ * @param callback - Optional callback that handles the response.
8732
+ * @returns A promise if used with async/await, or void if used with a callback.
8733
+ */
8734
+ setIamPolicy(
8735
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Setiampolicy,
8736
+ options: StreamMethodOptions
8737
+ ): GaxiosPromise<Readable>;
8738
+ setIamPolicy(
8739
+ params?: Params$Resource$Projects$Instances$Databases$Backupschedules$Setiampolicy,
8740
+ options?: MethodOptions
8741
+ ): GaxiosPromise<Schema$Policy>;
8742
+ setIamPolicy(
8743
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Setiampolicy,
8744
+ options: StreamMethodOptions | BodyResponseCallback<Readable>,
8745
+ callback: BodyResponseCallback<Readable>
8746
+ ): void;
8747
+ setIamPolicy(
8748
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Setiampolicy,
8749
+ options: MethodOptions | BodyResponseCallback<Schema$Policy>,
8750
+ callback: BodyResponseCallback<Schema$Policy>
8751
+ ): void;
8752
+ setIamPolicy(
8753
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Setiampolicy,
8754
+ callback: BodyResponseCallback<Schema$Policy>
8755
+ ): void;
8756
+ setIamPolicy(callback: BodyResponseCallback<Schema$Policy>): void;
8757
+ setIamPolicy(
8758
+ paramsOrCallback?:
8759
+ | Params$Resource$Projects$Instances$Databases$Backupschedules$Setiampolicy
8760
+ | BodyResponseCallback<Schema$Policy>
8761
+ | BodyResponseCallback<Readable>,
8762
+ optionsOrCallback?:
8763
+ | MethodOptions
8764
+ | StreamMethodOptions
8765
+ | BodyResponseCallback<Schema$Policy>
8766
+ | BodyResponseCallback<Readable>,
8767
+ callback?:
8768
+ | BodyResponseCallback<Schema$Policy>
8769
+ | BodyResponseCallback<Readable>
8770
+ ): void | GaxiosPromise<Schema$Policy> | GaxiosPromise<Readable> {
8771
+ let params = (paramsOrCallback ||
8772
+ {}) as Params$Resource$Projects$Instances$Databases$Backupschedules$Setiampolicy;
8773
+ let options = (optionsOrCallback || {}) as MethodOptions;
8774
+
8775
+ if (typeof paramsOrCallback === 'function') {
8776
+ callback = paramsOrCallback;
8777
+ params =
8778
+ {} as Params$Resource$Projects$Instances$Databases$Backupschedules$Setiampolicy;
8779
+ options = {};
8780
+ }
8781
+
8782
+ if (typeof optionsOrCallback === 'function') {
8783
+ callback = optionsOrCallback;
8784
+ options = {};
8785
+ }
8786
+
8787
+ const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/';
8788
+ const parameters = {
8789
+ options: Object.assign(
8790
+ {
8791
+ url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace(
8792
+ /([^:]\/)\/+/g,
8793
+ '$1'
8794
+ ),
8795
+ method: 'POST',
8796
+ apiVersion: '',
8797
+ },
8798
+ options
8799
+ ),
8800
+ params,
8801
+ requiredParams: ['resource'],
8802
+ pathParams: ['resource'],
8803
+ context: this.context,
8804
+ };
8805
+ if (callback) {
8806
+ createAPIRequest<Schema$Policy>(
8807
+ parameters,
8808
+ callback as BodyResponseCallback<unknown>
8809
+ );
8810
+ } else {
8811
+ return createAPIRequest<Schema$Policy>(parameters);
8812
+ }
8813
+ }
8814
+
8815
+ /**
8816
+ * Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance.
8817
+ *
8818
+ * @param params - Parameters for request
8819
+ * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
8820
+ * @param callback - Optional callback that handles the response.
8821
+ * @returns A promise if used with async/await, or void if used with a callback.
8822
+ */
8823
+ testIamPermissions(
8824
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Testiampermissions,
8825
+ options: StreamMethodOptions
8826
+ ): GaxiosPromise<Readable>;
8827
+ testIamPermissions(
8828
+ params?: Params$Resource$Projects$Instances$Databases$Backupschedules$Testiampermissions,
8829
+ options?: MethodOptions
8830
+ ): GaxiosPromise<Schema$TestIamPermissionsResponse>;
8831
+ testIamPermissions(
8832
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Testiampermissions,
8833
+ options: StreamMethodOptions | BodyResponseCallback<Readable>,
8834
+ callback: BodyResponseCallback<Readable>
8835
+ ): void;
8836
+ testIamPermissions(
8837
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Testiampermissions,
8838
+ options:
8839
+ | MethodOptions
8840
+ | BodyResponseCallback<Schema$TestIamPermissionsResponse>,
8841
+ callback: BodyResponseCallback<Schema$TestIamPermissionsResponse>
8842
+ ): void;
8843
+ testIamPermissions(
8844
+ params: Params$Resource$Projects$Instances$Databases$Backupschedules$Testiampermissions,
8845
+ callback: BodyResponseCallback<Schema$TestIamPermissionsResponse>
8846
+ ): void;
8847
+ testIamPermissions(
8848
+ callback: BodyResponseCallback<Schema$TestIamPermissionsResponse>
8849
+ ): void;
8850
+ testIamPermissions(
8851
+ paramsOrCallback?:
8852
+ | Params$Resource$Projects$Instances$Databases$Backupschedules$Testiampermissions
8853
+ | BodyResponseCallback<Schema$TestIamPermissionsResponse>
8854
+ | BodyResponseCallback<Readable>,
8855
+ optionsOrCallback?:
8856
+ | MethodOptions
8857
+ | StreamMethodOptions
8858
+ | BodyResponseCallback<Schema$TestIamPermissionsResponse>
8859
+ | BodyResponseCallback<Readable>,
8860
+ callback?:
8861
+ | BodyResponseCallback<Schema$TestIamPermissionsResponse>
8862
+ | BodyResponseCallback<Readable>
8863
+ ):
8864
+ | void
8865
+ | GaxiosPromise<Schema$TestIamPermissionsResponse>
8866
+ | GaxiosPromise<Readable> {
8867
+ let params = (paramsOrCallback ||
8868
+ {}) as Params$Resource$Projects$Instances$Databases$Backupschedules$Testiampermissions;
8869
+ let options = (optionsOrCallback || {}) as MethodOptions;
8870
+
8871
+ if (typeof paramsOrCallback === 'function') {
8872
+ callback = paramsOrCallback;
8873
+ params =
8874
+ {} as Params$Resource$Projects$Instances$Databases$Backupschedules$Testiampermissions;
8875
+ options = {};
8876
+ }
8877
+
8878
+ if (typeof optionsOrCallback === 'function') {
8879
+ callback = optionsOrCallback;
8880
+ options = {};
8881
+ }
8882
+
8883
+ const rootUrl = options.rootUrl || 'https://spanner.googleapis.com/';
8884
+ const parameters = {
8885
+ options: Object.assign(
8886
+ {
8887
+ url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace(
8888
+ /([^:]\/)\/+/g,
8889
+ '$1'
8890
+ ),
8891
+ method: 'POST',
8892
+ apiVersion: '',
8893
+ },
8894
+ options
8895
+ ),
8896
+ params,
8897
+ requiredParams: ['resource'],
8898
+ pathParams: ['resource'],
8899
+ context: this.context,
8900
+ };
8901
+ if (callback) {
8902
+ createAPIRequest<Schema$TestIamPermissionsResponse>(
8903
+ parameters,
8904
+ callback as BodyResponseCallback<unknown>
8905
+ );
8906
+ } else {
8907
+ return createAPIRequest<Schema$TestIamPermissionsResponse>(parameters);
8908
+ }
8909
+ }
8910
+ }
8911
+
8912
+ export interface Params$Resource$Projects$Instances$Databases$Backupschedules$Create
8913
+ extends StandardParameters {
8914
+ /**
8915
+ * Required. The Id to use for the backup schedule. The `backup_schedule_id` appended to `parent` forms the full backup schedule name of the form `projects//instances//databases//backupSchedules/`.
8916
+ */
8917
+ backupScheduleId?: string;
8918
+ /**
8919
+ * Required. The name of the database that this backup schedule applies to.
8920
+ */
8921
+ parent?: string;
8922
+
8923
+ /**
8924
+ * Request body metadata
8925
+ */
8926
+ requestBody?: Schema$BackupSchedule;
8927
+ }
8928
+ export interface Params$Resource$Projects$Instances$Databases$Backupschedules$Delete
8929
+ extends StandardParameters {
8930
+ /**
8931
+ * Required. The name of the schedule to delete. Values are of the form `projects//instances//databases//backupSchedules/`.
8932
+ */
8933
+ name?: string;
8934
+ }
8935
+ export interface Params$Resource$Projects$Instances$Databases$Backupschedules$Get
8936
+ extends StandardParameters {
8937
+ /**
8938
+ * Required. The name of the schedule to retrieve. Values are of the form `projects//instances//databases//backupSchedules/`.
8939
+ */
8940
+ name?: string;
8941
+ }
8942
+ export interface Params$Resource$Projects$Instances$Databases$Backupschedules$Getiampolicy
8943
+ extends StandardParameters {
8944
+ /**
8945
+ * REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources.
8946
+ */
8947
+ resource?: string;
8948
+
8949
+ /**
8950
+ * Request body metadata
8951
+ */
8952
+ requestBody?: Schema$GetIamPolicyRequest;
8953
+ }
8954
+ export interface Params$Resource$Projects$Instances$Databases$Backupschedules$List
8955
+ extends StandardParameters {
8956
+ /**
8957
+ * Optional. Number of backup schedules to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.
8958
+ */
8959
+ pageSize?: number;
8960
+ /**
8961
+ * Optional. If non-empty, `page_token` should contain a next_page_token from a previous ListBackupSchedulesResponse to the same `parent`.
8962
+ */
8963
+ pageToken?: string;
8964
+ /**
8965
+ * Required. Database is the parent resource whose backup schedules should be listed. Values are of the form projects//instances//databases/
8966
+ */
8967
+ parent?: string;
8968
+ }
8969
+ export interface Params$Resource$Projects$Instances$Databases$Backupschedules$Patch
8970
+ extends StandardParameters {
8971
+ /**
8972
+ * Identifier. Output only for the CreateBackupSchedule operation. Required for the UpdateBackupSchedule operation. A globally unique identifier for the backup schedule which cannot be changed. Values are of the form `projects//instances//databases//backupSchedules/a-z*[a-z0-9]` The final segment of the name must be between 2 and 60 characters in length.
8973
+ */
8974
+ name?: string;
8975
+ /**
8976
+ * Required. A mask specifying which fields in the BackupSchedule resource should be updated. This mask is relative to the BackupSchedule resource, not to the request message. The field mask must always be specified; this prevents any future fields from being erased accidentally.
8977
+ */
8978
+ updateMask?: string;
8979
+
8980
+ /**
8981
+ * Request body metadata
8982
+ */
8983
+ requestBody?: Schema$BackupSchedule;
8984
+ }
8985
+ export interface Params$Resource$Projects$Instances$Databases$Backupschedules$Setiampolicy
8986
+ extends StandardParameters {
8987
+ /**
8988
+ * REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for databases resources.
8989
+ */
8990
+ resource?: string;
8991
+
8992
+ /**
8993
+ * Request body metadata
8994
+ */
8995
+ requestBody?: Schema$SetIamPolicyRequest;
8996
+ }
8997
+ export interface Params$Resource$Projects$Instances$Databases$Backupschedules$Testiampermissions
8998
+ extends StandardParameters {
8999
+ /**
9000
+ * REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources.
9001
+ */
9002
+ resource?: string;
9003
+
9004
+ /**
9005
+ * Request body metadata
9006
+ */
9007
+ requestBody?: Schema$TestIamPermissionsRequest;
9008
+ }
9009
+
8056
9010
  export class Resource$Projects$Instances$Databases$Databaseroles {
8057
9011
  context: APIRequestContext;
8058
9012
  constructor(context: APIRequestContext) {