AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
CrossRegionCopyRule.h
1
6#pragma once
7#include <aws/dlm/DLM_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/dlm/model/CrossRegionCopyRetainRule.h>
10#include <aws/dlm/model/CrossRegionCopyDeprecateRule.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace DLM
24{
25namespace Model
26{
27
38 {
39 public:
40 AWS_DLM_API CrossRegionCopyRule() = default;
44
45
47
55 inline const Aws::String& GetTargetRegion() const { return m_targetRegion; }
56 inline bool TargetRegionHasBeenSet() const { return m_targetRegionHasBeenSet; }
57 template<typename TargetRegionT = Aws::String>
58 void SetTargetRegion(TargetRegionT&& value) { m_targetRegionHasBeenSet = true; m_targetRegion = std::forward<TargetRegionT>(value); }
59 template<typename TargetRegionT = Aws::String>
60 CrossRegionCopyRule& WithTargetRegion(TargetRegionT&& value) { SetTargetRegion(std::forward<TargetRegionT>(value)); return *this;}
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) { m_targetHasBeenSet = true; m_target = std::forward<TargetT>(value); }
74 template<typename TargetT = Aws::String>
75 CrossRegionCopyRule& WithTarget(TargetT&& value) { SetTarget(std::forward<TargetT>(value)); return *this;}
77
79
85 inline bool GetEncrypted() const { return m_encrypted; }
86 inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; }
87 inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; }
88 inline CrossRegionCopyRule& WithEncrypted(bool value) { SetEncrypted(value); return *this;}
90
92
97 inline const Aws::String& GetCmkArn() const { return m_cmkArn; }
98 inline bool CmkArnHasBeenSet() const { return m_cmkArnHasBeenSet; }
99 template<typename CmkArnT = Aws::String>
100 void SetCmkArn(CmkArnT&& value) { m_cmkArnHasBeenSet = true; m_cmkArn = std::forward<CmkArnT>(value); }
101 template<typename CmkArnT = Aws::String>
102 CrossRegionCopyRule& WithCmkArn(CmkArnT&& value) { SetCmkArn(std::forward<CmkArnT>(value)); return *this;}
104
106
110 inline bool GetCopyTags() const { return m_copyTags; }
111 inline bool CopyTagsHasBeenSet() const { return m_copyTagsHasBeenSet; }
112 inline void SetCopyTags(bool value) { m_copyTagsHasBeenSet = true; m_copyTags = value; }
113 inline CrossRegionCopyRule& WithCopyTags(bool value) { SetCopyTags(value); return *this;}
115
117
121 inline const CrossRegionCopyRetainRule& GetRetainRule() const { return m_retainRule; }
122 inline bool RetainRuleHasBeenSet() const { return m_retainRuleHasBeenSet; }
123 template<typename RetainRuleT = CrossRegionCopyRetainRule>
124 void SetRetainRule(RetainRuleT&& value) { m_retainRuleHasBeenSet = true; m_retainRule = std::forward<RetainRuleT>(value); }
125 template<typename RetainRuleT = CrossRegionCopyRetainRule>
126 CrossRegionCopyRule& WithRetainRule(RetainRuleT&& value) { SetRetainRule(std::forward<RetainRuleT>(value)); return *this;}
128
130
134 inline const CrossRegionCopyDeprecateRule& GetDeprecateRule() const { return m_deprecateRule; }
135 inline bool DeprecateRuleHasBeenSet() const { return m_deprecateRuleHasBeenSet; }
136 template<typename DeprecateRuleT = CrossRegionCopyDeprecateRule>
137 void SetDeprecateRule(DeprecateRuleT&& value) { m_deprecateRuleHasBeenSet = true; m_deprecateRule = std::forward<DeprecateRuleT>(value); }
138 template<typename DeprecateRuleT = CrossRegionCopyDeprecateRule>
139 CrossRegionCopyRule& WithDeprecateRule(DeprecateRuleT&& value) { SetDeprecateRule(std::forward<DeprecateRuleT>(value)); return *this;}
141 private:
142
143 Aws::String m_targetRegion;
144 bool m_targetRegionHasBeenSet = false;
145
146 Aws::String m_target;
147 bool m_targetHasBeenSet = false;
148
149 bool m_encrypted{false};
150 bool m_encryptedHasBeenSet = false;
151
152 Aws::String m_cmkArn;
153 bool m_cmkArnHasBeenSet = false;
154
155 bool m_copyTags{false};
156 bool m_copyTagsHasBeenSet = false;
157
158 CrossRegionCopyRetainRule m_retainRule;
159 bool m_retainRuleHasBeenSet = false;
160
161 CrossRegionCopyDeprecateRule m_deprecateRule;
162 bool m_deprecateRuleHasBeenSet = false;
163 };
164
165} // namespace Model
166} // namespace DLM
167} // 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