updateDatabaseDd
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Drops (aka deletes) a Cloud Spanner database.
+ * Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be
+ * retained according to their `expire_time`.
*
* Sample code:
*
@@ -655,7 +673,8 @@ public final void dropDatabase(DatabaseName database) {
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Drops (aka deletes) a Cloud Spanner database.
+ * Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be
+ * retained according to their `expire_time`.
*
*
Sample code:
*
@@ -676,7 +695,8 @@ public final void dropDatabase(String database) {
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Drops (aka deletes) a Cloud Spanner database.
+ * Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be
+ * retained according to their `expire_time`.
*
*
Sample code:
*
@@ -699,7 +719,8 @@ public final void dropDatabase(DropDatabaseRequest request) {
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Drops (aka deletes) a Cloud Spanner database.
+ * Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be
+ * retained according to their `expire_time`.
*
*
Sample code:
*
@@ -821,16 +842,18 @@ public final GetDatabaseDdlResponse getDatabaseDdl(GetDatabaseDdlRequest request
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Sets the access control policy on a database resource. Replaces any existing policy.
+ * Sets the access control policy on a database or backup resource. Replaces any existing policy.
*
*
Authorization requires `spanner.databases.setIamPolicy` permission on
+ * [resource][google.iam.v1.SetIamPolicyRequest.resource]. For backups, authorization requires
+ * `spanner.backups.setIamPolicy` permission on
* [resource][google.iam.v1.SetIamPolicyRequest.resource].
*
*
Sample code:
*
*
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * ResourceName resource = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
+ * ResourceName resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
* Policy policy = Policy.newBuilder().build();
* Policy response = databaseAdminClient.setIamPolicy(resource, policy);
* }
@@ -854,16 +877,18 @@ public final Policy setIamPolicy(ResourceName resource, Policy policy) {
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Sets the access control policy on a database resource. Replaces any existing policy.
+ * Sets the access control policy on a database or backup resource. Replaces any existing policy.
*
* Authorization requires `spanner.databases.setIamPolicy` permission on
+ * [resource][google.iam.v1.SetIamPolicyRequest.resource]. For backups, authorization requires
+ * `spanner.backups.setIamPolicy` permission on
* [resource][google.iam.v1.SetIamPolicyRequest.resource].
*
*
Sample code:
*
*
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * ResourceName resource = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
+ * ResourceName resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
* Policy policy = Policy.newBuilder().build();
* Policy response = databaseAdminClient.setIamPolicy(resource.toString(), policy);
* }
@@ -884,16 +909,18 @@ public final Policy setIamPolicy(String resource, Policy policy) {
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Sets the access control policy on a database resource. Replaces any existing policy.
+ * Sets the access control policy on a database or backup resource. Replaces any existing policy.
*
* Authorization requires `spanner.databases.setIamPolicy` permission on
+ * [resource][google.iam.v1.SetIamPolicyRequest.resource]. For backups, authorization requires
+ * `spanner.backups.setIamPolicy` permission on
* [resource][google.iam.v1.SetIamPolicyRequest.resource].
*
*
Sample code:
*
*
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * ResourceName resource = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
+ * ResourceName resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
* Policy policy = Policy.newBuilder().build();
* SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder()
* .setResource(resource.toString())
@@ -912,16 +939,18 @@ public final Policy setIamPolicy(SetIamPolicyRequest request) {
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Sets the access control policy on a database resource. Replaces any existing policy.
+ * Sets the access control policy on a database or backup resource. Replaces any existing policy.
*
* Authorization requires `spanner.databases.setIamPolicy` permission on
+ * [resource][google.iam.v1.SetIamPolicyRequest.resource]. For backups, authorization requires
+ * `spanner.backups.setIamPolicy` permission on
* [resource][google.iam.v1.SetIamPolicyRequest.resource].
*
*
Sample code:
*
*
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * ResourceName resource = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
+ * ResourceName resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
* Policy policy = Policy.newBuilder().build();
* SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder()
* .setResource(resource.toString())
@@ -939,17 +968,19 @@ public final UnaryCallable setIamPolicyCallable() {
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Gets the access control policy for a database resource. Returns an empty policy if a database
- * exists but does not have a policy set.
+ * 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][google.iam.v1.GetIamPolicyRequest.resource]. For backups, authorization requires
+ * `spanner.backups.getIamPolicy` permission on
* [resource][google.iam.v1.GetIamPolicyRequest.resource].
*
*
Sample code:
*
*
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * ResourceName resource = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
+ * ResourceName resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
* Policy response = databaseAdminClient.getIamPolicy(resource);
* }
*
@@ -968,17 +999,19 @@ public final Policy getIamPolicy(ResourceName resource) {
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Gets the access control policy for a database resource. Returns an empty policy if a database
- * exists but does not have a policy set.
+ * 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][google.iam.v1.GetIamPolicyRequest.resource]. For backups, authorization requires
+ * `spanner.backups.getIamPolicy` permission on
* [resource][google.iam.v1.GetIamPolicyRequest.resource].
*
*
Sample code:
*
*
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * ResourceName resource = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
+ * ResourceName resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
* Policy response = databaseAdminClient.getIamPolicy(resource.toString());
* }
*
@@ -994,17 +1027,19 @@ public final Policy getIamPolicy(String resource) {
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Gets the access control policy for a database resource. Returns an empty policy if a database
- * exists but does not have a policy set.
+ * 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][google.iam.v1.GetIamPolicyRequest.resource]. For backups, authorization requires
+ * `spanner.backups.getIamPolicy` permission on
* [resource][google.iam.v1.GetIamPolicyRequest.resource].
*
*
Sample code:
*
*
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * ResourceName resource = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
+ * ResourceName resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
* GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder()
* .setResource(resource.toString())
* .build();
@@ -1021,17 +1056,19 @@ public final Policy getIamPolicy(GetIamPolicyRequest request) {
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Gets the access control policy for a database resource. Returns an empty policy if a database
- * exists but does not have a policy set.
+ * 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][google.iam.v1.GetIamPolicyRequest.resource]. For backups, authorization requires
+ * `spanner.backups.getIamPolicy` permission on
* [resource][google.iam.v1.GetIamPolicyRequest.resource].
*
*
Sample code:
*
*
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * ResourceName resource = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
+ * ResourceName resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
* GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder()
* .setResource(resource.toString())
* .build();
@@ -1047,17 +1084,19 @@ public final UnaryCallable getIamPolicyCallable() {
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Returns permissions that the caller has on the specified database resource.
+ * 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.
+ * 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.
*
*
Sample code:
*
*
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * ResourceName resource = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
+ * ResourceName resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
* List<String> permissions = new ArrayList<>();
* TestIamPermissionsResponse response = databaseAdminClient.testIamPermissions(resource, permissions);
* }
@@ -1082,17 +1121,19 @@ public final TestIamPermissionsResponse testIamPermissions(
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Returns permissions that the caller has on the specified database resource.
+ * 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.
+ * 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.
*
*
Sample code:
*
*
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * ResourceName resource = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
+ * ResourceName resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
* List<String> permissions = new ArrayList<>();
* TestIamPermissionsResponse response = databaseAdminClient.testIamPermissions(resource.toString(), permissions);
* }
@@ -1117,17 +1158,19 @@ public final TestIamPermissionsResponse testIamPermissions(
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Returns permissions that the caller has on the specified database resource.
+ * 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.
+ * 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.
*
*
Sample code:
*
*
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * ResourceName resource = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
+ * ResourceName resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
* List<String> permissions = new ArrayList<>();
* TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder()
* .setResource(resource.toString())
@@ -1146,17 +1189,19 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
- * Returns permissions that the caller has on the specified database resource.
+ * 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.
+ * 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.
*
*
Sample code:
*
*
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * ResourceName resource = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
+ * ResourceName resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
* List<String> permissions = new ArrayList<>();
* TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder()
* .setResource(resource.toString())
@@ -1173,6 +1218,1159 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq
return stub.testIamPermissionsCallable();
}
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Starts creating a new Cloud Spanner Backup. The returned backup [long-running
+ * operation][google.longrunning.Operation] will have a name of the format
+ * `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id>`
+ * and can be used to track creation of the backup. The
+ * [metadata][google.longrunning.Operation.metadata] field type is
+ * [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata]. The
+ * [response][google.longrunning.Operation.response] field type is
+ * [Backup][google.spanner.admin.database.v1.Backup], if successful. Cancelling the returned
+ * operation will stop the creation and delete the backup. There can be only one pending backup
+ * creation per database. Backup creation of different databases can run concurrently.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * Backup backup = Backup.newBuilder().build();
+ * String backupId = "";
+ * Backup response = databaseAdminClient.createBackupAsync(parent, backup, backupId).get();
+ * }
+ *
+ *
+ * @param parent Required. The name of the instance in which the backup will be created. This must
+ * be the same instance that contains the database the backup will be created from. The backup
+ * will be stored in the location(s) specified in the instance configuration of this instance.
+ * Values are of the form `projects/<project>/instances/<instance>`.
+ * @param backup Required. The backup to create.
+ * @param backupId Required. The id of the backup to be created. The `backup_id` appended to
+ * `parent` forms the full backup name of the form
+ * `projects/<project>/instances/<instance>/backups/<backup_id>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public final OperationFuture createBackupAsync(
+ InstanceName parent, Backup backup, String backupId) {
+ CreateBackupRequest request =
+ CreateBackupRequest.newBuilder()
+ .setParent(parent == null ? null : parent.toString())
+ .setBackup(backup)
+ .setBackupId(backupId)
+ .build();
+ return createBackupAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Starts creating a new Cloud Spanner Backup. The returned backup [long-running
+ * operation][google.longrunning.Operation] will have a name of the format
+ * `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id>`
+ * and can be used to track creation of the backup. The
+ * [metadata][google.longrunning.Operation.metadata] field type is
+ * [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata]. The
+ * [response][google.longrunning.Operation.response] field type is
+ * [Backup][google.spanner.admin.database.v1.Backup], if successful. Cancelling the returned
+ * operation will stop the creation and delete the backup. There can be only one pending backup
+ * creation per database. Backup creation of different databases can run concurrently.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * Backup backup = Backup.newBuilder().build();
+ * String backupId = "";
+ * Backup response = databaseAdminClient.createBackupAsync(parent.toString(), backup, backupId).get();
+ * }
+ *
+ *
+ * @param parent Required. The name of the instance in which the backup will be created. This must
+ * be the same instance that contains the database the backup will be created from. The backup
+ * will be stored in the location(s) specified in the instance configuration of this instance.
+ * Values are of the form `projects/<project>/instances/<instance>`.
+ * @param backup Required. The backup to create.
+ * @param backupId Required. The id of the backup to be created. The `backup_id` appended to
+ * `parent` forms the full backup name of the form
+ * `projects/<project>/instances/<instance>/backups/<backup_id>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public final OperationFuture createBackupAsync(
+ String parent, Backup backup, String backupId) {
+ CreateBackupRequest request =
+ CreateBackupRequest.newBuilder()
+ .setParent(parent)
+ .setBackup(backup)
+ .setBackupId(backupId)
+ .build();
+ return createBackupAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Starts creating a new Cloud Spanner Backup. The returned backup [long-running
+ * operation][google.longrunning.Operation] will have a name of the format
+ * `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id>`
+ * and can be used to track creation of the backup. The
+ * [metadata][google.longrunning.Operation.metadata] field type is
+ * [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata]. The
+ * [response][google.longrunning.Operation.response] field type is
+ * [Backup][google.spanner.admin.database.v1.Backup], if successful. Cancelling the returned
+ * operation will stop the creation and delete the backup. There can be only one pending backup
+ * creation per database. Backup creation of different databases can run concurrently.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * String backupId = "";
+ * Backup backup = Backup.newBuilder().build();
+ * CreateBackupRequest request = CreateBackupRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .setBackupId(backupId)
+ * .setBackup(backup)
+ * .build();
+ * Backup response = databaseAdminClient.createBackupAsync(request).get();
+ * }
+ *
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public final OperationFuture createBackupAsync(
+ CreateBackupRequest request) {
+ return createBackupOperationCallable().futureCall(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Starts creating a new Cloud Spanner Backup. The returned backup [long-running
+ * operation][google.longrunning.Operation] will have a name of the format
+ * `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id>`
+ * and can be used to track creation of the backup. The
+ * [metadata][google.longrunning.Operation.metadata] field type is
+ * [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata]. The
+ * [response][google.longrunning.Operation.response] field type is
+ * [Backup][google.spanner.admin.database.v1.Backup], if successful. Cancelling the returned
+ * operation will stop the creation and delete the backup. There can be only one pending backup
+ * creation per database. Backup creation of different databases can run concurrently.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * String backupId = "";
+ * Backup backup = Backup.newBuilder().build();
+ * CreateBackupRequest request = CreateBackupRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .setBackupId(backupId)
+ * .setBackup(backup)
+ * .build();
+ * OperationFuture<Backup, CreateBackupMetadata> future = databaseAdminClient.createBackupOperationCallable().futureCall(request);
+ * // Do something
+ * Backup response = future.get();
+ * }
+ *
+ */
+ @BetaApi("The surface for use by generated code is not stable yet and may change in the future.")
+ public final OperationCallable
+ createBackupOperationCallable() {
+ return stub.createBackupOperationCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Starts creating a new Cloud Spanner Backup. The returned backup [long-running
+ * operation][google.longrunning.Operation] will have a name of the format
+ * `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id>`
+ * and can be used to track creation of the backup. The
+ * [metadata][google.longrunning.Operation.metadata] field type is
+ * [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata]. The
+ * [response][google.longrunning.Operation.response] field type is
+ * [Backup][google.spanner.admin.database.v1.Backup], if successful. Cancelling the returned
+ * operation will stop the creation and delete the backup. There can be only one pending backup
+ * creation per database. Backup creation of different databases can run concurrently.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * String backupId = "";
+ * Backup backup = Backup.newBuilder().build();
+ * CreateBackupRequest request = CreateBackupRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .setBackupId(backupId)
+ * .setBackup(backup)
+ * .build();
+ * ApiFuture<Operation> future = databaseAdminClient.createBackupCallable().futureCall(request);
+ * // Do something
+ * Operation response = future.get();
+ * }
+ *
+ */
+ public final UnaryCallable createBackupCallable() {
+ return stub.createBackupCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Gets metadata on a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * BackupName name = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
+ * Backup response = databaseAdminClient.getBackup(name);
+ * }
+ *
+ *
+ * @param name Required. Name of the backup. Values are of the form
+ * `projects/<project>/instances/<instance>/backups/<backup>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final Backup getBackup(BackupName name) {
+ GetBackupRequest request =
+ GetBackupRequest.newBuilder().setName(name == null ? null : name.toString()).build();
+ return getBackup(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Gets metadata on a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * BackupName name = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
+ * Backup response = databaseAdminClient.getBackup(name.toString());
+ * }
+ *
+ *
+ * @param name Required. Name of the backup. Values are of the form
+ * `projects/<project>/instances/<instance>/backups/<backup>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final Backup getBackup(String name) {
+ GetBackupRequest request = GetBackupRequest.newBuilder().setName(name).build();
+ return getBackup(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Gets metadata on a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * BackupName name = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
+ * GetBackupRequest request = GetBackupRequest.newBuilder()
+ * .setName(name.toString())
+ * .build();
+ * Backup response = databaseAdminClient.getBackup(request);
+ * }
+ *
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final Backup getBackup(GetBackupRequest request) {
+ return getBackupCallable().call(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Gets metadata on a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * BackupName name = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
+ * GetBackupRequest request = GetBackupRequest.newBuilder()
+ * .setName(name.toString())
+ * .build();
+ * ApiFuture<Backup> future = databaseAdminClient.getBackupCallable().futureCall(request);
+ * // Do something
+ * Backup response = future.get();
+ * }
+ *
+ */
+ public final UnaryCallable getBackupCallable() {
+ return stub.getBackupCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Updates a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * Backup backup = Backup.newBuilder().build();
+ * FieldMask updateMask = FieldMask.newBuilder().build();
+ * Backup response = databaseAdminClient.updateBackup(backup, updateMask);
+ * }
+ *
+ *
+ * @param backup Required. The backup to update. `backup.name`, and the fields to be updated as
+ * specified by `update_mask` are required. Other fields are ignored. Update is only supported
+ * for the following fields: * `backup.expire_time`.
+ * @param updateMask Required. A mask specifying which fields (e.g. `expire_time`) in the Backup
+ * resource should be updated. This mask is relative to the Backup resource, not to the
+ * request message. The field mask must always be specified; this prevents any future fields
+ * from being erased accidentally by clients that do not know about them.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final Backup updateBackup(Backup backup, FieldMask updateMask) {
+ UpdateBackupRequest request =
+ UpdateBackupRequest.newBuilder().setBackup(backup).setUpdateMask(updateMask).build();
+ return updateBackup(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Updates a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * Backup backup = Backup.newBuilder().build();
+ * FieldMask updateMask = FieldMask.newBuilder().build();
+ * UpdateBackupRequest request = UpdateBackupRequest.newBuilder()
+ * .setBackup(backup)
+ * .setUpdateMask(updateMask)
+ * .build();
+ * Backup response = databaseAdminClient.updateBackup(request);
+ * }
+ *
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final Backup updateBackup(UpdateBackupRequest request) {
+ return updateBackupCallable().call(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Updates a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * Backup backup = Backup.newBuilder().build();
+ * FieldMask updateMask = FieldMask.newBuilder().build();
+ * UpdateBackupRequest request = UpdateBackupRequest.newBuilder()
+ * .setBackup(backup)
+ * .setUpdateMask(updateMask)
+ * .build();
+ * ApiFuture<Backup> future = databaseAdminClient.updateBackupCallable().futureCall(request);
+ * // Do something
+ * Backup response = future.get();
+ * }
+ *
+ */
+ public final UnaryCallable updateBackupCallable() {
+ return stub.updateBackupCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Deletes a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * BackupName name = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
+ * databaseAdminClient.deleteBackup(name);
+ * }
+ *
+ *
+ * @param name Required. Name of the backup to delete. Values are of the form
+ * `projects/<project>/instances/<instance>/backups/<backup>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final void deleteBackup(BackupName name) {
+ DeleteBackupRequest request =
+ DeleteBackupRequest.newBuilder().setName(name == null ? null : name.toString()).build();
+ deleteBackup(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Deletes a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * BackupName name = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
+ * databaseAdminClient.deleteBackup(name.toString());
+ * }
+ *
+ *
+ * @param name Required. Name of the backup to delete. Values are of the form
+ * `projects/<project>/instances/<instance>/backups/<backup>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final void deleteBackup(String name) {
+ DeleteBackupRequest request = DeleteBackupRequest.newBuilder().setName(name).build();
+ deleteBackup(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Deletes a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * BackupName name = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
+ * DeleteBackupRequest request = DeleteBackupRequest.newBuilder()
+ * .setName(name.toString())
+ * .build();
+ * databaseAdminClient.deleteBackup(request);
+ * }
+ *
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final void deleteBackup(DeleteBackupRequest request) {
+ deleteBackupCallable().call(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Deletes a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * BackupName name = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
+ * DeleteBackupRequest request = DeleteBackupRequest.newBuilder()
+ * .setName(name.toString())
+ * .build();
+ * ApiFuture<Void> future = databaseAdminClient.deleteBackupCallable().futureCall(request);
+ * // Do something
+ * future.get();
+ * }
+ *
+ */
+ public final UnaryCallable deleteBackupCallable() {
+ return stub.deleteBackupCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists completed and pending backups. Backups returned are ordered by `create_time` in
+ * descending order, starting from the most recent `create_time`.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * for (Backup element : databaseAdminClient.listBackups(parent).iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ *
+ * @param parent Required. The instance to list backups from. Values are of the form
+ * `projects/<project>/instances/<instance>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final ListBackupsPagedResponse listBackups(InstanceName parent) {
+ ListBackupsRequest request =
+ ListBackupsRequest.newBuilder()
+ .setParent(parent == null ? null : parent.toString())
+ .build();
+ return listBackups(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists completed and pending backups. Backups returned are ordered by `create_time` in
+ * descending order, starting from the most recent `create_time`.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * for (Backup element : databaseAdminClient.listBackups(parent.toString()).iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ *
+ * @param parent Required. The instance to list backups from. Values are of the form
+ * `projects/<project>/instances/<instance>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final ListBackupsPagedResponse listBackups(String parent) {
+ ListBackupsRequest request = ListBackupsRequest.newBuilder().setParent(parent).build();
+ return listBackups(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists completed and pending backups. Backups returned are ordered by `create_time` in
+ * descending order, starting from the most recent `create_time`.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * ListBackupsRequest request = ListBackupsRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .build();
+ * for (Backup element : databaseAdminClient.listBackups(request).iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final ListBackupsPagedResponse listBackups(ListBackupsRequest request) {
+ return listBackupsPagedCallable().call(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists completed and pending backups. Backups returned are ordered by `create_time` in
+ * descending order, starting from the most recent `create_time`.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * ListBackupsRequest request = ListBackupsRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .build();
+ * ApiFuture<ListBackupsPagedResponse> future = databaseAdminClient.listBackupsPagedCallable().futureCall(request);
+ * // Do something
+ * for (Backup element : future.get().iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ */
+ public final UnaryCallable
+ listBackupsPagedCallable() {
+ return stub.listBackupsPagedCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists completed and pending backups. Backups returned are ordered by `create_time` in
+ * descending order, starting from the most recent `create_time`.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * ListBackupsRequest request = ListBackupsRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .build();
+ * while (true) {
+ * ListBackupsResponse response = databaseAdminClient.listBackupsCallable().call(request);
+ * for (Backup element : response.getBackupsList()) {
+ * // doThingsWith(element);
+ * }
+ * String nextPageToken = response.getNextPageToken();
+ * if (!Strings.isNullOrEmpty(nextPageToken)) {
+ * request = request.toBuilder().setPageToken(nextPageToken).build();
+ * } else {
+ * break;
+ * }
+ * }
+ * }
+ *
+ */
+ public final UnaryCallable listBackupsCallable() {
+ return stub.listBackupsCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Create a new database by restoring from a completed backup. The new database must be in the
+ * same project and in an instance with the same instance configuration as the instance containing
+ * the backup. The returned database [long-running operation][google.longrunning.Operation] has a
+ * name of the format
+ * `projects/<project>/instances/<instance>/databases/<database>/operations/<operation_id>`,
+ * and can be used to track the progress of the operation, and to cancel it. The
+ * [metadata][google.longrunning.Operation.metadata] field type is
+ * [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata]. The
+ * [response][google.longrunning.Operation.response] type is
+ * [Database][google.spanner.admin.database.v1.Database], if successful. Cancelling the returned
+ * operation will stop the restore and delete the database. There can be only one database being
+ * restored into an instance at a time. Once the restore operation completes, a new restore
+ * operation can be initiated, without waiting for the optimize operation associated with the
+ * first restore to complete.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * String databaseId = "";
+ * BackupName backup = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
+ * Database response = databaseAdminClient.restoreDatabaseAsync(parent, databaseId, backup).get();
+ * }
+ *
+ *
+ * @param parent Required. The name of the instance in which to create the restored database. This
+ * instance must be in the same project and have the same instance configuration as the
+ * instance containing the source backup. Values are of the form
+ * `projects/<project>/instances/<instance>`.
+ * @param databaseId Required. The id of the database to create and restore to. This database must
+ * not already exist. The `database_id` appended to `parent` forms the full database name of
+ * the form
+ * `projects/<project>/instances/<instance>/databases/<database_id>`.
+ * @param backup Name of the backup from which to restore. Values are of the form
+ * `projects/<project>/instances/<instance>/backups/<backup>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public final OperationFuture restoreDatabaseAsync(
+ InstanceName parent, String databaseId, BackupName backup) {
+ RestoreDatabaseRequest request =
+ RestoreDatabaseRequest.newBuilder()
+ .setParent(parent == null ? null : parent.toString())
+ .setDatabaseId(databaseId)
+ .setBackup(backup == null ? null : backup.toString())
+ .build();
+ return restoreDatabaseAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Create a new database by restoring from a completed backup. The new database must be in the
+ * same project and in an instance with the same instance configuration as the instance containing
+ * the backup. The returned database [long-running operation][google.longrunning.Operation] has a
+ * name of the format
+ * `projects/<project>/instances/<instance>/databases/<database>/operations/<operation_id>`,
+ * and can be used to track the progress of the operation, and to cancel it. The
+ * [metadata][google.longrunning.Operation.metadata] field type is
+ * [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata]. The
+ * [response][google.longrunning.Operation.response] type is
+ * [Database][google.spanner.admin.database.v1.Database], if successful. Cancelling the returned
+ * operation will stop the restore and delete the database. There can be only one database being
+ * restored into an instance at a time. Once the restore operation completes, a new restore
+ * operation can be initiated, without waiting for the optimize operation associated with the
+ * first restore to complete.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * String databaseId = "";
+ * BackupName backup = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
+ * Database response = databaseAdminClient.restoreDatabaseAsync(parent.toString(), databaseId, backup.toString()).get();
+ * }
+ *
+ *
+ * @param parent Required. The name of the instance in which to create the restored database. This
+ * instance must be in the same project and have the same instance configuration as the
+ * instance containing the source backup. Values are of the form
+ * `projects/<project>/instances/<instance>`.
+ * @param databaseId Required. The id of the database to create and restore to. This database must
+ * not already exist. The `database_id` appended to `parent` forms the full database name of
+ * the form
+ * `projects/<project>/instances/<instance>/databases/<database_id>`.
+ * @param backup Name of the backup from which to restore. Values are of the form
+ * `projects/<project>/instances/<instance>/backups/<backup>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public final OperationFuture restoreDatabaseAsync(
+ String parent, String databaseId, String backup) {
+ RestoreDatabaseRequest request =
+ RestoreDatabaseRequest.newBuilder()
+ .setParent(parent)
+ .setDatabaseId(databaseId)
+ .setBackup(backup)
+ .build();
+ return restoreDatabaseAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Create a new database by restoring from a completed backup. The new database must be in the
+ * same project and in an instance with the same instance configuration as the instance containing
+ * the backup. The returned database [long-running operation][google.longrunning.Operation] has a
+ * name of the format
+ * `projects/<project>/instances/<instance>/databases/<database>/operations/<operation_id>`,
+ * and can be used to track the progress of the operation, and to cancel it. The
+ * [metadata][google.longrunning.Operation.metadata] field type is
+ * [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata]. The
+ * [response][google.longrunning.Operation.response] type is
+ * [Database][google.spanner.admin.database.v1.Database], if successful. Cancelling the returned
+ * operation will stop the restore and delete the database. There can be only one database being
+ * restored into an instance at a time. Once the restore operation completes, a new restore
+ * operation can be initiated, without waiting for the optimize operation associated with the
+ * first restore to complete.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * String databaseId = "";
+ * RestoreDatabaseRequest request = RestoreDatabaseRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .setDatabaseId(databaseId)
+ * .build();
+ * Database response = databaseAdminClient.restoreDatabaseAsync(request).get();
+ * }
+ *
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public final OperationFuture restoreDatabaseAsync(
+ RestoreDatabaseRequest request) {
+ return restoreDatabaseOperationCallable().futureCall(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Create a new database by restoring from a completed backup. The new database must be in the
+ * same project and in an instance with the same instance configuration as the instance containing
+ * the backup. The returned database [long-running operation][google.longrunning.Operation] has a
+ * name of the format
+ * `projects/<project>/instances/<instance>/databases/<database>/operations/<operation_id>`,
+ * and can be used to track the progress of the operation, and to cancel it. The
+ * [metadata][google.longrunning.Operation.metadata] field type is
+ * [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata]. The
+ * [response][google.longrunning.Operation.response] type is
+ * [Database][google.spanner.admin.database.v1.Database], if successful. Cancelling the returned
+ * operation will stop the restore and delete the database. There can be only one database being
+ * restored into an instance at a time. Once the restore operation completes, a new restore
+ * operation can be initiated, without waiting for the optimize operation associated with the
+ * first restore to complete.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * String databaseId = "";
+ * RestoreDatabaseRequest request = RestoreDatabaseRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .setDatabaseId(databaseId)
+ * .build();
+ * OperationFuture<Database, RestoreDatabaseMetadata> future = databaseAdminClient.restoreDatabaseOperationCallable().futureCall(request);
+ * // Do something
+ * Database response = future.get();
+ * }
+ *
+ */
+ @BetaApi("The surface for use by generated code is not stable yet and may change in the future.")
+ public final OperationCallable
+ restoreDatabaseOperationCallable() {
+ return stub.restoreDatabaseOperationCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Create a new database by restoring from a completed backup. The new database must be in the
+ * same project and in an instance with the same instance configuration as the instance containing
+ * the backup. The returned database [long-running operation][google.longrunning.Operation] has a
+ * name of the format
+ * `projects/<project>/instances/<instance>/databases/<database>/operations/<operation_id>`,
+ * and can be used to track the progress of the operation, and to cancel it. The
+ * [metadata][google.longrunning.Operation.metadata] field type is
+ * [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata]. The
+ * [response][google.longrunning.Operation.response] type is
+ * [Database][google.spanner.admin.database.v1.Database], if successful. Cancelling the returned
+ * operation will stop the restore and delete the database. There can be only one database being
+ * restored into an instance at a time. Once the restore operation completes, a new restore
+ * operation can be initiated, without waiting for the optimize operation associated with the
+ * first restore to complete.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * String databaseId = "";
+ * RestoreDatabaseRequest request = RestoreDatabaseRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .setDatabaseId(databaseId)
+ * .build();
+ * ApiFuture<Operation> future = databaseAdminClient.restoreDatabaseCallable().futureCall(request);
+ * // Do something
+ * Operation response = future.get();
+ * }
+ *
+ */
+ public final UnaryCallable restoreDatabaseCallable() {
+ return stub.restoreDatabaseCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists database [longrunning-operations][google.longrunning.Operation]. A database operation has
+ * a name of the form
+ * `projects/<project>/instances/<instance>/databases/<database>/operations/<operation>`.
+ * The long-running operation [metadata][google.longrunning.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.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * for (Operation element : databaseAdminClient.listDatabaseOperations(parent).iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ *
+ * @param parent Required. The instance of the database operations. Values are of the form
+ * `projects/<project>/instances/<instance>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final ListDatabaseOperationsPagedResponse listDatabaseOperations(InstanceName parent) {
+ ListDatabaseOperationsRequest request =
+ ListDatabaseOperationsRequest.newBuilder()
+ .setParent(parent == null ? null : parent.toString())
+ .build();
+ return listDatabaseOperations(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists database [longrunning-operations][google.longrunning.Operation]. A database operation has
+ * a name of the form
+ * `projects/<project>/instances/<instance>/databases/<database>/operations/<operation>`.
+ * The long-running operation [metadata][google.longrunning.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.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * for (Operation element : databaseAdminClient.listDatabaseOperations(parent.toString()).iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ *
+ * @param parent Required. The instance of the database operations. Values are of the form
+ * `projects/<project>/instances/<instance>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final ListDatabaseOperationsPagedResponse listDatabaseOperations(String parent) {
+ ListDatabaseOperationsRequest request =
+ ListDatabaseOperationsRequest.newBuilder().setParent(parent).build();
+ return listDatabaseOperations(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists database [longrunning-operations][google.longrunning.Operation]. A database operation has
+ * a name of the form
+ * `projects/<project>/instances/<instance>/databases/<database>/operations/<operation>`.
+ * The long-running operation [metadata][google.longrunning.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.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * ListDatabaseOperationsRequest request = ListDatabaseOperationsRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .build();
+ * for (Operation element : databaseAdminClient.listDatabaseOperations(request).iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final ListDatabaseOperationsPagedResponse listDatabaseOperations(
+ ListDatabaseOperationsRequest request) {
+ return listDatabaseOperationsPagedCallable().call(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists database [longrunning-operations][google.longrunning.Operation]. A database operation has
+ * a name of the form
+ * `projects/<project>/instances/<instance>/databases/<database>/operations/<operation>`.
+ * The long-running operation [metadata][google.longrunning.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.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * ListDatabaseOperationsRequest request = ListDatabaseOperationsRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .build();
+ * ApiFuture<ListDatabaseOperationsPagedResponse> future = databaseAdminClient.listDatabaseOperationsPagedCallable().futureCall(request);
+ * // Do something
+ * for (Operation element : future.get().iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ */
+ public final UnaryCallable
+ listDatabaseOperationsPagedCallable() {
+ return stub.listDatabaseOperationsPagedCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists database [longrunning-operations][google.longrunning.Operation]. A database operation has
+ * a name of the form
+ * `projects/<project>/instances/<instance>/databases/<database>/operations/<operation>`.
+ * The long-running operation [metadata][google.longrunning.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.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * ListDatabaseOperationsRequest request = ListDatabaseOperationsRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .build();
+ * while (true) {
+ * ListDatabaseOperationsResponse response = databaseAdminClient.listDatabaseOperationsCallable().call(request);
+ * for (Operation element : response.getOperationsList()) {
+ * // doThingsWith(element);
+ * }
+ * String nextPageToken = response.getNextPageToken();
+ * if (!Strings.isNullOrEmpty(nextPageToken)) {
+ * request = request.toBuilder().setPageToken(nextPageToken).build();
+ * } else {
+ * break;
+ * }
+ * }
+ * }
+ *
+ */
+ public final UnaryCallable
+ listDatabaseOperationsCallable() {
+ return stub.listDatabaseOperationsCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists the backup [long-running operations][google.longrunning.Operation] in the given instance.
+ * A backup operation has a name of the form
+ * `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation>`.
+ * The long-running operation [metadata][google.longrunning.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.progress.start_time` in descending order
+ * starting from the most recently started operation.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * for (Operation element : databaseAdminClient.listBackupOperations(parent).iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ *
+ * @param parent Required. The instance of the backup operations. Values are of the form
+ * `projects/<project>/instances/<instance>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final ListBackupOperationsPagedResponse listBackupOperations(InstanceName parent) {
+ ListBackupOperationsRequest request =
+ ListBackupOperationsRequest.newBuilder()
+ .setParent(parent == null ? null : parent.toString())
+ .build();
+ return listBackupOperations(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists the backup [long-running operations][google.longrunning.Operation] in the given instance.
+ * A backup operation has a name of the form
+ * `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation>`.
+ * The long-running operation [metadata][google.longrunning.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.progress.start_time` in descending order
+ * starting from the most recently started operation.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * for (Operation element : databaseAdminClient.listBackupOperations(parent.toString()).iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ *
+ * @param parent Required. The instance of the backup operations. Values are of the form
+ * `projects/<project>/instances/<instance>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final ListBackupOperationsPagedResponse listBackupOperations(String parent) {
+ ListBackupOperationsRequest request =
+ ListBackupOperationsRequest.newBuilder().setParent(parent).build();
+ return listBackupOperations(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists the backup [long-running operations][google.longrunning.Operation] in the given instance.
+ * A backup operation has a name of the form
+ * `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation>`.
+ * The long-running operation [metadata][google.longrunning.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.progress.start_time` in descending order
+ * starting from the most recently started operation.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * ListBackupOperationsRequest request = ListBackupOperationsRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .build();
+ * for (Operation element : databaseAdminClient.listBackupOperations(request).iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final ListBackupOperationsPagedResponse listBackupOperations(
+ ListBackupOperationsRequest request) {
+ return listBackupOperationsPagedCallable().call(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists the backup [long-running operations][google.longrunning.Operation] in the given instance.
+ * A backup operation has a name of the form
+ * `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation>`.
+ * The long-running operation [metadata][google.longrunning.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.progress.start_time` in descending order
+ * starting from the most recently started operation.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * ListBackupOperationsRequest request = ListBackupOperationsRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .build();
+ * ApiFuture<ListBackupOperationsPagedResponse> future = databaseAdminClient.listBackupOperationsPagedCallable().futureCall(request);
+ * // Do something
+ * for (Operation element : future.get().iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ */
+ public final UnaryCallable
+ listBackupOperationsPagedCallable() {
+ return stub.listBackupOperationsPagedCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists the backup [long-running operations][google.longrunning.Operation] in the given instance.
+ * A backup operation has a name of the form
+ * `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation>`.
+ * The long-running operation [metadata][google.longrunning.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.progress.start_time` in descending order
+ * starting from the most recently started operation.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * ListBackupOperationsRequest request = ListBackupOperationsRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .build();
+ * while (true) {
+ * ListBackupOperationsResponse response = databaseAdminClient.listBackupOperationsCallable().call(request);
+ * for (Operation element : response.getOperationsList()) {
+ * // doThingsWith(element);
+ * }
+ * String nextPageToken = response.getNextPageToken();
+ * if (!Strings.isNullOrEmpty(nextPageToken)) {
+ * request = request.toBuilder().setPageToken(nextPageToken).build();
+ * } else {
+ * break;
+ * }
+ * }
+ * }
+ *
+ */
+ public final UnaryCallable
+ listBackupOperationsCallable() {
+ return stub.listBackupOperationsCallable();
+ }
+
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
* Lists Cloud Spanner databases.
@@ -1335,6 +2533,260 @@ public boolean awaitTermination(long duration, TimeUnit unit) throws Interrupted
return stub.awaitTermination(duration, unit);
}
+ public static class ListBackupsPagedResponse
+ extends AbstractPagedListResponse<
+ ListBackupsRequest,
+ ListBackupsResponse,
+ Backup,
+ ListBackupsPage,
+ ListBackupsFixedSizeCollection> {
+
+ public static ApiFuture createAsync(
+ PageContext context,
+ ApiFuture futureResponse) {
+ ApiFuture futurePage =
+ ListBackupsPage.createEmptyPage().createPageAsync(context, futureResponse);
+ return ApiFutures.transform(
+ futurePage,
+ new ApiFunction() {
+ @Override
+ public ListBackupsPagedResponse apply(ListBackupsPage input) {
+ return new ListBackupsPagedResponse(input);
+ }
+ },
+ MoreExecutors.directExecutor());
+ }
+
+ private ListBackupsPagedResponse(ListBackupsPage page) {
+ super(page, ListBackupsFixedSizeCollection.createEmptyCollection());
+ }
+ }
+
+ public static class ListBackupsPage
+ extends AbstractPage {
+
+ private ListBackupsPage(
+ PageContext context,
+ ListBackupsResponse response) {
+ super(context, response);
+ }
+
+ private static ListBackupsPage createEmptyPage() {
+ return new ListBackupsPage(null, null);
+ }
+
+ @Override
+ protected ListBackupsPage createPage(
+ PageContext context,
+ ListBackupsResponse response) {
+ return new ListBackupsPage(context, response);
+ }
+
+ @Override
+ public ApiFuture createPageAsync(
+ PageContext context,
+ ApiFuture futureResponse) {
+ return super.createPageAsync(context, futureResponse);
+ }
+ }
+
+ public static class ListBackupsFixedSizeCollection
+ extends AbstractFixedSizeCollection<
+ ListBackupsRequest,
+ ListBackupsResponse,
+ Backup,
+ ListBackupsPage,
+ ListBackupsFixedSizeCollection> {
+
+ private ListBackupsFixedSizeCollection(List pages, int collectionSize) {
+ super(pages, collectionSize);
+ }
+
+ private static ListBackupsFixedSizeCollection createEmptyCollection() {
+ return new ListBackupsFixedSizeCollection(null, 0);
+ }
+
+ @Override
+ protected ListBackupsFixedSizeCollection createCollection(
+ List pages, int collectionSize) {
+ return new ListBackupsFixedSizeCollection(pages, collectionSize);
+ }
+ }
+
+ public static class ListDatabaseOperationsPagedResponse
+ extends AbstractPagedListResponse<
+ ListDatabaseOperationsRequest,
+ ListDatabaseOperationsResponse,
+ Operation,
+ ListDatabaseOperationsPage,
+ ListDatabaseOperationsFixedSizeCollection> {
+
+ public static ApiFuture createAsync(
+ PageContext
+ context,
+ ApiFuture futureResponse) {
+ ApiFuture futurePage =
+ ListDatabaseOperationsPage.createEmptyPage().createPageAsync(context, futureResponse);
+ return ApiFutures.transform(
+ futurePage,
+ new ApiFunction() {
+ @Override
+ public ListDatabaseOperationsPagedResponse apply(ListDatabaseOperationsPage input) {
+ return new ListDatabaseOperationsPagedResponse(input);
+ }
+ },
+ MoreExecutors.directExecutor());
+ }
+
+ private ListDatabaseOperationsPagedResponse(ListDatabaseOperationsPage page) {
+ super(page, ListDatabaseOperationsFixedSizeCollection.createEmptyCollection());
+ }
+ }
+
+ public static class ListDatabaseOperationsPage
+ extends AbstractPage<
+ ListDatabaseOperationsRequest,
+ ListDatabaseOperationsResponse,
+ Operation,
+ ListDatabaseOperationsPage> {
+
+ private ListDatabaseOperationsPage(
+ PageContext
+ context,
+ ListDatabaseOperationsResponse response) {
+ super(context, response);
+ }
+
+ private static ListDatabaseOperationsPage createEmptyPage() {
+ return new ListDatabaseOperationsPage(null, null);
+ }
+
+ @Override
+ protected ListDatabaseOperationsPage createPage(
+ PageContext
+ context,
+ ListDatabaseOperationsResponse response) {
+ return new ListDatabaseOperationsPage(context, response);
+ }
+
+ @Override
+ public ApiFuture createPageAsync(
+ PageContext
+ context,
+ ApiFuture futureResponse) {
+ return super.createPageAsync(context, futureResponse);
+ }
+ }
+
+ public static class ListDatabaseOperationsFixedSizeCollection
+ extends AbstractFixedSizeCollection<
+ ListDatabaseOperationsRequest,
+ ListDatabaseOperationsResponse,
+ Operation,
+ ListDatabaseOperationsPage,
+ ListDatabaseOperationsFixedSizeCollection> {
+
+ private ListDatabaseOperationsFixedSizeCollection(
+ List pages, int collectionSize) {
+ super(pages, collectionSize);
+ }
+
+ private static ListDatabaseOperationsFixedSizeCollection createEmptyCollection() {
+ return new ListDatabaseOperationsFixedSizeCollection(null, 0);
+ }
+
+ @Override
+ protected ListDatabaseOperationsFixedSizeCollection createCollection(
+ List pages, int collectionSize) {
+ return new ListDatabaseOperationsFixedSizeCollection(pages, collectionSize);
+ }
+ }
+
+ public static class ListBackupOperationsPagedResponse
+ extends AbstractPagedListResponse<
+ ListBackupOperationsRequest,
+ ListBackupOperationsResponse,
+ Operation,
+ ListBackupOperationsPage,
+ ListBackupOperationsFixedSizeCollection> {
+
+ public static ApiFuture createAsync(
+ PageContext context,
+ ApiFuture futureResponse) {
+ ApiFuture futurePage =
+ ListBackupOperationsPage.createEmptyPage().createPageAsync(context, futureResponse);
+ return ApiFutures.transform(
+ futurePage,
+ new ApiFunction() {
+ @Override
+ public ListBackupOperationsPagedResponse apply(ListBackupOperationsPage input) {
+ return new ListBackupOperationsPagedResponse(input);
+ }
+ },
+ MoreExecutors.directExecutor());
+ }
+
+ private ListBackupOperationsPagedResponse(ListBackupOperationsPage page) {
+ super(page, ListBackupOperationsFixedSizeCollection.createEmptyCollection());
+ }
+ }
+
+ public static class ListBackupOperationsPage
+ extends AbstractPage<
+ ListBackupOperationsRequest,
+ ListBackupOperationsResponse,
+ Operation,
+ ListBackupOperationsPage> {
+
+ private ListBackupOperationsPage(
+ PageContext context,
+ ListBackupOperationsResponse response) {
+ super(context, response);
+ }
+
+ private static ListBackupOperationsPage createEmptyPage() {
+ return new ListBackupOperationsPage(null, null);
+ }
+
+ @Override
+ protected ListBackupOperationsPage createPage(
+ PageContext context,
+ ListBackupOperationsResponse response) {
+ return new ListBackupOperationsPage(context, response);
+ }
+
+ @Override
+ public ApiFuture createPageAsync(
+ PageContext context,
+ ApiFuture futureResponse) {
+ return super.createPageAsync(context, futureResponse);
+ }
+ }
+
+ public static class ListBackupOperationsFixedSizeCollection
+ extends AbstractFixedSizeCollection<
+ ListBackupOperationsRequest,
+ ListBackupOperationsResponse,
+ Operation,
+ ListBackupOperationsPage,
+ ListBackupOperationsFixedSizeCollection> {
+
+ private ListBackupOperationsFixedSizeCollection(
+ List pages, int collectionSize) {
+ super(pages, collectionSize);
+ }
+
+ private static ListBackupOperationsFixedSizeCollection createEmptyCollection() {
+ return new ListBackupOperationsFixedSizeCollection(null, 0);
+ }
+
+ @Override
+ protected ListBackupOperationsFixedSizeCollection createCollection(
+ List pages, int collectionSize) {
+ return new ListBackupOperationsFixedSizeCollection(pages, collectionSize);
+ }
+ }
+
public static class ListDatabasesPagedResponse
extends AbstractPagedListResponse<
ListDatabasesRequest,
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java
index 9b894043a2..2b74ae4ba3 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java
@@ -15,6 +15,9 @@
*/
package com.google.cloud.spanner.admin.database.v1;
+import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListBackupOperationsPagedResponse;
+import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListBackupsPagedResponse;
+import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListDatabaseOperationsPagedResponse;
import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListDatabasesPagedResponse;
import com.google.api.core.ApiFunction;
@@ -37,15 +40,29 @@
import com.google.iam.v1.TestIamPermissionsResponse;
import com.google.longrunning.Operation;
import com.google.protobuf.Empty;
+import com.google.spanner.admin.database.v1.Backup;
+import com.google.spanner.admin.database.v1.CreateBackupMetadata;
+import com.google.spanner.admin.database.v1.CreateBackupRequest;
import com.google.spanner.admin.database.v1.CreateDatabaseMetadata;
import com.google.spanner.admin.database.v1.CreateDatabaseRequest;
import com.google.spanner.admin.database.v1.Database;
+import com.google.spanner.admin.database.v1.DeleteBackupRequest;
import com.google.spanner.admin.database.v1.DropDatabaseRequest;
+import com.google.spanner.admin.database.v1.GetBackupRequest;
import com.google.spanner.admin.database.v1.GetDatabaseDdlRequest;
import com.google.spanner.admin.database.v1.GetDatabaseDdlResponse;
import com.google.spanner.admin.database.v1.GetDatabaseRequest;
+import com.google.spanner.admin.database.v1.ListBackupOperationsRequest;
+import com.google.spanner.admin.database.v1.ListBackupOperationsResponse;
+import com.google.spanner.admin.database.v1.ListBackupsRequest;
+import com.google.spanner.admin.database.v1.ListBackupsResponse;
+import com.google.spanner.admin.database.v1.ListDatabaseOperationsRequest;
+import com.google.spanner.admin.database.v1.ListDatabaseOperationsResponse;
import com.google.spanner.admin.database.v1.ListDatabasesRequest;
import com.google.spanner.admin.database.v1.ListDatabasesResponse;
+import com.google.spanner.admin.database.v1.RestoreDatabaseMetadata;
+import com.google.spanner.admin.database.v1.RestoreDatabaseRequest;
+import com.google.spanner.admin.database.v1.UpdateBackupRequest;
import com.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata;
import com.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest;
import java.io.IOException;
@@ -143,6 +160,71 @@ public UnaryCallSettings getIamPolicySettings() {
return ((DatabaseAdminStubSettings) getStubSettings()).testIamPermissionsSettings();
}
+ /** Returns the object with the settings used for calls to createBackup. */
+ public UnaryCallSettings createBackupSettings() {
+ return ((DatabaseAdminStubSettings) getStubSettings()).createBackupSettings();
+ }
+
+ /** Returns the object with the settings used for calls to createBackup. */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public OperationCallSettings
+ createBackupOperationSettings() {
+ return ((DatabaseAdminStubSettings) getStubSettings()).createBackupOperationSettings();
+ }
+
+ /** Returns the object with the settings used for calls to getBackup. */
+ public UnaryCallSettings getBackupSettings() {
+ return ((DatabaseAdminStubSettings) getStubSettings()).getBackupSettings();
+ }
+
+ /** Returns the object with the settings used for calls to updateBackup. */
+ public UnaryCallSettings updateBackupSettings() {
+ return ((DatabaseAdminStubSettings) getStubSettings()).updateBackupSettings();
+ }
+
+ /** Returns the object with the settings used for calls to deleteBackup. */
+ public UnaryCallSettings deleteBackupSettings() {
+ return ((DatabaseAdminStubSettings) getStubSettings()).deleteBackupSettings();
+ }
+
+ /** Returns the object with the settings used for calls to listBackups. */
+ public PagedCallSettings
+ listBackupsSettings() {
+ return ((DatabaseAdminStubSettings) getStubSettings()).listBackupsSettings();
+ }
+
+ /** Returns the object with the settings used for calls to restoreDatabase. */
+ public UnaryCallSettings restoreDatabaseSettings() {
+ return ((DatabaseAdminStubSettings) getStubSettings()).restoreDatabaseSettings();
+ }
+
+ /** Returns the object with the settings used for calls to restoreDatabase. */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public OperationCallSettings
+ restoreDatabaseOperationSettings() {
+ return ((DatabaseAdminStubSettings) getStubSettings()).restoreDatabaseOperationSettings();
+ }
+
+ /** Returns the object with the settings used for calls to listDatabaseOperations. */
+ public PagedCallSettings<
+ ListDatabaseOperationsRequest,
+ ListDatabaseOperationsResponse,
+ ListDatabaseOperationsPagedResponse>
+ listDatabaseOperationsSettings() {
+ return ((DatabaseAdminStubSettings) getStubSettings()).listDatabaseOperationsSettings();
+ }
+
+ /** Returns the object with the settings used for calls to listBackupOperations. */
+ public PagedCallSettings<
+ ListBackupOperationsRequest,
+ ListBackupOperationsResponse,
+ ListBackupOperationsPagedResponse>
+ listBackupOperationsSettings() {
+ return ((DatabaseAdminStubSettings) getStubSettings()).listBackupOperationsSettings();
+ }
+
/** Returns the object with the settings used for calls to listDatabases. */
public PagedCallSettings
listDatabasesSettings() {
@@ -305,6 +387,72 @@ public UnaryCallSettings.Builder getIamPolicySettin
return getStubSettingsBuilder().testIamPermissionsSettings();
}
+ /** Returns the builder for the settings used for calls to createBackup. */
+ public UnaryCallSettings.Builder createBackupSettings() {
+ return getStubSettingsBuilder().createBackupSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to createBackup. */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public OperationCallSettings.Builder
+ createBackupOperationSettings() {
+ return getStubSettingsBuilder().createBackupOperationSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to getBackup. */
+ public UnaryCallSettings.Builder getBackupSettings() {
+ return getStubSettingsBuilder().getBackupSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to updateBackup. */
+ public UnaryCallSettings.Builder updateBackupSettings() {
+ return getStubSettingsBuilder().updateBackupSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to deleteBackup. */
+ public UnaryCallSettings.Builder deleteBackupSettings() {
+ return getStubSettingsBuilder().deleteBackupSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to listBackups. */
+ public PagedCallSettings.Builder<
+ ListBackupsRequest, ListBackupsResponse, ListBackupsPagedResponse>
+ listBackupsSettings() {
+ return getStubSettingsBuilder().listBackupsSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to restoreDatabase. */
+ public UnaryCallSettings.Builder restoreDatabaseSettings() {
+ return getStubSettingsBuilder().restoreDatabaseSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to restoreDatabase. */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public OperationCallSettings.Builder
+ restoreDatabaseOperationSettings() {
+ return getStubSettingsBuilder().restoreDatabaseOperationSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to listDatabaseOperations. */
+ public PagedCallSettings.Builder<
+ ListDatabaseOperationsRequest,
+ ListDatabaseOperationsResponse,
+ ListDatabaseOperationsPagedResponse>
+ listDatabaseOperationsSettings() {
+ return getStubSettingsBuilder().listDatabaseOperationsSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to listBackupOperations. */
+ public PagedCallSettings.Builder<
+ ListBackupOperationsRequest,
+ ListBackupOperationsResponse,
+ ListBackupOperationsPagedResponse>
+ listBackupOperationsSettings() {
+ return getStubSettingsBuilder().listBackupOperationsSettings();
+ }
+
/** Returns the builder for the settings used for calls to listDatabases. */
public PagedCallSettings.Builder<
ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/package-info.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/package-info.java
index a086f7883c..678de33279 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/package-info.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/package-info.java
@@ -24,7 +24,8 @@
* Service Description: Cloud Spanner Database Admin API
*
*
The Cloud Spanner Database Admin API can be used to create, drop, and list databases. It also
- * enables updating the schema of pre-existing databases.
+ * enables updating the schema of pre-existing databases. It can be also used to create, delete and
+ * list backups for a database and to restore from an existing backup.
*
*
Sample for DatabaseAdminClient:
*
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStub.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStub.java
index 4e5bc08210..7f54ffbfca 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStub.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStub.java
@@ -15,6 +15,9 @@
*/
package com.google.cloud.spanner.admin.database.v1.stub;
+import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListBackupOperationsPagedResponse;
+import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListBackupsPagedResponse;
+import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListDatabaseOperationsPagedResponse;
import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListDatabasesPagedResponse;
import com.google.api.core.BetaApi;
@@ -29,15 +32,29 @@
import com.google.longrunning.Operation;
import com.google.longrunning.stub.OperationsStub;
import com.google.protobuf.Empty;
+import com.google.spanner.admin.database.v1.Backup;
+import com.google.spanner.admin.database.v1.CreateBackupMetadata;
+import com.google.spanner.admin.database.v1.CreateBackupRequest;
import com.google.spanner.admin.database.v1.CreateDatabaseMetadata;
import com.google.spanner.admin.database.v1.CreateDatabaseRequest;
import com.google.spanner.admin.database.v1.Database;
+import com.google.spanner.admin.database.v1.DeleteBackupRequest;
import com.google.spanner.admin.database.v1.DropDatabaseRequest;
+import com.google.spanner.admin.database.v1.GetBackupRequest;
import com.google.spanner.admin.database.v1.GetDatabaseDdlRequest;
import com.google.spanner.admin.database.v1.GetDatabaseDdlResponse;
import com.google.spanner.admin.database.v1.GetDatabaseRequest;
+import com.google.spanner.admin.database.v1.ListBackupOperationsRequest;
+import com.google.spanner.admin.database.v1.ListBackupOperationsResponse;
+import com.google.spanner.admin.database.v1.ListBackupsRequest;
+import com.google.spanner.admin.database.v1.ListBackupsResponse;
+import com.google.spanner.admin.database.v1.ListDatabaseOperationsRequest;
+import com.google.spanner.admin.database.v1.ListDatabaseOperationsResponse;
import com.google.spanner.admin.database.v1.ListDatabasesRequest;
import com.google.spanner.admin.database.v1.ListDatabasesResponse;
+import com.google.spanner.admin.database.v1.RestoreDatabaseMetadata;
+import com.google.spanner.admin.database.v1.RestoreDatabaseRequest;
+import com.google.spanner.admin.database.v1.UpdateBackupRequest;
import com.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata;
import com.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest;
import javax.annotation.Generated;
@@ -103,6 +120,67 @@ public UnaryCallable getIamPolicyCallable() {
throw new UnsupportedOperationException("Not implemented: testIamPermissionsCallable()");
}
+ @BetaApi("The surface for use by generated code is not stable yet and may change in the future.")
+ public OperationCallable
+ createBackupOperationCallable() {
+ throw new UnsupportedOperationException("Not implemented: createBackupOperationCallable()");
+ }
+
+ public UnaryCallable createBackupCallable() {
+ throw new UnsupportedOperationException("Not implemented: createBackupCallable()");
+ }
+
+ public UnaryCallable getBackupCallable() {
+ throw new UnsupportedOperationException("Not implemented: getBackupCallable()");
+ }
+
+ public UnaryCallable updateBackupCallable() {
+ throw new UnsupportedOperationException("Not implemented: updateBackupCallable()");
+ }
+
+ public UnaryCallable deleteBackupCallable() {
+ throw new UnsupportedOperationException("Not implemented: deleteBackupCallable()");
+ }
+
+ public UnaryCallable listBackupsPagedCallable() {
+ throw new UnsupportedOperationException("Not implemented: listBackupsPagedCallable()");
+ }
+
+ public UnaryCallable listBackupsCallable() {
+ throw new UnsupportedOperationException("Not implemented: listBackupsCallable()");
+ }
+
+ @BetaApi("The surface for use by generated code is not stable yet and may change in the future.")
+ public OperationCallable
+ restoreDatabaseOperationCallable() {
+ throw new UnsupportedOperationException("Not implemented: restoreDatabaseOperationCallable()");
+ }
+
+ public UnaryCallable restoreDatabaseCallable() {
+ throw new UnsupportedOperationException("Not implemented: restoreDatabaseCallable()");
+ }
+
+ public UnaryCallable
+ listDatabaseOperationsPagedCallable() {
+ throw new UnsupportedOperationException(
+ "Not implemented: listDatabaseOperationsPagedCallable()");
+ }
+
+ public UnaryCallable
+ listDatabaseOperationsCallable() {
+ throw new UnsupportedOperationException("Not implemented: listDatabaseOperationsCallable()");
+ }
+
+ public UnaryCallable
+ listBackupOperationsPagedCallable() {
+ throw new UnsupportedOperationException("Not implemented: listBackupOperationsPagedCallable()");
+ }
+
+ public UnaryCallable
+ listBackupOperationsCallable() {
+ throw new UnsupportedOperationException("Not implemented: listBackupOperationsCallable()");
+ }
+
public UnaryCallable
listDatabasesPagedCallable() {
throw new UnsupportedOperationException("Not implemented: listDatabasesPagedCallable()");
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java
index 03cee855cf..3549b6c5fe 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java
@@ -15,6 +15,9 @@
*/
package com.google.cloud.spanner.admin.database.v1.stub;
+import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListBackupOperationsPagedResponse;
+import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListBackupsPagedResponse;
+import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListDatabaseOperationsPagedResponse;
import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListDatabasesPagedResponse;
import com.google.api.core.ApiFunction;
@@ -54,15 +57,29 @@
import com.google.iam.v1.TestIamPermissionsResponse;
import com.google.longrunning.Operation;
import com.google.protobuf.Empty;
+import com.google.spanner.admin.database.v1.Backup;
+import com.google.spanner.admin.database.v1.CreateBackupMetadata;
+import com.google.spanner.admin.database.v1.CreateBackupRequest;
import com.google.spanner.admin.database.v1.CreateDatabaseMetadata;
import com.google.spanner.admin.database.v1.CreateDatabaseRequest;
import com.google.spanner.admin.database.v1.Database;
+import com.google.spanner.admin.database.v1.DeleteBackupRequest;
import com.google.spanner.admin.database.v1.DropDatabaseRequest;
+import com.google.spanner.admin.database.v1.GetBackupRequest;
import com.google.spanner.admin.database.v1.GetDatabaseDdlRequest;
import com.google.spanner.admin.database.v1.GetDatabaseDdlResponse;
import com.google.spanner.admin.database.v1.GetDatabaseRequest;
+import com.google.spanner.admin.database.v1.ListBackupOperationsRequest;
+import com.google.spanner.admin.database.v1.ListBackupOperationsResponse;
+import com.google.spanner.admin.database.v1.ListBackupsRequest;
+import com.google.spanner.admin.database.v1.ListBackupsResponse;
+import com.google.spanner.admin.database.v1.ListDatabaseOperationsRequest;
+import com.google.spanner.admin.database.v1.ListDatabaseOperationsResponse;
import com.google.spanner.admin.database.v1.ListDatabasesRequest;
import com.google.spanner.admin.database.v1.ListDatabasesResponse;
+import com.google.spanner.admin.database.v1.RestoreDatabaseMetadata;
+import com.google.spanner.admin.database.v1.RestoreDatabaseRequest;
+import com.google.spanner.admin.database.v1.UpdateBackupRequest;
import com.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata;
import com.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest;
import java.io.IOException;
@@ -125,6 +142,27 @@ public class DatabaseAdminStubSettings extends StubSettings getIamPolicySettings;
private final UnaryCallSettings
testIamPermissionsSettings;
+ private final UnaryCallSettings createBackupSettings;
+ private final OperationCallSettings
+ createBackupOperationSettings;
+ private final UnaryCallSettings getBackupSettings;
+ private final UnaryCallSettings updateBackupSettings;
+ private final UnaryCallSettings deleteBackupSettings;
+ private final PagedCallSettings
+ listBackupsSettings;
+ private final UnaryCallSettings restoreDatabaseSettings;
+ private final OperationCallSettings
+ restoreDatabaseOperationSettings;
+ private final PagedCallSettings<
+ ListDatabaseOperationsRequest,
+ ListDatabaseOperationsResponse,
+ ListDatabaseOperationsPagedResponse>
+ listDatabaseOperationsSettings;
+ private final PagedCallSettings<
+ ListBackupOperationsRequest,
+ ListBackupOperationsResponse,
+ ListBackupOperationsPagedResponse>
+ listBackupOperationsSettings;
private final PagedCallSettings<
ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>
listDatabasesSettings;
@@ -184,6 +222,69 @@ public UnaryCallSettings getIamPolicySettings() {
return testIamPermissionsSettings;
}
+ /** Returns the object with the settings used for calls to createBackup. */
+ public UnaryCallSettings createBackupSettings() {
+ return createBackupSettings;
+ }
+
+ /** Returns the object with the settings used for calls to createBackup. */
+ @BetaApi("The surface for use by generated code is not stable yet and may change in the future.")
+ public OperationCallSettings
+ createBackupOperationSettings() {
+ return createBackupOperationSettings;
+ }
+
+ /** Returns the object with the settings used for calls to getBackup. */
+ public UnaryCallSettings getBackupSettings() {
+ return getBackupSettings;
+ }
+
+ /** Returns the object with the settings used for calls to updateBackup. */
+ public UnaryCallSettings updateBackupSettings() {
+ return updateBackupSettings;
+ }
+
+ /** Returns the object with the settings used for calls to deleteBackup. */
+ public UnaryCallSettings deleteBackupSettings() {
+ return deleteBackupSettings;
+ }
+
+ /** Returns the object with the settings used for calls to listBackups. */
+ public PagedCallSettings
+ listBackupsSettings() {
+ return listBackupsSettings;
+ }
+
+ /** Returns the object with the settings used for calls to restoreDatabase. */
+ public UnaryCallSettings restoreDatabaseSettings() {
+ return restoreDatabaseSettings;
+ }
+
+ /** Returns the object with the settings used for calls to restoreDatabase. */
+ @BetaApi("The surface for use by generated code is not stable yet and may change in the future.")
+ public OperationCallSettings
+ restoreDatabaseOperationSettings() {
+ return restoreDatabaseOperationSettings;
+ }
+
+ /** Returns the object with the settings used for calls to listDatabaseOperations. */
+ public PagedCallSettings<
+ ListDatabaseOperationsRequest,
+ ListDatabaseOperationsResponse,
+ ListDatabaseOperationsPagedResponse>
+ listDatabaseOperationsSettings() {
+ return listDatabaseOperationsSettings;
+ }
+
+ /** Returns the object with the settings used for calls to listBackupOperations. */
+ public PagedCallSettings<
+ ListBackupOperationsRequest,
+ ListBackupOperationsResponse,
+ ListBackupOperationsPagedResponse>
+ listBackupOperationsSettings() {
+ return listBackupOperationsSettings;
+ }
+
/** Returns the object with the settings used for calls to listDatabases. */
public PagedCallSettings
listDatabasesSettings() {
@@ -270,9 +371,137 @@ protected DatabaseAdminStubSettings(Builder settingsBuilder) throws IOException
setIamPolicySettings = settingsBuilder.setIamPolicySettings().build();
getIamPolicySettings = settingsBuilder.getIamPolicySettings().build();
testIamPermissionsSettings = settingsBuilder.testIamPermissionsSettings().build();
+ createBackupSettings = settingsBuilder.createBackupSettings().build();
+ createBackupOperationSettings = settingsBuilder.createBackupOperationSettings().build();
+ getBackupSettings = settingsBuilder.getBackupSettings().build();
+ updateBackupSettings = settingsBuilder.updateBackupSettings().build();
+ deleteBackupSettings = settingsBuilder.deleteBackupSettings().build();
+ listBackupsSettings = settingsBuilder.listBackupsSettings().build();
+ restoreDatabaseSettings = settingsBuilder.restoreDatabaseSettings().build();
+ restoreDatabaseOperationSettings = settingsBuilder.restoreDatabaseOperationSettings().build();
+ listDatabaseOperationsSettings = settingsBuilder.listDatabaseOperationsSettings().build();
+ listBackupOperationsSettings = settingsBuilder.listBackupOperationsSettings().build();
listDatabasesSettings = settingsBuilder.listDatabasesSettings().build();
}
+ private static final PagedListDescriptor
+ LIST_BACKUPS_PAGE_STR_DESC =
+ new PagedListDescriptor() {
+ @Override
+ public String emptyToken() {
+ return "";
+ }
+
+ @Override
+ public ListBackupsRequest injectToken(ListBackupsRequest payload, String token) {
+ return ListBackupsRequest.newBuilder(payload).setPageToken(token).build();
+ }
+
+ @Override
+ public ListBackupsRequest injectPageSize(ListBackupsRequest payload, int pageSize) {
+ return ListBackupsRequest.newBuilder(payload).setPageSize(pageSize).build();
+ }
+
+ @Override
+ public Integer extractPageSize(ListBackupsRequest payload) {
+ return payload.getPageSize();
+ }
+
+ @Override
+ public String extractNextToken(ListBackupsResponse payload) {
+ return payload.getNextPageToken();
+ }
+
+ @Override
+ public Iterable extractResources(ListBackupsResponse payload) {
+ return payload.getBackupsList() != null
+ ? payload.getBackupsList()
+ : ImmutableList.of();
+ }
+ };
+
+ private static final PagedListDescriptor<
+ ListDatabaseOperationsRequest, ListDatabaseOperationsResponse, Operation>
+ LIST_DATABASE_OPERATIONS_PAGE_STR_DESC =
+ new PagedListDescriptor<
+ ListDatabaseOperationsRequest, ListDatabaseOperationsResponse, Operation>() {
+ @Override
+ public String emptyToken() {
+ return "";
+ }
+
+ @Override
+ public ListDatabaseOperationsRequest injectToken(
+ ListDatabaseOperationsRequest payload, String token) {
+ return ListDatabaseOperationsRequest.newBuilder(payload).setPageToken(token).build();
+ }
+
+ @Override
+ public ListDatabaseOperationsRequest injectPageSize(
+ ListDatabaseOperationsRequest payload, int pageSize) {
+ return ListDatabaseOperationsRequest.newBuilder(payload)
+ .setPageSize(pageSize)
+ .build();
+ }
+
+ @Override
+ public Integer extractPageSize(ListDatabaseOperationsRequest payload) {
+ return payload.getPageSize();
+ }
+
+ @Override
+ public String extractNextToken(ListDatabaseOperationsResponse payload) {
+ return payload.getNextPageToken();
+ }
+
+ @Override
+ public Iterable extractResources(ListDatabaseOperationsResponse payload) {
+ return payload.getOperationsList() != null
+ ? payload.getOperationsList()
+ : ImmutableList.of();
+ }
+ };
+
+ private static final PagedListDescriptor<
+ ListBackupOperationsRequest, ListBackupOperationsResponse, Operation>
+ LIST_BACKUP_OPERATIONS_PAGE_STR_DESC =
+ new PagedListDescriptor<
+ ListBackupOperationsRequest, ListBackupOperationsResponse, Operation>() {
+ @Override
+ public String emptyToken() {
+ return "";
+ }
+
+ @Override
+ public ListBackupOperationsRequest injectToken(
+ ListBackupOperationsRequest payload, String token) {
+ return ListBackupOperationsRequest.newBuilder(payload).setPageToken(token).build();
+ }
+
+ @Override
+ public ListBackupOperationsRequest injectPageSize(
+ ListBackupOperationsRequest payload, int pageSize) {
+ return ListBackupOperationsRequest.newBuilder(payload).setPageSize(pageSize).build();
+ }
+
+ @Override
+ public Integer extractPageSize(ListBackupOperationsRequest payload) {
+ return payload.getPageSize();
+ }
+
+ @Override
+ public String extractNextToken(ListBackupOperationsResponse payload) {
+ return payload.getNextPageToken();
+ }
+
+ @Override
+ public Iterable extractResources(ListBackupOperationsResponse payload) {
+ return payload.getOperationsList() != null
+ ? payload.getOperationsList()
+ : ImmutableList.of();
+ }
+ };
+
private static final PagedListDescriptor
LIST_DATABASES_PAGE_STR_DESC =
new PagedListDescriptor() {
@@ -309,6 +538,70 @@ public Iterable extractResources(ListDatabasesResponse payload) {
}
};
+ private static final PagedListResponseFactory<
+ ListBackupsRequest, ListBackupsResponse, ListBackupsPagedResponse>
+ LIST_BACKUPS_PAGE_STR_FACT =
+ new PagedListResponseFactory<
+ ListBackupsRequest, ListBackupsResponse, ListBackupsPagedResponse>() {
+ @Override
+ public ApiFuture getFuturePagedResponse(
+ UnaryCallable callable,
+ ListBackupsRequest request,
+ ApiCallContext context,
+ ApiFuture futureResponse) {
+ PageContext pageContext =
+ PageContext.create(callable, LIST_BACKUPS_PAGE_STR_DESC, request, context);
+ return ListBackupsPagedResponse.createAsync(pageContext, futureResponse);
+ }
+ };
+
+ private static final PagedListResponseFactory<
+ ListDatabaseOperationsRequest,
+ ListDatabaseOperationsResponse,
+ ListDatabaseOperationsPagedResponse>
+ LIST_DATABASE_OPERATIONS_PAGE_STR_FACT =
+ new PagedListResponseFactory<
+ ListDatabaseOperationsRequest,
+ ListDatabaseOperationsResponse,
+ ListDatabaseOperationsPagedResponse>() {
+ @Override
+ public ApiFuture getFuturePagedResponse(
+ UnaryCallable
+ callable,
+ ListDatabaseOperationsRequest request,
+ ApiCallContext context,
+ ApiFuture futureResponse) {
+ PageContext
+ pageContext =
+ PageContext.create(
+ callable, LIST_DATABASE_OPERATIONS_PAGE_STR_DESC, request, context);
+ return ListDatabaseOperationsPagedResponse.createAsync(pageContext, futureResponse);
+ }
+ };
+
+ private static final PagedListResponseFactory<
+ ListBackupOperationsRequest,
+ ListBackupOperationsResponse,
+ ListBackupOperationsPagedResponse>
+ LIST_BACKUP_OPERATIONS_PAGE_STR_FACT =
+ new PagedListResponseFactory<
+ ListBackupOperationsRequest,
+ ListBackupOperationsResponse,
+ ListBackupOperationsPagedResponse>() {
+ @Override
+ public ApiFuture getFuturePagedResponse(
+ UnaryCallable callable,
+ ListBackupOperationsRequest request,
+ ApiCallContext context,
+ ApiFuture futureResponse) {
+ PageContext
+ pageContext =
+ PageContext.create(
+ callable, LIST_BACKUP_OPERATIONS_PAGE_STR_DESC, request, context);
+ return ListBackupOperationsPagedResponse.createAsync(pageContext, futureResponse);
+ }
+ };
+
private static final PagedListResponseFactory<
ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>
LIST_DATABASES_PAGE_STR_FACT =
@@ -348,6 +641,30 @@ public static class Builder extends StubSettings.Builder getIamPolicySettings;
private final UnaryCallSettings.Builder
testIamPermissionsSettings;
+ private final UnaryCallSettings.Builder createBackupSettings;
+ private final OperationCallSettings.Builder
+ createBackupOperationSettings;
+ private final UnaryCallSettings.Builder getBackupSettings;
+ private final UnaryCallSettings.Builder updateBackupSettings;
+ private final UnaryCallSettings.Builder deleteBackupSettings;
+ private final PagedCallSettings.Builder<
+ ListBackupsRequest, ListBackupsResponse, ListBackupsPagedResponse>
+ listBackupsSettings;
+ private final UnaryCallSettings.Builder
+ restoreDatabaseSettings;
+ private final OperationCallSettings.Builder<
+ RestoreDatabaseRequest, Database, RestoreDatabaseMetadata>
+ restoreDatabaseOperationSettings;
+ private final PagedCallSettings.Builder<
+ ListDatabaseOperationsRequest,
+ ListDatabaseOperationsResponse,
+ ListDatabaseOperationsPagedResponse>
+ listDatabaseOperationsSettings;
+ private final PagedCallSettings.Builder<
+ ListBackupOperationsRequest,
+ ListBackupOperationsResponse,
+ ListBackupOperationsPagedResponse>
+ listBackupOperationsSettings;
private final PagedCallSettings.Builder<
ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>
listDatabasesSettings;
@@ -413,6 +730,28 @@ protected Builder(ClientContext clientContext) {
testIamPermissionsSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+ createBackupSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+
+ createBackupOperationSettings = OperationCallSettings.newBuilder();
+
+ getBackupSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+
+ updateBackupSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+
+ deleteBackupSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+
+ listBackupsSettings = PagedCallSettings.newBuilder(LIST_BACKUPS_PAGE_STR_FACT);
+
+ restoreDatabaseSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+
+ restoreDatabaseOperationSettings = OperationCallSettings.newBuilder();
+
+ listDatabaseOperationsSettings =
+ PagedCallSettings.newBuilder(LIST_DATABASE_OPERATIONS_PAGE_STR_FACT);
+
+ listBackupOperationsSettings =
+ PagedCallSettings.newBuilder(LIST_BACKUP_OPERATIONS_PAGE_STR_FACT);
+
listDatabasesSettings = PagedCallSettings.newBuilder(LIST_DATABASES_PAGE_STR_FACT);
unaryMethodSettingsBuilders =
@@ -425,6 +764,14 @@ protected Builder(ClientContext clientContext) {
setIamPolicySettings,
getIamPolicySettings,
testIamPermissionsSettings,
+ createBackupSettings,
+ getBackupSettings,
+ updateBackupSettings,
+ deleteBackupSettings,
+ listBackupsSettings,
+ restoreDatabaseSettings,
+ listDatabaseOperationsSettings,
+ listBackupOperationsSettings,
listDatabasesSettings);
initDefaults(this);
@@ -481,6 +828,46 @@ private static Builder initDefaults(Builder builder) {
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent"))
.setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default"));
+ builder
+ .createBackupSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default"));
+
+ builder
+ .getBackupSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default"));
+
+ builder
+ .updateBackupSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default"));
+
+ builder
+ .deleteBackupSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default"));
+
+ builder
+ .listBackupsSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default"));
+
+ builder
+ .restoreDatabaseSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default"));
+
+ builder
+ .listDatabaseOperationsSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default"));
+
+ builder
+ .listBackupOperationsSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default"));
+
builder
.listDatabasesSettings()
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent"))
@@ -532,6 +919,52 @@ private static Builder initDefaults(Builder builder) {
.setMaxRpcTimeout(Duration.ZERO) // ignored
.setTotalTimeout(Duration.ofMillis(86400000L))
.build()));
+ builder
+ .createBackupOperationSettings()
+ .setInitialCallSettings(
+ UnaryCallSettings
+ .newUnaryCallSettingsBuilder()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default"))
+ .build())
+ .setResponseTransformer(
+ ProtoOperationTransformers.ResponseTransformer.create(Backup.class))
+ .setMetadataTransformer(
+ ProtoOperationTransformers.MetadataTransformer.create(CreateBackupMetadata.class))
+ .setPollingAlgorithm(
+ OperationTimedPollAlgorithm.create(
+ RetrySettings.newBuilder()
+ .setInitialRetryDelay(Duration.ofMillis(20000L))
+ .setRetryDelayMultiplier(1.5)
+ .setMaxRetryDelay(Duration.ofMillis(45000L))
+ .setInitialRpcTimeout(Duration.ZERO) // ignored
+ .setRpcTimeoutMultiplier(1.0) // ignored
+ .setMaxRpcTimeout(Duration.ZERO) // ignored
+ .setTotalTimeout(Duration.ofMillis(172800000L))
+ .build()));
+ builder
+ .restoreDatabaseOperationSettings()
+ .setInitialCallSettings(
+ UnaryCallSettings
+ .newUnaryCallSettingsBuilder()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default"))
+ .build())
+ .setResponseTransformer(
+ ProtoOperationTransformers.ResponseTransformer.create(Database.class))
+ .setMetadataTransformer(
+ ProtoOperationTransformers.MetadataTransformer.create(RestoreDatabaseMetadata.class))
+ .setPollingAlgorithm(
+ OperationTimedPollAlgorithm.create(
+ RetrySettings.newBuilder()
+ .setInitialRetryDelay(Duration.ofMillis(20000L))
+ .setRetryDelayMultiplier(1.5)
+ .setMaxRetryDelay(Duration.ofMillis(45000L))
+ .setInitialRpcTimeout(Duration.ZERO) // ignored
+ .setRpcTimeoutMultiplier(1.0) // ignored
+ .setMaxRpcTimeout(Duration.ZERO) // ignored
+ .setTotalTimeout(Duration.ofMillis(86400000L))
+ .build()));
return builder;
}
@@ -549,6 +982,16 @@ protected Builder(DatabaseAdminStubSettings settings) {
setIamPolicySettings = settings.setIamPolicySettings.toBuilder();
getIamPolicySettings = settings.getIamPolicySettings.toBuilder();
testIamPermissionsSettings = settings.testIamPermissionsSettings.toBuilder();
+ createBackupSettings = settings.createBackupSettings.toBuilder();
+ createBackupOperationSettings = settings.createBackupOperationSettings.toBuilder();
+ getBackupSettings = settings.getBackupSettings.toBuilder();
+ updateBackupSettings = settings.updateBackupSettings.toBuilder();
+ deleteBackupSettings = settings.deleteBackupSettings.toBuilder();
+ listBackupsSettings = settings.listBackupsSettings.toBuilder();
+ restoreDatabaseSettings = settings.restoreDatabaseSettings.toBuilder();
+ restoreDatabaseOperationSettings = settings.restoreDatabaseOperationSettings.toBuilder();
+ listDatabaseOperationsSettings = settings.listDatabaseOperationsSettings.toBuilder();
+ listBackupOperationsSettings = settings.listBackupOperationsSettings.toBuilder();
listDatabasesSettings = settings.listDatabasesSettings.toBuilder();
unaryMethodSettingsBuilders =
@@ -561,6 +1004,14 @@ protected Builder(DatabaseAdminStubSettings settings) {
setIamPolicySettings,
getIamPolicySettings,
testIamPermissionsSettings,
+ createBackupSettings,
+ getBackupSettings,
+ updateBackupSettings,
+ deleteBackupSettings,
+ listBackupsSettings,
+ restoreDatabaseSettings,
+ listDatabaseOperationsSettings,
+ listBackupOperationsSettings,
listDatabasesSettings);
}
@@ -639,6 +1090,72 @@ public UnaryCallSettings.Builder getIamPolicySettin
return testIamPermissionsSettings;
}
+ /** Returns the builder for the settings used for calls to createBackup. */
+ public UnaryCallSettings.Builder createBackupSettings() {
+ return createBackupSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to createBackup. */
+ @BetaApi(
+ "The surface for use by generated code is not stable yet and may change in the future.")
+ public OperationCallSettings.Builder
+ createBackupOperationSettings() {
+ return createBackupOperationSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to getBackup. */
+ public UnaryCallSettings.Builder getBackupSettings() {
+ return getBackupSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to updateBackup. */
+ public UnaryCallSettings.Builder updateBackupSettings() {
+ return updateBackupSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to deleteBackup. */
+ public UnaryCallSettings.Builder deleteBackupSettings() {
+ return deleteBackupSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to listBackups. */
+ public PagedCallSettings.Builder<
+ ListBackupsRequest, ListBackupsResponse, ListBackupsPagedResponse>
+ listBackupsSettings() {
+ return listBackupsSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to restoreDatabase. */
+ public UnaryCallSettings.Builder restoreDatabaseSettings() {
+ return restoreDatabaseSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to restoreDatabase. */
+ @BetaApi(
+ "The surface for use by generated code is not stable yet and may change in the future.")
+ public OperationCallSettings.Builder
+ restoreDatabaseOperationSettings() {
+ return restoreDatabaseOperationSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to listDatabaseOperations. */
+ public PagedCallSettings.Builder<
+ ListDatabaseOperationsRequest,
+ ListDatabaseOperationsResponse,
+ ListDatabaseOperationsPagedResponse>
+ listDatabaseOperationsSettings() {
+ return listDatabaseOperationsSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to listBackupOperations. */
+ public PagedCallSettings.Builder<
+ ListBackupOperationsRequest,
+ ListBackupOperationsResponse,
+ ListBackupOperationsPagedResponse>
+ listBackupOperationsSettings() {
+ return listBackupOperationsSettings;
+ }
+
/** Returns the builder for the settings used for calls to listDatabases. */
public PagedCallSettings.Builder<
ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/GrpcDatabaseAdminStub.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/GrpcDatabaseAdminStub.java
index b1a7eed41e..be44d2be02 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/GrpcDatabaseAdminStub.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/GrpcDatabaseAdminStub.java
@@ -15,6 +15,9 @@
*/
package com.google.cloud.spanner.admin.database.v1.stub;
+import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListBackupOperationsPagedResponse;
+import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListBackupsPagedResponse;
+import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListDatabaseOperationsPagedResponse;
import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListDatabasesPagedResponse;
import com.google.api.core.BetaApi;
@@ -35,15 +38,29 @@
import com.google.longrunning.Operation;
import com.google.longrunning.stub.GrpcOperationsStub;
import com.google.protobuf.Empty;
+import com.google.spanner.admin.database.v1.Backup;
+import com.google.spanner.admin.database.v1.CreateBackupMetadata;
+import com.google.spanner.admin.database.v1.CreateBackupRequest;
import com.google.spanner.admin.database.v1.CreateDatabaseMetadata;
import com.google.spanner.admin.database.v1.CreateDatabaseRequest;
import com.google.spanner.admin.database.v1.Database;
+import com.google.spanner.admin.database.v1.DeleteBackupRequest;
import com.google.spanner.admin.database.v1.DropDatabaseRequest;
+import com.google.spanner.admin.database.v1.GetBackupRequest;
import com.google.spanner.admin.database.v1.GetDatabaseDdlRequest;
import com.google.spanner.admin.database.v1.GetDatabaseDdlResponse;
import com.google.spanner.admin.database.v1.GetDatabaseRequest;
+import com.google.spanner.admin.database.v1.ListBackupOperationsRequest;
+import com.google.spanner.admin.database.v1.ListBackupOperationsResponse;
+import com.google.spanner.admin.database.v1.ListBackupsRequest;
+import com.google.spanner.admin.database.v1.ListBackupsResponse;
+import com.google.spanner.admin.database.v1.ListDatabaseOperationsRequest;
+import com.google.spanner.admin.database.v1.ListDatabaseOperationsResponse;
import com.google.spanner.admin.database.v1.ListDatabasesRequest;
import com.google.spanner.admin.database.v1.ListDatabasesResponse;
+import com.google.spanner.admin.database.v1.RestoreDatabaseMetadata;
+import com.google.spanner.admin.database.v1.RestoreDatabaseRequest;
+import com.google.spanner.admin.database.v1.UpdateBackupRequest;
import com.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata;
import com.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest;
import io.grpc.MethodDescriptor;
@@ -130,6 +147,77 @@ public class GrpcDatabaseAdminStub extends DatabaseAdminStub {
.setResponseMarshaller(
ProtoUtils.marshaller(TestIamPermissionsResponse.getDefaultInstance()))
.build();
+ private static final MethodDescriptor
+ createBackupMethodDescriptor =
+ MethodDescriptor.newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName("google.spanner.admin.database.v1.DatabaseAdmin/CreateBackup")
+ .setRequestMarshaller(ProtoUtils.marshaller(CreateBackupRequest.getDefaultInstance()))
+ .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
+ .build();
+ private static final MethodDescriptor getBackupMethodDescriptor =
+ MethodDescriptor.newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName("google.spanner.admin.database.v1.DatabaseAdmin/GetBackup")
+ .setRequestMarshaller(ProtoUtils.marshaller(GetBackupRequest.getDefaultInstance()))
+ .setResponseMarshaller(ProtoUtils.marshaller(Backup.getDefaultInstance()))
+ .build();
+ private static final MethodDescriptor updateBackupMethodDescriptor =
+ MethodDescriptor.newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName("google.spanner.admin.database.v1.DatabaseAdmin/UpdateBackup")
+ .setRequestMarshaller(ProtoUtils.marshaller(UpdateBackupRequest.getDefaultInstance()))
+ .setResponseMarshaller(ProtoUtils.marshaller(Backup.getDefaultInstance()))
+ .build();
+ private static final MethodDescriptor deleteBackupMethodDescriptor =
+ MethodDescriptor.newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName("google.spanner.admin.database.v1.DatabaseAdmin/DeleteBackup")
+ .setRequestMarshaller(ProtoUtils.marshaller(DeleteBackupRequest.getDefaultInstance()))
+ .setResponseMarshaller(ProtoUtils.marshaller(Empty.getDefaultInstance()))
+ .build();
+ private static final MethodDescriptor
+ listBackupsMethodDescriptor =
+ MethodDescriptor.newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName("google.spanner.admin.database.v1.DatabaseAdmin/ListBackups")
+ .setRequestMarshaller(ProtoUtils.marshaller(ListBackupsRequest.getDefaultInstance()))
+ .setResponseMarshaller(
+ ProtoUtils.marshaller(ListBackupsResponse.getDefaultInstance()))
+ .build();
+ private static final MethodDescriptor
+ restoreDatabaseMethodDescriptor =
+ MethodDescriptor.newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName("google.spanner.admin.database.v1.DatabaseAdmin/RestoreDatabase")
+ .setRequestMarshaller(
+ ProtoUtils.marshaller(RestoreDatabaseRequest.getDefaultInstance()))
+ .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
+ .build();
+ private static final MethodDescriptor<
+ ListDatabaseOperationsRequest, ListDatabaseOperationsResponse>
+ listDatabaseOperationsMethodDescriptor =
+ MethodDescriptor
+ .newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName(
+ "google.spanner.admin.database.v1.DatabaseAdmin/ListDatabaseOperations")
+ .setRequestMarshaller(
+ ProtoUtils.marshaller(ListDatabaseOperationsRequest.getDefaultInstance()))
+ .setResponseMarshaller(
+ ProtoUtils.marshaller(ListDatabaseOperationsResponse.getDefaultInstance()))
+ .build();
+ private static final MethodDescriptor
+ listBackupOperationsMethodDescriptor =
+ MethodDescriptor.newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName(
+ "google.spanner.admin.database.v1.DatabaseAdmin/ListBackupOperations")
+ .setRequestMarshaller(
+ ProtoUtils.marshaller(ListBackupOperationsRequest.getDefaultInstance()))
+ .setResponseMarshaller(
+ ProtoUtils.marshaller(ListBackupOperationsResponse.getDefaultInstance()))
+ .build();
private static final MethodDescriptor
listDatabasesMethodDescriptor =
MethodDescriptor.newBuilder()
@@ -157,6 +245,26 @@ public class GrpcDatabaseAdminStub extends DatabaseAdminStub {
private final UnaryCallable getIamPolicyCallable;
private final UnaryCallable
testIamPermissionsCallable;
+ private final UnaryCallable createBackupCallable;
+ private final OperationCallable
+ createBackupOperationCallable;
+ private final UnaryCallable getBackupCallable;
+ private final UnaryCallable updateBackupCallable;
+ private final UnaryCallable deleteBackupCallable;
+ private final UnaryCallable listBackupsCallable;
+ private final UnaryCallable
+ listBackupsPagedCallable;
+ private final UnaryCallable restoreDatabaseCallable;
+ private final OperationCallable
+ restoreDatabaseOperationCallable;
+ private final UnaryCallable
+ listDatabaseOperationsCallable;
+ private final UnaryCallable
+ listDatabaseOperationsPagedCallable;
+ private final UnaryCallable
+ listBackupOperationsCallable;
+ private final UnaryCallable
+ listBackupOperationsPagedCallable;
private final UnaryCallable listDatabasesCallable;
private final UnaryCallable
listDatabasesPagedCallable;
@@ -307,6 +415,113 @@ public Map extract(TestIamPermissionsRequest request) {
}
})
.build();
+ GrpcCallSettings createBackupTransportSettings =
+ GrpcCallSettings.newBuilder()
+ .setMethodDescriptor(createBackupMethodDescriptor)
+ .setParamsExtractor(
+ new RequestParamsExtractor() {
+ @Override
+ public Map extract(CreateBackupRequest request) {
+ ImmutableMap.Builder params = ImmutableMap.builder();
+ params.put("parent", String.valueOf(request.getParent()));
+ return params.build();
+ }
+ })
+ .build();
+ GrpcCallSettings getBackupTransportSettings =
+ GrpcCallSettings.newBuilder()
+ .setMethodDescriptor(getBackupMethodDescriptor)
+ .setParamsExtractor(
+ new RequestParamsExtractor() {
+ @Override
+ public Map extract(GetBackupRequest request) {
+ ImmutableMap.Builder params = ImmutableMap.builder();
+ params.put("name", String.valueOf(request.getName()));
+ return params.build();
+ }
+ })
+ .build();
+ GrpcCallSettings updateBackupTransportSettings =
+ GrpcCallSettings.newBuilder()
+ .setMethodDescriptor(updateBackupMethodDescriptor)
+ .setParamsExtractor(
+ new RequestParamsExtractor() {
+ @Override
+ public Map extract(UpdateBackupRequest request) {
+ ImmutableMap.Builder params = ImmutableMap.builder();
+ params.put("backup.name", String.valueOf(request.getBackup().getName()));
+ return params.build();
+ }
+ })
+ .build();
+ GrpcCallSettings deleteBackupTransportSettings =
+ GrpcCallSettings.newBuilder()
+ .setMethodDescriptor(deleteBackupMethodDescriptor)
+ .setParamsExtractor(
+ new RequestParamsExtractor() {
+ @Override
+ public Map extract(DeleteBackupRequest request) {
+ ImmutableMap.Builder params = ImmutableMap.builder();
+ params.put("name", String.valueOf(request.getName()));
+ return params.build();
+ }
+ })
+ .build();
+ GrpcCallSettings listBackupsTransportSettings =
+ GrpcCallSettings.newBuilder()
+ .setMethodDescriptor(listBackupsMethodDescriptor)
+ .setParamsExtractor(
+ new RequestParamsExtractor() {
+ @Override
+ public Map extract(ListBackupsRequest request) {
+ ImmutableMap.Builder params = ImmutableMap.builder();
+ params.put("parent", String.valueOf(request.getParent()));
+ return params.build();
+ }
+ })
+ .build();
+ GrpcCallSettings restoreDatabaseTransportSettings =
+ GrpcCallSettings.newBuilder()
+ .setMethodDescriptor(restoreDatabaseMethodDescriptor)
+ .setParamsExtractor(
+ new RequestParamsExtractor() {
+ @Override
+ public Map extract(RestoreDatabaseRequest request) {
+ ImmutableMap.Builder params = ImmutableMap.builder();
+ params.put("parent", String.valueOf(request.getParent()));
+ return params.build();
+ }
+ })
+ .build();
+ GrpcCallSettings
+ listDatabaseOperationsTransportSettings =
+ GrpcCallSettings
+ .newBuilder()
+ .setMethodDescriptor(listDatabaseOperationsMethodDescriptor)
+ .setParamsExtractor(
+ new RequestParamsExtractor() {
+ @Override
+ public Map extract(ListDatabaseOperationsRequest request) {
+ ImmutableMap.Builder params = ImmutableMap.builder();
+ params.put("parent", String.valueOf(request.getParent()));
+ return params.build();
+ }
+ })
+ .build();
+ GrpcCallSettings
+ listBackupOperationsTransportSettings =
+ GrpcCallSettings.newBuilder()
+ .setMethodDescriptor(listBackupOperationsMethodDescriptor)
+ .setParamsExtractor(
+ new RequestParamsExtractor() {
+ @Override
+ public Map extract(ListBackupOperationsRequest request) {
+ ImmutableMap.Builder params = ImmutableMap.builder();
+ params.put("parent", String.valueOf(request.getParent()));
+ return params.build();
+ }
+ })
+ .build();
GrpcCallSettings listDatabasesTransportSettings =
GrpcCallSettings.newBuilder()
.setMethodDescriptor(listDatabasesMethodDescriptor)
@@ -361,6 +576,59 @@ public Map extract(ListDatabasesRequest request) {
testIamPermissionsTransportSettings,
settings.testIamPermissionsSettings(),
clientContext);
+ this.createBackupCallable =
+ callableFactory.createUnaryCallable(
+ createBackupTransportSettings, settings.createBackupSettings(), clientContext);
+ this.createBackupOperationCallable =
+ callableFactory.createOperationCallable(
+ createBackupTransportSettings,
+ settings.createBackupOperationSettings(),
+ clientContext,
+ this.operationsStub);
+ this.getBackupCallable =
+ callableFactory.createUnaryCallable(
+ getBackupTransportSettings, settings.getBackupSettings(), clientContext);
+ this.updateBackupCallable =
+ callableFactory.createUnaryCallable(
+ updateBackupTransportSettings, settings.updateBackupSettings(), clientContext);
+ this.deleteBackupCallable =
+ callableFactory.createUnaryCallable(
+ deleteBackupTransportSettings, settings.deleteBackupSettings(), clientContext);
+ this.listBackupsCallable =
+ callableFactory.createUnaryCallable(
+ listBackupsTransportSettings, settings.listBackupsSettings(), clientContext);
+ this.listBackupsPagedCallable =
+ callableFactory.createPagedCallable(
+ listBackupsTransportSettings, settings.listBackupsSettings(), clientContext);
+ this.restoreDatabaseCallable =
+ callableFactory.createUnaryCallable(
+ restoreDatabaseTransportSettings, settings.restoreDatabaseSettings(), clientContext);
+ this.restoreDatabaseOperationCallable =
+ callableFactory.createOperationCallable(
+ restoreDatabaseTransportSettings,
+ settings.restoreDatabaseOperationSettings(),
+ clientContext,
+ this.operationsStub);
+ this.listDatabaseOperationsCallable =
+ callableFactory.createUnaryCallable(
+ listDatabaseOperationsTransportSettings,
+ settings.listDatabaseOperationsSettings(),
+ clientContext);
+ this.listDatabaseOperationsPagedCallable =
+ callableFactory.createPagedCallable(
+ listDatabaseOperationsTransportSettings,
+ settings.listDatabaseOperationsSettings(),
+ clientContext);
+ this.listBackupOperationsCallable =
+ callableFactory.createUnaryCallable(
+ listBackupOperationsTransportSettings,
+ settings.listBackupOperationsSettings(),
+ clientContext);
+ this.listBackupOperationsPagedCallable =
+ callableFactory.createPagedCallable(
+ listBackupOperationsTransportSettings,
+ settings.listBackupOperationsSettings(),
+ clientContext);
this.listDatabasesCallable =
callableFactory.createUnaryCallable(
listDatabasesTransportSettings, settings.listDatabasesSettings(), clientContext);
@@ -421,6 +689,66 @@ public UnaryCallable getIamPolicyCallable() {
return testIamPermissionsCallable;
}
+ @BetaApi("The surface for use by generated code is not stable yet and may change in the future.")
+ public OperationCallable
+ createBackupOperationCallable() {
+ return createBackupOperationCallable;
+ }
+
+ public UnaryCallable