AWS SDK for C++

AWS SDK for C++ Version 1.11.740

Loading...
Searching...
No Matches
CreateReplicationConfigurationTemplateRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/drs/DrsRequest.h>
11#include <aws/drs/Drs_EXPORTS.h>
12#include <aws/drs/model/PITPolicyRule.h>
13#include <aws/drs/model/ReplicationConfigurationDataPlaneRouting.h>
14#include <aws/drs/model/ReplicationConfigurationDefaultLargeStagingDiskType.h>
15#include <aws/drs/model/ReplicationConfigurationEbsEncryption.h>
16
17#include <utility>
18
19namespace Aws {
20namespace drs {
21namespace Model {
22
26 public:
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 "CreateReplicationConfigurationTemplate"; }
34
35 AWS_DRS_API Aws::String SerializePayload() const override;
36
38
42 inline bool GetAssociateDefaultSecurityGroup() const { return m_associateDefaultSecurityGroup; }
43 inline bool AssociateDefaultSecurityGroupHasBeenSet() const { return m_associateDefaultSecurityGroupHasBeenSet; }
44 inline void SetAssociateDefaultSecurityGroup(bool value) {
45 m_associateDefaultSecurityGroupHasBeenSet = true;
46 m_associateDefaultSecurityGroup = value;
47 }
50 return *this;
51 }
53
55
59 inline bool GetAutoReplicateNewDisks() const { return m_autoReplicateNewDisks; }
60 inline bool AutoReplicateNewDisksHasBeenSet() const { return m_autoReplicateNewDisksHasBeenSet; }
61 inline void SetAutoReplicateNewDisks(bool value) {
62 m_autoReplicateNewDisksHasBeenSet = true;
63 m_autoReplicateNewDisks = value;
64 }
67 return *this;
68 }
70
72
76 inline long long GetBandwidthThrottling() const { return m_bandwidthThrottling; }
77 inline bool BandwidthThrottlingHasBeenSet() const { return m_bandwidthThrottlingHasBeenSet; }
78 inline void SetBandwidthThrottling(long long value) {
79 m_bandwidthThrottlingHasBeenSet = true;
80 m_bandwidthThrottling = value;
81 }
84 return *this;
85 }
87
89
92 inline bool GetCreatePublicIP() const { return m_createPublicIP; }
93 inline bool CreatePublicIPHasBeenSet() const { return m_createPublicIPHasBeenSet; }
94 inline void SetCreatePublicIP(bool value) {
95 m_createPublicIPHasBeenSet = true;
96 m_createPublicIP = value;
97 }
99 SetCreatePublicIP(value);
100 return *this;
101 }
103
105
108 inline ReplicationConfigurationDataPlaneRouting GetDataPlaneRouting() const { return m_dataPlaneRouting; }
109 inline bool DataPlaneRoutingHasBeenSet() const { return m_dataPlaneRoutingHasBeenSet; }
111 m_dataPlaneRoutingHasBeenSet = true;
112 m_dataPlaneRouting = value;
113 }
115 SetDataPlaneRouting(value);
116 return *this;
117 }
119
121
125 return m_defaultLargeStagingDiskType;
126 }
127 inline bool DefaultLargeStagingDiskTypeHasBeenSet() const { return m_defaultLargeStagingDiskTypeHasBeenSet; }
129 m_defaultLargeStagingDiskTypeHasBeenSet = true;
130 m_defaultLargeStagingDiskType = value;
131 }
135 return *this;
136 }
138
140
143 inline ReplicationConfigurationEbsEncryption GetEbsEncryption() const { return m_ebsEncryption; }
144 inline bool EbsEncryptionHasBeenSet() const { return m_ebsEncryptionHasBeenSet; }
146 m_ebsEncryptionHasBeenSet = true;
147 m_ebsEncryption = value;
148 }
150 SetEbsEncryption(value);
151 return *this;
152 }
154
156
159 inline const Aws::String& GetEbsEncryptionKeyArn() const { return m_ebsEncryptionKeyArn; }
160 inline bool EbsEncryptionKeyArnHasBeenSet() const { return m_ebsEncryptionKeyArnHasBeenSet; }
161 template <typename EbsEncryptionKeyArnT = Aws::String>
162 void SetEbsEncryptionKeyArn(EbsEncryptionKeyArnT&& value) {
163 m_ebsEncryptionKeyArnHasBeenSet = true;
164 m_ebsEncryptionKeyArn = std::forward<EbsEncryptionKeyArnT>(value);
165 }
166 template <typename EbsEncryptionKeyArnT = Aws::String>
168 SetEbsEncryptionKeyArn(std::forward<EbsEncryptionKeyArnT>(value));
169 return *this;
170 }
172
174
178 inline const Aws::Vector<PITPolicyRule>& GetPitPolicy() const { return m_pitPolicy; }
179 inline bool PitPolicyHasBeenSet() const { return m_pitPolicyHasBeenSet; }
180 template <typename PitPolicyT = Aws::Vector<PITPolicyRule>>
181 void SetPitPolicy(PitPolicyT&& value) {
182 m_pitPolicyHasBeenSet = true;
183 m_pitPolicy = std::forward<PitPolicyT>(value);
184 }
185 template <typename PitPolicyT = Aws::Vector<PITPolicyRule>>
187 SetPitPolicy(std::forward<PitPolicyT>(value));
188 return *this;
189 }
190 template <typename PitPolicyT = PITPolicyRule>
192 m_pitPolicyHasBeenSet = true;
193 m_pitPolicy.emplace_back(std::forward<PitPolicyT>(value));
194 return *this;
195 }
197
199
202 inline const Aws::String& GetReplicationServerInstanceType() const { return m_replicationServerInstanceType; }
203 inline bool ReplicationServerInstanceTypeHasBeenSet() const { return m_replicationServerInstanceTypeHasBeenSet; }
204 template <typename ReplicationServerInstanceTypeT = Aws::String>
205 void SetReplicationServerInstanceType(ReplicationServerInstanceTypeT&& value) {
206 m_replicationServerInstanceTypeHasBeenSet = true;
207 m_replicationServerInstanceType = std::forward<ReplicationServerInstanceTypeT>(value);
208 }
209 template <typename ReplicationServerInstanceTypeT = Aws::String>
211 SetReplicationServerInstanceType(std::forward<ReplicationServerInstanceTypeT>(value));
212 return *this;
213 }
215
217
220 inline const Aws::Vector<Aws::String>& GetReplicationServersSecurityGroupsIDs() const { return m_replicationServersSecurityGroupsIDs; }
221 inline bool ReplicationServersSecurityGroupsIDsHasBeenSet() const { return m_replicationServersSecurityGroupsIDsHasBeenSet; }
222 template <typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
223 void SetReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT&& value) {
224 m_replicationServersSecurityGroupsIDsHasBeenSet = true;
225 m_replicationServersSecurityGroupsIDs = std::forward<ReplicationServersSecurityGroupsIDsT>(value);
226 }
227 template <typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
229 SetReplicationServersSecurityGroupsIDs(std::forward<ReplicationServersSecurityGroupsIDsT>(value));
230 return *this;
231 }
232 template <typename ReplicationServersSecurityGroupsIDsT = Aws::String>
234 m_replicationServersSecurityGroupsIDsHasBeenSet = true;
235 m_replicationServersSecurityGroupsIDs.emplace_back(std::forward<ReplicationServersSecurityGroupsIDsT>(value));
236 return *this;
237 }
239
241
244 inline const Aws::String& GetStagingAreaSubnetId() const { return m_stagingAreaSubnetId; }
245 inline bool StagingAreaSubnetIdHasBeenSet() const { return m_stagingAreaSubnetIdHasBeenSet; }
246 template <typename StagingAreaSubnetIdT = Aws::String>
247 void SetStagingAreaSubnetId(StagingAreaSubnetIdT&& value) {
248 m_stagingAreaSubnetIdHasBeenSet = true;
249 m_stagingAreaSubnetId = std::forward<StagingAreaSubnetIdT>(value);
250 }
251 template <typename StagingAreaSubnetIdT = Aws::String>
253 SetStagingAreaSubnetId(std::forward<StagingAreaSubnetIdT>(value));
254 return *this;
255 }
257
259
263 inline const Aws::Map<Aws::String, Aws::String>& GetStagingAreaTags() const { return m_stagingAreaTags; }
264 inline bool StagingAreaTagsHasBeenSet() const { return m_stagingAreaTagsHasBeenSet; }
265 template <typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
266 void SetStagingAreaTags(StagingAreaTagsT&& value) {
267 m_stagingAreaTagsHasBeenSet = true;
268 m_stagingAreaTags = std::forward<StagingAreaTagsT>(value);
269 }
270 template <typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
272 SetStagingAreaTags(std::forward<StagingAreaTagsT>(value));
273 return *this;
274 }
275 template <typename StagingAreaTagsKeyT = Aws::String, typename StagingAreaTagsValueT = Aws::String>
276 CreateReplicationConfigurationTemplateRequest& AddStagingAreaTags(StagingAreaTagsKeyT&& key, StagingAreaTagsValueT&& value) {
277 m_stagingAreaTagsHasBeenSet = true;
278 m_stagingAreaTags.emplace(std::forward<StagingAreaTagsKeyT>(key), std::forward<StagingAreaTagsValueT>(value));
279 return *this;
280 }
282
284
288 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
289 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
290 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
291 void SetTags(TagsT&& value) {
292 m_tagsHasBeenSet = true;
293 m_tags = std::forward<TagsT>(value);
294 }
295 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
297 SetTags(std::forward<TagsT>(value));
298 return *this;
299 }
300 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
301 CreateReplicationConfigurationTemplateRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
302 m_tagsHasBeenSet = true;
303 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
304 return *this;
305 }
307
309
313 inline bool GetUseDedicatedReplicationServer() const { return m_useDedicatedReplicationServer; }
314 inline bool UseDedicatedReplicationServerHasBeenSet() const { return m_useDedicatedReplicationServerHasBeenSet; }
315 inline void SetUseDedicatedReplicationServer(bool value) {
316 m_useDedicatedReplicationServerHasBeenSet = true;
317 m_useDedicatedReplicationServer = value;
318 }
321 return *this;
322 }
324 private:
325 bool m_associateDefaultSecurityGroup{false};
326
327 bool m_autoReplicateNewDisks{false};
328
329 long long m_bandwidthThrottling{0};
330
331 bool m_createPublicIP{false};
332
334
335 ReplicationConfigurationDefaultLargeStagingDiskType m_defaultLargeStagingDiskType{
337
339
340 Aws::String m_ebsEncryptionKeyArn;
341
342 Aws::Vector<PITPolicyRule> m_pitPolicy;
343
344 Aws::String m_replicationServerInstanceType;
345
346 Aws::Vector<Aws::String> m_replicationServersSecurityGroupsIDs;
347
348 Aws::String m_stagingAreaSubnetId;
349
350 Aws::Map<Aws::String, Aws::String> m_stagingAreaTags;
351
353
354 bool m_useDedicatedReplicationServer{false};
355 bool m_associateDefaultSecurityGroupHasBeenSet = false;
356 bool m_autoReplicateNewDisksHasBeenSet = false;
357 bool m_bandwidthThrottlingHasBeenSet = false;
358 bool m_createPublicIPHasBeenSet = false;
359 bool m_dataPlaneRoutingHasBeenSet = false;
360 bool m_defaultLargeStagingDiskTypeHasBeenSet = false;
361 bool m_ebsEncryptionHasBeenSet = false;
362 bool m_ebsEncryptionKeyArnHasBeenSet = false;
363 bool m_pitPolicyHasBeenSet = false;
364 bool m_replicationServerInstanceTypeHasBeenSet = false;
365 bool m_replicationServersSecurityGroupsIDsHasBeenSet = false;
366 bool m_stagingAreaSubnetIdHasBeenSet = false;
367 bool m_stagingAreaTagsHasBeenSet = false;
368 bool m_tagsHasBeenSet = false;
369 bool m_useDedicatedReplicationServerHasBeenSet = false;
370};
371
372} // namespace Model
373} // namespace drs
374} // namespace Aws
CreateReplicationConfigurationTemplateRequest & WithStagingAreaSubnetId(StagingAreaSubnetIdT &&value)
CreateReplicationConfigurationTemplateRequest & WithCreatePublicIP(bool value)
CreateReplicationConfigurationTemplateRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
AWS_DRS_API Aws::String SerializePayload() const override
CreateReplicationConfigurationTemplateRequest & WithDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
CreateReplicationConfigurationTemplateRequest & WithAssociateDefaultSecurityGroup(bool value)
CreateReplicationConfigurationTemplateRequest & WithStagingAreaTags(StagingAreaTagsT &&value)
CreateReplicationConfigurationTemplateRequest & WithReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
CreateReplicationConfigurationTemplateRequest & WithPitPolicy(PitPolicyT &&value)
CreateReplicationConfigurationTemplateRequest & WithEbsEncryption(ReplicationConfigurationEbsEncryption value)
CreateReplicationConfigurationTemplateRequest & AddStagingAreaTags(StagingAreaTagsKeyT &&key, StagingAreaTagsValueT &&value)
CreateReplicationConfigurationTemplateRequest & WithReplicationServerInstanceType(ReplicationServerInstanceTypeT &&value)
CreateReplicationConfigurationTemplateRequest & WithBandwidthThrottling(long long value)
CreateReplicationConfigurationTemplateRequest & WithDataPlaneRouting(ReplicationConfigurationDataPlaneRouting value)
CreateReplicationConfigurationTemplateRequest & WithEbsEncryptionKeyArn(EbsEncryptionKeyArnT &&value)
CreateReplicationConfigurationTemplateRequest & WithUseDedicatedReplicationServer(bool value)
CreateReplicationConfigurationTemplateRequest & WithAutoReplicateNewDisks(bool value)
void SetDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
ReplicationConfigurationDefaultLargeStagingDiskType GetDefaultLargeStagingDiskType() const
CreateReplicationConfigurationTemplateRequest & AddReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
CreateReplicationConfigurationTemplateRequest & AddPitPolicy(PitPolicyT &&value)
CreateReplicationConfigurationTemplateRequest & WithTags(TagsT &&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
std::vector< T, Aws::Allocator< T > > Vector