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

com.amazonaws.services.redshift.model.Snapshot Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Redshift module holds the client classes that are used for communicating with Amazon Redshift Service

The newest version!
/*
 * 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: *

* */ 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: *

* * * @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: *

    * * * @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: *

      * * * @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); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy