/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace Redshift { namespace Model { /** *

Describes a snapshot.

See Also:

AWS * API Reference

*/ class Snapshot { public: AWS_REDSHIFT_API Snapshot(); AWS_REDSHIFT_API Snapshot(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_REDSHIFT_API Snapshot& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The snapshot identifier that is provided in the request.

*/ inline const Aws::String& GetSnapshotIdentifier() const{ return m_snapshotIdentifier; } /** *

The snapshot identifier that is provided in the request.

*/ inline bool SnapshotIdentifierHasBeenSet() const { return m_snapshotIdentifierHasBeenSet; } /** *

The snapshot identifier that is provided in the request.

*/ inline void SetSnapshotIdentifier(const Aws::String& value) { m_snapshotIdentifierHasBeenSet = true; m_snapshotIdentifier = value; } /** *

The snapshot identifier that is provided in the request.

*/ inline void SetSnapshotIdentifier(Aws::String&& value) { m_snapshotIdentifierHasBeenSet = true; m_snapshotIdentifier = std::move(value); } /** *

The snapshot identifier that is provided in the request.

*/ inline void SetSnapshotIdentifier(const char* value) { m_snapshotIdentifierHasBeenSet = true; m_snapshotIdentifier.assign(value); } /** *

The snapshot identifier that is provided in the request.

*/ inline Snapshot& WithSnapshotIdentifier(const Aws::String& value) { SetSnapshotIdentifier(value); return *this;} /** *

The snapshot identifier that is provided in the request.

*/ inline Snapshot& WithSnapshotIdentifier(Aws::String&& value) { SetSnapshotIdentifier(std::move(value)); return *this;} /** *

The snapshot identifier that is provided in the request.

*/ inline Snapshot& WithSnapshotIdentifier(const char* value) { SetSnapshotIdentifier(value); return *this;} /** *

The identifier of the cluster for which the snapshot was taken.

*/ inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } /** *

The identifier of the cluster for which the snapshot was taken.

*/ inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } /** *

The identifier of the cluster for which the snapshot was taken.

*/ inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } /** *

The identifier of the cluster for which the snapshot was taken.

*/ inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } /** *

The identifier of the cluster for which the snapshot was taken.

*/ inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } /** *

The identifier of the cluster for which the snapshot was taken.

*/ inline Snapshot& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} /** *

The identifier of the cluster for which the snapshot was taken.

*/ inline Snapshot& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} /** *

The identifier of the cluster for which the snapshot was taken.

*/ inline Snapshot& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); 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.

