com.amazonaws.services.redshift.model.Snapshot Maven / Gradle / Ivy
Show all versions of aws-java-sdk-redshift Show documentation
/*
* Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file 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.
*/
package com.amazonaws.services.redshift.model;
import java.io.Serializable;
import javax.annotation.Generated;
/**
*
* Describes a snapshot.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class Snapshot implements Serializable, Cloneable {
/**
*
* The snapshot identifier that is provided in the request.
*
*/
private String snapshotIdentifier;
/**
*
* The identifier of the cluster for which the snapshot was taken.
*
*/
private String clusterIdentifier;
/**
*
* The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a copy of the cluster data
* as of this exact time.
*
*/
private java.util.Date snapshotCreateTime;
/**
*
* The snapshot status. The value of the status depends on the API operation used:
*
*
* -
*
* CreateClusterSnapshot and CopyClusterSnapshot returns status as "creating".
*
*
* -
*
* DescribeClusterSnapshots returns status as "creating", "available", "final snapshot", or "failed".
*
*
* -
*
* DeleteClusterSnapshot returns status as "deleted".
*
*
*
*/
private String status;
/**
*
* The port that the cluster is listening on.
*
*/
private Integer port;
/**
*
* The Availability Zone in which the cluster was created.
*
*/
private String availabilityZone;
/**
*
* The time (UTC) when the cluster was originally created.
*
*/
private java.util.Date clusterCreateTime;
/**
*
* The admin user name for the cluster.
*
*/
private String masterUsername;
/**
*
* The version ID of the Amazon Redshift engine that is running on the cluster.
*
*/
private String clusterVersion;
/**
*
* The cluster version of the cluster used to create the snapshot. For example, 1.0.15503.
*
*/
private String engineFullVersion;
/**
*
* The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot are of
* type "manual".
*
*/
private String snapshotType;
/**
*
* The node type of the nodes in the cluster.
*
*/
private String nodeType;
/**
*
* The number of nodes in the cluster.
*
*/
private Integer numberOfNodes;
/**
*
* The name of the database that was created when the cluster was created.
*
*/
private String dBName;
/**
*
* The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. Otherwise, this field is not in the
* output.
*
*/
private String vpcId;
/**
*
* If true
, the data in the snapshot is encrypted at rest.
*
*/
private Boolean encrypted;
/**
*
* The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from
* which the snapshot was taken.
*
*/
private String kmsKeyId;
/**
*
* A boolean that indicates whether the snapshot data is encrypted using the HSM keys of the source cluster.
* true
indicates that the data is encrypted using HSM keys.
*
*/
private Boolean encryptedWithHSM;
/**
*
* A list of the Amazon Web Services accounts authorized to restore the snapshot. Returns null
if no
* accounts are authorized. Visible only to the snapshot owner.
*
*/
private com.amazonaws.internal.SdkInternalList accountsWithRestoreAccess;
/**
*
* For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic
* snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual
* snapshot.
*
*/
private String ownerAccount;
/**
*
* The size of the complete set of backup data that would be used to restore the cluster.
*
*/
private Double totalBackupSizeInMegaBytes;
/**
*
* The size of the incremental backup.
*
*/
private Double actualIncrementalBackupSizeInMegaBytes;
/**
*
* The number of megabytes that have been transferred to the snapshot backup.
*
*/
private Double backupProgressInMegaBytes;
/**
*
* The number of megabytes per second being transferred to the snapshot backup. Returns 0
for a
* completed backup.
*
*/
private Double currentBackupRateInMegaBytesPerSecond;
/**
*
* The estimate of the time remaining before the snapshot backup will complete. Returns 0
for a
* completed backup.
*
*/
private Long estimatedSecondsToCompletion;
/**
*
* The amount of time an in-progress snapshot backup has been running, or the amount of time it took a completed
* backup to finish.
*
*/
private Long elapsedTimeInSeconds;
/**
*
* The source region from which the snapshot was copied.
*
*/
private String sourceRegion;
/**
*
* The list of tags for the cluster snapshot.
*
*/
private com.amazonaws.internal.SdkInternalList tags;
/**
*
* The list of node types that this cluster snapshot is able to restore into.
*
*/
private com.amazonaws.internal.SdkInternalList restorableNodeTypes;
/**
*
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster
* that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the
* Amazon Redshift Cluster Management Guide.
*
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*
*/
private Boolean enhancedVpcRouting;
/**
*
* The name of the maintenance track for the snapshot.
*
*/
private String maintenanceTrackName;
/**
*
* The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained
* indefinitely.
*
*
* The value must be either -1 or an integer between 1 and 3,653.
*
*/
private Integer manualSnapshotRetentionPeriod;
/**
*
* The number of days until a manual snapshot will pass its retention period.
*
*/
private Integer manualSnapshotRemainingDays;
/**
*
* A timestamp representing the start of the retention period for the snapshot.
*
*/
private java.util.Date snapshotRetentionStartTime;
/**
*
* The Amazon Resource Name (ARN) for the cluster's admin user credentials secret.
*
*/
private String masterPasswordSecretArn;
/**
*
* The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret.
*
*/
private String masterPasswordSecretKmsKeyId;
/**
*
* The Amazon Resource Name (ARN) of the snapshot.
*
*/
private String snapshotArn;
/**
*
* The snapshot identifier that is provided in the request.
*
*
* @param snapshotIdentifier
* The snapshot identifier that is provided in the request.
*/
public void setSnapshotIdentifier(String snapshotIdentifier) {
this.snapshotIdentifier = snapshotIdentifier;
}
/**
*
* The snapshot identifier that is provided in the request.
*
*
* @return The snapshot identifier that is provided in the request.
*/
public String getSnapshotIdentifier() {
return this.snapshotIdentifier;
}
/**
*
* The snapshot identifier that is provided in the request.
*
*
* @param snapshotIdentifier
* The snapshot identifier that is provided in the request.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withSnapshotIdentifier(String snapshotIdentifier) {
setSnapshotIdentifier(snapshotIdentifier);
return this;
}
/**
*
* The identifier of the cluster for which the snapshot was taken.
*
*
* @param clusterIdentifier
* The identifier of the cluster for which the snapshot was taken.
*/
public void setClusterIdentifier(String clusterIdentifier) {
this.clusterIdentifier = clusterIdentifier;
}
/**
*
* The identifier of the cluster for which the snapshot was taken.
*
*
* @return The identifier of the cluster for which the snapshot was taken.
*/
public String getClusterIdentifier() {
return this.clusterIdentifier;
}
/**
*
* The identifier of the cluster for which the snapshot was taken.
*
*
* @param clusterIdentifier
* The identifier of the cluster for which the snapshot was taken.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withClusterIdentifier(String clusterIdentifier) {
setClusterIdentifier(clusterIdentifier);
return this;
}
/**
*
* The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a copy of the cluster data
* as of this exact time.
*
*
* @param snapshotCreateTime
* The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a copy of the
* cluster data as of this exact time.
*/
public void setSnapshotCreateTime(java.util.Date snapshotCreateTime) {
this.snapshotCreateTime = snapshotCreateTime;
}
/**
*
* The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a copy of the cluster data
* as of this exact time.
*
*
* @return The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a copy of the
* cluster data as of this exact time.
*/
public java.util.Date getSnapshotCreateTime() {
return this.snapshotCreateTime;
}
/**
*
* The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a copy of the cluster data
* as of this exact time.
*
*
* @param snapshotCreateTime
* The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a copy of the
* cluster data as of this exact time.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withSnapshotCreateTime(java.util.Date snapshotCreateTime) {
setSnapshotCreateTime(snapshotCreateTime);
return this;
}
/**
*
* The snapshot status. The value of the status depends on the API operation used:
*
*
* -
*
* CreateClusterSnapshot and CopyClusterSnapshot returns status as "creating".
*
*
* -
*
* DescribeClusterSnapshots returns status as "creating", "available", "final snapshot", or "failed".
*
*
* -
*
* DeleteClusterSnapshot returns status as "deleted".
*
*
*
*
* @param status
* The snapshot status. The value of the status depends on the API operation used:
*
* -
*
* CreateClusterSnapshot and CopyClusterSnapshot returns status as "creating".
*
*
* -
*
* DescribeClusterSnapshots returns status as "creating", "available", "final snapshot", or "failed".
*
*
* -
*
* DeleteClusterSnapshot returns status as "deleted".
*
*
*/
public void setStatus(String status) {
this.status = status;
}
/**
*
* The snapshot status. The value of the status depends on the API operation used:
*
*
* -
*
* CreateClusterSnapshot and CopyClusterSnapshot returns status as "creating".
*
*
* -
*
* DescribeClusterSnapshots returns status as "creating", "available", "final snapshot", or "failed".
*
*
* -
*
* DeleteClusterSnapshot returns status as "deleted".
*
*
*
*
* @return The snapshot status. The value of the status depends on the API operation used:
*
* -
*
* CreateClusterSnapshot and CopyClusterSnapshot returns status as "creating".
*
*
* -
*
* DescribeClusterSnapshots returns status as "creating", "available", "final snapshot", or "failed".
*
*
* -
*
* DeleteClusterSnapshot returns status as "deleted".
*
*
*/
public String getStatus() {
return this.status;
}
/**
*
* The snapshot status. The value of the status depends on the API operation used:
*
*
* -
*
* CreateClusterSnapshot and CopyClusterSnapshot returns status as "creating".
*
*
* -
*
* DescribeClusterSnapshots returns status as "creating", "available", "final snapshot", or "failed".
*
*
* -
*
* DeleteClusterSnapshot returns status as "deleted".
*
*
*
*
* @param status
* The snapshot status. The value of the status depends on the API operation used:
*
* -
*
* CreateClusterSnapshot and CopyClusterSnapshot returns status as "creating".
*
*
* -
*
* DescribeClusterSnapshots returns status as "creating", "available", "final snapshot", or "failed".
*
*
* -
*
* DeleteClusterSnapshot returns status as "deleted".
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withStatus(String status) {
setStatus(status);
return this;
}
/**
*
* The port that the cluster is listening on.
*
*
* @param port
* The port that the cluster is listening on.
*/
public void setPort(Integer port) {
this.port = port;
}
/**
*
* The port that the cluster is listening on.
*
*
* @return The port that the cluster is listening on.
*/
public Integer getPort() {
return this.port;
}
/**
*
* The port that the cluster is listening on.
*
*
* @param port
* The port that the cluster is listening on.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withPort(Integer port) {
setPort(port);
return this;
}
/**
*
* The Availability Zone in which the cluster was created.
*
*
* @param availabilityZone
* The Availability Zone in which the cluster was created.
*/
public void setAvailabilityZone(String availabilityZone) {
this.availabilityZone = availabilityZone;
}
/**
*
* The Availability Zone in which the cluster was created.
*
*
* @return The Availability Zone in which the cluster was created.
*/
public String getAvailabilityZone() {
return this.availabilityZone;
}
/**
*
* The Availability Zone in which the cluster was created.
*
*
* @param availabilityZone
* The Availability Zone in which the cluster was created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withAvailabilityZone(String availabilityZone) {
setAvailabilityZone(availabilityZone);
return this;
}
/**
*
* The time (UTC) when the cluster was originally created.
*
*
* @param clusterCreateTime
* The time (UTC) when the cluster was originally created.
*/
public void setClusterCreateTime(java.util.Date clusterCreateTime) {
this.clusterCreateTime = clusterCreateTime;
}
/**
*
* The time (UTC) when the cluster was originally created.
*
*
* @return The time (UTC) when the cluster was originally created.
*/
public java.util.Date getClusterCreateTime() {
return this.clusterCreateTime;
}
/**
*
* The time (UTC) when the cluster was originally created.
*
*
* @param clusterCreateTime
* The time (UTC) when the cluster was originally created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withClusterCreateTime(java.util.Date clusterCreateTime) {
setClusterCreateTime(clusterCreateTime);
return this;
}
/**
*
* The admin user name for the cluster.
*
*
* @param masterUsername
* The admin user name for the cluster.
*/
public void setMasterUsername(String masterUsername) {
this.masterUsername = masterUsername;
}
/**
*
* The admin user name for the cluster.
*
*
* @return The admin user name for the cluster.
*/
public String getMasterUsername() {
return this.masterUsername;
}
/**
*
* The admin user name for the cluster.
*
*
* @param masterUsername
* The admin user name for the cluster.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withMasterUsername(String masterUsername) {
setMasterUsername(masterUsername);
return this;
}
/**
*
* The version ID of the Amazon Redshift engine that is running on the cluster.
*
*
* @param clusterVersion
* The version ID of the Amazon Redshift engine that is running on the cluster.
*/
public void setClusterVersion(String clusterVersion) {
this.clusterVersion = clusterVersion;
}
/**
*
* The version ID of the Amazon Redshift engine that is running on the cluster.
*
*
* @return The version ID of the Amazon Redshift engine that is running on the cluster.
*/
public String getClusterVersion() {
return this.clusterVersion;
}
/**
*
* The version ID of the Amazon Redshift engine that is running on the cluster.
*
*
* @param clusterVersion
* The version ID of the Amazon Redshift engine that is running on the cluster.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withClusterVersion(String clusterVersion) {
setClusterVersion(clusterVersion);
return this;
}
/**
*
* The cluster version of the cluster used to create the snapshot. For example, 1.0.15503.
*
*
* @param engineFullVersion
* The cluster version of the cluster used to create the snapshot. For example, 1.0.15503.
*/
public void setEngineFullVersion(String engineFullVersion) {
this.engineFullVersion = engineFullVersion;
}
/**
*
* The cluster version of the cluster used to create the snapshot. For example, 1.0.15503.
*
*
* @return The cluster version of the cluster used to create the snapshot. For example, 1.0.15503.
*/
public String getEngineFullVersion() {
return this.engineFullVersion;
}
/**
*
* The cluster version of the cluster used to create the snapshot. For example, 1.0.15503.
*
*
* @param engineFullVersion
* The cluster version of the cluster used to create the snapshot. For example, 1.0.15503.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withEngineFullVersion(String engineFullVersion) {
setEngineFullVersion(engineFullVersion);
return this;
}
/**
*
* The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot are of
* type "manual".
*
*
* @param snapshotType
* The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot are
* of type "manual".
*/
public void setSnapshotType(String snapshotType) {
this.snapshotType = snapshotType;
}
/**
*
* The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot are of
* type "manual".
*
*
* @return The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot
* are of type "manual".
*/
public String getSnapshotType() {
return this.snapshotType;
}
/**
*
* The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot are of
* type "manual".
*
*
* @param snapshotType
* The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot are
* of type "manual".
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withSnapshotType(String snapshotType) {
setSnapshotType(snapshotType);
return this;
}
/**
*
* The node type of the nodes in the cluster.
*
*
* @param nodeType
* The node type of the nodes in the cluster.
*/
public void setNodeType(String nodeType) {
this.nodeType = nodeType;
}
/**
*
* The node type of the nodes in the cluster.
*
*
* @return The node type of the nodes in the cluster.
*/
public String getNodeType() {
return this.nodeType;
}
/**
*
* The node type of the nodes in the cluster.
*
*
* @param nodeType
* The node type of the nodes in the cluster.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withNodeType(String nodeType) {
setNodeType(nodeType);
return this;
}
/**
*
* The number of nodes in the cluster.
*
*
* @param numberOfNodes
* The number of nodes in the cluster.
*/
public void setNumberOfNodes(Integer numberOfNodes) {
this.numberOfNodes = numberOfNodes;
}
/**
*
* The number of nodes in the cluster.
*
*
* @return The number of nodes in the cluster.
*/
public Integer getNumberOfNodes() {
return this.numberOfNodes;
}
/**
*
* The number of nodes in the cluster.
*
*
* @param numberOfNodes
* The number of nodes in the cluster.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withNumberOfNodes(Integer numberOfNodes) {
setNumberOfNodes(numberOfNodes);
return this;
}
/**
*
* The name of the database that was created when the cluster was created.
*
*
* @param dBName
* The name of the database that was created when the cluster was created.
*/
public void setDBName(String dBName) {
this.dBName = dBName;
}
/**
*
* The name of the database that was created when the cluster was created.
*
*
* @return The name of the database that was created when the cluster was created.
*/
public String getDBName() {
return this.dBName;
}
/**
*
* The name of the database that was created when the cluster was created.
*
*
* @param dBName
* The name of the database that was created when the cluster was created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withDBName(String dBName) {
setDBName(dBName);
return this;
}
/**
*
* The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. Otherwise, this field is not in the
* output.
*
*
* @param vpcId
* The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. Otherwise, this field is not
* in the output.
*/
public void setVpcId(String vpcId) {
this.vpcId = vpcId;
}
/**
*
* The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. Otherwise, this field is not in the
* output.
*
*
* @return The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. Otherwise, this field is
* not in the output.
*/
public String getVpcId() {
return this.vpcId;
}
/**
*
* The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. Otherwise, this field is not in the
* output.
*
*
* @param vpcId
* The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. Otherwise, this field is not
* in the output.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withVpcId(String vpcId) {
setVpcId(vpcId);
return this;
}
/**
*
* If true
, the data in the snapshot is encrypted at rest.
*
*
* @param encrypted
* If true
, the data in the snapshot is encrypted at rest.
*/
public void setEncrypted(Boolean encrypted) {
this.encrypted = encrypted;
}
/**
*
* If true
, the data in the snapshot is encrypted at rest.
*
*
* @return If true
, the data in the snapshot is encrypted at rest.
*/
public Boolean getEncrypted() {
return this.encrypted;
}
/**
*
* If true
, the data in the snapshot is encrypted at rest.
*
*
* @param encrypted
* If true
, the data in the snapshot is encrypted at rest.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withEncrypted(Boolean encrypted) {
setEncrypted(encrypted);
return this;
}
/**
*
* If true
, the data in the snapshot is encrypted at rest.
*
*
* @return If true
, the data in the snapshot is encrypted at rest.
*/
public Boolean isEncrypted() {
return this.encrypted;
}
/**
*
* The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from
* which the snapshot was taken.
*
*
* @param kmsKeyId
* The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster
* from which the snapshot was taken.
*/
public void setKmsKeyId(String kmsKeyId) {
this.kmsKeyId = kmsKeyId;
}
/**
*
* The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from
* which the snapshot was taken.
*
*
* @return The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the
* cluster from which the snapshot was taken.
*/
public String getKmsKeyId() {
return this.kmsKeyId;
}
/**
*
* The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from
* which the snapshot was taken.
*
*
* @param kmsKeyId
* The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster
* from which the snapshot was taken.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withKmsKeyId(String kmsKeyId) {
setKmsKeyId(kmsKeyId);
return this;
}
/**
*
* A boolean that indicates whether the snapshot data is encrypted using the HSM keys of the source cluster.
* true
indicates that the data is encrypted using HSM keys.
*
*
* @param encryptedWithHSM
* A boolean that indicates whether the snapshot data is encrypted using the HSM keys of the source cluster.
* true
indicates that the data is encrypted using HSM keys.
*/
public void setEncryptedWithHSM(Boolean encryptedWithHSM) {
this.encryptedWithHSM = encryptedWithHSM;
}
/**
*
* A boolean that indicates whether the snapshot data is encrypted using the HSM keys of the source cluster.
* true
indicates that the data is encrypted using HSM keys.
*
*
* @return A boolean that indicates whether the snapshot data is encrypted using the HSM keys of the source cluster.
* true
indicates that the data is encrypted using HSM keys.
*/
public Boolean getEncryptedWithHSM() {
return this.encryptedWithHSM;
}
/**
*
* A boolean that indicates whether the snapshot data is encrypted using the HSM keys of the source cluster.
* true
indicates that the data is encrypted using HSM keys.
*
*
* @param encryptedWithHSM
* A boolean that indicates whether the snapshot data is encrypted using the HSM keys of the source cluster.
* true
indicates that the data is encrypted using HSM keys.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withEncryptedWithHSM(Boolean encryptedWithHSM) {
setEncryptedWithHSM(encryptedWithHSM);
return this;
}
/**
*
* A boolean that indicates whether the snapshot data is encrypted using the HSM keys of the source cluster.
* true
indicates that the data is encrypted using HSM keys.
*
*
* @return A boolean that indicates whether the snapshot data is encrypted using the HSM keys of the source cluster.
* true
indicates that the data is encrypted using HSM keys.
*/
public Boolean isEncryptedWithHSM() {
return this.encryptedWithHSM;
}
/**
*
* A list of the Amazon Web Services accounts authorized to restore the snapshot. Returns null
if no
* accounts are authorized. Visible only to the snapshot owner.
*
*
* @return A list of the Amazon Web Services accounts authorized to restore the snapshot. Returns null
* if no accounts are authorized. Visible only to the snapshot owner.
*/
public java.util.List getAccountsWithRestoreAccess() {
if (accountsWithRestoreAccess == null) {
accountsWithRestoreAccess = new com.amazonaws.internal.SdkInternalList();
}
return accountsWithRestoreAccess;
}
/**
*
* A list of the Amazon Web Services accounts authorized to restore the snapshot. Returns null
if no
* accounts are authorized. Visible only to the snapshot owner.
*
*
* @param accountsWithRestoreAccess
* A list of the Amazon Web Services accounts authorized to restore the snapshot. Returns null
* if no accounts are authorized. Visible only to the snapshot owner.
*/
public void setAccountsWithRestoreAccess(java.util.Collection accountsWithRestoreAccess) {
if (accountsWithRestoreAccess == null) {
this.accountsWithRestoreAccess = null;
return;
}
this.accountsWithRestoreAccess = new com.amazonaws.internal.SdkInternalList(accountsWithRestoreAccess);
}
/**
*
* A list of the Amazon Web Services accounts authorized to restore the snapshot. Returns null
if no
* accounts are authorized. Visible only to the snapshot owner.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAccountsWithRestoreAccess(java.util.Collection)} or
* {@link #withAccountsWithRestoreAccess(java.util.Collection)} if you want to override the existing values.
*
*
* @param accountsWithRestoreAccess
* A list of the Amazon Web Services accounts authorized to restore the snapshot. Returns null
* if no accounts are authorized. Visible only to the snapshot owner.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withAccountsWithRestoreAccess(AccountWithRestoreAccess... accountsWithRestoreAccess) {
if (this.accountsWithRestoreAccess == null) {
setAccountsWithRestoreAccess(new com.amazonaws.internal.SdkInternalList(accountsWithRestoreAccess.length));
}
for (AccountWithRestoreAccess ele : accountsWithRestoreAccess) {
this.accountsWithRestoreAccess.add(ele);
}
return this;
}
/**
*
* A list of the Amazon Web Services accounts authorized to restore the snapshot. Returns null
if no
* accounts are authorized. Visible only to the snapshot owner.
*
*
* @param accountsWithRestoreAccess
* A list of the Amazon Web Services accounts authorized to restore the snapshot. Returns null
* if no accounts are authorized. Visible only to the snapshot owner.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withAccountsWithRestoreAccess(java.util.Collection accountsWithRestoreAccess) {
setAccountsWithRestoreAccess(accountsWithRestoreAccess);
return this;
}
/**
*
* For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic
* snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual
* snapshot.
*
*
* @param ownerAccount
* For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic
* snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual
* snapshot.
*/
public void setOwnerAccount(String ownerAccount) {
this.ownerAccount = ownerAccount;
}
/**
*
* For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic
* snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual
* snapshot.
*
*
* @return For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic
* snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual
* snapshot.
*/
public String getOwnerAccount() {
return this.ownerAccount;
}
/**
*
* For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic
* snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual
* snapshot.
*
*
* @param ownerAccount
* For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic
* snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual
* snapshot.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withOwnerAccount(String ownerAccount) {
setOwnerAccount(ownerAccount);
return this;
}
/**
*
* The size of the complete set of backup data that would be used to restore the cluster.
*
*
* @param totalBackupSizeInMegaBytes
* The size of the complete set of backup data that would be used to restore the cluster.
*/
public void setTotalBackupSizeInMegaBytes(Double totalBackupSizeInMegaBytes) {
this.totalBackupSizeInMegaBytes = totalBackupSizeInMegaBytes;
}
/**
*
* The size of the complete set of backup data that would be used to restore the cluster.
*
*
* @return The size of the complete set of backup data that would be used to restore the cluster.
*/
public Double getTotalBackupSizeInMegaBytes() {
return this.totalBackupSizeInMegaBytes;
}
/**
*
* The size of the complete set of backup data that would be used to restore the cluster.
*
*
* @param totalBackupSizeInMegaBytes
* The size of the complete set of backup data that would be used to restore the cluster.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withTotalBackupSizeInMegaBytes(Double totalBackupSizeInMegaBytes) {
setTotalBackupSizeInMegaBytes(totalBackupSizeInMegaBytes);
return this;
}
/**
*
* The size of the incremental backup.
*
*
* @param actualIncrementalBackupSizeInMegaBytes
* The size of the incremental backup.
*/
public void setActualIncrementalBackupSizeInMegaBytes(Double actualIncrementalBackupSizeInMegaBytes) {
this.actualIncrementalBackupSizeInMegaBytes = actualIncrementalBackupSizeInMegaBytes;
}
/**
*
* The size of the incremental backup.
*
*
* @return The size of the incremental backup.
*/
public Double getActualIncrementalBackupSizeInMegaBytes() {
return this.actualIncrementalBackupSizeInMegaBytes;
}
/**
*
* The size of the incremental backup.
*
*
* @param actualIncrementalBackupSizeInMegaBytes
* The size of the incremental backup.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withActualIncrementalBackupSizeInMegaBytes(Double actualIncrementalBackupSizeInMegaBytes) {
setActualIncrementalBackupSizeInMegaBytes(actualIncrementalBackupSizeInMegaBytes);
return this;
}
/**
*
* The number of megabytes that have been transferred to the snapshot backup.
*
*
* @param backupProgressInMegaBytes
* The number of megabytes that have been transferred to the snapshot backup.
*/
public void setBackupProgressInMegaBytes(Double backupProgressInMegaBytes) {
this.backupProgressInMegaBytes = backupProgressInMegaBytes;
}
/**
*
* The number of megabytes that have been transferred to the snapshot backup.
*
*
* @return The number of megabytes that have been transferred to the snapshot backup.
*/
public Double getBackupProgressInMegaBytes() {
return this.backupProgressInMegaBytes;
}
/**
*
* The number of megabytes that have been transferred to the snapshot backup.
*
*
* @param backupProgressInMegaBytes
* The number of megabytes that have been transferred to the snapshot backup.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withBackupProgressInMegaBytes(Double backupProgressInMegaBytes) {
setBackupProgressInMegaBytes(backupProgressInMegaBytes);
return this;
}
/**
*
* The number of megabytes per second being transferred to the snapshot backup. Returns 0
for a
* completed backup.
*
*
* @param currentBackupRateInMegaBytesPerSecond
* The number of megabytes per second being transferred to the snapshot backup. Returns 0
for a
* completed backup.
*/
public void setCurrentBackupRateInMegaBytesPerSecond(Double currentBackupRateInMegaBytesPerSecond) {
this.currentBackupRateInMegaBytesPerSecond = currentBackupRateInMegaBytesPerSecond;
}
/**
*
* The number of megabytes per second being transferred to the snapshot backup. Returns 0
for a
* completed backup.
*
*
* @return The number of megabytes per second being transferred to the snapshot backup. Returns 0
for a
* completed backup.
*/
public Double getCurrentBackupRateInMegaBytesPerSecond() {
return this.currentBackupRateInMegaBytesPerSecond;
}
/**
*
* The number of megabytes per second being transferred to the snapshot backup. Returns 0
for a
* completed backup.
*
*
* @param currentBackupRateInMegaBytesPerSecond
* The number of megabytes per second being transferred to the snapshot backup. Returns 0
for a
* completed backup.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withCurrentBackupRateInMegaBytesPerSecond(Double currentBackupRateInMegaBytesPerSecond) {
setCurrentBackupRateInMegaBytesPerSecond(currentBackupRateInMegaBytesPerSecond);
return this;
}
/**
*
* The estimate of the time remaining before the snapshot backup will complete. Returns 0
for a
* completed backup.
*
*
* @param estimatedSecondsToCompletion
* The estimate of the time remaining before the snapshot backup will complete. Returns 0
for a
* completed backup.
*/
public void setEstimatedSecondsToCompletion(Long estimatedSecondsToCompletion) {
this.estimatedSecondsToCompletion = estimatedSecondsToCompletion;
}
/**
*
* The estimate of the time remaining before the snapshot backup will complete. Returns 0
for a
* completed backup.
*
*
* @return The estimate of the time remaining before the snapshot backup will complete. Returns 0
for a
* completed backup.
*/
public Long getEstimatedSecondsToCompletion() {
return this.estimatedSecondsToCompletion;
}
/**
*
* The estimate of the time remaining before the snapshot backup will complete. Returns 0
for a
* completed backup.
*
*
* @param estimatedSecondsToCompletion
* The estimate of the time remaining before the snapshot backup will complete. Returns 0
for a
* completed backup.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withEstimatedSecondsToCompletion(Long estimatedSecondsToCompletion) {
setEstimatedSecondsToCompletion(estimatedSecondsToCompletion);
return this;
}
/**
*
* The amount of time an in-progress snapshot backup has been running, or the amount of time it took a completed
* backup to finish.
*
*
* @param elapsedTimeInSeconds
* The amount of time an in-progress snapshot backup has been running, or the amount of time it took a
* completed backup to finish.
*/
public void setElapsedTimeInSeconds(Long elapsedTimeInSeconds) {
this.elapsedTimeInSeconds = elapsedTimeInSeconds;
}
/**
*
* The amount of time an in-progress snapshot backup has been running, or the amount of time it took a completed
* backup to finish.
*
*
* @return The amount of time an in-progress snapshot backup has been running, or the amount of time it took a
* completed backup to finish.
*/
public Long getElapsedTimeInSeconds() {
return this.elapsedTimeInSeconds;
}
/**
*
* The amount of time an in-progress snapshot backup has been running, or the amount of time it took a completed
* backup to finish.
*
*
* @param elapsedTimeInSeconds
* The amount of time an in-progress snapshot backup has been running, or the amount of time it took a
* completed backup to finish.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withElapsedTimeInSeconds(Long elapsedTimeInSeconds) {
setElapsedTimeInSeconds(elapsedTimeInSeconds);
return this;
}
/**
*
* The source region from which the snapshot was copied.
*
*
* @param sourceRegion
* The source region from which the snapshot was copied.
*/
public void setSourceRegion(String sourceRegion) {
this.sourceRegion = sourceRegion;
}
/**
*
* The source region from which the snapshot was copied.
*
*
* @return The source region from which the snapshot was copied.
*/
public String getSourceRegion() {
return this.sourceRegion;
}
/**
*
* The source region from which the snapshot was copied.
*
*
* @param sourceRegion
* The source region from which the snapshot was copied.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withSourceRegion(String sourceRegion) {
setSourceRegion(sourceRegion);
return this;
}
/**
*
* The list of tags for the cluster snapshot.
*
*
* @return The list of tags for the cluster snapshot.
*/
public java.util.List getTags() {
if (tags == null) {
tags = new com.amazonaws.internal.SdkInternalList();
}
return tags;
}
/**
*
* The list of tags for the cluster snapshot.
*
*
* @param tags
* The list of tags for the cluster snapshot.
*/
public void setTags(java.util.Collection tags) {
if (tags == null) {
this.tags = null;
return;
}
this.tags = new com.amazonaws.internal.SdkInternalList(tags);
}
/**
*
* The list of tags for the cluster snapshot.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the
* existing values.
*
*
* @param tags
* The list of tags for the cluster snapshot.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withTags(Tag... tags) {
if (this.tags == null) {
setTags(new com.amazonaws.internal.SdkInternalList(tags.length));
}
for (Tag ele : tags) {
this.tags.add(ele);
}
return this;
}
/**
*
* The list of tags for the cluster snapshot.
*
*
* @param tags
* The list of tags for the cluster snapshot.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withTags(java.util.Collection tags) {
setTags(tags);
return this;
}
/**
*
* The list of node types that this cluster snapshot is able to restore into.
*
*
* @return The list of node types that this cluster snapshot is able to restore into.
*/
public java.util.List getRestorableNodeTypes() {
if (restorableNodeTypes == null) {
restorableNodeTypes = new com.amazonaws.internal.SdkInternalList();
}
return restorableNodeTypes;
}
/**
*
* The list of node types that this cluster snapshot is able to restore into.
*
*
* @param restorableNodeTypes
* The list of node types that this cluster snapshot is able to restore into.
*/
public void setRestorableNodeTypes(java.util.Collection restorableNodeTypes) {
if (restorableNodeTypes == null) {
this.restorableNodeTypes = null;
return;
}
this.restorableNodeTypes = new com.amazonaws.internal.SdkInternalList(restorableNodeTypes);
}
/**
*
* The list of node types that this cluster snapshot is able to restore into.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setRestorableNodeTypes(java.util.Collection)} or {@link #withRestorableNodeTypes(java.util.Collection)}
* if you want to override the existing values.
*
*
* @param restorableNodeTypes
* The list of node types that this cluster snapshot is able to restore into.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withRestorableNodeTypes(String... restorableNodeTypes) {
if (this.restorableNodeTypes == null) {
setRestorableNodeTypes(new com.amazonaws.internal.SdkInternalList(restorableNodeTypes.length));
}
for (String ele : restorableNodeTypes) {
this.restorableNodeTypes.add(ele);
}
return this;
}
/**
*
* The list of node types that this cluster snapshot is able to restore into.
*
*
* @param restorableNodeTypes
* The list of node types that this cluster snapshot is able to restore into.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withRestorableNodeTypes(java.util.Collection restorableNodeTypes) {
setRestorableNodeTypes(restorableNodeTypes);
return this;
}
/**
*
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster
* that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the
* Amazon Redshift Cluster Management Guide.
*
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*
*
* @param enhancedVpcRouting
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a
* cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing
* in the Amazon Redshift Cluster Management Guide.
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*/
public void setEnhancedVpcRouting(Boolean enhancedVpcRouting) {
this.enhancedVpcRouting = enhancedVpcRouting;
}
/**
*
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster
* that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the
* Amazon Redshift Cluster Management Guide.
*
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*
*
* @return An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a
* cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC
* Routing in the Amazon Redshift Cluster Management Guide.
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*/
public Boolean getEnhancedVpcRouting() {
return this.enhancedVpcRouting;
}
/**
*
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster
* that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the
* Amazon Redshift Cluster Management Guide.
*
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*
*
* @param enhancedVpcRouting
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a
* cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing
* in the Amazon Redshift Cluster Management Guide.
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withEnhancedVpcRouting(Boolean enhancedVpcRouting) {
setEnhancedVpcRouting(enhancedVpcRouting);
return this;
}
/**
*
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster
* that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the
* Amazon Redshift Cluster Management Guide.
*
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*
*
* @return An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a
* cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC
* Routing in the Amazon Redshift Cluster Management Guide.
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*/
public Boolean isEnhancedVpcRouting() {
return this.enhancedVpcRouting;
}
/**
*
* The name of the maintenance track for the snapshot.
*
*
* @param maintenanceTrackName
* The name of the maintenance track for the snapshot.
*/
public void setMaintenanceTrackName(String maintenanceTrackName) {
this.maintenanceTrackName = maintenanceTrackName;
}
/**
*
* The name of the maintenance track for the snapshot.
*
*
* @return The name of the maintenance track for the snapshot.
*/
public String getMaintenanceTrackName() {
return this.maintenanceTrackName;
}
/**
*
* The name of the maintenance track for the snapshot.
*
*
* @param maintenanceTrackName
* The name of the maintenance track for the snapshot.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withMaintenanceTrackName(String maintenanceTrackName) {
setMaintenanceTrackName(maintenanceTrackName);
return this;
}
/**
*
* The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained
* indefinitely.
*
*
* The value must be either -1 or an integer between 1 and 3,653.
*
*
* @param manualSnapshotRetentionPeriod
* The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained
* indefinitely.
*
* The value must be either -1 or an integer between 1 and 3,653.
*/
public void setManualSnapshotRetentionPeriod(Integer manualSnapshotRetentionPeriod) {
this.manualSnapshotRetentionPeriod = manualSnapshotRetentionPeriod;
}
/**
*
* The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained
* indefinitely.
*
*
* The value must be either -1 or an integer between 1 and 3,653.
*
*
* @return The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is
* retained indefinitely.
*
* The value must be either -1 or an integer between 1 and 3,653.
*/
public Integer getManualSnapshotRetentionPeriod() {
return this.manualSnapshotRetentionPeriod;
}
/**
*
* The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained
* indefinitely.
*
*
* The value must be either -1 or an integer between 1 and 3,653.
*
*
* @param manualSnapshotRetentionPeriod
* The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained
* indefinitely.
*
* The value must be either -1 or an integer between 1 and 3,653.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withManualSnapshotRetentionPeriod(Integer manualSnapshotRetentionPeriod) {
setManualSnapshotRetentionPeriod(manualSnapshotRetentionPeriod);
return this;
}
/**
*
* The number of days until a manual snapshot will pass its retention period.
*
*
* @param manualSnapshotRemainingDays
* The number of days until a manual snapshot will pass its retention period.
*/
public void setManualSnapshotRemainingDays(Integer manualSnapshotRemainingDays) {
this.manualSnapshotRemainingDays = manualSnapshotRemainingDays;
}
/**
*
* The number of days until a manual snapshot will pass its retention period.
*
*
* @return The number of days until a manual snapshot will pass its retention period.
*/
public Integer getManualSnapshotRemainingDays() {
return this.manualSnapshotRemainingDays;
}
/**
*
* The number of days until a manual snapshot will pass its retention period.
*
*
* @param manualSnapshotRemainingDays
* The number of days until a manual snapshot will pass its retention period.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withManualSnapshotRemainingDays(Integer manualSnapshotRemainingDays) {
setManualSnapshotRemainingDays(manualSnapshotRemainingDays);
return this;
}
/**
*
* A timestamp representing the start of the retention period for the snapshot.
*
*
* @param snapshotRetentionStartTime
* A timestamp representing the start of the retention period for the snapshot.
*/
public void setSnapshotRetentionStartTime(java.util.Date snapshotRetentionStartTime) {
this.snapshotRetentionStartTime = snapshotRetentionStartTime;
}
/**
*
* A timestamp representing the start of the retention period for the snapshot.
*
*
* @return A timestamp representing the start of the retention period for the snapshot.
*/
public java.util.Date getSnapshotRetentionStartTime() {
return this.snapshotRetentionStartTime;
}
/**
*
* A timestamp representing the start of the retention period for the snapshot.
*
*
* @param snapshotRetentionStartTime
* A timestamp representing the start of the retention period for the snapshot.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withSnapshotRetentionStartTime(java.util.Date snapshotRetentionStartTime) {
setSnapshotRetentionStartTime(snapshotRetentionStartTime);
return this;
}
/**
*
* The Amazon Resource Name (ARN) for the cluster's admin user credentials secret.
*
*
* @param masterPasswordSecretArn
* The Amazon Resource Name (ARN) for the cluster's admin user credentials secret.
*/
public void setMasterPasswordSecretArn(String masterPasswordSecretArn) {
this.masterPasswordSecretArn = masterPasswordSecretArn;
}
/**
*
* The Amazon Resource Name (ARN) for the cluster's admin user credentials secret.
*
*
* @return The Amazon Resource Name (ARN) for the cluster's admin user credentials secret.
*/
public String getMasterPasswordSecretArn() {
return this.masterPasswordSecretArn;
}
/**
*
* The Amazon Resource Name (ARN) for the cluster's admin user credentials secret.
*
*
* @param masterPasswordSecretArn
* The Amazon Resource Name (ARN) for the cluster's admin user credentials secret.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withMasterPasswordSecretArn(String masterPasswordSecretArn) {
setMasterPasswordSecretArn(masterPasswordSecretArn);
return this;
}
/**
*
* The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret.
*
*
* @param masterPasswordSecretKmsKeyId
* The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials
* secret.
*/
public void setMasterPasswordSecretKmsKeyId(String masterPasswordSecretKmsKeyId) {
this.masterPasswordSecretKmsKeyId = masterPasswordSecretKmsKeyId;
}
/**
*
* The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret.
*
*
* @return The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials
* secret.
*/
public String getMasterPasswordSecretKmsKeyId() {
return this.masterPasswordSecretKmsKeyId;
}
/**
*
* The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret.
*
*
* @param masterPasswordSecretKmsKeyId
* The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials
* secret.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withMasterPasswordSecretKmsKeyId(String masterPasswordSecretKmsKeyId) {
setMasterPasswordSecretKmsKeyId(masterPasswordSecretKmsKeyId);
return this;
}
/**
*
* The Amazon Resource Name (ARN) of the snapshot.
*
*
* @param snapshotArn
* The Amazon Resource Name (ARN) of the snapshot.
*/
public void setSnapshotArn(String snapshotArn) {
this.snapshotArn = snapshotArn;
}
/**
*
* The Amazon Resource Name (ARN) of the snapshot.
*
*
* @return The Amazon Resource Name (ARN) of the snapshot.
*/
public String getSnapshotArn() {
return this.snapshotArn;
}
/**
*
* The Amazon Resource Name (ARN) of the snapshot.
*
*
* @param snapshotArn
* The Amazon Resource Name (ARN) of the snapshot.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Snapshot withSnapshotArn(String snapshotArn) {
setSnapshotArn(snapshotArn);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getSnapshotIdentifier() != null)
sb.append("SnapshotIdentifier: ").append(getSnapshotIdentifier()).append(",");
if (getClusterIdentifier() != null)
sb.append("ClusterIdentifier: ").append(getClusterIdentifier()).append(",");
if (getSnapshotCreateTime() != null)
sb.append("SnapshotCreateTime: ").append(getSnapshotCreateTime()).append(",");
if (getStatus() != null)
sb.append("Status: ").append(getStatus()).append(",");
if (getPort() != null)
sb.append("Port: ").append(getPort()).append(",");
if (getAvailabilityZone() != null)
sb.append("AvailabilityZone: ").append(getAvailabilityZone()).append(",");
if (getClusterCreateTime() != null)
sb.append("ClusterCreateTime: ").append(getClusterCreateTime()).append(",");
if (getMasterUsername() != null)
sb.append("MasterUsername: ").append(getMasterUsername()).append(",");
if (getClusterVersion() != null)
sb.append("ClusterVersion: ").append(getClusterVersion()).append(",");
if (getEngineFullVersion() != null)
sb.append("EngineFullVersion: ").append(getEngineFullVersion()).append(",");
if (getSnapshotType() != null)
sb.append("SnapshotType: ").append(getSnapshotType()).append(",");
if (getNodeType() != null)
sb.append("NodeType: ").append(getNodeType()).append(",");
if (getNumberOfNodes() != null)
sb.append("NumberOfNodes: ").append(getNumberOfNodes()).append(",");
if (getDBName() != null)
sb.append("DBName: ").append(getDBName()).append(",");
if (getVpcId() != null)
sb.append("VpcId: ").append(getVpcId()).append(",");
if (getEncrypted() != null)
sb.append("Encrypted: ").append(getEncrypted()).append(",");
if (getKmsKeyId() != null)
sb.append("KmsKeyId: ").append(getKmsKeyId()).append(",");
if (getEncryptedWithHSM() != null)
sb.append("EncryptedWithHSM: ").append(getEncryptedWithHSM()).append(",");
if (getAccountsWithRestoreAccess() != null)
sb.append("AccountsWithRestoreAccess: ").append(getAccountsWithRestoreAccess()).append(",");
if (getOwnerAccount() != null)
sb.append("OwnerAccount: ").append(getOwnerAccount()).append(",");
if (getTotalBackupSizeInMegaBytes() != null)
sb.append("TotalBackupSizeInMegaBytes: ").append(getTotalBackupSizeInMegaBytes()).append(",");
if (getActualIncrementalBackupSizeInMegaBytes() != null)
sb.append("ActualIncrementalBackupSizeInMegaBytes: ").append(getActualIncrementalBackupSizeInMegaBytes()).append(",");
if (getBackupProgressInMegaBytes() != null)
sb.append("BackupProgressInMegaBytes: ").append(getBackupProgressInMegaBytes()).append(",");
if (getCurrentBackupRateInMegaBytesPerSecond() != null)
sb.append("CurrentBackupRateInMegaBytesPerSecond: ").append(getCurrentBackupRateInMegaBytesPerSecond()).append(",");
if (getEstimatedSecondsToCompletion() != null)
sb.append("EstimatedSecondsToCompletion: ").append(getEstimatedSecondsToCompletion()).append(",");
if (getElapsedTimeInSeconds() != null)
sb.append("ElapsedTimeInSeconds: ").append(getElapsedTimeInSeconds()).append(",");
if (getSourceRegion() != null)
sb.append("SourceRegion: ").append(getSourceRegion()).append(",");
if (getTags() != null)
sb.append("Tags: ").append(getTags()).append(",");
if (getRestorableNodeTypes() != null)
sb.append("RestorableNodeTypes: ").append(getRestorableNodeTypes()).append(",");
if (getEnhancedVpcRouting() != null)
sb.append("EnhancedVpcRouting: ").append(getEnhancedVpcRouting()).append(",");
if (getMaintenanceTrackName() != null)
sb.append("MaintenanceTrackName: ").append(getMaintenanceTrackName()).append(",");
if (getManualSnapshotRetentionPeriod() != null)
sb.append("ManualSnapshotRetentionPeriod: ").append(getManualSnapshotRetentionPeriod()).append(",");
if (getManualSnapshotRemainingDays() != null)
sb.append("ManualSnapshotRemainingDays: ").append(getManualSnapshotRemainingDays()).append(",");
if (getSnapshotRetentionStartTime() != null)
sb.append("SnapshotRetentionStartTime: ").append(getSnapshotRetentionStartTime()).append(",");
if (getMasterPasswordSecretArn() != null)
sb.append("MasterPasswordSecretArn: ").append(getMasterPasswordSecretArn()).append(",");
if (getMasterPasswordSecretKmsKeyId() != null)
sb.append("MasterPasswordSecretKmsKeyId: ").append(getMasterPasswordSecretKmsKeyId()).append(",");
if (getSnapshotArn() != null)
sb.append("SnapshotArn: ").append(getSnapshotArn());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof Snapshot == false)
return false;
Snapshot other = (Snapshot) obj;
if (other.getSnapshotIdentifier() == null ^ this.getSnapshotIdentifier() == null)
return false;
if (other.getSnapshotIdentifier() != null && other.getSnapshotIdentifier().equals(this.getSnapshotIdentifier()) == false)
return false;
if (other.getClusterIdentifier() == null ^ this.getClusterIdentifier() == null)
return false;
if (other.getClusterIdentifier() != null && other.getClusterIdentifier().equals(this.getClusterIdentifier()) == false)
return false;
if (other.getSnapshotCreateTime() == null ^ this.getSnapshotCreateTime() == null)
return false;
if (other.getSnapshotCreateTime() != null && other.getSnapshotCreateTime().equals(this.getSnapshotCreateTime()) == false)
return false;
if (other.getStatus() == null ^ this.getStatus() == null)
return false;
if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == false)
return false;
if (other.getPort() == null ^ this.getPort() == null)
return false;
if (other.getPort() != null && other.getPort().equals(this.getPort()) == false)
return false;
if (other.getAvailabilityZone() == null ^ this.getAvailabilityZone() == null)
return false;
if (other.getAvailabilityZone() != null && other.getAvailabilityZone().equals(this.getAvailabilityZone()) == false)
return false;
if (other.getClusterCreateTime() == null ^ this.getClusterCreateTime() == null)
return false;
if (other.getClusterCreateTime() != null && other.getClusterCreateTime().equals(this.getClusterCreateTime()) == false)
return false;
if (other.getMasterUsername() == null ^ this.getMasterUsername() == null)
return false;
if (other.getMasterUsername() != null && other.getMasterUsername().equals(this.getMasterUsername()) == false)
return false;
if (other.getClusterVersion() == null ^ this.getClusterVersion() == null)
return false;
if (other.getClusterVersion() != null && other.getClusterVersion().equals(this.getClusterVersion()) == false)
return false;
if (other.getEngineFullVersion() == null ^ this.getEngineFullVersion() == null)
return false;
if (other.getEngineFullVersion() != null && other.getEngineFullVersion().equals(this.getEngineFullVersion()) == false)
return false;
if (other.getSnapshotType() == null ^ this.getSnapshotType() == null)
return false;
if (other.getSnapshotType() != null && other.getSnapshotType().equals(this.getSnapshotType()) == false)
return false;
if (other.getNodeType() == null ^ this.getNodeType() == null)
return false;
if (other.getNodeType() != null && other.getNodeType().equals(this.getNodeType()) == false)
return false;
if (other.getNumberOfNodes() == null ^ this.getNumberOfNodes() == null)
return false;
if (other.getNumberOfNodes() != null && other.getNumberOfNodes().equals(this.getNumberOfNodes()) == false)
return false;
if (other.getDBName() == null ^ this.getDBName() == null)
return false;
if (other.getDBName() != null && other.getDBName().equals(this.getDBName()) == false)
return false;
if (other.getVpcId() == null ^ this.getVpcId() == null)
return false;
if (other.getVpcId() != null && other.getVpcId().equals(this.getVpcId()) == false)
return false;
if (other.getEncrypted() == null ^ this.getEncrypted() == null)
return false;
if (other.getEncrypted() != null && other.getEncrypted().equals(this.getEncrypted()) == false)
return false;
if (other.getKmsKeyId() == null ^ this.getKmsKeyId() == null)
return false;
if (other.getKmsKeyId() != null && other.getKmsKeyId().equals(this.getKmsKeyId()) == false)
return false;
if (other.getEncryptedWithHSM() == null ^ this.getEncryptedWithHSM() == null)
return false;
if (other.getEncryptedWithHSM() != null && other.getEncryptedWithHSM().equals(this.getEncryptedWithHSM()) == false)
return false;
if (other.getAccountsWithRestoreAccess() == null ^ this.getAccountsWithRestoreAccess() == null)
return false;
if (other.getAccountsWithRestoreAccess() != null && other.getAccountsWithRestoreAccess().equals(this.getAccountsWithRestoreAccess()) == false)
return false;
if (other.getOwnerAccount() == null ^ this.getOwnerAccount() == null)
return false;
if (other.getOwnerAccount() != null && other.getOwnerAccount().equals(this.getOwnerAccount()) == false)
return false;
if (other.getTotalBackupSizeInMegaBytes() == null ^ this.getTotalBackupSizeInMegaBytes() == null)
return false;
if (other.getTotalBackupSizeInMegaBytes() != null && other.getTotalBackupSizeInMegaBytes().equals(this.getTotalBackupSizeInMegaBytes()) == false)
return false;
if (other.getActualIncrementalBackupSizeInMegaBytes() == null ^ this.getActualIncrementalBackupSizeInMegaBytes() == null)
return false;
if (other.getActualIncrementalBackupSizeInMegaBytes() != null
&& other.getActualIncrementalBackupSizeInMegaBytes().equals(this.getActualIncrementalBackupSizeInMegaBytes()) == false)
return false;
if (other.getBackupProgressInMegaBytes() == null ^ this.getBackupProgressInMegaBytes() == null)
return false;
if (other.getBackupProgressInMegaBytes() != null && other.getBackupProgressInMegaBytes().equals(this.getBackupProgressInMegaBytes()) == false)
return false;
if (other.getCurrentBackupRateInMegaBytesPerSecond() == null ^ this.getCurrentBackupRateInMegaBytesPerSecond() == null)
return false;
if (other.getCurrentBackupRateInMegaBytesPerSecond() != null
&& other.getCurrentBackupRateInMegaBytesPerSecond().equals(this.getCurrentBackupRateInMegaBytesPerSecond()) == false)
return false;
if (other.getEstimatedSecondsToCompletion() == null ^ this.getEstimatedSecondsToCompletion() == null)
return false;
if (other.getEstimatedSecondsToCompletion() != null && other.getEstimatedSecondsToCompletion().equals(this.getEstimatedSecondsToCompletion()) == false)
return false;
if (other.getElapsedTimeInSeconds() == null ^ this.getElapsedTimeInSeconds() == null)
return false;
if (other.getElapsedTimeInSeconds() != null && other.getElapsedTimeInSeconds().equals(this.getElapsedTimeInSeconds()) == false)
return false;
if (other.getSourceRegion() == null ^ this.getSourceRegion() == null)
return false;
if (other.getSourceRegion() != null && other.getSourceRegion().equals(this.getSourceRegion()) == false)
return false;
if (other.getTags() == null ^ this.getTags() == null)
return false;
if (other.getTags() != null && other.getTags().equals(this.getTags()) == false)
return false;
if (other.getRestorableNodeTypes() == null ^ this.getRestorableNodeTypes() == null)
return false;
if (other.getRestorableNodeTypes() != null && other.getRestorableNodeTypes().equals(this.getRestorableNodeTypes()) == false)
return false;
if (other.getEnhancedVpcRouting() == null ^ this.getEnhancedVpcRouting() == null)
return false;
if (other.getEnhancedVpcRouting() != null && other.getEnhancedVpcRouting().equals(this.getEnhancedVpcRouting()) == false)
return false;
if (other.getMaintenanceTrackName() == null ^ this.getMaintenanceTrackName() == null)
return false;
if (other.getMaintenanceTrackName() != null && other.getMaintenanceTrackName().equals(this.getMaintenanceTrackName()) == false)
return false;
if (other.getManualSnapshotRetentionPeriod() == null ^ this.getManualSnapshotRetentionPeriod() == null)
return false;
if (other.getManualSnapshotRetentionPeriod() != null
&& other.getManualSnapshotRetentionPeriod().equals(this.getManualSnapshotRetentionPeriod()) == false)
return false;
if (other.getManualSnapshotRemainingDays() == null ^ this.getManualSnapshotRemainingDays() == null)
return false;
if (other.getManualSnapshotRemainingDays() != null && other.getManualSnapshotRemainingDays().equals(this.getManualSnapshotRemainingDays()) == false)
return false;
if (other.getSnapshotRetentionStartTime() == null ^ this.getSnapshotRetentionStartTime() == null)
return false;
if (other.getSnapshotRetentionStartTime() != null && other.getSnapshotRetentionStartTime().equals(this.getSnapshotRetentionStartTime()) == false)
return false;
if (other.getMasterPasswordSecretArn() == null ^ this.getMasterPasswordSecretArn() == null)
return false;
if (other.getMasterPasswordSecretArn() != null && other.getMasterPasswordSecretArn().equals(this.getMasterPasswordSecretArn()) == false)
return false;
if (other.getMasterPasswordSecretKmsKeyId() == null ^ this.getMasterPasswordSecretKmsKeyId() == null)
return false;
if (other.getMasterPasswordSecretKmsKeyId() != null && other.getMasterPasswordSecretKmsKeyId().equals(this.getMasterPasswordSecretKmsKeyId()) == false)
return false;
if (other.getSnapshotArn() == null ^ this.getSnapshotArn() == null)
return false;
if (other.getSnapshotArn() != null && other.getSnapshotArn().equals(this.getSnapshotArn()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getSnapshotIdentifier() == null) ? 0 : getSnapshotIdentifier().hashCode());
hashCode = prime * hashCode + ((getClusterIdentifier() == null) ? 0 : getClusterIdentifier().hashCode());
hashCode = prime * hashCode + ((getSnapshotCreateTime() == null) ? 0 : getSnapshotCreateTime().hashCode());
hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode());
hashCode = prime * hashCode + ((getPort() == null) ? 0 : getPort().hashCode());
hashCode = prime * hashCode + ((getAvailabilityZone() == null) ? 0 : getAvailabilityZone().hashCode());
hashCode = prime * hashCode + ((getClusterCreateTime() == null) ? 0 : getClusterCreateTime().hashCode());
hashCode = prime * hashCode + ((getMasterUsername() == null) ? 0 : getMasterUsername().hashCode());
hashCode = prime * hashCode + ((getClusterVersion() == null) ? 0 : getClusterVersion().hashCode());
hashCode = prime * hashCode + ((getEngineFullVersion() == null) ? 0 : getEngineFullVersion().hashCode());
hashCode = prime * hashCode + ((getSnapshotType() == null) ? 0 : getSnapshotType().hashCode());
hashCode = prime * hashCode + ((getNodeType() == null) ? 0 : getNodeType().hashCode());
hashCode = prime * hashCode + ((getNumberOfNodes() == null) ? 0 : getNumberOfNodes().hashCode());
hashCode = prime * hashCode + ((getDBName() == null) ? 0 : getDBName().hashCode());
hashCode = prime * hashCode + ((getVpcId() == null) ? 0 : getVpcId().hashCode());
hashCode = prime * hashCode + ((getEncrypted() == null) ? 0 : getEncrypted().hashCode());
hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode());
hashCode = prime * hashCode + ((getEncryptedWithHSM() == null) ? 0 : getEncryptedWithHSM().hashCode());
hashCode = prime * hashCode + ((getAccountsWithRestoreAccess() == null) ? 0 : getAccountsWithRestoreAccess().hashCode());
hashCode = prime * hashCode + ((getOwnerAccount() == null) ? 0 : getOwnerAccount().hashCode());
hashCode = prime * hashCode + ((getTotalBackupSizeInMegaBytes() == null) ? 0 : getTotalBackupSizeInMegaBytes().hashCode());
hashCode = prime * hashCode + ((getActualIncrementalBackupSizeInMegaBytes() == null) ? 0 : getActualIncrementalBackupSizeInMegaBytes().hashCode());
hashCode = prime * hashCode + ((getBackupProgressInMegaBytes() == null) ? 0 : getBackupProgressInMegaBytes().hashCode());
hashCode = prime * hashCode + ((getCurrentBackupRateInMegaBytesPerSecond() == null) ? 0 : getCurrentBackupRateInMegaBytesPerSecond().hashCode());
hashCode = prime * hashCode + ((getEstimatedSecondsToCompletion() == null) ? 0 : getEstimatedSecondsToCompletion().hashCode());
hashCode = prime * hashCode + ((getElapsedTimeInSeconds() == null) ? 0 : getElapsedTimeInSeconds().hashCode());
hashCode = prime * hashCode + ((getSourceRegion() == null) ? 0 : getSourceRegion().hashCode());
hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode());
hashCode = prime * hashCode + ((getRestorableNodeTypes() == null) ? 0 : getRestorableNodeTypes().hashCode());
hashCode = prime * hashCode + ((getEnhancedVpcRouting() == null) ? 0 : getEnhancedVpcRouting().hashCode());
hashCode = prime * hashCode + ((getMaintenanceTrackName() == null) ? 0 : getMaintenanceTrackName().hashCode());
hashCode = prime * hashCode + ((getManualSnapshotRetentionPeriod() == null) ? 0 : getManualSnapshotRetentionPeriod().hashCode());
hashCode = prime * hashCode + ((getManualSnapshotRemainingDays() == null) ? 0 : getManualSnapshotRemainingDays().hashCode());
hashCode = prime * hashCode + ((getSnapshotRetentionStartTime() == null) ? 0 : getSnapshotRetentionStartTime().hashCode());
hashCode = prime * hashCode + ((getMasterPasswordSecretArn() == null) ? 0 : getMasterPasswordSecretArn().hashCode());
hashCode = prime * hashCode + ((getMasterPasswordSecretKmsKeyId() == null) ? 0 : getMasterPasswordSecretKmsKeyId().hashCode());
hashCode = prime * hashCode + ((getSnapshotArn() == null) ? 0 : getSnapshotArn().hashCode());
return hashCode;
}
@Override
public Snapshot clone() {
try {
return (Snapshot) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
}