AWS SDK for C++

AWS SDK for C++ Version 1.11.817

Loading...
Searching...
No Matches
CreatePolicyRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/resiliencehubv2/Resiliencehubv2Request.h>
11#include <aws/resiliencehubv2/Resiliencehubv2_EXPORTS.h>
12#include <aws/resiliencehubv2/model/AvailabilitySlo.h>
13#include <aws/resiliencehubv2/model/DataRecoveryTargets.h>
14#include <aws/resiliencehubv2/model/MultiAzTargets.h>
15#include <aws/resiliencehubv2/model/MultiRegionTargets.h>
16
17#include <utility>
18
19namespace Aws {
20namespace resiliencehubv2 {
21namespace Model {
22
26 public:
27 AWS_RESILIENCEHUBV2_API CreatePolicyRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "CreatePolicy"; }
34
35 AWS_RESILIENCEHUBV2_API Aws::String SerializePayload() const override;
36
38
39 inline const Aws::String& GetName() const { return m_name; }
40 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
41 template <typename NameT = Aws::String>
42 void SetName(NameT&& value) {
43 m_nameHasBeenSet = true;
44 m_name = std::forward<NameT>(value);
45 }
46 template <typename NameT = Aws::String>
47 CreatePolicyRequest& WithName(NameT&& value) {
48 SetName(std::forward<NameT>(value));
49 return *this;
50 }
52
54
55 inline const Aws::String& GetDescription() const { return m_description; }
56 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
57 template <typename DescriptionT = Aws::String>
58 void SetDescription(DescriptionT&& value) {
59 m_descriptionHasBeenSet = true;
60 m_description = std::forward<DescriptionT>(value);
61 }
62 template <typename DescriptionT = Aws::String>
63 CreatePolicyRequest& WithDescription(DescriptionT&& value) {
64 SetDescription(std::forward<DescriptionT>(value));
65 return *this;
66 }
68
70
73 inline const AvailabilitySlo& GetAvailabilitySlo() const { return m_availabilitySlo; }
74 inline bool AvailabilitySloHasBeenSet() const { return m_availabilitySloHasBeenSet; }
75 template <typename AvailabilitySloT = AvailabilitySlo>
76 void SetAvailabilitySlo(AvailabilitySloT&& value) {
77 m_availabilitySloHasBeenSet = true;
78 m_availabilitySlo = std::forward<AvailabilitySloT>(value);
79 }
80 template <typename AvailabilitySloT = AvailabilitySlo>
81 CreatePolicyRequest& WithAvailabilitySlo(AvailabilitySloT&& value) {
82 SetAvailabilitySlo(std::forward<AvailabilitySloT>(value));
83 return *this;
84 }
86
88
91 inline const MultiAzTargets& GetMultiAz() const { return m_multiAz; }
92 inline bool MultiAzHasBeenSet() const { return m_multiAzHasBeenSet; }
93 template <typename MultiAzT = MultiAzTargets>
94 void SetMultiAz(MultiAzT&& value) {
95 m_multiAzHasBeenSet = true;
96 m_multiAz = std::forward<MultiAzT>(value);
97 }
98 template <typename MultiAzT = MultiAzTargets>
99 CreatePolicyRequest& WithMultiAz(MultiAzT&& value) {
100 SetMultiAz(std::forward<MultiAzT>(value));
101 return *this;
102 }
104
106
109 inline const MultiRegionTargets& GetMultiRegion() const { return m_multiRegion; }
110 inline bool MultiRegionHasBeenSet() const { return m_multiRegionHasBeenSet; }
111 template <typename MultiRegionT = MultiRegionTargets>
112 void SetMultiRegion(MultiRegionT&& value) {
113 m_multiRegionHasBeenSet = true;
114 m_multiRegion = std::forward<MultiRegionT>(value);
115 }
116 template <typename MultiRegionT = MultiRegionTargets>
117 CreatePolicyRequest& WithMultiRegion(MultiRegionT&& value) {
118 SetMultiRegion(std::forward<MultiRegionT>(value));
119 return *this;
120 }
122
124
127 inline const DataRecoveryTargets& GetDataRecovery() const { return m_dataRecovery; }
128 inline bool DataRecoveryHasBeenSet() const { return m_dataRecoveryHasBeenSet; }
129 template <typename DataRecoveryT = DataRecoveryTargets>
130 void SetDataRecovery(DataRecoveryT&& value) {
131 m_dataRecoveryHasBeenSet = true;
132 m_dataRecovery = std::forward<DataRecoveryT>(value);
133 }
134 template <typename DataRecoveryT = DataRecoveryTargets>
135 CreatePolicyRequest& WithDataRecovery(DataRecoveryT&& value) {
136 SetDataRecovery(std::forward<DataRecoveryT>(value));
137 return *this;
138 }
140
142
143 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
144 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
145 template <typename KmsKeyIdT = Aws::String>
146 void SetKmsKeyId(KmsKeyIdT&& value) {
147 m_kmsKeyIdHasBeenSet = true;
148 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
149 }
150 template <typename KmsKeyIdT = Aws::String>
151 CreatePolicyRequest& WithKmsKeyId(KmsKeyIdT&& value) {
152 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
153 return *this;
154 }
156
158
159 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
160 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
161 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
162 void SetTags(TagsT&& value) {
163 m_tagsHasBeenSet = true;
164 m_tags = std::forward<TagsT>(value);
165 }
166 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
168 SetTags(std::forward<TagsT>(value));
169 return *this;
170 }
171 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
172 CreatePolicyRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
173 m_tagsHasBeenSet = true;
174 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
175 return *this;
176 }
178
180
181 inline const Aws::String& GetClientToken() const { return m_clientToken; }
182 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
183 template <typename ClientTokenT = Aws::String>
184 void SetClientToken(ClientTokenT&& value) {
185 m_clientTokenHasBeenSet = true;
186 m_clientToken = std::forward<ClientTokenT>(value);
187 }
188 template <typename ClientTokenT = Aws::String>
189 CreatePolicyRequest& WithClientToken(ClientTokenT&& value) {
190 SetClientToken(std::forward<ClientTokenT>(value));
191 return *this;
192 }
194 private:
195 Aws::String m_name;
196
197 Aws::String m_description;
198
199 AvailabilitySlo m_availabilitySlo;
200
201 MultiAzTargets m_multiAz;
202
203 MultiRegionTargets m_multiRegion;
204
205 DataRecoveryTargets m_dataRecovery;
206
207 Aws::String m_kmsKeyId;
208
210
212 bool m_nameHasBeenSet = false;
213 bool m_descriptionHasBeenSet = false;
214 bool m_availabilitySloHasBeenSet = false;
215 bool m_multiAzHasBeenSet = false;
216 bool m_multiRegionHasBeenSet = false;
217 bool m_dataRecoveryHasBeenSet = false;
218 bool m_kmsKeyIdHasBeenSet = false;
219 bool m_tagsHasBeenSet = false;
220 bool m_clientTokenHasBeenSet = true;
221};
222
223} // namespace Model
224} // namespace resiliencehubv2
225} // namespace Aws
static Aws::Utils::UUID PseudoRandomUUID()
CreatePolicyRequest & WithClientToken(ClientTokenT &&value)
virtual const char * GetServiceRequestName() const override
CreatePolicyRequest & WithTags(TagsT &&value)
const DataRecoveryTargets & GetDataRecovery() const
CreatePolicyRequest & WithAvailabilitySlo(AvailabilitySloT &&value)
CreatePolicyRequest & WithKmsKeyId(KmsKeyIdT &&value)
AWS_RESILIENCEHUBV2_API CreatePolicyRequest()=default
CreatePolicyRequest & WithName(NameT &&value)
const MultiRegionTargets & GetMultiRegion() const
CreatePolicyRequest & WithMultiRegion(MultiRegionT &&value)
CreatePolicyRequest & WithMultiAz(MultiAzT &&value)
CreatePolicyRequest & WithDescription(DescriptionT &&value)
CreatePolicyRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
AWS_RESILIENCEHUBV2_API Aws::String SerializePayload() const override
CreatePolicyRequest & WithDataRecovery(DataRecoveryT &&value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String