AWS SDK for C++

AWS SDK for C++ Version 1.11.788

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/InternetProtocol.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 Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace drs {
27namespace Model {
28
30 public:
31 AWS_DRS_API ReplicationConfigurationTemplate() = default;
35
37
40 inline const Aws::String& GetReplicationConfigurationTemplateID() const { return m_replicationConfigurationTemplateID; }
41 inline bool ReplicationConfigurationTemplateIDHasBeenSet() const { return m_replicationConfigurationTemplateIDHasBeenSet; }
42 template <typename ReplicationConfigurationTemplateIDT = Aws::String>
43 void SetReplicationConfigurationTemplateID(ReplicationConfigurationTemplateIDT&& value) {
44 m_replicationConfigurationTemplateIDHasBeenSet = true;
45 m_replicationConfigurationTemplateID = std::forward<ReplicationConfigurationTemplateIDT>(value);
46 }
47 template <typename ReplicationConfigurationTemplateIDT = Aws::String>
48 ReplicationConfigurationTemplate& WithReplicationConfigurationTemplateID(ReplicationConfigurationTemplateIDT&& value) {
49 SetReplicationConfigurationTemplateID(std::forward<ReplicationConfigurationTemplateIDT>(value));
50 return *this;
51 }
53
55
58 inline const Aws::String& GetArn() const { return m_arn; }
59 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
60 template <typename ArnT = Aws::String>
61 void SetArn(ArnT&& value) {
62 m_arnHasBeenSet = true;
63 m_arn = std::forward<ArnT>(value);
64 }
65 template <typename ArnT = Aws::String>
67 SetArn(std::forward<ArnT>(value));
68 return *this;
69 }
71
73
76 inline const Aws::String& GetStagingAreaSubnetId() const { return m_stagingAreaSubnetId; }
77 inline bool StagingAreaSubnetIdHasBeenSet() const { return m_stagingAreaSubnetIdHasBeenSet; }
78 template <typename StagingAreaSubnetIdT = Aws::String>
79 void SetStagingAreaSubnetId(StagingAreaSubnetIdT&& value) {
80 m_stagingAreaSubnetIdHasBeenSet = true;
81 m_stagingAreaSubnetId = std::forward<StagingAreaSubnetIdT>(value);
82 }
83 template <typename StagingAreaSubnetIdT = Aws::String>
85 SetStagingAreaSubnetId(std::forward<StagingAreaSubnetIdT>(value));
86 return *this;
87 }
89
91
95 inline bool GetAssociateDefaultSecurityGroup() const { return m_associateDefaultSecurityGroup; }
96 inline bool AssociateDefaultSecurityGroupHasBeenSet() const { return m_associateDefaultSecurityGroupHasBeenSet; }
97 inline void SetAssociateDefaultSecurityGroup(bool value) {
98 m_associateDefaultSecurityGroupHasBeenSet = true;
99 m_associateDefaultSecurityGroup = value;
100 }
103 return *this;
104 }
106
108
111 inline const Aws::Vector<Aws::String>& GetReplicationServersSecurityGroupsIDs() const { return m_replicationServersSecurityGroupsIDs; }
112 inline bool ReplicationServersSecurityGroupsIDsHasBeenSet() const { return m_replicationServersSecurityGroupsIDsHasBeenSet; }
113 template <typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
114 void SetReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT&& value) {
115 m_replicationServersSecurityGroupsIDsHasBeenSet = true;
116 m_replicationServersSecurityGroupsIDs = std::forward<ReplicationServersSecurityGroupsIDsT>(value);
117 }
118 template <typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
119 ReplicationConfigurationTemplate& WithReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT&& value) {
120 SetReplicationServersSecurityGroupsIDs(std::forward<ReplicationServersSecurityGroupsIDsT>(value));
121 return *this;
122 }
123 template <typename ReplicationServersSecurityGroupsIDsT = Aws::String>
124 ReplicationConfigurationTemplate& AddReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT&& value) {
125 m_replicationServersSecurityGroupsIDsHasBeenSet = true;
126 m_replicationServersSecurityGroupsIDs.emplace_back(std::forward<ReplicationServersSecurityGroupsIDsT>(value));
127 return *this;
128 }
130
132
135 inline const Aws::String& GetReplicationServerInstanceType() const { return m_replicationServerInstanceType; }
136 inline bool ReplicationServerInstanceTypeHasBeenSet() const { return m_replicationServerInstanceTypeHasBeenSet; }
137 template <typename ReplicationServerInstanceTypeT = Aws::String>
138 void SetReplicationServerInstanceType(ReplicationServerInstanceTypeT&& value) {
139 m_replicationServerInstanceTypeHasBeenSet = true;
140 m_replicationServerInstanceType = std::forward<ReplicationServerInstanceTypeT>(value);
141 }
142 template <typename ReplicationServerInstanceTypeT = Aws::String>
144 SetReplicationServerInstanceType(std::forward<ReplicationServerInstanceTypeT>(value));
145 return *this;
146 }
148
150
154 inline bool GetUseDedicatedReplicationServer() const { return m_useDedicatedReplicationServer; }
155 inline bool UseDedicatedReplicationServerHasBeenSet() const { return m_useDedicatedReplicationServerHasBeenSet; }
156 inline void SetUseDedicatedReplicationServer(bool value) {
157 m_useDedicatedReplicationServerHasBeenSet = true;
158 m_useDedicatedReplicationServer = value;
159 }
162 return *this;
163 }
165
167
171 return m_defaultLargeStagingDiskType;
172 }
173 inline bool DefaultLargeStagingDiskTypeHasBeenSet() const { return m_defaultLargeStagingDiskTypeHasBeenSet; }
175 m_defaultLargeStagingDiskTypeHasBeenSet = true;
176 m_defaultLargeStagingDiskType = value;
177 }
180 return *this;
181 }
183
185
188 inline ReplicationConfigurationEbsEncryption GetEbsEncryption() const { return m_ebsEncryption; }
189 inline bool EbsEncryptionHasBeenSet() const { return m_ebsEncryptionHasBeenSet; }
191 m_ebsEncryptionHasBeenSet = true;
192 m_ebsEncryption = value;
193 }
195 SetEbsEncryption(value);
196 return *this;
197 }
199
201
204 inline const Aws::String& GetEbsEncryptionKeyArn() const { return m_ebsEncryptionKeyArn; }
205 inline bool EbsEncryptionKeyArnHasBeenSet() const { return m_ebsEncryptionKeyArnHasBeenSet; }
206 template <typename EbsEncryptionKeyArnT = Aws::String>
207 void SetEbsEncryptionKeyArn(EbsEncryptionKeyArnT&& value) {
208 m_ebsEncryptionKeyArnHasBeenSet = true;
209 m_ebsEncryptionKeyArn = std::forward<EbsEncryptionKeyArnT>(value);
210 }
211 template <typename EbsEncryptionKeyArnT = Aws::String>
213 SetEbsEncryptionKeyArn(std::forward<EbsEncryptionKeyArnT>(value));
214 return *this;
215 }
217
219
223 inline long long GetBandwidthThrottling() const { return m_bandwidthThrottling; }
224 inline bool BandwidthThrottlingHasBeenSet() const { return m_bandwidthThrottlingHasBeenSet; }
225 inline void SetBandwidthThrottling(long long value) {
226 m_bandwidthThrottlingHasBeenSet = true;
227 m_bandwidthThrottling = value;
228 }
231 return *this;
232 }
234
236
239 inline ReplicationConfigurationDataPlaneRouting GetDataPlaneRouting() const { return m_dataPlaneRouting; }
240 inline bool DataPlaneRoutingHasBeenSet() const { return m_dataPlaneRoutingHasBeenSet; }
242 m_dataPlaneRoutingHasBeenSet = true;
243 m_dataPlaneRouting = value;
244 }
246 SetDataPlaneRouting(value);
247 return *this;
248 }
250
252
255 inline bool GetCreatePublicIP() const { return m_createPublicIP; }
256 inline bool CreatePublicIPHasBeenSet() const { return m_createPublicIPHasBeenSet; }
257 inline void SetCreatePublicIP(bool value) {
258 m_createPublicIPHasBeenSet = true;
259 m_createPublicIP = value;
260 }
262 SetCreatePublicIP(value);
263 return *this;
264 }
266
268
272 inline const Aws::Map<Aws::String, Aws::String>& GetStagingAreaTags() const { return m_stagingAreaTags; }
273 inline bool StagingAreaTagsHasBeenSet() const { return m_stagingAreaTagsHasBeenSet; }
274 template <typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
275 void SetStagingAreaTags(StagingAreaTagsT&& value) {
276 m_stagingAreaTagsHasBeenSet = true;
277 m_stagingAreaTags = std::forward<StagingAreaTagsT>(value);
278 }
279 template <typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
281 SetStagingAreaTags(std::forward<StagingAreaTagsT>(value));
282 return *this;
283 }
284 template <typename StagingAreaTagsKeyT = Aws::String, typename StagingAreaTagsValueT = Aws::String>
285 ReplicationConfigurationTemplate& AddStagingAreaTags(StagingAreaTagsKeyT&& key, StagingAreaTagsValueT&& value) {
286 m_stagingAreaTagsHasBeenSet = true;
287 m_stagingAreaTags.emplace(std::forward<StagingAreaTagsKeyT>(key), std::forward<StagingAreaTagsValueT>(value));
288 return *this;
289 }
291
293
297 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
298 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
299 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
300 void SetTags(TagsT&& value) {
301 m_tagsHasBeenSet = true;
302 m_tags = std::forward<TagsT>(value);
303 }
304 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
306 SetTags(std::forward<TagsT>(value));
307 return *this;
308 }
309 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
310 ReplicationConfigurationTemplate& AddTags(TagsKeyT&& key, TagsValueT&& value) {
311 m_tagsHasBeenSet = true;
312 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
313 return *this;
314 }
316
318
322 inline const Aws::Vector<PITPolicyRule>& GetPitPolicy() const { return m_pitPolicy; }
323 inline bool PitPolicyHasBeenSet() const { return m_pitPolicyHasBeenSet; }
324 template <typename PitPolicyT = Aws::Vector<PITPolicyRule>>
325 void SetPitPolicy(PitPolicyT&& value) {
326 m_pitPolicyHasBeenSet = true;
327 m_pitPolicy = std::forward<PitPolicyT>(value);
328 }
329 template <typename PitPolicyT = Aws::Vector<PITPolicyRule>>
331 SetPitPolicy(std::forward<PitPolicyT>(value));
332 return *this;
333 }
334 template <typename PitPolicyT = PITPolicyRule>
336 m_pitPolicyHasBeenSet = true;
337 m_pitPolicy.emplace_back(std::forward<PitPolicyT>(value));
338 return *this;
339 }
341
343
347 inline bool GetAutoReplicateNewDisks() const { return m_autoReplicateNewDisks; }
348 inline bool AutoReplicateNewDisksHasBeenSet() const { return m_autoReplicateNewDisksHasBeenSet; }
349 inline void SetAutoReplicateNewDisks(bool value) {
350 m_autoReplicateNewDisksHasBeenSet = true;
351 m_autoReplicateNewDisks = value;
352 }
355 return *this;
356 }
358
360
364 inline InternetProtocol GetInternetProtocol() const { return m_internetProtocol; }
365 inline bool InternetProtocolHasBeenSet() const { return m_internetProtocolHasBeenSet; }
367 m_internetProtocolHasBeenSet = true;
368 m_internetProtocol = value;
369 }
371 SetInternetProtocol(value);
372 return *this;
373 }
375
377
378 inline const Aws::String& GetRequestId() const { return m_requestId; }
379 inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
380 template <typename RequestIdT = Aws::String>
381 void SetRequestId(RequestIdT&& value) {
382 m_requestIdHasBeenSet = true;
383 m_requestId = std::forward<RequestIdT>(value);
384 }
385 template <typename RequestIdT = Aws::String>
387 SetRequestId(std::forward<RequestIdT>(value));
388 return *this;
389 }
391 private:
392 Aws::String m_replicationConfigurationTemplateID;
393
394 Aws::String m_arn;
395
396 Aws::String m_stagingAreaSubnetId;
397
398 bool m_associateDefaultSecurityGroup{false};
399
400 Aws::Vector<Aws::String> m_replicationServersSecurityGroupsIDs;
401
402 Aws::String m_replicationServerInstanceType;
403
404 bool m_useDedicatedReplicationServer{false};
405
406 ReplicationConfigurationDefaultLargeStagingDiskType m_defaultLargeStagingDiskType{
408
410
411 Aws::String m_ebsEncryptionKeyArn;
412
413 long long m_bandwidthThrottling{0};
414
416
417 bool m_createPublicIP{false};
418
419 Aws::Map<Aws::String, Aws::String> m_stagingAreaTags;
420
422
423 Aws::Vector<PITPolicyRule> m_pitPolicy;
424
425 bool m_autoReplicateNewDisks{false};
426
428
429 Aws::String m_requestId;
430 bool m_replicationConfigurationTemplateIDHasBeenSet = false;
431 bool m_arnHasBeenSet = false;
432 bool m_stagingAreaSubnetIdHasBeenSet = false;
433 bool m_associateDefaultSecurityGroupHasBeenSet = false;
434 bool m_replicationServersSecurityGroupsIDsHasBeenSet = false;
435 bool m_replicationServerInstanceTypeHasBeenSet = false;
436 bool m_useDedicatedReplicationServerHasBeenSet = false;
437 bool m_defaultLargeStagingDiskTypeHasBeenSet = false;
438 bool m_ebsEncryptionHasBeenSet = false;
439 bool m_ebsEncryptionKeyArnHasBeenSet = false;
440 bool m_bandwidthThrottlingHasBeenSet = false;
441 bool m_dataPlaneRoutingHasBeenSet = false;
442 bool m_createPublicIPHasBeenSet = false;
443 bool m_stagingAreaTagsHasBeenSet = false;
444 bool m_tagsHasBeenSet = false;
445 bool m_pitPolicyHasBeenSet = false;
446 bool m_autoReplicateNewDisksHasBeenSet = false;
447 bool m_internetProtocolHasBeenSet = false;
448 bool m_requestIdHasBeenSet = false;
449};
450
451} // namespace Model
452} // namespace drs
453} // 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 & WithInternetProtocol(InternetProtocol 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