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. 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;
/**
* 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 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. 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.
* 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. 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;
}
/**
* 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 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. 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.
* @return value or {@code null} for none
*/
public java.lang.Long getSizeBytes() {
return sizeBytes;
}
/**
* Output only. Size of the backup in bytes.
* @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 - 2024 Weber Informatics LLC | Privacy Policy