/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include See Also:
AWS
* API Reference
The unique identifier of the cluster for which you want to change the * retention period for either automated or manual snapshots that are copied to a * destination Amazon Web Services Region.
Constraints: Must be the valid * name of an existing cluster that has cross-region snapshot copy enabled.
*/ inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } /** *The unique identifier of the cluster for which you want to change the * retention period for either automated or manual snapshots that are copied to a * destination Amazon Web Services Region.
Constraints: Must be the valid * name of an existing cluster that has cross-region snapshot copy enabled.
*/ inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } /** *The unique identifier of the cluster for which you want to change the * retention period for either automated or manual snapshots that are copied to a * destination Amazon Web Services Region.
Constraints: Must be the valid * name of an existing cluster that has cross-region snapshot copy enabled.
*/ inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } /** *The unique identifier of the cluster for which you want to change the * retention period for either automated or manual snapshots that are copied to a * destination Amazon Web Services Region.
Constraints: Must be the valid * name of an existing cluster that has cross-region snapshot copy enabled.
*/ inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } /** *The unique identifier of the cluster for which you want to change the * retention period for either automated or manual snapshots that are copied to a * destination Amazon Web Services Region.
Constraints: Must be the valid * name of an existing cluster that has cross-region snapshot copy enabled.
*/ inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } /** *The unique identifier of the cluster for which you want to change the * retention period for either automated or manual snapshots that are copied to a * destination Amazon Web Services Region.
Constraints: Must be the valid * name of an existing cluster that has cross-region snapshot copy enabled.
*/ inline ModifySnapshotCopyRetentionPeriodRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} /** *The unique identifier of the cluster for which you want to change the * retention period for either automated or manual snapshots that are copied to a * destination Amazon Web Services Region.
Constraints: Must be the valid * name of an existing cluster that has cross-region snapshot copy enabled.
*/ inline ModifySnapshotCopyRetentionPeriodRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} /** *The unique identifier of the cluster for which you want to change the * retention period for either automated or manual snapshots that are copied to a * destination Amazon Web Services Region.
Constraints: Must be the valid * name of an existing cluster that has cross-region snapshot copy enabled.
*/ inline ModifySnapshotCopyRetentionPeriodRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} /** *The number of days to retain automated snapshots in the destination Amazon * Web Services Region after they are copied from the source Amazon Web Services * Region.
By default, this only changes the retention period of copied * automated snapshots.
If you decrease the retention period for automated * snapshots that are copied to a destination Amazon Web Services Region, Amazon * Redshift deletes any existing automated snapshots that were copied to the * destination Amazon Web Services Region and that fall outside of the new * retention period.
Constraints: Must be at least 1 and no more than 35 for * automated snapshots.
If you specify the manual
option, only
* newly copied manual snapshots will have the new retention period.
If you * specify the value of -1 newly copied manual snapshots are retained * indefinitely.
Constraints: The number of days must be either -1 or an * integer between 1 and 3,653 for manual snapshots.
*/ inline int GetRetentionPeriod() const{ return m_retentionPeriod; } /** *The number of days to retain automated snapshots in the destination Amazon * Web Services Region after they are copied from the source Amazon Web Services * Region.
By default, this only changes the retention period of copied * automated snapshots.
If you decrease the retention period for automated * snapshots that are copied to a destination Amazon Web Services Region, Amazon * Redshift deletes any existing automated snapshots that were copied to the * destination Amazon Web Services Region and that fall outside of the new * retention period.
Constraints: Must be at least 1 and no more than 35 for * automated snapshots.
If you specify the manual
option, only
* newly copied manual snapshots will have the new retention period.
If you * specify the value of -1 newly copied manual snapshots are retained * indefinitely.
Constraints: The number of days must be either -1 or an * integer between 1 and 3,653 for manual snapshots.
*/ inline bool RetentionPeriodHasBeenSet() const { return m_retentionPeriodHasBeenSet; } /** *The number of days to retain automated snapshots in the destination Amazon * Web Services Region after they are copied from the source Amazon Web Services * Region.
By default, this only changes the retention period of copied * automated snapshots.
If you decrease the retention period for automated * snapshots that are copied to a destination Amazon Web Services Region, Amazon * Redshift deletes any existing automated snapshots that were copied to the * destination Amazon Web Services Region and that fall outside of the new * retention period.
Constraints: Must be at least 1 and no more than 35 for * automated snapshots.
If you specify the manual
option, only
* newly copied manual snapshots will have the new retention period.
If you * specify the value of -1 newly copied manual snapshots are retained * indefinitely.
Constraints: The number of days must be either -1 or an * integer between 1 and 3,653 for manual snapshots.
*/ inline void SetRetentionPeriod(int value) { m_retentionPeriodHasBeenSet = true; m_retentionPeriod = value; } /** *The number of days to retain automated snapshots in the destination Amazon * Web Services Region after they are copied from the source Amazon Web Services * Region.
By default, this only changes the retention period of copied * automated snapshots.
If you decrease the retention period for automated * snapshots that are copied to a destination Amazon Web Services Region, Amazon * Redshift deletes any existing automated snapshots that were copied to the * destination Amazon Web Services Region and that fall outside of the new * retention period.
Constraints: Must be at least 1 and no more than 35 for * automated snapshots.
If you specify the manual
option, only
* newly copied manual snapshots will have the new retention period.
If you * specify the value of -1 newly copied manual snapshots are retained * indefinitely.
Constraints: The number of days must be either -1 or an * integer between 1 and 3,653 for manual snapshots.
*/ inline ModifySnapshotCopyRetentionPeriodRequest& WithRetentionPeriod(int value) { SetRetentionPeriod(value); return *this;} /** *Indicates whether to apply the snapshot retention period to newly copied * manual snapshots instead of automated snapshots.
*/ inline bool GetManual() const{ return m_manual; } /** *Indicates whether to apply the snapshot retention period to newly copied * manual snapshots instead of automated snapshots.
*/ inline bool ManualHasBeenSet() const { return m_manualHasBeenSet; } /** *Indicates whether to apply the snapshot retention period to newly copied * manual snapshots instead of automated snapshots.
*/ inline void SetManual(bool value) { m_manualHasBeenSet = true; m_manual = value; } /** *Indicates whether to apply the snapshot retention period to newly copied * manual snapshots instead of automated snapshots.
*/ inline ModifySnapshotCopyRetentionPeriodRequest& WithManual(bool value) { SetManual(value); return *this;} private: Aws::String m_clusterIdentifier; bool m_clusterIdentifierHasBeenSet = false; int m_retentionPeriod; bool m_retentionPeriodHasBeenSet = false; bool m_manual; bool m_manualHasBeenSet = false; }; } // namespace Model } // namespace Redshift } // namespace Aws