AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
CrossRegionCopyRule.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/dlm/DLM_EXPORTS.h>
9#include <aws/dlm/model/CrossRegionCopyDeprecateRule.h>
10#include <aws/dlm/model/CrossRegionCopyRetainRule.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace DLM {
22namespace Model {
23
34 public:
35 AWS_DLM_API CrossRegionCopyRule() = default;
39
41
49 inline const Aws::String& GetTargetRegion() const { return m_targetRegion; }
50 inline bool TargetRegionHasBeenSet() const { return m_targetRegionHasBeenSet; }
51 template <typename TargetRegionT = Aws::String>
52 void SetTargetRegion(TargetRegionT&& value) {
53 m_targetRegionHasBeenSet = true;
54 m_targetRegion = std::forward<TargetRegionT>(value);
55 }
56 template <typename TargetRegionT = Aws::String>
57 CrossRegionCopyRule& WithTargetRegion(TargetRegionT&& value) {
58 SetTargetRegion(std::forward<TargetRegionT>(value));
59 return *this;
60 }
62
64
70 inline const Aws::String& GetTarget() const { return m_target; }
71 inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; }
72 template <typename TargetT = Aws::String>
73 void SetTarget(TargetT&& value) {
74 m_targetHasBeenSet = true;
75 m_target = std::forward<TargetT>(value);
76 }
77 template <typename TargetT = Aws::String>
78 CrossRegionCopyRule& WithTarget(TargetT&& value) {
79 SetTarget(std::forward<TargetT>(value));
80 return *this;
81 }
83
85
91 inline bool GetEncrypted() const { return m_encrypted; }
92 inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; }
93 inline void SetEncrypted(bool value) {
94 m_encryptedHasBeenSet = true;
95 m_encrypted = value;
96 }
97 inline CrossRegionCopyRule& WithEncrypted(bool value) {
98 SetEncrypted(value);
99 return *this;
100 }
102
104
109 inline const Aws::String& GetCmkArn() const { return m_cmkArn; }
110 inline bool CmkArnHasBeenSet() const { return m_cmkArnHasBeenSet; }
111 template <typename CmkArnT = Aws::String>
112 void SetCmkArn(CmkArnT&& value) {
113 m_cmkArnHasBeenSet = true;
114 m_cmkArn = std::forward<CmkArnT>(value);
115 }
116 template <typename CmkArnT = Aws::String>
117 CrossRegionCopyRule& WithCmkArn(CmkArnT&& value) {
118 SetCmkArn(std::forward<CmkArnT>(value));
119 return *this;
120 }
122
124
128 inline bool GetCopyTags() const { return m_copyTags; }
129 inline bool CopyTagsHasBeenSet() const { return m_copyTagsHasBeenSet; }
130 inline void SetCopyTags(bool value) {
131 m_copyTagsHasBeenSet = true;
132 m_copyTags = value;
133 }
134 inline CrossRegionCopyRule& WithCopyTags(bool value) {
135 SetCopyTags(value);
136 return *this;
137 }
139
141
145 inline const CrossRegionCopyRetainRule& GetRetainRule() const { return m_retainRule; }
146 inline bool RetainRuleHasBeenSet() const { return m_retainRuleHasBeenSet; }
147 template <typename RetainRuleT = CrossRegionCopyRetainRule>
148 void SetRetainRule(RetainRuleT&& value) {
149 m_retainRuleHasBeenSet = true;
150 m_retainRule = std::forward<RetainRuleT>(value);
151 }
152 template <typename RetainRuleT = CrossRegionCopyRetainRule>
153 CrossRegionCopyRule& WithRetainRule(RetainRuleT&& value) {
154 SetRetainRule(std::forward<RetainRuleT>(value));
155 return *this;
156 }
158
160
164 inline const CrossRegionCopyDeprecateRule& GetDeprecateRule() const { return m_deprecateRule; }
165 inline bool DeprecateRuleHasBeenSet() const { return m_deprecateRuleHasBeenSet; }
166 template <typename DeprecateRuleT = CrossRegionCopyDeprecateRule>
167 void SetDeprecateRule(DeprecateRuleT&& value) {
168 m_deprecateRuleHasBeenSet = true;
169 m_deprecateRule = std::forward<DeprecateRuleT>(value);
170 }
171 template <typename DeprecateRuleT = CrossRegionCopyDeprecateRule>
172 CrossRegionCopyRule& WithDeprecateRule(DeprecateRuleT&& value) {
173 SetDeprecateRule(std::forward<DeprecateRuleT>(value));
174 return *this;
175 }
177 private:
178 Aws::String m_targetRegion;
179
180 Aws::String m_target;
181
182 bool m_encrypted{false};
183
184 Aws::String m_cmkArn;
185
186 bool m_copyTags{false};
187
188 CrossRegionCopyRetainRule m_retainRule;
189
190 CrossRegionCopyDeprecateRule m_deprecateRule;
191 bool m_targetRegionHasBeenSet = false;
192 bool m_targetHasBeenSet = false;
193 bool m_encryptedHasBeenSet = false;
194 bool m_cmkArnHasBeenSet = false;
195 bool m_copyTagsHasBeenSet = false;
196 bool m_retainRuleHasBeenSet = false;
197 bool m_deprecateRuleHasBeenSet = false;
198};
199
200} // namespace Model
201} // namespace DLM
202} // namespace Aws
CrossRegionCopyRule & WithEncrypted(bool value)
CrossRegionCopyRule & WithCopyTags(bool value)
void SetDeprecateRule(DeprecateRuleT &&value)
AWS_DLM_API CrossRegionCopyRule(Aws::Utils::Json::JsonView jsonValue)
const CrossRegionCopyDeprecateRule & GetDeprecateRule() const
CrossRegionCopyRule & WithRetainRule(RetainRuleT &&value)
const CrossRegionCopyRetainRule & GetRetainRule() const
AWS_DLM_API CrossRegionCopyRule()=default
CrossRegionCopyRule & WithTarget(TargetT &&value)
void SetTargetRegion(TargetRegionT &&value)
const Aws::String & GetTargetRegion() const
CrossRegionCopyRule & WithTargetRegion(TargetRegionT &&value)
const Aws::String & GetTarget() const
CrossRegionCopyRule & WithCmkArn(CmkArnT &&value)
AWS_DLM_API CrossRegionCopyRule & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetCmkArn() const
AWS_DLM_API Aws::Utils::Json::JsonValue Jsonize() const
CrossRegionCopyRule & WithDeprecateRule(DeprecateRuleT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue