/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include You can configure Amazon Redshift to copy snapshots for a cluster to another
* Amazon Web Services Region. This parameter provides information about a
* cross-Region snapshot copy.See Also:
AWS
* API Reference
The destination Region that snapshots are automatically copied to when * cross-Region snapshot copy is enabled.
*/ inline const Aws::String& GetDestinationRegion() const{ return m_destinationRegion; } /** *The destination Region that snapshots are automatically copied to when * cross-Region snapshot copy is enabled.
*/ inline bool DestinationRegionHasBeenSet() const { return m_destinationRegionHasBeenSet; } /** *The destination Region that snapshots are automatically copied to when * cross-Region snapshot copy is enabled.
*/ inline void SetDestinationRegion(const Aws::String& value) { m_destinationRegionHasBeenSet = true; m_destinationRegion = value; } /** *The destination Region that snapshots are automatically copied to when * cross-Region snapshot copy is enabled.
*/ inline void SetDestinationRegion(Aws::String&& value) { m_destinationRegionHasBeenSet = true; m_destinationRegion = std::move(value); } /** *The destination Region that snapshots are automatically copied to when * cross-Region snapshot copy is enabled.
*/ inline void SetDestinationRegion(const char* value) { m_destinationRegionHasBeenSet = true; m_destinationRegion.assign(value); } /** *The destination Region that snapshots are automatically copied to when * cross-Region snapshot copy is enabled.
*/ inline AwsRedshiftClusterClusterSnapshotCopyStatus& WithDestinationRegion(const Aws::String& value) { SetDestinationRegion(value); return *this;} /** *The destination Region that snapshots are automatically copied to when * cross-Region snapshot copy is enabled.
*/ inline AwsRedshiftClusterClusterSnapshotCopyStatus& WithDestinationRegion(Aws::String&& value) { SetDestinationRegion(std::move(value)); return *this;} /** *The destination Region that snapshots are automatically copied to when * cross-Region snapshot copy is enabled.
*/ inline AwsRedshiftClusterClusterSnapshotCopyStatus& WithDestinationRegion(const char* value) { SetDestinationRegion(value); return *this;} /** *The number of days that manual snapshots are retained in the destination * Region after they are copied from a source Region.
If the value is
* -1
, then the manual snapshot is retained indefinitely.
Valid
* values: Either -1
or an integer between 1 and 3,653
The number of days that manual snapshots are retained in the destination * Region after they are copied from a source Region.
If the value is
* -1
, then the manual snapshot is retained indefinitely.
Valid
* values: Either -1
or an integer between 1 and 3,653
The number of days that manual snapshots are retained in the destination * Region after they are copied from a source Region.
If the value is
* -1
, then the manual snapshot is retained indefinitely.
Valid
* values: Either -1
or an integer between 1 and 3,653
The number of days that manual snapshots are retained in the destination * Region after they are copied from a source Region.
If the value is
* -1
, then the manual snapshot is retained indefinitely.
Valid
* values: Either -1
or an integer between 1 and 3,653
The number of days to retain automated snapshots in the destination Region * after they are copied from a source Region.
*/ inline int GetRetentionPeriod() const{ return m_retentionPeriod; } /** *The number of days to retain automated snapshots in the destination Region * after they are copied from a source Region.
*/ inline bool RetentionPeriodHasBeenSet() const { return m_retentionPeriodHasBeenSet; } /** *The number of days to retain automated snapshots in the destination Region * after they are copied from a source Region.
*/ inline void SetRetentionPeriod(int value) { m_retentionPeriodHasBeenSet = true; m_retentionPeriod = value; } /** *The number of days to retain automated snapshots in the destination Region * after they are copied from a source Region.
*/ inline AwsRedshiftClusterClusterSnapshotCopyStatus& WithRetentionPeriod(int value) { SetRetentionPeriod(value); return *this;} /** *The name of the snapshot copy grant.
*/ inline const Aws::String& GetSnapshotCopyGrantName() const{ return m_snapshotCopyGrantName; } /** *The name of the snapshot copy grant.
*/ inline bool SnapshotCopyGrantNameHasBeenSet() const { return m_snapshotCopyGrantNameHasBeenSet; } /** *The name of the snapshot copy grant.
*/ inline void SetSnapshotCopyGrantName(const Aws::String& value) { m_snapshotCopyGrantNameHasBeenSet = true; m_snapshotCopyGrantName = value; } /** *The name of the snapshot copy grant.
*/ inline void SetSnapshotCopyGrantName(Aws::String&& value) { m_snapshotCopyGrantNameHasBeenSet = true; m_snapshotCopyGrantName = std::move(value); } /** *The name of the snapshot copy grant.
*/ inline void SetSnapshotCopyGrantName(const char* value) { m_snapshotCopyGrantNameHasBeenSet = true; m_snapshotCopyGrantName.assign(value); } /** *The name of the snapshot copy grant.
*/ inline AwsRedshiftClusterClusterSnapshotCopyStatus& WithSnapshotCopyGrantName(const Aws::String& value) { SetSnapshotCopyGrantName(value); return *this;} /** *The name of the snapshot copy grant.
*/ inline AwsRedshiftClusterClusterSnapshotCopyStatus& WithSnapshotCopyGrantName(Aws::String&& value) { SetSnapshotCopyGrantName(std::move(value)); return *this;} /** *The name of the snapshot copy grant.
*/ inline AwsRedshiftClusterClusterSnapshotCopyStatus& WithSnapshotCopyGrantName(const char* value) { SetSnapshotCopyGrantName(value); return *this;} private: Aws::String m_destinationRegion; bool m_destinationRegionHasBeenSet = false; int m_manualSnapshotRetentionPeriod; bool m_manualSnapshotRetentionPeriodHasBeenSet = false; int m_retentionPeriod; bool m_retentionPeriodHasBeenSet = false; Aws::String m_snapshotCopyGrantName; bool m_snapshotCopyGrantNameHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws