1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/securityhub/SecurityHub_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace SecurityHub 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Information about a cross-Region snapshot copy.</p><p><h3>See Also:</h3> <a 28 * href="http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsRedshiftClusterClusterSnapshotCopyStatus">AWS 29 * API Reference</a></p> 30 */ 31 class AWS_SECURITYHUB_API AwsRedshiftClusterClusterSnapshotCopyStatus 32 { 33 public: 34 AwsRedshiftClusterClusterSnapshotCopyStatus(); 35 AwsRedshiftClusterClusterSnapshotCopyStatus(Aws::Utils::Json::JsonView jsonValue); 36 AwsRedshiftClusterClusterSnapshotCopyStatus& operator=(Aws::Utils::Json::JsonView jsonValue); 37 Aws::Utils::Json::JsonValue Jsonize() const; 38 39 40 /** 41 * <p>The destination Region that snapshots are automatically copied to when 42 * cross-Region snapshot copy is enabled.</p> 43 */ GetDestinationRegion()44 inline const Aws::String& GetDestinationRegion() const{ return m_destinationRegion; } 45 46 /** 47 * <p>The destination Region that snapshots are automatically copied to when 48 * cross-Region snapshot copy is enabled.</p> 49 */ DestinationRegionHasBeenSet()50 inline bool DestinationRegionHasBeenSet() const { return m_destinationRegionHasBeenSet; } 51 52 /** 53 * <p>The destination Region that snapshots are automatically copied to when 54 * cross-Region snapshot copy is enabled.</p> 55 */ SetDestinationRegion(const Aws::String & value)56 inline void SetDestinationRegion(const Aws::String& value) { m_destinationRegionHasBeenSet = true; m_destinationRegion = value; } 57 58 /** 59 * <p>The destination Region that snapshots are automatically copied to when 60 * cross-Region snapshot copy is enabled.</p> 61 */ SetDestinationRegion(Aws::String && value)62 inline void SetDestinationRegion(Aws::String&& value) { m_destinationRegionHasBeenSet = true; m_destinationRegion = std::move(value); } 63 64 /** 65 * <p>The destination Region that snapshots are automatically copied to when 66 * cross-Region snapshot copy is enabled.</p> 67 */ SetDestinationRegion(const char * value)68 inline void SetDestinationRegion(const char* value) { m_destinationRegionHasBeenSet = true; m_destinationRegion.assign(value); } 69 70 /** 71 * <p>The destination Region that snapshots are automatically copied to when 72 * cross-Region snapshot copy is enabled.</p> 73 */ WithDestinationRegion(const Aws::String & value)74 inline AwsRedshiftClusterClusterSnapshotCopyStatus& WithDestinationRegion(const Aws::String& value) { SetDestinationRegion(value); return *this;} 75 76 /** 77 * <p>The destination Region that snapshots are automatically copied to when 78 * cross-Region snapshot copy is enabled.</p> 79 */ WithDestinationRegion(Aws::String && value)80 inline AwsRedshiftClusterClusterSnapshotCopyStatus& WithDestinationRegion(Aws::String&& value) { SetDestinationRegion(std::move(value)); return *this;} 81 82 /** 83 * <p>The destination Region that snapshots are automatically copied to when 84 * cross-Region snapshot copy is enabled.</p> 85 */ WithDestinationRegion(const char * value)86 inline AwsRedshiftClusterClusterSnapshotCopyStatus& WithDestinationRegion(const char* value) { SetDestinationRegion(value); return *this;} 87 88 89 /** 90 * <p>The number of days that manual snapshots are retained in the destination 91 * region after they are copied from a source region.</p> <p>If the value is -1, 92 * then the manual snapshot is retained indefinitely.</p> <p>Valid values: Either 93 * -1 or an integer between 1 and 3,653</p> 94 */ GetManualSnapshotRetentionPeriod()95 inline int GetManualSnapshotRetentionPeriod() const{ return m_manualSnapshotRetentionPeriod; } 96 97 /** 98 * <p>The number of days that manual snapshots are retained in the destination 99 * region after they are copied from a source region.</p> <p>If the value is -1, 100 * then the manual snapshot is retained indefinitely.</p> <p>Valid values: Either 101 * -1 or an integer between 1 and 3,653</p> 102 */ ManualSnapshotRetentionPeriodHasBeenSet()103 inline bool ManualSnapshotRetentionPeriodHasBeenSet() const { return m_manualSnapshotRetentionPeriodHasBeenSet; } 104 105 /** 106 * <p>The number of days that manual snapshots are retained in the destination 107 * region after they are copied from a source region.</p> <p>If the value is -1, 108 * then the manual snapshot is retained indefinitely.</p> <p>Valid values: Either 109 * -1 or an integer between 1 and 3,653</p> 110 */ SetManualSnapshotRetentionPeriod(int value)111 inline void SetManualSnapshotRetentionPeriod(int value) { m_manualSnapshotRetentionPeriodHasBeenSet = true; m_manualSnapshotRetentionPeriod = value; } 112 113 /** 114 * <p>The number of days that manual snapshots are retained in the destination 115 * region after they are copied from a source region.</p> <p>If the value is -1, 116 * then the manual snapshot is retained indefinitely.</p> <p>Valid values: Either 117 * -1 or an integer between 1 and 3,653</p> 118 */ WithManualSnapshotRetentionPeriod(int value)119 inline AwsRedshiftClusterClusterSnapshotCopyStatus& WithManualSnapshotRetentionPeriod(int value) { SetManualSnapshotRetentionPeriod(value); return *this;} 120 121 122 /** 123 * <p>The number of days to retain automated snapshots in the destination Region 124 * after they are copied from a source Region.</p> 125 */ GetRetentionPeriod()126 inline int GetRetentionPeriod() const{ return m_retentionPeriod; } 127 128 /** 129 * <p>The number of days to retain automated snapshots in the destination Region 130 * after they are copied from a source Region.</p> 131 */ RetentionPeriodHasBeenSet()132 inline bool RetentionPeriodHasBeenSet() const { return m_retentionPeriodHasBeenSet; } 133 134 /** 135 * <p>The number of days to retain automated snapshots in the destination Region 136 * after they are copied from a source Region.</p> 137 */ SetRetentionPeriod(int value)138 inline void SetRetentionPeriod(int value) { m_retentionPeriodHasBeenSet = true; m_retentionPeriod = value; } 139 140 /** 141 * <p>The number of days to retain automated snapshots in the destination Region 142 * after they are copied from a source Region.</p> 143 */ WithRetentionPeriod(int value)144 inline AwsRedshiftClusterClusterSnapshotCopyStatus& WithRetentionPeriod(int value) { SetRetentionPeriod(value); return *this;} 145 146 147 /** 148 * <p>The name of the snapshot copy grant.</p> 149 */ GetSnapshotCopyGrantName()150 inline const Aws::String& GetSnapshotCopyGrantName() const{ return m_snapshotCopyGrantName; } 151 152 /** 153 * <p>The name of the snapshot copy grant.</p> 154 */ SnapshotCopyGrantNameHasBeenSet()155 inline bool SnapshotCopyGrantNameHasBeenSet() const { return m_snapshotCopyGrantNameHasBeenSet; } 156 157 /** 158 * <p>The name of the snapshot copy grant.</p> 159 */ SetSnapshotCopyGrantName(const Aws::String & value)160 inline void SetSnapshotCopyGrantName(const Aws::String& value) { m_snapshotCopyGrantNameHasBeenSet = true; m_snapshotCopyGrantName = value; } 161 162 /** 163 * <p>The name of the snapshot copy grant.</p> 164 */ SetSnapshotCopyGrantName(Aws::String && value)165 inline void SetSnapshotCopyGrantName(Aws::String&& value) { m_snapshotCopyGrantNameHasBeenSet = true; m_snapshotCopyGrantName = std::move(value); } 166 167 /** 168 * <p>The name of the snapshot copy grant.</p> 169 */ SetSnapshotCopyGrantName(const char * value)170 inline void SetSnapshotCopyGrantName(const char* value) { m_snapshotCopyGrantNameHasBeenSet = true; m_snapshotCopyGrantName.assign(value); } 171 172 /** 173 * <p>The name of the snapshot copy grant.</p> 174 */ WithSnapshotCopyGrantName(const Aws::String & value)175 inline AwsRedshiftClusterClusterSnapshotCopyStatus& WithSnapshotCopyGrantName(const Aws::String& value) { SetSnapshotCopyGrantName(value); return *this;} 176 177 /** 178 * <p>The name of the snapshot copy grant.</p> 179 */ WithSnapshotCopyGrantName(Aws::String && value)180 inline AwsRedshiftClusterClusterSnapshotCopyStatus& WithSnapshotCopyGrantName(Aws::String&& value) { SetSnapshotCopyGrantName(std::move(value)); return *this;} 181 182 /** 183 * <p>The name of the snapshot copy grant.</p> 184 */ WithSnapshotCopyGrantName(const char * value)185 inline AwsRedshiftClusterClusterSnapshotCopyStatus& WithSnapshotCopyGrantName(const char* value) { SetSnapshotCopyGrantName(value); return *this;} 186 187 private: 188 189 Aws::String m_destinationRegion; 190 bool m_destinationRegionHasBeenSet; 191 192 int m_manualSnapshotRetentionPeriod; 193 bool m_manualSnapshotRetentionPeriodHasBeenSet; 194 195 int m_retentionPeriod; 196 bool m_retentionPeriodHasBeenSet; 197 198 Aws::String m_snapshotCopyGrantName; 199 bool m_snapshotCopyGrantNameHasBeenSet; 200 }; 201 202 } // namespace Model 203 } // namespace SecurityHub 204 } // namespace Aws 205