AWS SDK for C++

AWS SDK for C++ Version 1.11.852

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/mgn/Mgn_EXPORTS.h>
11#include <aws/mgn/model/InternetProtocol.h>
12#include <aws/mgn/model/ReplicationConfigurationDataPlaneRouting.h>
13#include <aws/mgn/model/ReplicationConfigurationDefaultLargeStagingDiskType.h>
14#include <aws/mgn/model/ReplicationConfigurationEbsEncryption.h>
15#include <aws/mgn/model/StorageConfiguration.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace mgn {
27namespace Model {
28
30 public:
31 AWS_MGN_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
153 inline bool GetUseDedicatedReplicationServer() const { return m_useDedicatedReplicationServer; }
154 inline bool UseDedicatedReplicationServerHasBeenSet() const { return m_useDedicatedReplicationServerHasBeenSet; }
155 inline void SetUseDedicatedReplicationServer(bool value) {
156 m_useDedicatedReplicationServerHasBeenSet = true;
157 m_useDedicatedReplicationServer = value;
158 }
161 return *this;
162 }
164
166
170 return m_defaultLargeStagingDiskType;
171 }
172 inline bool DefaultLargeStagingDiskTypeHasBeenSet() const { return m_defaultLargeStagingDiskTypeHasBeenSet; }
174 m_defaultLargeStagingDiskTypeHasBeenSet = true;
175 m_defaultLargeStagingDiskType = value;
176 }
179 return *this;
180 }
182
184
187 inline ReplicationConfigurationEbsEncryption GetEbsEncryption() const { return m_ebsEncryption; }
188 inline bool EbsEncryptionHasBeenSet() const { return m_ebsEncryptionHasBeenSet; }
190 m_ebsEncryptionHasBeenSet = true;
191 m_ebsEncryption = value;
192 }
194 SetEbsEncryption(value);
195 return *this;
196 }
198
200
203 inline const Aws::String& GetEbsEncryptionKeyArn() const { return m_ebsEncryptionKeyArn; }
204 inline bool EbsEncryptionKeyArnHasBeenSet() const { return m_ebsEncryptionKeyArnHasBeenSet; }
205 template <typename EbsEncryptionKeyArnT = Aws::String>
206 void SetEbsEncryptionKeyArn(EbsEncryptionKeyArnT&& value) {
207 m_ebsEncryptionKeyArnHasBeenSet = true;
208 m_ebsEncryptionKeyArn = std::forward<EbsEncryptionKeyArnT>(value);
209 }
210 template <typename EbsEncryptionKeyArnT = Aws::String>
212 SetEbsEncryptionKeyArn(std::forward<EbsEncryptionKeyArnT>(value));
213 return *this;
214 }
216
218
221 inline long long GetBandwidthThrottling() const { return m_bandwidthThrottling; }
222 inline bool BandwidthThrottlingHasBeenSet() const { return m_bandwidthThrottlingHasBeenSet; }
223 inline void SetBandwidthThrottling(long long value) {
224 m_bandwidthThrottlingHasBeenSet = true;
225 m_bandwidthThrottling = value;
226 }
229 return *this;
230 }
232
234
237 inline ReplicationConfigurationDataPlaneRouting GetDataPlaneRouting() const { return m_dataPlaneRouting; }
238 inline bool DataPlaneRoutingHasBeenSet() const { return m_dataPlaneRoutingHasBeenSet; }
240 m_dataPlaneRoutingHasBeenSet = true;
241 m_dataPlaneRouting = value;
242 }
244 SetDataPlaneRouting(value);
245 return *this;
246 }
248
250
253 inline bool GetCreatePublicIP() const { return m_createPublicIP; }
254 inline bool CreatePublicIPHasBeenSet() const { return m_createPublicIPHasBeenSet; }
255 inline void SetCreatePublicIP(bool value) {
256 m_createPublicIPHasBeenSet = true;
257 m_createPublicIP = value;
258 }
260 SetCreatePublicIP(value);
261 return *this;
262 }
264
266
269 inline const Aws::Map<Aws::String, Aws::String>& GetStagingAreaTags() const { return m_stagingAreaTags; }
270 inline bool StagingAreaTagsHasBeenSet() const { return m_stagingAreaTagsHasBeenSet; }
271 template <typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
272 void SetStagingAreaTags(StagingAreaTagsT&& value) {
273 m_stagingAreaTagsHasBeenSet = true;
274 m_stagingAreaTags = std::forward<StagingAreaTagsT>(value);
275 }
276 template <typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
278 SetStagingAreaTags(std::forward<StagingAreaTagsT>(value));
279 return *this;
280 }
281 template <typename StagingAreaTagsKeyT = Aws::String, typename StagingAreaTagsValueT = Aws::String>
282 ReplicationConfigurationTemplate& AddStagingAreaTags(StagingAreaTagsKeyT&& key, StagingAreaTagsValueT&& value) {
283 m_stagingAreaTagsHasBeenSet = true;
284 m_stagingAreaTags.emplace(std::forward<StagingAreaTagsKeyT>(key), std::forward<StagingAreaTagsValueT>(value));
285 return *this;
286 }
288
290
293 inline bool GetUseFipsEndpoint() const { return m_useFipsEndpoint; }
294 inline bool UseFipsEndpointHasBeenSet() const { return m_useFipsEndpointHasBeenSet; }
295 inline void SetUseFipsEndpoint(bool value) {
296 m_useFipsEndpointHasBeenSet = true;
297 m_useFipsEndpoint = value;
298 }
300 SetUseFipsEndpoint(value);
301 return *this;
302 }
304
306
309 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
310 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
311 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
312 void SetTags(TagsT&& value) {
313 m_tagsHasBeenSet = true;
314 m_tags = std::forward<TagsT>(value);
315 }
316 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
318 SetTags(std::forward<TagsT>(value));
319 return *this;
320 }
321 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
322 ReplicationConfigurationTemplate& AddTags(TagsKeyT&& key, TagsValueT&& value) {
323 m_tagsHasBeenSet = true;
324 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
325 return *this;
326 }
328
330
333 inline InternetProtocol GetInternetProtocol() const { return m_internetProtocol; }
334 inline bool InternetProtocolHasBeenSet() const { return m_internetProtocolHasBeenSet; }
336 m_internetProtocolHasBeenSet = true;
337 m_internetProtocol = value;
338 }
340 SetInternetProtocol(value);
341 return *this;
342 }
344
346
349 inline bool GetStoreSnapshotOnLocalZone() const { return m_storeSnapshotOnLocalZone; }
350 inline bool StoreSnapshotOnLocalZoneHasBeenSet() const { return m_storeSnapshotOnLocalZoneHasBeenSet; }
351 inline void SetStoreSnapshotOnLocalZone(bool value) {
352 m_storeSnapshotOnLocalZoneHasBeenSet = true;
353 m_storeSnapshotOnLocalZone = value;
354 }
357 return *this;
358 }
360
362
365 inline const StorageConfiguration& GetStorageConfiguration() const { return m_storageConfiguration; }
366 inline bool StorageConfigurationHasBeenSet() const { return m_storageConfigurationHasBeenSet; }
367 template <typename StorageConfigurationT = StorageConfiguration>
368 void SetStorageConfiguration(StorageConfigurationT&& value) {
369 m_storageConfigurationHasBeenSet = true;
370 m_storageConfiguration = std::forward<StorageConfigurationT>(value);
371 }
372 template <typename StorageConfigurationT = StorageConfiguration>
374 SetStorageConfiguration(std::forward<StorageConfigurationT>(value));
375 return *this;
376 }
378
380
381 inline const Aws::String& GetRequestId() const { return m_requestId; }
382 inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
383 template <typename RequestIdT = Aws::String>
384 void SetRequestId(RequestIdT&& value) {
385 m_requestIdHasBeenSet = true;
386 m_requestId = std::forward<RequestIdT>(value);
387 }
388 template <typename RequestIdT = Aws::String>
390 SetRequestId(std::forward<RequestIdT>(value));
391 return *this;
392 }
394 private:
395 Aws::String m_replicationConfigurationTemplateID;
396
397 Aws::String m_arn;
398
399 Aws::String m_stagingAreaSubnetId;
400
401 bool m_associateDefaultSecurityGroup{false};
402
403 Aws::Vector<Aws::String> m_replicationServersSecurityGroupsIDs;
404
405 Aws::String m_replicationServerInstanceType;
406
407 bool m_useDedicatedReplicationServer{false};
408
409 ReplicationConfigurationDefaultLargeStagingDiskType m_defaultLargeStagingDiskType{
411
413
414 Aws::String m_ebsEncryptionKeyArn;
415
416 long long m_bandwidthThrottling{0};
417
419
420 bool m_createPublicIP{false};
421
422 Aws::Map<Aws::String, Aws::String> m_stagingAreaTags;
423
424 bool m_useFipsEndpoint{false};
425
427
429
430 bool m_storeSnapshotOnLocalZone{false};
431
432 StorageConfiguration m_storageConfiguration;
433
434 Aws::String m_requestId;
435 bool m_replicationConfigurationTemplateIDHasBeenSet = false;
436 bool m_arnHasBeenSet = false;
437 bool m_stagingAreaSubnetIdHasBeenSet = false;
438 bool m_associateDefaultSecurityGroupHasBeenSet = false;
439 bool m_replicationServersSecurityGroupsIDsHasBeenSet = false;
440 bool m_replicationServerInstanceTypeHasBeenSet = false;
441 bool m_useDedicatedReplicationServerHasBeenSet = false;
442 bool m_defaultLargeStagingDiskTypeHasBeenSet = false;
443 bool m_ebsEncryptionHasBeenSet = false;
444 bool m_ebsEncryptionKeyArnHasBeenSet = false;
445 bool m_bandwidthThrottlingHasBeenSet = false;
446 bool m_dataPlaneRoutingHasBeenSet = false;
447 bool m_createPublicIPHasBeenSet = false;
448 bool m_stagingAreaTagsHasBeenSet = false;
449 bool m_useFipsEndpointHasBeenSet = false;
450 bool m_tagsHasBeenSet = false;
451 bool m_internetProtocolHasBeenSet = false;
452 bool m_storeSnapshotOnLocalZoneHasBeenSet = false;
453 bool m_storageConfigurationHasBeenSet = false;
454 bool m_requestIdHasBeenSet = false;
455};
456
457} // namespace Model
458} // namespace mgn
459} // namespace Aws
ReplicationConfigurationTemplate & WithInternetProtocol(InternetProtocol value)
AWS_MGN_API ReplicationConfigurationTemplate & operator=(Aws::Utils::Json::JsonView jsonValue)
ReplicationConfigurationTemplate & WithAssociateDefaultSecurityGroup(bool value)
void SetDataPlaneRouting(ReplicationConfigurationDataPlaneRouting value)
ReplicationConfigurationTemplate & WithReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
ReplicationConfigurationTemplate & WithEbsEncryptionKeyArn(EbsEncryptionKeyArnT &&value)
ReplicationConfigurationTemplate & WithStagingAreaTags(StagingAreaTagsT &&value)
ReplicationConfigurationTemplate & WithDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
ReplicationConfigurationTemplate & WithStoreSnapshotOnLocalZone(bool value)
void SetReplicationServerInstanceType(ReplicationServerInstanceTypeT &&value)
ReplicationConfigurationTemplate & WithReplicationConfigurationTemplateID(ReplicationConfigurationTemplateIDT &&value)
AWS_MGN_API Aws::Utils::Json::JsonValue Jsonize() const
ReplicationConfigurationTemplate & AddTags(TagsKeyT &&key, TagsValueT &&value)
void SetReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
ReplicationConfigurationTemplate & WithBandwidthThrottling(long long value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
ReplicationConfigurationTemplate & WithTags(TagsT &&value)
void SetReplicationConfigurationTemplateID(ReplicationConfigurationTemplateIDT &&value)
ReplicationConfigurationTemplate & AddReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
void SetDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
ReplicationConfigurationDataPlaneRouting GetDataPlaneRouting() const
ReplicationConfigurationTemplate & WithStorageConfiguration(StorageConfigurationT &&value)
void SetEbsEncryption(ReplicationConfigurationEbsEncryption value)
ReplicationConfigurationTemplate & AddStagingAreaTags(StagingAreaTagsKeyT &&key, StagingAreaTagsValueT &&value)
ReplicationConfigurationDefaultLargeStagingDiskType GetDefaultLargeStagingDiskType() const
const Aws::Map< Aws::String, Aws::String > & GetStagingAreaTags() const
ReplicationConfigurationTemplate & WithCreatePublicIP(bool value)
ReplicationConfigurationTemplate & WithReplicationServerInstanceType(ReplicationServerInstanceTypeT &&value)
ReplicationConfigurationTemplate & WithDataPlaneRouting(ReplicationConfigurationDataPlaneRouting value)
AWS_MGN_API ReplicationConfigurationTemplate(Aws::Utils::Json::JsonView jsonValue)
ReplicationConfigurationTemplate & WithArn(ArnT &&value)
ReplicationConfigurationTemplate & WithEbsEncryption(ReplicationConfigurationEbsEncryption value)
ReplicationConfigurationTemplate & WithUseDedicatedReplicationServer(bool value)
const Aws::Vector< Aws::String > & GetReplicationServersSecurityGroupsIDs() const
ReplicationConfigurationTemplate & WithRequestId(RequestIdT &&value)
ReplicationConfigurationTemplate & WithUseFipsEndpoint(bool value)
ReplicationConfigurationEbsEncryption GetEbsEncryption() const
ReplicationConfigurationTemplate & WithStagingAreaSubnetId(StagingAreaSubnetIdT &&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