AWS SDK for C++

AWS SDK for C++ Version 1.11.899

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
146 inline bool GetSharingEnabled() const { return m_sharingEnabled; }
147 inline bool SharingEnabledHasBeenSet() const { return m_sharingEnabledHasBeenSet; }
148 inline void SetSharingEnabled(bool value) {
149 m_sharingEnabledHasBeenSet = true;
150 m_sharingEnabled = value;
151 }
153 SetSharingEnabled(value);
154 return *this;
155 }
157
159
160 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
161 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
162 template <typename KmsKeyIdT = Aws::String>
163 void SetKmsKeyId(KmsKeyIdT&& value) {
164 m_kmsKeyIdHasBeenSet = true;
165 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
166 }
167 template <typename KmsKeyIdT = Aws::String>
168 CreatePolicyRequest& WithKmsKeyId(KmsKeyIdT&& value) {
169 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
170 return *this;
171 }
173
175
176 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
177 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
178 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
179 void SetTags(TagsT&& value) {
180 m_tagsHasBeenSet = true;
181 m_tags = std::forward<TagsT>(value);
182 }
183 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
185 SetTags(std::forward<TagsT>(value));
186 return *this;
187 }
188 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
189 CreatePolicyRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
190 m_tagsHasBeenSet = true;
191 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
192 return *this;
193 }
195
197
198 inline const Aws::String& GetClientToken() const { return m_clientToken; }
199 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
200 template <typename ClientTokenT = Aws::String>
201 void SetClientToken(ClientTokenT&& value) {
202 m_clientTokenHasBeenSet = true;
203 m_clientToken = std::forward<ClientTokenT>(value);
204 }
205 template <typename ClientTokenT = Aws::String>
206 CreatePolicyRequest& WithClientToken(ClientTokenT&& value) {
207 SetClientToken(std::forward<ClientTokenT>(value));
208 return *this;
209 }
211 private:
212 Aws::String m_name;
213
214 Aws::String m_description;
215
216 AvailabilitySlo m_availabilitySlo;
217
218 MultiAzTargets m_multiAz;
219
220 MultiRegionTargets m_multiRegion;
221
222 DataRecoveryTargets m_dataRecovery;
223
224 bool m_sharingEnabled{false};
225
226 Aws::String m_kmsKeyId;
227
229
231 bool m_nameHasBeenSet = false;
232 bool m_descriptionHasBeenSet = false;
233 bool m_availabilitySloHasBeenSet = false;
234 bool m_multiAzHasBeenSet = false;
235 bool m_multiRegionHasBeenSet = false;
236 bool m_dataRecoveryHasBeenSet = false;
237 bool m_sharingEnabledHasBeenSet = false;
238 bool m_kmsKeyIdHasBeenSet = false;
239 bool m_tagsHasBeenSet = false;
240 bool m_clientTokenHasBeenSet = true;
241};
242
243} // namespace Model
244} // namespace resiliencehubv2
245} // 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
CreatePolicyRequest & WithSharingEnabled(bool value)
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