7#include <aws/drs/Drs_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/drs/model/ReplicationConfigurationDataPlaneRouting.h>
10#include <aws/drs/model/ReplicationConfigurationDefaultLargeStagingDiskType.h>
11#include <aws/drs/model/ReplicationConfigurationEbsEncryption.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/core/utils/memory/stl/AWSMap.h>
14#include <aws/drs/model/PITPolicyRule.h>
47 template<
typename ArnT = Aws::String>
48 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
49 template<
typename ArnT = Aws::String>
71 inline void SetAutoReplicateNewDisks(
bool value) { m_autoReplicateNewDisksHasBeenSet =
true; m_autoReplicateNewDisks = value; }
82 inline void SetBandwidthThrottling(
long long value) { m_bandwidthThrottlingHasBeenSet =
true; m_bandwidthThrottling = value; }
92 inline void SetCreatePublicIP(
bool value) { m_createPublicIPHasBeenSet =
true; m_createPublicIP = value; }
132 template<
typename EbsEncryptionKeyArnT = Aws::String>
133 void SetEbsEncryptionKeyArn(EbsEncryptionKeyArnT&& value) { m_ebsEncryptionKeyArnHasBeenSet =
true; m_ebsEncryptionKeyArn = std::forward<EbsEncryptionKeyArnT>(value); }
134 template<
typename EbsEncryptionKeyArnT = Aws::String>
145 template<
typename PitPolicyT = Aws::Vector<PITPolicyRule>>
146 void SetPitPolicy(PitPolicyT&& value) { m_pitPolicyHasBeenSet =
true; m_pitPolicy = std::forward<PitPolicyT>(value); }
147 template<
typename PitPolicyT = Aws::Vector<PITPolicyRule>>
149 template<
typename PitPolicyT = PITPolicyRule>
159 template<
typename ReplicationConfigurationTemplateIDT = Aws::String>
160 void SetReplicationConfigurationTemplateID(ReplicationConfigurationTemplateIDT&& value) { m_replicationConfigurationTemplateIDHasBeenSet =
true; m_replicationConfigurationTemplateID = std::forward<ReplicationConfigurationTemplateIDT>(value); }
161 template<
typename ReplicationConfigurationTemplateIDT = Aws::String>
171 template<
typename ReplicationServerInstanceTypeT = Aws::String>
172 void SetReplicationServerInstanceType(ReplicationServerInstanceTypeT&& value) { m_replicationServerInstanceTypeHasBeenSet =
true; m_replicationServerInstanceType = std::forward<ReplicationServerInstanceTypeT>(value); }
173 template<
typename ReplicationServerInstanceTypeT = Aws::String>
183 template<
typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
184 void SetReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT&& value) { m_replicationServersSecurityGroupsIDsHasBeenSet =
true; m_replicationServersSecurityGroupsIDs = std::forward<ReplicationServersSecurityGroupsIDsT>(value); }
185 template<
typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
187 template<
typename ReplicationServersSecurityGroupsIDsT = Aws::String>
197 template<
typename StagingAreaSubnetIdT = Aws::String>
198 void SetStagingAreaSubnetId(StagingAreaSubnetIdT&& value) { m_stagingAreaSubnetIdHasBeenSet =
true; m_stagingAreaSubnetId = std::forward<StagingAreaSubnetIdT>(value); }
199 template<
typename StagingAreaSubnetIdT = Aws::String>
210 template<
typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
211 void SetStagingAreaTags(StagingAreaTagsT&& value) { m_stagingAreaTagsHasBeenSet =
true; m_stagingAreaTags = std::forward<StagingAreaTagsT>(value); }
212 template<
typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
214 template<
typename StagingAreaTagsKeyT = Aws::String,
typename StagingAreaTagsValueT = Aws::String>
216 m_stagingAreaTagsHasBeenSet =
true; m_stagingAreaTags.emplace(std::forward<StagingAreaTagsKeyT>(key), std::forward<StagingAreaTagsValueT>(value));
return *
this;
227 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
228 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
229 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
231 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
233 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
252 template<
typename RequestIdT = Aws::String>
253 void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet =
true; m_requestId = std::forward<RequestIdT>(value); }
254 template<
typename RequestIdT = Aws::String>
260 bool m_arnHasBeenSet =
false;
262 bool m_associateDefaultSecurityGroup{
false};
263 bool m_associateDefaultSecurityGroupHasBeenSet =
false;
265 bool m_autoReplicateNewDisks{
false};
266 bool m_autoReplicateNewDisksHasBeenSet =
false;
268 long long m_bandwidthThrottling{0};
269 bool m_bandwidthThrottlingHasBeenSet =
false;
271 bool m_createPublicIP{
false};
272 bool m_createPublicIPHasBeenSet =
false;
275 bool m_dataPlaneRoutingHasBeenSet =
false;
278 bool m_defaultLargeStagingDiskTypeHasBeenSet =
false;
281 bool m_ebsEncryptionHasBeenSet =
false;
284 bool m_ebsEncryptionKeyArnHasBeenSet =
false;
287 bool m_pitPolicyHasBeenSet =
false;
290 bool m_replicationConfigurationTemplateIDHasBeenSet =
false;
293 bool m_replicationServerInstanceTypeHasBeenSet =
false;
296 bool m_replicationServersSecurityGroupsIDsHasBeenSet =
false;
299 bool m_stagingAreaSubnetIdHasBeenSet =
false;
302 bool m_stagingAreaTagsHasBeenSet =
false;
305 bool m_tagsHasBeenSet =
false;
307 bool m_useDedicatedReplicationServer{
false};
308 bool m_useDedicatedReplicationServerHasBeenSet =
false;
311 bool m_requestIdHasBeenSet =
false;
ReplicationConfigurationTemplate & WithTags(TagsT &&value)
bool ReplicationServersSecurityGroupsIDsHasBeenSet() const
bool AssociateDefaultSecurityGroupHasBeenSet() const
ReplicationConfigurationTemplate & WithRequestId(RequestIdT &&value)
bool TagsHasBeenSet() const
ReplicationConfigurationTemplate & WithBandwidthThrottling(long long value)
bool GetCreatePublicIP() const
void SetTags(TagsT &&value)
bool DataPlaneRoutingHasBeenSet() const
ReplicationConfigurationTemplate & AddPitPolicy(PitPolicyT &&value)
ReplicationConfigurationTemplate & WithStagingAreaTags(StagingAreaTagsT &&value)
const Aws::String & GetStagingAreaSubnetId() const
bool ReplicationServerInstanceTypeHasBeenSet() const
AWS_DRS_API ReplicationConfigurationTemplate()=default
void SetAssociateDefaultSecurityGroup(bool value)
ReplicationConfigurationTemplate & WithDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
void SetDataPlaneRouting(ReplicationConfigurationDataPlaneRouting value)
bool ArnHasBeenSet() const
const Aws::String & GetEbsEncryptionKeyArn() const
ReplicationConfigurationTemplate & WithAssociateDefaultSecurityGroup(bool value)
ReplicationConfigurationTemplate & WithArn(ArnT &&value)
ReplicationConfigurationTemplate & AddTags(TagsKeyT &&key, TagsValueT &&value)
bool AutoReplicateNewDisksHasBeenSet() const
bool StagingAreaTagsHasBeenSet() const
void SetReplicationConfigurationTemplateID(ReplicationConfigurationTemplateIDT &&value)
void SetStagingAreaTags(StagingAreaTagsT &&value)
ReplicationConfigurationTemplate & WithPitPolicy(PitPolicyT &&value)
const Aws::String & GetReplicationConfigurationTemplateID() const
AWS_DRS_API ReplicationConfigurationTemplate(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< PITPolicyRule > & GetPitPolicy() const
ReplicationConfigurationTemplate & WithUseDedicatedReplicationServer(bool value)
void SetUseDedicatedReplicationServer(bool value)
bool EbsEncryptionHasBeenSet() const
void SetEbsEncryptionKeyArn(EbsEncryptionKeyArnT &&value)
ReplicationConfigurationDataPlaneRouting GetDataPlaneRouting() const
void SetStagingAreaSubnetId(StagingAreaSubnetIdT &&value)
ReplicationConfigurationTemplate & WithEbsEncryption(ReplicationConfigurationEbsEncryption value)
void SetEbsEncryption(ReplicationConfigurationEbsEncryption value)
bool UseDedicatedReplicationServerHasBeenSet() const
ReplicationConfigurationTemplate & AddReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
ReplicationConfigurationTemplate & WithReplicationConfigurationTemplateID(ReplicationConfigurationTemplateIDT &&value)
void SetAutoReplicateNewDisks(bool value)
const Aws::String & GetArn() const
ReplicationConfigurationTemplate & WithAutoReplicateNewDisks(bool value)
long long GetBandwidthThrottling() const
const Aws::Vector< Aws::String > & GetReplicationServersSecurityGroupsIDs() const
bool GetAssociateDefaultSecurityGroup() const
void SetRequestId(RequestIdT &&value)
const Aws::String & GetReplicationServerInstanceType() const
bool DefaultLargeStagingDiskTypeHasBeenSet() const
bool StagingAreaSubnetIdHasBeenSet() const
bool GetUseDedicatedReplicationServer() const
void SetCreatePublicIP(bool value)
bool EbsEncryptionKeyArnHasBeenSet() const
void SetBandwidthThrottling(long long value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
bool ReplicationConfigurationTemplateIDHasBeenSet() const
bool RequestIdHasBeenSet() const
AWS_DRS_API Aws::Utils::Json::JsonValue Jsonize() const
void SetPitPolicy(PitPolicyT &&value)
bool CreatePublicIPHasBeenSet() const
ReplicationConfigurationTemplate & AddStagingAreaTags(StagingAreaTagsKeyT &&key, StagingAreaTagsValueT &&value)
ReplicationConfigurationTemplate & WithCreatePublicIP(bool value)
ReplicationConfigurationEbsEncryption GetEbsEncryption() const
ReplicationConfigurationTemplate & WithStagingAreaSubnetId(StagingAreaSubnetIdT &&value)
bool PitPolicyHasBeenSet() const
void SetArn(ArnT &&value)
bool GetAutoReplicateNewDisks() const
ReplicationConfigurationTemplate & WithReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
bool BandwidthThrottlingHasBeenSet() const
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
const Aws::String & GetRequestId() const
ReplicationConfigurationTemplate & WithReplicationServerInstanceType(ReplicationServerInstanceTypeT &&value)
void SetReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
void SetDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
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
Aws::Utils::Json::JsonValue JsonValue