All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.spanner.v1.model.Backup Maven / Gradle / Ivy

There is a newer version: v1-rev20241119-2.0.0
Show newest version
/*
 * 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