AWS SDK for C++

AWS SDK for C++ Version 1.11.741

Loading...
Searching...
No Matches
ReplicationConfigurationTemplate.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/Drs_EXPORTS.h>
11#include <aws/drs/model/PITPolicyRule.h>
12#include <aws/drs/model/ReplicationConfigurationDataPlaneRouting.h>
13#include <aws/drs/model/ReplicationConfigurationDefaultLargeStagingDiskType.h>
14#include <aws/drs/model/ReplicationConfigurationEbsEncryption.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace drs {
26namespace Model {
27
29 public:
30 AWS_DRS_API ReplicationConfigurationTemplate() = default;
34
36
39 inline const Aws::String& GetArn() const { return m_arn; }
40 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
41 template <typename ArnT = Aws::String>
42 void SetArn(ArnT&& value) {
43 m_arnHasBeenSet = true;
44 m_arn = std::forward<ArnT>(value);
45 }
46 template <typename ArnT = Aws::String>
48 SetArn(std::forward<ArnT>(value));
49 return *this;
50 }
52
54
58 inline bool GetAssociateDefaultSecurityGroup() const { return m_associateDefaultSecurityGroup; }
59 inline bool AssociateDefaultSecurityGroupHasBeenSet() const { return m_associateDefaultSecurityGroupHasBeenSet; }
60 inline void SetAssociateDefaultSecurityGroup(bool value) {
61 m_associateDefaultSecurityGroupHasBeenSet = true;
62 m_associateDefaultSecurityGroup = value;
63 }
66 return *this;
67 }
69
71
75 inline bool GetAutoReplicateNewDisks() const { return m_autoReplicateNewDisks; }
76 inline bool AutoReplicateNewDisksHasBeenSet() const { return m_autoReplicateNewDisksHasBeenSet; }
77 inline void SetAutoReplicateNewDisks(bool value) {
78 m_autoReplicateNewDisksHasBeenSet = true;
79 m_autoReplicateNewDisks = value;
80 }
83 return *this;
84 }
86
88
92 inline long long GetBandwidthThrottling() const { return m_bandwidthThrottling; }
93 inline bool BandwidthThrottlingHasBeenSet() const { return m_bandwidthThrottlingHasBeenSet; }
94 inline void SetBandwidthThrottling(long long value) {
95 m_bandwidthThrottlingHasBeenSet = true;
96 m_bandwidthThrottling = value;
97 }
100 return *this;
101 }
103
105
108 inline bool GetCreatePublicIP() const { return m_createPublicIP; }
109 inline bool CreatePublicIPHasBeenSet() const { return m_createPublicIPHasBeenSet; }
110 inline void SetCreatePublicIP(bool value) {
111 m_createPublicIPHasBeenSet = true;
112 m_createPublicIP = value;
113 }
115 SetCreatePublicIP(value);
116 return *this;
117 }
119
121
124 inline ReplicationConfigurationDataPlaneRouting GetDataPlaneRouting() const { return m_dataPlaneRouting; }
125 inline bool DataPlaneRoutingHasBeenSet() const { return m_dataPlaneRoutingHasBeenSet; }
127 m_dataPlaneRoutingHasBeenSet = true;
128 m_dataPlaneRouting = value;
129 }
131 SetDataPlaneRouting(value);
132 return *this;
133 }
135
137
141 return m_defaultLargeStagingDiskType;
142 }
143 inline bool DefaultLargeStagingDiskTypeHasBeenSet() const { return m_defaultLargeStagingDiskTypeHasBeenSet; }
145 m_defaultLargeStagingDiskTypeHasBeenSet = true;
146 m_defaultLargeStagingDiskType = value;
147 }
150 return *this;
151 }
153
155
158 inline ReplicationConfigurationEbsEncryption GetEbsEncryption() const { return m_ebsEncryption; }
159 inline bool EbsEncryptionHasBeenSet() const { return m_ebsEncryptionHasBeenSet; }
161 m_ebsEncryptionHasBeenSet = true;
162 m_ebsEncryption = value;
163 }
165 SetEbsEncryption(value);
166 return *this;
167 }
169
171
174 inline const Aws::String& GetEbsEncryptionKeyArn() const { return m_ebsEncryptionKeyArn; }
175 inline bool EbsEncryptionKeyArnHasBeenSet() const { return m_ebsEncryptionKeyArnHasBeenSet; }
176 template <typename EbsEncryptionKeyArnT = Aws::String>
177 void SetEbsEncryptionKeyArn(EbsEncryptionKeyArnT&& value) {
178 m_ebsEncryptionKeyArnHasBeenSet = true;
179 m_ebsEncryptionKeyArn = std::forward<EbsEncryptionKeyArnT>(value);
180 }
181 template <typename EbsEncryptionKeyArnT = Aws::String>
183 SetEbsEncryptionKeyArn(std::forward<EbsEncryptionKeyArnT>(value));
184 return *this;
185 }
187
189
193 inline const Aws::Vector<PITPolicyRule>& GetPitPolicy() const { return m_pitPolicy; }
194 inline bool PitPolicyHasBeenSet() const { return m_pitPolicyHasBeenSet; }
195 template <typename PitPolicyT = Aws::Vector<PITPolicyRule>>
196 void SetPitPolicy(PitPolicyT&& value) {
197 m_pitPolicyHasBeenSet = true;
198 m_pitPolicy = std::forward<PitPolicyT>(value);
199 }
200 template <typename PitPolicyT = Aws::Vector<PITPolicyRule>>
202 SetPitPolicy(std::forward<PitPolicyT>(value));
203 return *this;
204 }
205 template <typename PitPolicyT = PITPolicyRule>
207 m_pitPolicyHasBeenSet = true;
208 m_pitPolicy.emplace_back(std::forward<PitPolicyT>(value));
209 return *this;
210 }
212
214
217 inline const Aws::String& GetReplicationConfigurationTemplateID() const { return m_replicationConfigurationTemplateID; }
218 inline bool ReplicationConfigurationTemplateIDHasBeenSet() const { return m_replicationConfigurationTemplateIDHasBeenSet; }
219 template <typename ReplicationConfigurationTemplateIDT = Aws::String>
220 void SetReplicationConfigurationTemplateID(ReplicationConfigurationTemplateIDT&& value) {
221 m_replicationConfigurationTemplateIDHasBeenSet = true;
222 m_replicationConfigurationTemplateID = std::forward<ReplicationConfigurationTemplateIDT>(value);
223 }
224 template <typename ReplicationConfigurationTemplateIDT = Aws::String>
225 ReplicationConfigurationTemplate& WithReplicationConfigurationTemplateID(ReplicationConfigurationTemplateIDT&& value) {
226 SetReplicationConfigurationTemplateID(std::forward<ReplicationConfigurationTemplateIDT>(value));
227 return *this;
228 }
230
232
235 inline const Aws::String& GetReplicationServerInstanceType() const { return m_replicationServerInstanceType; }
236 inline bool ReplicationServerInstanceTypeHasBeenSet() const { return m_replicationServerInstanceTypeHasBeenSet; }
237 template <typename ReplicationServerInstanceTypeT = Aws::String>
238 void SetReplicationServerInstanceType(ReplicationServerInstanceTypeT&& value) {
239 m_replicationServerInstanceTypeHasBeenSet = true;
240 m_replicationServerInstanceType = std::forward<ReplicationServerInstanceTypeT>(value);
241 }
242 template <typename ReplicationServerInstanceTypeT = Aws::String>
244 SetReplicationServerInstanceType(std::forward<ReplicationServerInstanceTypeT>(value));
245 return *this;
246 }
248
250
253 inline const Aws::Vector<Aws::String>& GetReplicationServersSecurityGroupsIDs() const { return m_replicationServersSecurityGroupsIDs; }
254 inline bool ReplicationServersSecurityGroupsIDsHasBeenSet() const { return m_replicationServersSecurityGroupsIDsHasBeenSet; }
255 template <typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
256 void SetReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT&& value) {
257 m_replicationServersSecurityGroupsIDsHasBeenSet = true;
258 m_replicationServersSecurityGroupsIDs = std::forward<ReplicationServersSecurityGroupsIDsT>(value);
259 }
260 template <typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
261 ReplicationConfigurationTemplate& WithReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT&& value) {
262 SetReplicationServersSecurityGroupsIDs(std::forward<ReplicationServersSecurityGroupsIDsT>(value));
263 return *this;
264 }
265 template <typename ReplicationServersSecurityGroupsIDsT = Aws::String>
266 ReplicationConfigurationTemplate& AddReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT&& value) {
267 m_replicationServersSecurityGroupsIDsHasBeenSet = true;
268 m_replicationServersSecurityGroupsIDs.emplace_back(std::forward<ReplicationServersSecurityGroupsIDsT>(value));
269 return *this;
270 }
272
274
277 inline const Aws::String& GetStagingAreaSubnetId() const { return m_stagingAreaSubnetId; }
278 inline bool StagingAreaSubnetIdHasBeenSet() const { return m_stagingAreaSubnetIdHasBeenSet; }
279 template <typename StagingAreaSubnetIdT = Aws::String>
280 void SetStagingAreaSubnetId(StagingAreaSubnetIdT&& value) {
281 m_stagingAreaSubnetIdHasBeenSet = true;
282 m_stagingAreaSubnetId = std::forward<StagingAreaSubnetIdT>(value);
283 }
284 template <typename StagingAreaSubnetIdT = Aws::String>
286 SetStagingAreaSubnetId(std::forward<StagingAreaSubnetIdT>(value));
287 return *this;
288 }
290
292
296 inline const Aws::Map<Aws::String, Aws::String>& GetStagingAreaTags() const { return m_stagingAreaTags; }
297 inline bool StagingAreaTagsHasBeenSet() const { return m_stagingAreaTagsHasBeenSet; }
298 template <typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
299 void SetStagingAreaTags(StagingAreaTagsT&& value) {
300 m_stagingAreaTagsHasBeenSet = true;
301 m_stagingAreaTags = std::forward<StagingAreaTagsT>(value);
302 }
303 template <typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
305 SetStagingAreaTags(std::forward<StagingAreaTagsT>(value));
306 return *this;
307 }
308 template <typename StagingAreaTagsKeyT = Aws::String, typename StagingAreaTagsValueT = Aws::String>
309 ReplicationConfigurationTemplate& AddStagingAreaTags(StagingAreaTagsKeyT&& key, StagingAreaTagsValueT&& value) {
310 m_stagingAreaTagsHasBeenSet = true;
311 m_stagingAreaTags.emplace(std::forward<StagingAreaTagsKeyT>(key), std::forward<StagingAreaTagsValueT>(value));
312 return *this;
313 }
315
317
321 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
322 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
323 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
324 void SetTags(TagsT&& value) {
325 m_tagsHasBeenSet = true;
326 m_tags = std::forward<TagsT>(value);
327 }
328 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
330 SetTags(std::forward<TagsT>(value));
331 return *this;
332 }
333 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
334 ReplicationConfigurationTemplate& AddTags(TagsKeyT&& key, TagsValueT&& value) {
335 m_tagsHasBeenSet = true;
336 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
337 return *this;
338 }
340
342
346 inline bool GetUseDedicatedReplicationServer() const { return m_useDedicatedReplicationServer; }
347 inline bool UseDedicatedReplicationServerHasBeenSet() const { return m_useDedicatedReplicationServerHasBeenSet; }
348 inline void SetUseDedicatedReplicationServer(bool value) {
349 m_useDedicatedReplicationServerHasBeenSet = true;
350 m_useDedicatedReplicationServer = value;
351 }
354 return *this;
355 }
357
359
360 inline const Aws::String& GetRequestId() const { return m_requestId; }
361 inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
362 template <typename RequestIdT = Aws::String>
363 void SetRequestId(RequestIdT&& value) {
364 m_requestIdHasBeenSet = true;
365 m_requestId = std::forward<RequestIdT>(value);
366 }
367 template <typename RequestIdT = Aws::String>
369 SetRequestId(std::forward<RequestIdT>(value));
370 return *this;
371 }
373 private:
374 Aws::String m_arn;
375
376 bool m_associateDefaultSecurityGroup{false};
377
378 bool m_autoReplicateNewDisks{false};
379
380 long long m_bandwidthThrottling{0};
381
382 bool m_createPublicIP{false};
383
385
386 ReplicationConfigurationDefaultLargeStagingDiskType m_defaultLargeStagingDiskType{
388
390
391 Aws::String m_ebsEncryptionKeyArn;
392
393 Aws::Vector<PITPolicyRule> m_pitPolicy;
394
395 Aws::String m_replicationConfigurationTemplateID;
396
397 Aws::String m_replicationServerInstanceType;
398
399 Aws::Vector<Aws::String> m_replicationServersSecurityGroupsIDs;
400
401 Aws::String m_stagingAreaSubnetId;
402
403 Aws::Map<Aws::String, Aws::String> m_stagingAreaTags;
404
406
407 bool m_useDedicatedReplicationServer{false};
408
409 Aws::String m_requestId;
410 bool m_arnHasBeenSet = false;
411 bool m_associateDefaultSecurityGroupHasBeenSet = false;
412 bool m_autoReplicateNewDisksHasBeenSet = false;
413 bool m_bandwidthThrottlingHasBeenSet = false;
414 bool m_createPublicIPHasBeenSet = false;
415 bool m_dataPlaneRoutingHasBeenSet = false;
416 bool m_defaultLargeStagingDiskTypeHasBeenSet = false;
417 bool m_ebsEncryptionHasBeenSet = false;
418 bool m_ebsEncryptionKeyArnHasBeenSet = false;
419 bool m_pitPolicyHasBeenSet = false;
420 bool m_replicationConfigurationTemplateIDHasBeenSet = false;
421 bool m_replicationServerInstanceTypeHasBeenSet = false;
422 bool m_replicationServersSecurityGroupsIDsHasBeenSet = false;
423 bool m_stagingAreaSubnetIdHasBeenSet = false;
424 bool m_stagingAreaTagsHasBeenSet = false;
425 bool m_tagsHasBeenSet = false;
426 bool m_useDedicatedReplicationServerHasBeenSet = false;
427 bool m_requestIdHasBeenSet = false;
428};
429
430} // namespace Model
431} // namespace drs
432} // namespace Aws
ReplicationConfigurationTemplate & WithTags(TagsT &&value)
ReplicationConfigurationTemplate & WithRequestId(RequestIdT &&value)
ReplicationConfigurationTemplate & WithBandwidthThrottling(long long value)
ReplicationConfigurationTemplate & AddPitPolicy(PitPolicyT &&value)
ReplicationConfigurationTemplate & WithStagingAreaTags(StagingAreaTagsT &&value)
ReplicationConfigurationTemplate & WithDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
void SetDataPlaneRouting(ReplicationConfigurationDataPlaneRouting value)
ReplicationConfigurationTemplate & WithAssociateDefaultSecurityGroup(bool value)
ReplicationConfigurationTemplate & WithArn(ArnT &&value)
ReplicationConfigurationTemplate & AddTags(TagsKeyT &&key, TagsValueT &&value)
void SetReplicationConfigurationTemplateID(ReplicationConfigurationTemplateIDT &&value)
ReplicationConfigurationTemplate & WithPitPolicy(PitPolicyT &&value)
AWS_DRS_API ReplicationConfigurationTemplate(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< PITPolicyRule > & GetPitPolicy() const
ReplicationConfigurationTemplate & WithUseDedicatedReplicationServer(bool value)
ReplicationConfigurationDataPlaneRouting GetDataPlaneRouting() const
ReplicationConfigurationTemplate & WithEbsEncryption(ReplicationConfigurationEbsEncryption value)
void SetEbsEncryption(ReplicationConfigurationEbsEncryption value)
ReplicationConfigurationTemplate & AddReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
ReplicationConfigurationTemplate & WithReplicationConfigurationTemplateID(ReplicationConfigurationTemplateIDT &&value)
ReplicationConfigurationTemplate & WithAutoReplicateNewDisks(bool value)
const Aws::Vector< Aws::String > & GetReplicationServersSecurityGroupsIDs() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
AWS_DRS_API Aws::Utils::Json::JsonValue Jsonize() const
ReplicationConfigurationTemplate & AddStagingAreaTags(StagingAreaTagsKeyT &&key, StagingAreaTagsValueT &&value)
ReplicationConfigurationTemplate & WithCreatePublicIP(bool value)
ReplicationConfigurationEbsEncryption GetEbsEncryption() const
ReplicationConfigurationTemplate & WithStagingAreaSubnetId(StagingAreaSubnetIdT &&value)
ReplicationConfigurationTemplate & WithReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
ReplicationConfigurationTemplate & WithEbsEncryptionKeyArn(EbsEncryptionKeyArnT &&value)
AWS_DRS_API ReplicationConfigurationTemplate & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetReplicationServerInstanceType(ReplicationServerInstanceTypeT &&value)
ReplicationConfigurationDefaultLargeStagingDiskType GetDefaultLargeStagingDiskType() const
ReplicationConfigurationTemplate & WithDataPlaneRouting(ReplicationConfigurationDataPlaneRouting value)
const Aws::Map< Aws::String, Aws::String > & GetStagingAreaTags() const
ReplicationConfigurationTemplate & WithReplicationServerInstanceType(ReplicationServerInstanceTypeT &&value)
void SetReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
void SetDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType 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
Aws::Utils::Json::JsonValue JsonValue