*/ inline const Aws::Utils::DateTime& GetSnapshotCreateTime() const{ return m_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.

*/ inline bool SnapshotCreateTimeHasBeenSet() const { return m_snapshotCreateTimeHasBeenSet; } /** *

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.

*/ inline void SetSnapshotCreateTime(const Aws::Utils::DateTime& value) { m_snapshotCreateTimeHasBeenSet = true; m_snapshotCreateTime = value; } /** *

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.

*/ inline void SetSnapshotCreateTime(Aws::Utils::DateTime&& value) { m_snapshotCreateTimeHasBeenSet = true; m_snapshotCreateTime = std::move(value); } /** *

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.

*/ inline Snapshot& WithSnapshotCreateTime(const Aws::Utils::DateTime& value) { SetSnapshotCreateTime(value); 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.

*/ inline Snapshot& WithSnapshotCreateTime(Aws::Utils::DateTime&& value) { SetSnapshotCreateTime(std::move(value)); return *this;} /** *

The snapshot status. The value of the status depends on the API operation * used:

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The snapshot status. The value of the status depends on the API operation * used:

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The snapshot status. The value of the status depends on the API operation * used:

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The snapshot status. The value of the status depends on the API operation * used:

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The snapshot status. The value of the status depends on the API operation * used:

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The snapshot status. The value of the status depends on the API operation * used:

*/ inline Snapshot& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The snapshot status. The value of the status depends on the API operation * used:

*/ inline Snapshot& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The snapshot status. The value of the status depends on the API operation * used:

*/ inline Snapshot& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

The port that the cluster is listening on.

*/ inline int GetPort() const{ return m_port; } /** *

The port that the cluster is listening on.

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

The port that the cluster is listening on.

*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *

The port that the cluster is listening on.

*/ inline Snapshot& WithPort(int value) { SetPort(value); return *this;} /** *

The Availability Zone in which the cluster was created.

*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *

The Availability Zone in which the cluster was created.

*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *

The Availability Zone in which the cluster was created.

*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *

The Availability Zone in which the cluster was created.

*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *

The Availability Zone in which the cluster was created.

*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *

The Availability Zone in which the cluster was created.

*/ inline Snapshot& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *

The Availability Zone in which the cluster was created.

*/ inline Snapshot& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *

The Availability Zone in which the cluster was created.

*/ inline Snapshot& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *

The time (UTC) when the cluster was originally created.

*/ inline const Aws::Utils::DateTime& GetClusterCreateTime() const{ return m_clusterCreateTime; } /** *

The time (UTC) when the cluster was originally created.

*/ inline bool ClusterCreateTimeHasBeenSet() const { return m_clusterCreateTimeHasBeenSet; } /** *

The time (UTC) when the cluster was originally created.

*/ inline void SetClusterCreateTime(const Aws::Utils::DateTime& value) { m_clusterCreateTimeHasBeenSet = true; m_clusterCreateTime = value; } /** *

The time (UTC) when the cluster was originally created.

*/ inline void SetClusterCreateTime(Aws::Utils::DateTime&& value) { m_clusterCreateTimeHasBeenSet = true; m_clusterCreateTime = std::move(value); } /** *

The time (UTC) when the cluster was originally created.

*/ inline Snapshot& WithClusterCreateTime(const Aws::Utils::DateTime& value) { SetClusterCreateTime(value); return *this;} /** *

The time (UTC) when the cluster was originally created.

*/ inline Snapshot& WithClusterCreateTime(Aws::Utils::DateTime&& value) { SetClusterCreateTime(std::move(value)); return *this;} /** *

The admin user name for the cluster.

*/ inline const Aws::String& GetMasterUsername() const{ return m_masterUsername; } /** *

The admin user name for the cluster.

*/ inline bool MasterUsernameHasBeenSet() const { return m_masterUsernameHasBeenSet; } /** *

The admin user name for the cluster.

*/ inline void SetMasterUsername(const Aws::String& value) { m_masterUsernameHasBeenSet = true; m_masterUsername = value; } /** *

The admin user name for the cluster.

*/ inline void SetMasterUsername(Aws::String&& value) { m_masterUsernameHasBeenSet = true; m_masterUsername = std::move(value); } /** *

The admin user name for the cluster.

*/ inline void SetMasterUsername(const char* value) { m_masterUsernameHasBeenSet = true; m_masterUsername.assign(value); } /** *

The admin user name for the cluster.

*/ inline Snapshot& WithMasterUsername(const Aws::String& value) { SetMasterUsername(value); return *this;} /** *

The admin user name for the cluster.

*/ inline Snapshot& WithMasterUsername(Aws::String&& value) { SetMasterUsername(std::move(value)); return *this;} /** *

The admin user name for the cluster.

*/ inline Snapshot& WithMasterUsername(const char* value) { SetMasterUsername(value); return *this;} /** *

The version ID of the Amazon Redshift engine that is running on the * cluster.

*/ inline const Aws::String& GetClusterVersion() const{ return m_clusterVersion; } /** *

The version ID of the Amazon Redshift engine that is running on the * cluster.

*/ inline bool ClusterVersionHasBeenSet() const { return m_clusterVersionHasBeenSet; } /** *

The version ID of the Amazon Redshift engine that is running on the * cluster.

*/ inline void SetClusterVersion(const Aws::String& value) { m_clusterVersionHasBeenSet = true; m_clusterVersion = value; } /** *

The version ID of the Amazon Redshift engine that is running on the * cluster.

*/ inline void SetClusterVersion(Aws::String&& value) { m_clusterVersionHasBeenSet = true; m_clusterVersion = std::move(value); } /** *

The version ID of the Amazon Redshift engine that is running on the * cluster.

*/ inline void SetClusterVersion(const char* value) { m_clusterVersionHasBeenSet = true; m_clusterVersion.assign(value); } /** *

The version ID of the Amazon Redshift engine that is running on the * cluster.

*/ inline Snapshot& WithClusterVersion(const Aws::String& value) { SetClusterVersion(value); return *this;} /** *

The version ID of the Amazon Redshift engine that is running on the * cluster.

*/ inline Snapshot& WithClusterVersion(Aws::String&& value) { SetClusterVersion(std::move(value)); return *this;} /** *

The version ID of the Amazon Redshift engine that is running on the * cluster.

*/ inline Snapshot& WithClusterVersion(const char* value) { SetClusterVersion(value); return *this;} /** *

The cluster version of the cluster used to create the snapshot. For example, * 1.0.15503.

*/ inline const Aws::String& GetEngineFullVersion() const{ return m_engineFullVersion; } /** *

The cluster version of the cluster used to create the snapshot. For example, * 1.0.15503.

*/ inline bool EngineFullVersionHasBeenSet() const { return m_engineFullVersionHasBeenSet; } /** *

The cluster version of the cluster used to create the snapshot. For example, * 1.0.15503.

*/ inline void SetEngineFullVersion(const Aws::String& value) { m_engineFullVersionHasBeenSet = true; m_engineFullVersion = value; } /** *

The cluster version of the cluster used to create the snapshot. For example, * 1.0.15503.

*/ inline void SetEngineFullVersion(Aws::String&& value) { m_engineFullVersionHasBeenSet = true; m_engineFullVersion = std::move(value); } /** *

The cluster version of the cluster used to create the snapshot. For example, * 1.0.15503.

*/ inline void SetEngineFullVersion(const char* value) { m_engineFullVersionHasBeenSet = true; m_engineFullVersion.assign(value); } /** *

The cluster version of the cluster used to create the snapshot. For example, * 1.0.15503.

*/ inline Snapshot& WithEngineFullVersion(const Aws::String& value) { SetEngineFullVersion(value); return *this;} /** *

The cluster version of the cluster used to create the snapshot. For example, * 1.0.15503.

*/ inline Snapshot& WithEngineFullVersion(Aws::String&& value) { SetEngineFullVersion(std::move(value)); return *this;} /** *

The cluster version of the cluster used to create the snapshot. For example, * 1.0.15503.

*/ inline Snapshot& WithEngineFullVersion(const char* value) { SetEngineFullVersion(value); return *this;} /** *

The snapshot type. Snapshots created using CreateClusterSnapshot and * CopyClusterSnapshot are of type "manual".

*/ inline const Aws::String& GetSnapshotType() const{ return m_snapshotType; } /** *

The snapshot type. Snapshots created using CreateClusterSnapshot and * CopyClusterSnapshot are of type "manual".

*/ inline bool SnapshotTypeHasBeenSet() const { return m_snapshotTypeHasBeenSet; } /** *

The snapshot type. Snapshots created using CreateClusterSnapshot and * CopyClusterSnapshot are of type "manual".

*/ inline void SetSnapshotType(const Aws::String& value) { m_snapshotTypeHasBeenSet = true; m_snapshotType = value; } /** *

The snapshot type. Snapshots created using CreateClusterSnapshot and * CopyClusterSnapshot are of type "manual".

*/ inline void SetSnapshotType(Aws::String&& value) { m_snapshotTypeHasBeenSet = true; m_snapshotType = std::move(value); } /** *

The snapshot type. Snapshots created using CreateClusterSnapshot and * CopyClusterSnapshot are of type "manual".

*/ inline void SetSnapshotType(const char* value) { m_snapshotTypeHasBeenSet = true; m_snapshotType.assign(value); } /** *

The snapshot type. Snapshots created using CreateClusterSnapshot and * CopyClusterSnapshot are of type "manual".

*/ inline Snapshot& WithSnapshotType(const Aws::String& value) { SetSnapshotType(value); return *this;} /** *

The snapshot type. Snapshots created using CreateClusterSnapshot and * CopyClusterSnapshot are of type "manual".

*/ inline Snapshot& WithSnapshotType(Aws::String&& value) { SetSnapshotType(std::move(value)); return *this;} /** *

The snapshot type. Snapshots created using CreateClusterSnapshot and * CopyClusterSnapshot are of type "manual".

*/ inline Snapshot& WithSnapshotType(const char* value) { SetSnapshotType(value); return *this;} /** *

The node type of the nodes in the cluster.

*/ inline const Aws::String& GetNodeType() const{ return m_nodeType; } /** *

The node type of the nodes in the cluster.

*/ inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; } /** *

The node type of the nodes in the cluster.

*/ inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; } /** *

The node type of the nodes in the cluster.

*/ inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); } /** *

The node type of the nodes in the cluster.

*/ inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); } /** *

The node type of the nodes in the cluster.

*/ inline Snapshot& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;} /** *

The node type of the nodes in the cluster.

*/ inline Snapshot& WithNodeType(Aws::String&& value) { SetNodeType(std::move(value)); return *this;} /** *

The node type of the nodes in the cluster.

*/ inline Snapshot& WithNodeType(const char* value) { SetNodeType(value); return *this;} /** *

The number of nodes in the cluster.

*/ inline int GetNumberOfNodes() const{ return m_numberOfNodes; } /** *

The number of nodes in the cluster.

*/ inline bool NumberOfNodesHasBeenSet() const { return m_numberOfNodesHasBeenSet; } /** *

The number of nodes in the cluster.

*/ inline void SetNumberOfNodes(int value) { m_numberOfNodesHasBeenSet = true; m_numberOfNodes = value; } /** *

The number of nodes in the cluster.

*/ inline Snapshot& WithNumberOfNodes(int value) { SetNumberOfNodes(value); return *this;} /** *

The name of the database that was created when the cluster was created.

*/ inline const Aws::String& GetDBName() const{ return m_dBName; } /** *

The name of the database that was created when the cluster was created.

*/ inline bool DBNameHasBeenSet() const { return m_dBNameHasBeenSet; } /** *

The name of the database that was created when the cluster was created.

*/ inline void SetDBName(const Aws::String& value) { m_dBNameHasBeenSet = true; m_dBName = value; } /** *

The name of the database that was created when the cluster was created.

*/ inline void SetDBName(Aws::String&& value) { m_dBNameHasBeenSet = true; m_dBName = std::move(value); } /** *

The name of the database that was created when the cluster was created.

*/ inline void SetDBName(const char* value) { m_dBNameHasBeenSet = true; m_dBName.assign(value); } /** *

The name of the database that was created when the cluster was created.

*/ inline Snapshot& WithDBName(const Aws::String& value) { SetDBName(value); return *this;} /** *

The name of the database that was created when the cluster was created.

*/ inline Snapshot& WithDBName(Aws::String&& value) { SetDBName(std::move(value)); return *this;} /** *

The name of the database that was created when the cluster was created.

*/ inline Snapshot& WithDBName(const char* value) { SetDBName(value); 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.

*/ inline const Aws::String& GetVpcId() const{ return m_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.

*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *

The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. * Otherwise, this field is not in the output.

*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *

The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. * Otherwise, this field is not in the output.

*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *

The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. * Otherwise, this field is not in the output.

*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *

The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. * Otherwise, this field is not in the output.

*/ inline Snapshot& WithVpcId(const Aws::String& value) { SetVpcId(value); 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.

*/ inline Snapshot& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); 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.

*/ inline Snapshot& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *

If true, the data in the snapshot is encrypted at rest.

*/ inline bool GetEncrypted() const{ return m_encrypted; } /** *

If true, the data in the snapshot is encrypted at rest.

*/ inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; } /** *

If true, the data in the snapshot is encrypted at rest.

*/ inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; } /** *

If true, the data in the snapshot is encrypted at rest.

*/ inline Snapshot& WithEncrypted(bool value) { SetEncrypted(value); return *this;} /** *

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.

*/ inline const Aws::String& GetKmsKeyId() const{ return m_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.

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

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.

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *

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.

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *

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.

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *

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.

*/ inline Snapshot& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

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.

*/ inline Snapshot& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

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.

*/ inline Snapshot& WithKmsKeyId(const char* value) { SetKmsKeyId(value); 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.

*/ inline bool GetEncryptedWithHSM() const{ return m_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.

*/ inline bool EncryptedWithHSMHasBeenSet() const { return m_encryptedWithHSMHasBeenSet; } /** *

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.

*/ inline void SetEncryptedWithHSM(bool value) { m_encryptedWithHSMHasBeenSet = true; m_encryptedWithHSM = value; } /** *

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.

*/ inline Snapshot& WithEncryptedWithHSM(bool value) { SetEncryptedWithHSM(value); 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.

*/ inline const Aws::Vector& GetAccountsWithRestoreAccess() const{ return m_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.

*/ inline bool AccountsWithRestoreAccessHasBeenSet() const { return m_accountsWithRestoreAccessHasBeenSet; } /** *

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.

*/ inline void SetAccountsWithRestoreAccess(const Aws::Vector& value) { m_accountsWithRestoreAccessHasBeenSet = true; m_accountsWithRestoreAccess = value; } /** *

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.

*/ inline void SetAccountsWithRestoreAccess(Aws::Vector&& value) { m_accountsWithRestoreAccessHasBeenSet = true; m_accountsWithRestoreAccess = std::move(value); } /** *

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.

*/ inline Snapshot& WithAccountsWithRestoreAccess(const Aws::Vector& value) { SetAccountsWithRestoreAccess(value); 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.

*/ inline Snapshot& WithAccountsWithRestoreAccess(Aws::Vector&& value) { SetAccountsWithRestoreAccess(std::move(value)); 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.

*/ inline Snapshot& AddAccountsWithRestoreAccess(const AccountWithRestoreAccess& value) { m_accountsWithRestoreAccessHasBeenSet = true; m_accountsWithRestoreAccess.push_back(value); 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.

*/ inline Snapshot& AddAccountsWithRestoreAccess(AccountWithRestoreAccess&& value) { m_accountsWithRestoreAccessHasBeenSet = true; m_accountsWithRestoreAccess.push_back(std::move(value)); 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.

*/ inline const Aws::String& GetOwnerAccount() const{ return m_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.

*/ inline bool OwnerAccountHasBeenSet() const { return m_ownerAccountHasBeenSet; } /** *

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.

*/ inline void SetOwnerAccount(const Aws::String& value) { m_ownerAccountHasBeenSet = true; m_ownerAccount = value; } /** *

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.

*/ inline void SetOwnerAccount(Aws::String&& value) { m_ownerAccountHasBeenSet = true; m_ownerAccount = std::move(value); } /** *

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.

*/ inline void SetOwnerAccount(const char* value) { m_ownerAccountHasBeenSet = true; m_ownerAccount.assign(value); } /** *

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.

*/ inline Snapshot& WithOwnerAccount(const Aws::String& value) { SetOwnerAccount(value); 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.

*/ inline Snapshot& WithOwnerAccount(Aws::String&& value) { SetOwnerAccount(std::move(value)); 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.

*/ inline Snapshot& WithOwnerAccount(const char* value) { SetOwnerAccount(value); return *this;} /** *

The size of the complete set of backup data that would be used to restore the * cluster.

*/ inline double GetTotalBackupSizeInMegaBytes() const{ return m_totalBackupSizeInMegaBytes; } /** *

The size of the complete set of backup data that would be used to restore the * cluster.

*/ inline bool TotalBackupSizeInMegaBytesHasBeenSet() const { return m_totalBackupSizeInMegaBytesHasBeenSet; } /** *

The size of the complete set of backup data that would be used to restore the * cluster.

*/ inline void SetTotalBackupSizeInMegaBytes(double value) { m_totalBackupSizeInMegaBytesHasBeenSet = true; m_totalBackupSizeInMegaBytes = value; } /** *

The size of the complete set of backup data that would be used to restore the * cluster.

*/ inline Snapshot& WithTotalBackupSizeInMegaBytes(double value) { SetTotalBackupSizeInMegaBytes(value); return *this;} /** *

The size of the incremental backup.

*/ inline double GetActualIncrementalBackupSizeInMegaBytes() const{ return m_actualIncrementalBackupSizeInMegaBytes; } /** *

The size of the incremental backup.

*/ inline bool ActualIncrementalBackupSizeInMegaBytesHasBeenSet() const { return m_actualIncrementalBackupSizeInMegaBytesHasBeenSet; } /** *

The size of the incremental backup.

*/ inline void SetActualIncrementalBackupSizeInMegaBytes(double value) { m_actualIncrementalBackupSizeInMegaBytesHasBeenSet = true; m_actualIncrementalBackupSizeInMegaBytes = value; } /** *

The size of the incremental backup.

*/ inline Snapshot& WithActualIncrementalBackupSizeInMegaBytes(double value) { SetActualIncrementalBackupSizeInMegaBytes(value); return *this;} /** *

The number of megabytes that have been transferred to the snapshot * backup.

*/ inline double GetBackupProgressInMegaBytes() const{ return m_backupProgressInMegaBytes; } /** *

The number of megabytes that have been transferred to the snapshot * backup.

*/ inline bool BackupProgressInMegaBytesHasBeenSet() const { return m_backupProgressInMegaBytesHasBeenSet; } /** *

The number of megabytes that have been transferred to the snapshot * backup.

*/ inline void SetBackupProgressInMegaBytes(double value) { m_backupProgressInMegaBytesHasBeenSet = true; m_backupProgressInMegaBytes = value; } /** *

The number of megabytes that have been transferred to the snapshot * backup.

*/ inline Snapshot& WithBackupProgressInMegaBytes(double value) { SetBackupProgressInMegaBytes(value); return *this;} /** *

The number of megabytes per second being transferred to the snapshot backup. * Returns 0 for a completed backup.

*/ inline double GetCurrentBackupRateInMegaBytesPerSecond() const{ return m_currentBackupRateInMegaBytesPerSecond; } /** *

The number of megabytes per second being transferred to the snapshot backup. * Returns 0 for a completed backup.

*/ inline bool CurrentBackupRateInMegaBytesPerSecondHasBeenSet() const { return m_currentBackupRateInMegaBytesPerSecondHasBeenSet; } /** *

The number of megabytes per second being transferred to the snapshot backup. * Returns 0 for a completed backup.

*/ inline void SetCurrentBackupRateInMegaBytesPerSecond(double value) { m_currentBackupRateInMegaBytesPerSecondHasBeenSet = true; m_currentBackupRateInMegaBytesPerSecond = value; } /** *

The number of megabytes per second being transferred to the snapshot backup. * Returns 0 for a completed backup.

*/ inline Snapshot& WithCurrentBackupRateInMegaBytesPerSecond(double value) { SetCurrentBackupRateInMegaBytesPerSecond(value); return *this;} /** *

The estimate of the time remaining before the snapshot backup will complete. * Returns 0 for a completed backup.

*/ inline long long GetEstimatedSecondsToCompletion() const{ return m_estimatedSecondsToCompletion; } /** *

The estimate of the time remaining before the snapshot backup will complete. * Returns 0 for a completed backup.

*/ inline bool EstimatedSecondsToCompletionHasBeenSet() const { return m_estimatedSecondsToCompletionHasBeenSet; } /** *

The estimate of the time remaining before the snapshot backup will complete. * Returns 0 for a completed backup.

*/ inline void SetEstimatedSecondsToCompletion(long long value) { m_estimatedSecondsToCompletionHasBeenSet = true; m_estimatedSecondsToCompletion = value; } /** *

The estimate of the time remaining before the snapshot backup will complete. * Returns 0 for a completed backup.

*/ inline Snapshot& WithEstimatedSecondsToCompletion(long long value) { SetEstimatedSecondsToCompletion(value); 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.

*/ inline long long GetElapsedTimeInSeconds() const{ return m_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.

*/ inline bool ElapsedTimeInSecondsHasBeenSet() const { return m_elapsedTimeInSecondsHasBeenSet; } /** *

The amount of time an in-progress snapshot backup has been running, or the * amount of time it took a completed backup to finish.

*/ inline void SetElapsedTimeInSeconds(long long value) { m_elapsedTimeInSecondsHasBeenSet = true; m_elapsedTimeInSeconds = value; } /** *

The amount of time an in-progress snapshot backup has been running, or the * amount of time it took a completed backup to finish.

*/ inline Snapshot& WithElapsedTimeInSeconds(long long value) { SetElapsedTimeInSeconds(value); return *this;} /** *

The source region from which the snapshot was copied.

*/ inline const Aws::String& GetSourceRegion() const{ return m_sourceRegion; } /** *

The source region from which the snapshot was copied.

*/ inline bool SourceRegionHasBeenSet() const { return m_sourceRegionHasBeenSet; } /** *

The source region from which the snapshot was copied.

*/ inline void SetSourceRegion(const Aws::String& value) { m_sourceRegionHasBeenSet = true; m_sourceRegion = value; } /** *

The source region from which the snapshot was copied.

*/ inline void SetSourceRegion(Aws::String&& value) { m_sourceRegionHasBeenSet = true; m_sourceRegion = std::move(value); } /** *

The source region from which the snapshot was copied.

*/ inline void SetSourceRegion(const char* value) { m_sourceRegionHasBeenSet = true; m_sourceRegion.assign(value); } /** *

The source region from which the snapshot was copied.

*/ inline Snapshot& WithSourceRegion(const Aws::String& value) { SetSourceRegion(value); return *this;} /** *

The source region from which the snapshot was copied.

*/ inline Snapshot& WithSourceRegion(Aws::String&& value) { SetSourceRegion(std::move(value)); return *this;} /** *

The source region from which the snapshot was copied.

*/ inline Snapshot& WithSourceRegion(const char* value) { SetSourceRegion(value); return *this;} /** *

The list of tags for the cluster snapshot.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The list of tags for the cluster snapshot.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The list of tags for the cluster snapshot.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The list of tags for the cluster snapshot.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The list of tags for the cluster snapshot.

*/ inline Snapshot& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The list of tags for the cluster snapshot.

*/ inline Snapshot& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The list of tags for the cluster snapshot.

*/ inline Snapshot& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The list of tags for the cluster snapshot.

*/ inline Snapshot& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The list of node types that this cluster snapshot is able to restore * into.

*/ inline const Aws::Vector& GetRestorableNodeTypes() const{ return m_restorableNodeTypes; } /** *

The list of node types that this cluster snapshot is able to restore * into.

*/ inline bool RestorableNodeTypesHasBeenSet() const { return m_restorableNodeTypesHasBeenSet; } /** *

The list of node types that this cluster snapshot is able to restore * into.

*/ inline void SetRestorableNodeTypes(const Aws::Vector& value) { m_restorableNodeTypesHasBeenSet = true; m_restorableNodeTypes = value; } /** *

The list of node types that this cluster snapshot is able to restore * into.

*/ inline void SetRestorableNodeTypes(Aws::Vector&& value) { m_restorableNodeTypesHasBeenSet = true; m_restorableNodeTypes = std::move(value); } /** *

The list of node types that this cluster snapshot is able to restore * into.

*/ inline Snapshot& WithRestorableNodeTypes(const Aws::Vector& value) { SetRestorableNodeTypes(value); return *this;} /** *

The list of node types that this cluster snapshot is able to restore * into.

*/ inline Snapshot& WithRestorableNodeTypes(Aws::Vector&& value) { SetRestorableNodeTypes(std::move(value)); return *this;} /** *

The list of node types that this cluster snapshot is able to restore * into.

*/ inline Snapshot& AddRestorableNodeTypes(const Aws::String& value) { m_restorableNodeTypesHasBeenSet = true; m_restorableNodeTypes.push_back(value); return *this; } /** *

The list of node types that this cluster snapshot is able to restore * into.

*/ inline Snapshot& AddRestorableNodeTypes(Aws::String&& value) { m_restorableNodeTypesHasBeenSet = true; m_restorableNodeTypes.push_back(std::move(value)); return *this; } /** *

The list of node types that this cluster snapshot is able to restore * into.

*/ inline Snapshot& AddRestorableNodeTypes(const char* value) { m_restorableNodeTypesHasBeenSet = true; m_restorableNodeTypes.push_back(value); 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

*/ inline bool GetEnhancedVpcRouting() const{ return m_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

*/ inline bool EnhancedVpcRoutingHasBeenSet() const { return m_enhancedVpcRoutingHasBeenSet; } /** *

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

*/ inline void SetEnhancedVpcRouting(bool value) { m_enhancedVpcRoutingHasBeenSet = true; m_enhancedVpcRouting = value; } /** *

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

*/ inline Snapshot& WithEnhancedVpcRouting(bool value) { SetEnhancedVpcRouting(value); return *this;} /** *

The name of the maintenance track for the snapshot.

*/ inline const Aws::String& GetMaintenanceTrackName() const{ return m_maintenanceTrackName; } /** *

The name of the maintenance track for the snapshot.

*/ inline bool MaintenanceTrackNameHasBeenSet() const { return m_maintenanceTrackNameHasBeenSet; } /** *

The name of the maintenance track for the snapshot.

*/ inline void SetMaintenanceTrackName(const Aws::String& value) { m_maintenanceTrackNameHasBeenSet = true; m_maintenanceTrackName = value; } /** *

The name of the maintenance track for the snapshot.

*/ inline void SetMaintenanceTrackName(Aws::String&& value) { m_maintenanceTrackNameHasBeenSet = true; m_maintenanceTrackName = std::move(value); } /** *

The name of the maintenance track for the snapshot.

*/ inline void SetMaintenanceTrackName(const char* value) { m_maintenanceTrackNameHasBeenSet = true; m_maintenanceTrackName.assign(value); } /** *

The name of the maintenance track for the snapshot.

*/ inline Snapshot& WithMaintenanceTrackName(const Aws::String& value) { SetMaintenanceTrackName(value); return *this;} /** *

The name of the maintenance track for the snapshot.

*/ inline Snapshot& WithMaintenanceTrackName(Aws::String&& value) { SetMaintenanceTrackName(std::move(value)); return *this;} /** *

The name of the maintenance track for the snapshot.

*/ inline Snapshot& WithMaintenanceTrackName(const char* value) { SetMaintenanceTrackName(value); 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.

*/ inline int GetManualSnapshotRetentionPeriod() const{ return m_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.

*/ inline bool ManualSnapshotRetentionPeriodHasBeenSet() const { return m_manualSnapshotRetentionPeriodHasBeenSet; } /** *

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.

*/ inline void SetManualSnapshotRetentionPeriod(int value) { m_manualSnapshotRetentionPeriodHasBeenSet = true; m_manualSnapshotRetentionPeriod = value; } /** *

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.

*/ inline Snapshot& WithManualSnapshotRetentionPeriod(int value) { SetManualSnapshotRetentionPeriod(value); return *this;} /** *

The number of days until a manual snapshot will pass its retention * period.

*/ inline int GetManualSnapshotRemainingDays() const{ return m_manualSnapshotRemainingDays; } /** *

The number of days until a manual snapshot will pass its retention * period.

*/ inline bool ManualSnapshotRemainingDaysHasBeenSet() const { return m_manualSnapshotRemainingDaysHasBeenSet; } /** *

The number of days until a manual snapshot will pass its retention * period.

*/ inline void SetManualSnapshotRemainingDays(int value) { m_manualSnapshotRemainingDaysHasBeenSet = true; m_manualSnapshotRemainingDays = value; } /** *

The number of days until a manual snapshot will pass its retention * period.

*/ inline Snapshot& WithManualSnapshotRemainingDays(int value) { SetManualSnapshotRemainingDays(value); return *this;} /** *

A timestamp representing the start of the retention period for the * snapshot.

*/ inline const Aws::Utils::DateTime& GetSnapshotRetentionStartTime() const{ return m_snapshotRetentionStartTime; } /** *

A timestamp representing the start of the retention period for the * snapshot.

*/ inline bool SnapshotRetentionStartTimeHasBeenSet() const { return m_snapshotRetentionStartTimeHasBeenSet; } /** *

A timestamp representing the start of the retention period for the * snapshot.

*/ inline void SetSnapshotRetentionStartTime(const Aws::Utils::DateTime& value) { m_snapshotRetentionStartTimeHasBeenSet = true; m_snapshotRetentionStartTime = value; } /** *

A timestamp representing the start of the retention period for the * snapshot.

*/ inline void SetSnapshotRetentionStartTime(Aws::Utils::DateTime&& value) { m_snapshotRetentionStartTimeHasBeenSet = true; m_snapshotRetentionStartTime = std::move(value); } /** *

A timestamp representing the start of the retention period for the * snapshot.

*/ inline Snapshot& WithSnapshotRetentionStartTime(const Aws::Utils::DateTime& value) { SetSnapshotRetentionStartTime(value); return *this;} /** *

A timestamp representing the start of the retention period for the * snapshot.

*/ inline Snapshot& WithSnapshotRetentionStartTime(Aws::Utils::DateTime&& value) { SetSnapshotRetentionStartTime(std::move(value)); return *this;} private: Aws::String m_snapshotIdentifier; bool m_snapshotIdentifierHasBeenSet = false; Aws::String m_clusterIdentifier; bool m_clusterIdentifierHasBeenSet = false; Aws::Utils::DateTime m_snapshotCreateTime; bool m_snapshotCreateTimeHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; Aws::Utils::DateTime m_clusterCreateTime; bool m_clusterCreateTimeHasBeenSet = false; Aws::String m_masterUsername; bool m_masterUsernameHasBeenSet = false; Aws::String m_clusterVersion; bool m_clusterVersionHasBeenSet = false; Aws::String m_engineFullVersion; bool m_engineFullVersionHasBeenSet = false; Aws::String m_snapshotType; bool m_snapshotTypeHasBeenSet = false; Aws::String m_nodeType; bool m_nodeTypeHasBeenSet = false; int m_numberOfNodes; bool m_numberOfNodesHasBeenSet = false; Aws::String m_dBName; bool m_dBNameHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; bool m_encrypted; bool m_encryptedHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; bool m_encryptedWithHSM; bool m_encryptedWithHSMHasBeenSet = false; Aws::Vector m_accountsWithRestoreAccess; bool m_accountsWithRestoreAccessHasBeenSet = false; Aws::String m_ownerAccount; bool m_ownerAccountHasBeenSet = false; double m_totalBackupSizeInMegaBytes; bool m_totalBackupSizeInMegaBytesHasBeenSet = false; double m_actualIncrementalBackupSizeInMegaBytes; bool m_actualIncrementalBackupSizeInMegaBytesHasBeenSet = false; double m_backupProgressInMegaBytes; bool m_backupProgressInMegaBytesHasBeenSet = false; double m_currentBackupRateInMegaBytesPerSecond; bool m_currentBackupRateInMegaBytesPerSecondHasBeenSet = false; long long m_estimatedSecondsToCompletion; bool m_estimatedSecondsToCompletionHasBeenSet = false; long long m_elapsedTimeInSeconds; bool m_elapsedTimeInSecondsHasBeenSet = false; Aws::String m_sourceRegion; bool m_sourceRegionHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::Vector m_restorableNodeTypes; bool m_restorableNodeTypesHasBeenSet = false; bool m_enhancedVpcRouting; bool m_enhancedVpcRoutingHasBeenSet = false; Aws::String m_maintenanceTrackName; bool m_maintenanceTrackNameHasBeenSet = false; int m_manualSnapshotRetentionPeriod; bool m_manualSnapshotRetentionPeriodHasBeenSet = false; int m_manualSnapshotRemainingDays; bool m_manualSnapshotRemainingDaysHasBeenSet = false; Aws::Utils::DateTime m_snapshotRetentionStartTime; bool m_snapshotRetentionStartTimeHasBeenSet = false; }; } // namespace Model } // namespace Redshift } // namespace Aws