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>
42 template <
typename ReplicationConfigurationTemplateIDT = Aws::String>
44 m_replicationConfigurationTemplateIDHasBeenSet =
true;
45 m_replicationConfigurationTemplateID = std::forward<ReplicationConfigurationTemplateIDT>(value);
47 template <
typename ReplicationConfigurationTemplateIDT = Aws::String>
60 template <
typename ArnT = Aws::String>
62 m_arnHasBeenSet =
true;
63 m_arn = std::forward<ArnT>(value);
65 template <
typename ArnT = Aws::String>
67 SetArn(std::forward<ArnT>(value));
78 template <
typename StagingAreaSubnetIdT = Aws::String>
80 m_stagingAreaSubnetIdHasBeenSet =
true;
81 m_stagingAreaSubnetId = std::forward<StagingAreaSubnetIdT>(value);
83 template <
typename StagingAreaSubnetIdT = Aws::String>
98 m_associateDefaultSecurityGroupHasBeenSet =
true;
99 m_associateDefaultSecurityGroup = value;
113 template <
typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
115 m_replicationServersSecurityGroupsIDsHasBeenSet =
true;
116 m_replicationServersSecurityGroupsIDs = std::forward<ReplicationServersSecurityGroupsIDsT>(value);
118 template <
typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
123 template <
typename ReplicationServersSecurityGroupsIDsT = Aws::String>
125 m_replicationServersSecurityGroupsIDsHasBeenSet =
true;
126 m_replicationServersSecurityGroupsIDs.emplace_back(std::forward<ReplicationServersSecurityGroupsIDsT>(value));
137 template <
typename ReplicationServerInstanceTypeT = Aws::String>
139 m_replicationServerInstanceTypeHasBeenSet =
true;
140 m_replicationServerInstanceType = std::forward<ReplicationServerInstanceTypeT>(value);
142 template <
typename ReplicationServerInstanceTypeT = Aws::String>
156 m_useDedicatedReplicationServerHasBeenSet =
true;
157 m_useDedicatedReplicationServer = value;
170 return m_defaultLargeStagingDiskType;
174 m_defaultLargeStagingDiskTypeHasBeenSet =
true;
175 m_defaultLargeStagingDiskType = value;
190 m_ebsEncryptionHasBeenSet =
true;
191 m_ebsEncryption = value;
205 template <
typename EbsEncryptionKeyArnT = Aws::String>
207 m_ebsEncryptionKeyArnHasBeenSet =
true;
208 m_ebsEncryptionKeyArn = std::forward<EbsEncryptionKeyArnT>(value);
210 template <
typename EbsEncryptionKeyArnT = Aws::String>
224 m_bandwidthThrottlingHasBeenSet =
true;
225 m_bandwidthThrottling = value;
240 m_dataPlaneRoutingHasBeenSet =
true;
241 m_dataPlaneRouting = value;
256 m_createPublicIPHasBeenSet =
true;
257 m_createPublicIP = value;
271 template <
typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
273 m_stagingAreaTagsHasBeenSet =
true;
274 m_stagingAreaTags = std::forward<StagingAreaTagsT>(value);
276 template <
typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
281 template <
typename StagingAreaTagsKeyT = Aws::String,
typename StagingAreaTagsValueT = Aws::String>
283 m_stagingAreaTagsHasBeenSet =
true;
284 m_stagingAreaTags.emplace(std::forward<StagingAreaTagsKeyT>(key), std::forward<StagingAreaTagsValueT>(value));
296 m_useFipsEndpointHasBeenSet =
true;
297 m_useFipsEndpoint = value;
311 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
313 m_tagsHasBeenSet =
true;
314 m_tags = std::forward<TagsT>(value);
316 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
318 SetTags(std::forward<TagsT>(value));
321 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
323 m_tagsHasBeenSet =
true;
324 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
336 m_internetProtocolHasBeenSet =
true;
337 m_internetProtocol = value;
352 m_storeSnapshotOnLocalZoneHasBeenSet =
true;
353 m_storeSnapshotOnLocalZone = value;
367 template <
typename StorageConfigurationT = StorageConfiguration>
369 m_storageConfigurationHasBeenSet =
true;
370 m_storageConfiguration = std::forward<StorageConfigurationT>(value);
372 template <
typename StorageConfigurationT = StorageConfiguration>
383 template <
typename RequestIdT = Aws::String>
385 m_requestIdHasBeenSet =
true;
386 m_requestId = std::forward<RequestIdT>(value);
388 template <
typename RequestIdT = Aws::String>
401 bool m_associateDefaultSecurityGroup{
false};
407 bool m_useDedicatedReplicationServer{
false};
416 long long m_bandwidthThrottling{0};
420 bool m_createPublicIP{
false};
424 bool m_useFipsEndpoint{
false};
430 bool m_storeSnapshotOnLocalZone{
false};
432 StorageConfiguration m_storageConfiguration;
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;
InternetProtocol GetInternetProtocol() const
ReplicationConfigurationTemplate & WithInternetProtocol(InternetProtocol value)
void SetStagingAreaSubnetId(StagingAreaSubnetIdT &&value)
AWS_MGN_API ReplicationConfigurationTemplate & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetAssociateDefaultSecurityGroup(bool value)
ReplicationConfigurationTemplate & WithAssociateDefaultSecurityGroup(bool value)
bool BandwidthThrottlingHasBeenSet() const
bool GetCreatePublicIP() const
const Aws::String & GetRequestId() const
bool StorageConfigurationHasBeenSet() const
void SetDataPlaneRouting(ReplicationConfigurationDataPlaneRouting value)
ReplicationConfigurationTemplate & WithReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
AWS_MGN_API ReplicationConfigurationTemplate()=default
bool InternetProtocolHasBeenSet() const
void SetArn(ArnT &&value)
ReplicationConfigurationTemplate & WithEbsEncryptionKeyArn(EbsEncryptionKeyArnT &&value)
ReplicationConfigurationTemplate & WithStagingAreaTags(StagingAreaTagsT &&value)
ReplicationConfigurationTemplate & WithDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
void SetUseDedicatedReplicationServer(bool value)
bool ReplicationServersSecurityGroupsIDsHasBeenSet() const
bool StagingAreaSubnetIdHasBeenSet() const
ReplicationConfigurationTemplate & WithStoreSnapshotOnLocalZone(bool value)
const StorageConfiguration & GetStorageConfiguration() const
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)
void SetEbsEncryptionKeyArn(EbsEncryptionKeyArnT &&value)
bool StagingAreaTagsHasBeenSet() const
const Aws::String & GetReplicationServerInstanceType() const
const Aws::String & GetEbsEncryptionKeyArn() const
ReplicationConfigurationTemplate & WithBandwidthThrottling(long long value)
void SetInternetProtocol(InternetProtocol value)
bool ReplicationConfigurationTemplateIDHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
ReplicationConfigurationTemplate & WithTags(TagsT &&value)
void SetStoreSnapshotOnLocalZone(bool value)
void SetReplicationConfigurationTemplateID(ReplicationConfigurationTemplateIDT &&value)
ReplicationConfigurationTemplate & AddReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
void SetStorageConfiguration(StorageConfigurationT &&value)
void SetDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
bool DefaultLargeStagingDiskTypeHasBeenSet() const
ReplicationConfigurationDataPlaneRouting GetDataPlaneRouting() const
void SetRequestId(RequestIdT &&value)
bool GetUseDedicatedReplicationServer() const
ReplicationConfigurationTemplate & WithStorageConfiguration(StorageConfigurationT &&value)
void SetEbsEncryption(ReplicationConfigurationEbsEncryption value)
void SetTags(TagsT &&value)
const Aws::String & GetReplicationConfigurationTemplateID() const
ReplicationConfigurationTemplate & AddStagingAreaTags(StagingAreaTagsKeyT &&key, StagingAreaTagsValueT &&value)
bool ReplicationServerInstanceTypeHasBeenSet() const
const Aws::String & GetStagingAreaSubnetId() const
long long GetBandwidthThrottling() const
ReplicationConfigurationDefaultLargeStagingDiskType GetDefaultLargeStagingDiskType() const
bool UseFipsEndpointHasBeenSet() const
void SetBandwidthThrottling(long long value)
const Aws::Map< Aws::String, Aws::String > & GetStagingAreaTags() const
ReplicationConfigurationTemplate & WithCreatePublicIP(bool value)
const Aws::String & GetArn() const
bool TagsHasBeenSet() const
void SetUseFipsEndpoint(bool value)
ReplicationConfigurationTemplate & WithReplicationServerInstanceType(ReplicationServerInstanceTypeT &&value)
bool DataPlaneRoutingHasBeenSet() const
ReplicationConfigurationTemplate & WithDataPlaneRouting(ReplicationConfigurationDataPlaneRouting value)
bool GetUseFipsEndpoint() const
AWS_MGN_API ReplicationConfigurationTemplate(Aws::Utils::Json::JsonView jsonValue)
bool RequestIdHasBeenSet() const
bool EbsEncryptionKeyArnHasBeenSet() const
bool GetStoreSnapshotOnLocalZone() const
bool StoreSnapshotOnLocalZoneHasBeenSet() const
ReplicationConfigurationTemplate & WithArn(ArnT &&value)
bool UseDedicatedReplicationServerHasBeenSet() const
bool ArnHasBeenSet() const
bool AssociateDefaultSecurityGroupHasBeenSet() const
void SetCreatePublicIP(bool value)
ReplicationConfigurationTemplate & WithEbsEncryption(ReplicationConfigurationEbsEncryption value)
ReplicationConfigurationTemplate & WithUseDedicatedReplicationServer(bool value)
const Aws::Vector< Aws::String > & GetReplicationServersSecurityGroupsIDs() const
ReplicationConfigurationTemplate & WithRequestId(RequestIdT &&value)
bool EbsEncryptionHasBeenSet() const
ReplicationConfigurationTemplate & WithUseFipsEndpoint(bool value)
bool GetAssociateDefaultSecurityGroup() const
ReplicationConfigurationEbsEncryption GetEbsEncryption() const
bool CreatePublicIPHasBeenSet() const
void SetStagingAreaTags(StagingAreaTagsT &&value)
ReplicationConfigurationTemplate & WithStagingAreaSubnetId(StagingAreaSubnetIdT &&value)
ReplicationConfigurationEbsEncryption
ReplicationConfigurationDataPlaneRouting
ReplicationConfigurationDefaultLargeStagingDiskType
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