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>
33 inline virtual const char*
GetServiceRequestName()
const override {
return "CreateReplicationConfigurationTemplate"; }
45 m_associateDefaultSecurityGroupHasBeenSet =
true;
46 m_associateDefaultSecurityGroup = value;
62 m_autoReplicateNewDisksHasBeenSet =
true;
63 m_autoReplicateNewDisks = value;
79 m_bandwidthThrottlingHasBeenSet =
true;
80 m_bandwidthThrottling = value;
95 m_createPublicIPHasBeenSet =
true;
96 m_createPublicIP = value;
111 m_dataPlaneRoutingHasBeenSet =
true;
112 m_dataPlaneRouting = value;
125 return m_defaultLargeStagingDiskType;
129 m_defaultLargeStagingDiskTypeHasBeenSet =
true;
130 m_defaultLargeStagingDiskType = value;
146 m_ebsEncryptionHasBeenSet =
true;
147 m_ebsEncryption = value;
161 template <
typename EbsEncryptionKeyArnT = Aws::String>
163 m_ebsEncryptionKeyArnHasBeenSet =
true;
164 m_ebsEncryptionKeyArn = std::forward<EbsEncryptionKeyArnT>(value);
166 template <
typename EbsEncryptionKeyArnT = Aws::String>
180 template <
typename PitPolicyT = Aws::Vector<PITPolicyRule>>
182 m_pitPolicyHasBeenSet =
true;
183 m_pitPolicy = std::forward<PitPolicyT>(value);
185 template <
typename PitPolicyT = Aws::Vector<PITPolicyRule>>
190 template <
typename PitPolicyT = PITPolicyRule>
192 m_pitPolicyHasBeenSet =
true;
193 m_pitPolicy.emplace_back(std::forward<PitPolicyT>(value));
204 template <
typename ReplicationServerInstanceTypeT = Aws::String>
206 m_replicationServerInstanceTypeHasBeenSet =
true;
207 m_replicationServerInstanceType = std::forward<ReplicationServerInstanceTypeT>(value);
209 template <
typename ReplicationServerInstanceTypeT = Aws::String>
222 template <
typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
224 m_replicationServersSecurityGroupsIDsHasBeenSet =
true;
225 m_replicationServersSecurityGroupsIDs = std::forward<ReplicationServersSecurityGroupsIDsT>(value);
227 template <
typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
232 template <
typename ReplicationServersSecurityGroupsIDsT = Aws::String>
234 m_replicationServersSecurityGroupsIDsHasBeenSet =
true;
235 m_replicationServersSecurityGroupsIDs.emplace_back(std::forward<ReplicationServersSecurityGroupsIDsT>(value));
246 template <
typename StagingAreaSubnetIdT = Aws::String>
248 m_stagingAreaSubnetIdHasBeenSet =
true;
249 m_stagingAreaSubnetId = std::forward<StagingAreaSubnetIdT>(value);
251 template <
typename StagingAreaSubnetIdT = Aws::String>
265 template <
typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
267 m_stagingAreaTagsHasBeenSet =
true;
268 m_stagingAreaTags = std::forward<StagingAreaTagsT>(value);
270 template <
typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
275 template <
typename StagingAreaTagsKeyT = Aws::String,
typename StagingAreaTagsValueT = Aws::String>
277 m_stagingAreaTagsHasBeenSet =
true;
278 m_stagingAreaTags.emplace(std::forward<StagingAreaTagsKeyT>(key), std::forward<StagingAreaTagsValueT>(value));
290 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
292 m_tagsHasBeenSet =
true;
293 m_tags = std::forward<TagsT>(value);
295 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
297 SetTags(std::forward<TagsT>(value));
300 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
302 m_tagsHasBeenSet =
true;
303 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
316 m_useDedicatedReplicationServerHasBeenSet =
true;
317 m_useDedicatedReplicationServer = value;
325 bool m_associateDefaultSecurityGroup{
false};
327 bool m_autoReplicateNewDisks{
false};
329 long long m_bandwidthThrottling{0};
331 bool m_createPublicIP{
false};
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;
void SetTags(TagsT &&value)
AWS_DRS_API CreateReplicationConfigurationTemplateRequest()=default
CreateReplicationConfigurationTemplateRequest & WithStagingAreaSubnetId(StagingAreaSubnetIdT &&value)
bool EbsEncryptionKeyArnHasBeenSet() const
bool StagingAreaSubnetIdHasBeenSet() const
CreateReplicationConfigurationTemplateRequest & WithCreatePublicIP(bool value)
bool CreatePublicIPHasBeenSet() const
void SetAutoReplicateNewDisks(bool value)
bool EbsEncryptionHasBeenSet() const
const Aws::String & GetReplicationServerInstanceType() const
const Aws::String & GetStagingAreaSubnetId() const
CreateReplicationConfigurationTemplateRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
bool AssociateDefaultSecurityGroupHasBeenSet() const
void SetAssociateDefaultSecurityGroup(bool value)
bool BandwidthThrottlingHasBeenSet() const
ReplicationConfigurationDataPlaneRouting GetDataPlaneRouting() const
AWS_DRS_API Aws::String SerializePayload() const override
void SetEbsEncryptionKeyArn(EbsEncryptionKeyArnT &&value)
bool ReplicationServersSecurityGroupsIDsHasBeenSet() const
bool GetAutoReplicateNewDisks() const
void SetPitPolicy(PitPolicyT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateReplicationConfigurationTemplateRequest & WithDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
const Aws::String & GetEbsEncryptionKeyArn() const
bool GetUseDedicatedReplicationServer() const
void SetReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
ReplicationConfigurationEbsEncryption GetEbsEncryption() const
void SetStagingAreaTags(StagingAreaTagsT &&value)
void SetUseDedicatedReplicationServer(bool value)
const Aws::Map< Aws::String, Aws::String > & GetStagingAreaTags() const
void SetReplicationServerInstanceType(ReplicationServerInstanceTypeT &&value)
CreateReplicationConfigurationTemplateRequest & WithAssociateDefaultSecurityGroup(bool value)
void SetCreatePublicIP(bool value)
void SetEbsEncryption(ReplicationConfigurationEbsEncryption value)
bool DataPlaneRoutingHasBeenSet() const
CreateReplicationConfigurationTemplateRequest & WithStagingAreaTags(StagingAreaTagsT &&value)
void SetDataPlaneRouting(ReplicationConfigurationDataPlaneRouting value)
CreateReplicationConfigurationTemplateRequest & WithReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
bool DefaultLargeStagingDiskTypeHasBeenSet() const
CreateReplicationConfigurationTemplateRequest & WithPitPolicy(PitPolicyT &&value)
CreateReplicationConfigurationTemplateRequest & WithEbsEncryption(ReplicationConfigurationEbsEncryption value)
CreateReplicationConfigurationTemplateRequest & AddStagingAreaTags(StagingAreaTagsKeyT &&key, StagingAreaTagsValueT &&value)
virtual const char * GetServiceRequestName() const override
bool TagsHasBeenSet() const
void SetStagingAreaSubnetId(StagingAreaSubnetIdT &&value)
bool GetAssociateDefaultSecurityGroup() const
const Aws::Vector< PITPolicyRule > & GetPitPolicy() const
CreateReplicationConfigurationTemplateRequest & WithReplicationServerInstanceType(ReplicationServerInstanceTypeT &&value)
CreateReplicationConfigurationTemplateRequest & WithBandwidthThrottling(long long value)
bool AutoReplicateNewDisksHasBeenSet() const
bool GetCreatePublicIP() const
bool PitPolicyHasBeenSet() const
long long GetBandwidthThrottling() const
CreateReplicationConfigurationTemplateRequest & WithDataPlaneRouting(ReplicationConfigurationDataPlaneRouting value)
CreateReplicationConfigurationTemplateRequest & WithEbsEncryptionKeyArn(EbsEncryptionKeyArnT &&value)
CreateReplicationConfigurationTemplateRequest & WithUseDedicatedReplicationServer(bool value)
const Aws::Vector< Aws::String > & GetReplicationServersSecurityGroupsIDs() const
CreateReplicationConfigurationTemplateRequest & WithAutoReplicateNewDisks(bool value)
void SetDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
ReplicationConfigurationDefaultLargeStagingDiskType GetDefaultLargeStagingDiskType() const
bool UseDedicatedReplicationServerHasBeenSet() const
CreateReplicationConfigurationTemplateRequest & AddReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
CreateReplicationConfigurationTemplateRequest & AddPitPolicy(PitPolicyT &&value)
CreateReplicationConfigurationTemplateRequest & WithTags(TagsT &&value)
void SetBandwidthThrottling(long long value)
bool StagingAreaTagsHasBeenSet() const
bool ReplicationServerInstanceTypeHasBeenSet() const
ReplicationConfigurationDataPlaneRouting
ReplicationConfigurationEbsEncryption
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