com.google.api.services.spanner.v1.model.Backup Maven / Gradle / Ivy
/*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
/*
* This code was generated by https://github.com/googleapis/google-api-java-client-services/
* Modify at your own risk.
*/
package com.google.api.services.spanner.v1.model;
/**
* A backup of a Cloud Spanner database.
*
* This is the Java data model class that specifies how to parse/serialize into the JSON that is
* transmitted over HTTP when working with the Cloud Spanner API. For a detailed explanation see:
* https://developers.google.com/api-client-library/java/google-http-java-client/json
*
*
* @author Google, Inc.
*/
@SuppressWarnings("javadoc")
public final class Backup extends com.google.api.client.json.GenericJson {
/**
* Output only. List of backup schedule URIs that are associated with creating this backup. This
* is only applicable for scheduled backups, and is empty for on-demand backups. To optimize for
* storage, whenever possible, multiple schedules are collapsed together to create one backup. In
* such cases, this field captures the list of all backup schedule URIs that are associated with
* creating this backup. If collapsing is not done, then this field captures the single backup
* schedule URI associated with creating this backup.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List backupSchedules;
/**
* Output only. The time the CreateBackup request is received. If the request does not specify
* `version_time`, the `version_time` of the backup will be equivalent to the `create_time`.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private String createTime;
/**
* Required for the CreateBackup operation. Name of the database from which this backup was
* created. This needs to be in the same instance as the backup. Values are of the form
* `projects//instances//databases/`.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String database;
/**
* Output only. The database dialect information for the backup.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String databaseDialect;
/**
* Output only. The encryption information for the backup.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private EncryptionInfo encryptionInfo;
/**
* Output only. The encryption information for the backup, whether it is protected by one or more
* KMS keys. The information includes all Cloud KMS key versions used to encrypt the backup. The
* `encryption_status' field inside of each `EncryptionInfo` is not populated. At least one of the
* key versions must be available for the backup to be restored. If a key version is revoked in
* the middle of a restore, the restore behavior is undefined.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List encryptionInformation;
/**
* Output only. For a backup in an incremental backup chain, this is the storage space needed to
* keep the data that has changed since the previous backup. For all other backups, this is always
* the size of the backup. This value may change if backups on the same chain get deleted or
* expired. This field can be used to calculate the total storage space used by a set of backups.
* For example, the total space used by all backups of a database can be computed by summing up
* this field.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long exclusiveSizeBytes;
/**
* Required for the CreateBackup operation. The expiration time of the backup, with microseconds
* granularity that must be at least 6 hours and at most 366 days from the time the CreateBackup
* request is processed. Once the `expire_time` has passed, the backup is eligible to be
* automatically deleted by Cloud Spanner to free the resources used by the backup.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private String expireTime;
/**
* Output only. The number of bytes that will be freed by deleting this backup. This value will be
* zero if, for example, this backup is part of an incremental backup chain and younger backups in
* the chain require that we keep its data. For backups not in an incremental backup chain, this
* is always the size of the backup. This value may change if backups on the same chain get
* created, deleted or expired.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long freeableSizeBytes;
/**
* Output only. Populated only for backups in an incremental backup chain. Backups share the same
* chain id if and only if they belong to the same incremental backup chain. Use this field to
* determine which backups are part of the same incremental backup chain. The ordering of backups
* in the chain can be determined by ordering the backup `version_time`.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String incrementalBackupChainId;
/**
* Output only. The max allowed expiration time of the backup, with microseconds granularity. A
* backup's expiration time can be configured in multiple APIs: CreateBackup, UpdateBackup,
* CopyBackup. When updating or copying an existing backup, the expiration time specified must be
* less than `Backup.max_expire_time`.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private String maxExpireTime;
/**
* Output only for the CreateBackup operation. Required for the UpdateBackup operation. A globally
* unique identifier for the backup which cannot be changed. Values are of the form
* `projects//instances//backups/a-z*[a-z0-9]` The final segment of the name must be between 2 and
* 60 characters in length. The backup is stored in the location(s) specified in the instance
* configuration of the instance containing the backup, identified by the prefix of the backup
* name of the form `projects//instances/`.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String name;
/**
* Output only. Data deleted at a time older than this is guaranteed not to be retained in order
* to support this backup. For a backup in an incremental backup chain, this is the version time
* of the oldest backup that exists or ever existed in the chain. For all other backups, this is
* the version time of the backup. This field can be used to understand what data is being
* retained by the backup system.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private String oldestVersionTime;
/**
* Output only. The names of the destination backups being created by copying this source backup.
* The backup names are of the form `projects//instances//backups/`. Referencing backups may exist
* in different instances. The existence of any referencing backup prevents the backup from being
* deleted. When the copy operation is done (either successfully completed or cancelled or the
* destination backup is deleted), the reference to the backup is removed.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List referencingBackups;
/**
* Output only. The names of the restored databases that reference the backup. The database names
* are of the form `projects//instances//databases/`. Referencing databases may exist in different
* instances. The existence of any referencing database prevents the backup from being deleted.
* When a restored database from the backup enters the `READY` state, the reference to the backup
* is removed.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List referencingDatabases;
/**
* Output only. Size of the backup in bytes. For a backup in an incremental backup chain, this is
* the sum of the `exclusive_size_bytes` of itself and all older backups in the chain.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long sizeBytes;
/**
* Output only. The current state of the backup.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String state;
/**
* The backup will contain an externally consistent copy of the database at the timestamp
* specified by `version_time`. If `version_time` is not specified, the system will set
* `version_time` to the `create_time` of the backup.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private String versionTime;
/**
* Output only. List of backup schedule URIs that are associated with creating this backup. This
* is only applicable for scheduled backups, and is empty for on-demand backups. To optimize for
* storage, whenever possible, multiple schedules are collapsed together to create one backup. In
* such cases, this field captures the list of all backup schedule URIs that are associated with
* creating this backup. If collapsing is not done, then this field captures the single backup
* schedule URI associated with creating this backup.
* @return value or {@code null} for none
*/
public java.util.List getBackupSchedules() {
return backupSchedules;
}
/**
* Output only. List of backup schedule URIs that are associated with creating this backup. This
* is only applicable for scheduled backups, and is empty for on-demand backups. To optimize for
* storage, whenever possible, multiple schedules are collapsed together to create one backup. In
* such cases, this field captures the list of all backup schedule URIs that are associated with
* creating this backup. If collapsing is not done, then this field captures the single backup
* schedule URI associated with creating this backup.
* @param backupSchedules backupSchedules or {@code null} for none
*/
public Backup setBackupSchedules(java.util.List backupSchedules) {
this.backupSchedules = backupSchedules;
return this;
}
/**
* Output only. The time the CreateBackup request is received. If the request does not specify
* `version_time`, the `version_time` of the backup will be equivalent to the `create_time`.
* @return value or {@code null} for none
*/
public String getCreateTime() {
return createTime;
}
/**
* Output only. The time the CreateBackup request is received. If the request does not specify
* `version_time`, the `version_time` of the backup will be equivalent to the `create_time`.
* @param createTime createTime or {@code null} for none
*/
public Backup setCreateTime(String createTime) {
this.createTime = createTime;
return this;
}
/**
* Required for the CreateBackup operation. Name of the database from which this backup was
* created. This needs to be in the same instance as the backup. Values are of the form
* `projects//instances//databases/`.
* @return value or {@code null} for none
*/
public java.lang.String getDatabase() {
return database;
}
/**
* Required for the CreateBackup operation. Name of the database from which this backup was
* created. This needs to be in the same instance as the backup. Values are of the form
* `projects//instances//databases/`.
* @param database database or {@code null} for none
*/
public Backup setDatabase(java.lang.String database) {
this.database = database;
return this;
}
/**
* Output only. The database dialect information for the backup.
* @return value or {@code null} for none
*/
public java.lang.String getDatabaseDialect() {
return databaseDialect;
}
/**
* Output only. The database dialect information for the backup.
* @param databaseDialect databaseDialect or {@code null} for none
*/
public Backup setDatabaseDialect(java.lang.String databaseDialect) {
this.databaseDialect = databaseDialect;
return this;
}
/**
* Output only. The encryption information for the backup.
* @return value or {@code null} for none
*/
public EncryptionInfo getEncryptionInfo() {
return encryptionInfo;
}
/**
* Output only. The encryption information for the backup.
* @param encryptionInfo encryptionInfo or {@code null} for none
*/
public Backup setEncryptionInfo(EncryptionInfo encryptionInfo) {
this.encryptionInfo = encryptionInfo;
return this;
}
/**
* Output only. The encryption information for the backup, whether it is protected by one or more
* KMS keys. The information includes all Cloud KMS key versions used to encrypt the backup. The
* `encryption_status' field inside of each `EncryptionInfo` is not populated. At least one of the
* key versions must be available for the backup to be restored. If a key version is revoked in
* the middle of a restore, the restore behavior is undefined.
* @return value or {@code null} for none
*/
public java.util.List getEncryptionInformation() {
return encryptionInformation;
}
/**
* Output only. The encryption information for the backup, whether it is protected by one or more
* KMS keys. The information includes all Cloud KMS key versions used to encrypt the backup. The
* `encryption_status' field inside of each `EncryptionInfo` is not populated. At least one of the
* key versions must be available for the backup to be restored. If a key version is revoked in
* the middle of a restore, the restore behavior is undefined.
* @param encryptionInformation encryptionInformation or {@code null} for none
*/
public Backup setEncryptionInformation(java.util.List encryptionInformation) {
this.encryptionInformation = encryptionInformation;
return this;
}
/**
* Output only. For a backup in an incremental backup chain, this is the storage space needed to
* keep the data that has changed since the previous backup. For all other backups, this is always
* the size of the backup. This value may change if backups on the same chain get deleted or
* expired. This field can be used to calculate the total storage space used by a set of backups.
* For example, the total space used by all backups of a database can be computed by summing up
* this field.
* @return value or {@code null} for none
*/
public java.lang.Long getExclusiveSizeBytes() {
return exclusiveSizeBytes;
}
/**
* Output only. For a backup in an incremental backup chain, this is the storage space needed to
* keep the data that has changed since the previous backup. For all other backups, this is always
* the size of the backup. This value may change if backups on the same chain get deleted or
* expired. This field can be used to calculate the total storage space used by a set of backups.
* For example, the total space used by all backups of a database can be computed by summing up
* this field.
* @param exclusiveSizeBytes exclusiveSizeBytes or {@code null} for none
*/
public Backup setExclusiveSizeBytes(java.lang.Long exclusiveSizeBytes) {
this.exclusiveSizeBytes = exclusiveSizeBytes;
return this;
}
/**
* Required for the CreateBackup operation. The expiration time of the backup, with microseconds
* granularity that must be at least 6 hours and at most 366 days from the time the CreateBackup
* request is processed. Once the `expire_time` has passed, the backup is eligible to be
* automatically deleted by Cloud Spanner to free the resources used by the backup.
* @return value or {@code null} for none
*/
public String getExpireTime() {
return expireTime;
}
/**
* Required for the CreateBackup operation. The expiration time of the backup, with microseconds
* granularity that must be at least 6 hours and at most 366 days from the time the CreateBackup
* request is processed. Once the `expire_time` has passed, the backup is eligible to be
* automatically deleted by Cloud Spanner to free the resources used by the backup.
* @param expireTime expireTime or {@code null} for none
*/
public Backup setExpireTime(String expireTime) {
this.expireTime = expireTime;
return this;
}
/**
* Output only. The number of bytes that will be freed by deleting this backup. This value will be
* zero if, for example, this backup is part of an incremental backup chain and younger backups in
* the chain require that we keep its data. For backups not in an incremental backup chain, this
* is always the size of the backup. This value may change if backups on the same chain get
* created, deleted or expired.
* @return value or {@code null} for none
*/
public java.lang.Long getFreeableSizeBytes() {
return freeableSizeBytes;
}
/**
* Output only. The number of bytes that will be freed by deleting this backup. This value will be
* zero if, for example, this backup is part of an incremental backup chain and younger backups in
* the chain require that we keep its data. For backups not in an incremental backup chain, this
* is always the size of the backup. This value may change if backups on the same chain get
* created, deleted or expired.
* @param freeableSizeBytes freeableSizeBytes or {@code null} for none
*/
public Backup setFreeableSizeBytes(java.lang.Long freeableSizeBytes) {
this.freeableSizeBytes = freeableSizeBytes;
return this;
}
/**
* Output only. Populated only for backups in an incremental backup chain. Backups share the same
* chain id if and only if they belong to the same incremental backup chain. Use this field to
* determine which backups are part of the same incremental backup chain. The ordering of backups
* in the chain can be determined by ordering the backup `version_time`.
* @return value or {@code null} for none
*/
public java.lang.String getIncrementalBackupChainId() {
return incrementalBackupChainId;
}
/**
* Output only. Populated only for backups in an incremental backup chain. Backups share the same
* chain id if and only if they belong to the same incremental backup chain. Use this field to
* determine which backups are part of the same incremental backup chain. The ordering of backups
* in the chain can be determined by ordering the backup `version_time`.
* @param incrementalBackupChainId incrementalBackupChainId or {@code null} for none
*/
public Backup setIncrementalBackupChainId(java.lang.String incrementalBackupChainId) {
this.incrementalBackupChainId = incrementalBackupChainId;
return this;
}
/**
* Output only. The max allowed expiration time of the backup, with microseconds granularity. A
* backup's expiration time can be configured in multiple APIs: CreateBackup, UpdateBackup,
* CopyBackup. When updating or copying an existing backup, the expiration time specified must be
* less than `Backup.max_expire_time`.
* @return value or {@code null} for none
*/
public String getMaxExpireTime() {
return maxExpireTime;
}
/**
* Output only. The max allowed expiration time of the backup, with microseconds granularity. A
* backup's expiration time can be configured in multiple APIs: CreateBackup, UpdateBackup,
* CopyBackup. When updating or copying an existing backup, the expiration time specified must be
* less than `Backup.max_expire_time`.
* @param maxExpireTime maxExpireTime or {@code null} for none
*/
public Backup setMaxExpireTime(String maxExpireTime) {
this.maxExpireTime = maxExpireTime;
return this;
}
/**
* Output only for the CreateBackup operation. Required for the UpdateBackup operation. A globally
* unique identifier for the backup which cannot be changed. Values are of the form
* `projects//instances//backups/a-z*[a-z0-9]` The final segment of the name must be between 2 and
* 60 characters in length. The backup is stored in the location(s) specified in the instance
* configuration of the instance containing the backup, identified by the prefix of the backup
* name of the form `projects//instances/`.
* @return value or {@code null} for none
*/
public java.lang.String getName() {
return name;
}
/**
* Output only for the CreateBackup operation. Required for the UpdateBackup operation. A globally
* unique identifier for the backup which cannot be changed. Values are of the form
* `projects//instances//backups/a-z*[a-z0-9]` The final segment of the name must be between 2 and
* 60 characters in length. The backup is stored in the location(s) specified in the instance
* configuration of the instance containing the backup, identified by the prefix of the backup
* name of the form `projects//instances/`.
* @param name name or {@code null} for none
*/
public Backup setName(java.lang.String name) {
this.name = name;
return this;
}
/**
* Output only. Data deleted at a time older than this is guaranteed not to be retained in order
* to support this backup. For a backup in an incremental backup chain, this is the version time
* of the oldest backup that exists or ever existed in the chain. For all other backups, this is
* the version time of the backup. This field can be used to understand what data is being
* retained by the backup system.
* @return value or {@code null} for none
*/
public String getOldestVersionTime() {
return oldestVersionTime;
}
/**
* Output only. Data deleted at a time older than this is guaranteed not to be retained in order
* to support this backup. For a backup in an incremental backup chain, this is the version time
* of the oldest backup that exists or ever existed in the chain. For all other backups, this is
* the version time of the backup. This field can be used to understand what data is being
* retained by the backup system.
* @param oldestVersionTime oldestVersionTime or {@code null} for none
*/
public Backup setOldestVersionTime(String oldestVersionTime) {
this.oldestVersionTime = oldestVersionTime;
return this;
}
/**
* Output only. The names of the destination backups being created by copying this source backup.
* The backup names are of the form `projects//instances//backups/`. Referencing backups may exist
* in different instances. The existence of any referencing backup prevents the backup from being
* deleted. When the copy operation is done (either successfully completed or cancelled or the
* destination backup is deleted), the reference to the backup is removed.
* @return value or {@code null} for none
*/
public java.util.List getReferencingBackups() {
return referencingBackups;
}
/**
* Output only. The names of the destination backups being created by copying this source backup.
* The backup names are of the form `projects//instances//backups/`. Referencing backups may exist
* in different instances. The existence of any referencing backup prevents the backup from being
* deleted. When the copy operation is done (either successfully completed or cancelled or the
* destination backup is deleted), the reference to the backup is removed.
* @param referencingBackups referencingBackups or {@code null} for none
*/
public Backup setReferencingBackups(java.util.List referencingBackups) {
this.referencingBackups = referencingBackups;
return this;
}
/**
* Output only. The names of the restored databases that reference the backup. The database names
* are of the form `projects//instances//databases/`. Referencing databases may exist in different
* instances. The existence of any referencing database prevents the backup from being deleted.
* When a restored database from the backup enters the `READY` state, the reference to the backup
* is removed.
* @return value or {@code null} for none
*/
public java.util.List getReferencingDatabases() {
return referencingDatabases;
}
/**
* Output only. The names of the restored databases that reference the backup. The database names
* are of the form `projects//instances//databases/`. Referencing databases may exist in different
* instances. The existence of any referencing database prevents the backup from being deleted.
* When a restored database from the backup enters the `READY` state, the reference to the backup
* is removed.
* @param referencingDatabases referencingDatabases or {@code null} for none
*/
public Backup setReferencingDatabases(java.util.List referencingDatabases) {
this.referencingDatabases = referencingDatabases;
return this;
}
/**
* Output only. Size of the backup in bytes. For a backup in an incremental backup chain, this is
* the sum of the `exclusive_size_bytes` of itself and all older backups in the chain.
* @return value or {@code null} for none
*/
public java.lang.Long getSizeBytes() {
return sizeBytes;
}
/**
* Output only. Size of the backup in bytes. For a backup in an incremental backup chain, this is
* the sum of the `exclusive_size_bytes` of itself and all older backups in the chain.
* @param sizeBytes sizeBytes or {@code null} for none
*/
public Backup setSizeBytes(java.lang.Long sizeBytes) {
this.sizeBytes = sizeBytes;
return this;
}
/**
* Output only. The current state of the backup.
* @return value or {@code null} for none
*/
public java.lang.String getState() {
return state;
}
/**
* Output only. The current state of the backup.
* @param state state or {@code null} for none
*/
public Backup setState(java.lang.String state) {
this.state = state;
return this;
}
/**
* The backup will contain an externally consistent copy of the database at the timestamp
* specified by `version_time`. If `version_time` is not specified, the system will set
* `version_time` to the `create_time` of the backup.
* @return value or {@code null} for none
*/
public String getVersionTime() {
return versionTime;
}
/**
* The backup will contain an externally consistent copy of the database at the timestamp
* specified by `version_time`. If `version_time` is not specified, the system will set
* `version_time` to the `create_time` of the backup.
* @param versionTime versionTime or {@code null} for none
*/
public Backup setVersionTime(String versionTime) {
this.versionTime = versionTime;
return this;
}
@Override
public Backup set(String fieldName, Object value) {
return (Backup) super.set(fieldName, value);
}
@Override
public Backup clone() {
return (Backup) super.clone();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy