7#include <aws/drs/Drs_EXPORTS.h>
8#include <aws/drs/model/ReplicationConfigurationDataPlaneRouting.h>
9#include <aws/drs/model/ReplicationConfigurationDefaultLargeStagingDiskType.h>
10#include <aws/drs/model/ReplicationConfigurationEbsEncryption.h>
11#include <aws/core/utils/memory/stl/AWSString.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>
15#include <aws/drs/model/ReplicationConfigurationReplicatedDisk.h>
20template<
typename RESULT_TYPE>
21class AmazonWebServiceResult;
58 inline void SetAutoReplicateNewDisks(
bool value) { m_autoReplicateNewDisksHasBeenSet =
true; m_autoReplicateNewDisks = value; }
68 inline void SetBandwidthThrottling(
long long value) { m_bandwidthThrottlingHasBeenSet =
true; m_bandwidthThrottling = value; }
77 inline void SetCreatePublicIP(
bool value) { m_createPublicIPHasBeenSet =
true; m_createPublicIP = value; }
113 template<
typename EbsEncryptionKeyArnT = Aws::String>
114 void SetEbsEncryptionKeyArn(EbsEncryptionKeyArnT&& value) { m_ebsEncryptionKeyArnHasBeenSet =
true; m_ebsEncryptionKeyArn = std::forward<EbsEncryptionKeyArnT>(value); }
115 template<
typename EbsEncryptionKeyArnT = Aws::String>
124 template<
typename NameT = Aws::String>
125 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
126 template<
typename NameT = Aws::String>
136 template<
typename PitPolicyT = Aws::Vector<PITPolicyRule>>
137 void SetPitPolicy(PitPolicyT&& value) { m_pitPolicyHasBeenSet =
true; m_pitPolicy = std::forward<PitPolicyT>(value); }
138 template<
typename PitPolicyT = Aws::Vector<PITPolicyRule>>
140 template<
typename PitPolicyT = PITPolicyRule>
149 template<
typename ReplicatedDisksT = Aws::Vector<ReplicationConfigurationReplicatedDisk>>
150 void SetReplicatedDisks(ReplicatedDisksT&& value) { m_replicatedDisksHasBeenSet =
true; m_replicatedDisks = std::forward<ReplicatedDisksT>(value); }
151 template<
typename ReplicatedDisksT = Aws::Vector<ReplicationConfigurationReplicatedDisk>>
153 template<
typename ReplicatedDisksT = ReplicationConfigurationReplicatedDisk>
162 template<
typename ReplicationServerInstanceTypeT = Aws::String>
163 void SetReplicationServerInstanceType(ReplicationServerInstanceTypeT&& value) { m_replicationServerInstanceTypeHasBeenSet =
true; m_replicationServerInstanceType = std::forward<ReplicationServerInstanceTypeT>(value); }
164 template<
typename ReplicationServerInstanceTypeT = Aws::String>
173 template<
typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
174 void SetReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT&& value) { m_replicationServersSecurityGroupsIDsHasBeenSet =
true; m_replicationServersSecurityGroupsIDs = std::forward<ReplicationServersSecurityGroupsIDsT>(value); }
175 template<
typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
177 template<
typename ReplicationServersSecurityGroupsIDsT = Aws::String>
186 template<
typename SourceServerIDT = Aws::String>
187 void SetSourceServerID(SourceServerIDT&& value) { m_sourceServerIDHasBeenSet =
true; m_sourceServerID = std::forward<SourceServerIDT>(value); }
188 template<
typename SourceServerIDT = 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>
209 template<
typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
210 void SetStagingAreaTags(StagingAreaTagsT&& value) { m_stagingAreaTagsHasBeenSet =
true; m_stagingAreaTags = std::forward<StagingAreaTagsT>(value); }
211 template<
typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
213 template<
typename StagingAreaTagsKeyT = Aws::String,
typename StagingAreaTagsValueT = Aws::String>
215 m_stagingAreaTagsHasBeenSet =
true; m_stagingAreaTags.emplace(std::forward<StagingAreaTagsKeyT>(key), std::forward<StagingAreaTagsValueT>(value));
return *
this;
232 template<
typename RequestIdT = Aws::String>
233 void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet =
true; m_requestId = std::forward<RequestIdT>(value); }
234 template<
typename RequestIdT = Aws::String>
239 bool m_associateDefaultSecurityGroup{
false};
240 bool m_associateDefaultSecurityGroupHasBeenSet =
false;
242 bool m_autoReplicateNewDisks{
false};
243 bool m_autoReplicateNewDisksHasBeenSet =
false;
245 long long m_bandwidthThrottling{0};
246 bool m_bandwidthThrottlingHasBeenSet =
false;
248 bool m_createPublicIP{
false};
249 bool m_createPublicIPHasBeenSet =
false;
252 bool m_dataPlaneRoutingHasBeenSet =
false;
255 bool m_defaultLargeStagingDiskTypeHasBeenSet =
false;
258 bool m_ebsEncryptionHasBeenSet =
false;
261 bool m_ebsEncryptionKeyArnHasBeenSet =
false;
264 bool m_nameHasBeenSet =
false;
267 bool m_pitPolicyHasBeenSet =
false;
270 bool m_replicatedDisksHasBeenSet =
false;
273 bool m_replicationServerInstanceTypeHasBeenSet =
false;
276 bool m_replicationServersSecurityGroupsIDsHasBeenSet =
false;
279 bool m_sourceServerIDHasBeenSet =
false;
282 bool m_stagingAreaSubnetIdHasBeenSet =
false;
285 bool m_stagingAreaTagsHasBeenSet =
false;
287 bool m_useDedicatedReplicationServer{
false};
288 bool m_useDedicatedReplicationServerHasBeenSet =
false;
291 bool m_requestIdHasBeenSet =
false;
AWS_DRS_API GetReplicationConfigurationResult()=default
GetReplicationConfigurationResult & WithStagingAreaTags(StagingAreaTagsT &&value)
GetReplicationConfigurationResult & WithReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
void SetRequestId(RequestIdT &&value)
GetReplicationConfigurationResult & AddStagingAreaTags(StagingAreaTagsKeyT &&key, StagingAreaTagsValueT &&value)
bool GetAssociateDefaultSecurityGroup() const
const Aws::Vector< ReplicationConfigurationReplicatedDisk > & GetReplicatedDisks() const
GetReplicationConfigurationResult & WithStagingAreaSubnetId(StagingAreaSubnetIdT &&value)
void SetReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
void SetEbsEncryption(ReplicationConfigurationEbsEncryption value)
const Aws::String & GetReplicationServerInstanceType() const
void SetCreatePublicIP(bool value)
AWS_DRS_API GetReplicationConfigurationResult(const Aws::AmazonWebServiceResult< Aws::Utils::Json::JsonValue > &result)
ReplicationConfigurationDataPlaneRouting GetDataPlaneRouting() const
GetReplicationConfigurationResult & AddReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
void SetPitPolicy(PitPolicyT &&value)
GetReplicationConfigurationResult & WithReplicatedDisks(ReplicatedDisksT &&value)
GetReplicationConfigurationResult & WithDataPlaneRouting(ReplicationConfigurationDataPlaneRouting value)
GetReplicationConfigurationResult & WithAssociateDefaultSecurityGroup(bool value)
const Aws::String & GetName() const
void SetReplicatedDisks(ReplicatedDisksT &&value)
GetReplicationConfigurationResult & WithEbsEncryptionKeyArn(EbsEncryptionKeyArnT &&value)
void SetBandwidthThrottling(long long value)
GetReplicationConfigurationResult & WithDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
const Aws::Map< Aws::String, Aws::String > & GetStagingAreaTags() const
bool GetCreatePublicIP() const
void SetUseDedicatedReplicationServer(bool value)
const Aws::Vector< Aws::String > & GetReplicationServersSecurityGroupsIDs() const
void SetAutoReplicateNewDisks(bool value)
GetReplicationConfigurationResult & WithName(NameT &&value)
GetReplicationConfigurationResult & WithReplicationServerInstanceType(ReplicationServerInstanceTypeT &&value)
GetReplicationConfigurationResult & WithCreatePublicIP(bool value)
void SetName(NameT &&value)
const Aws::String & GetEbsEncryptionKeyArn() const
GetReplicationConfigurationResult & WithBandwidthThrottling(long long value)
void SetReplicationServerInstanceType(ReplicationServerInstanceTypeT &&value)
void SetEbsEncryptionKeyArn(EbsEncryptionKeyArnT &&value)
void SetAssociateDefaultSecurityGroup(bool value)
GetReplicationConfigurationResult & WithUseDedicatedReplicationServer(bool value)
ReplicationConfigurationEbsEncryption GetEbsEncryption() const
GetReplicationConfigurationResult & WithPitPolicy(PitPolicyT &&value)
GetReplicationConfigurationResult & AddReplicatedDisks(ReplicatedDisksT &&value)
void SetSourceServerID(SourceServerIDT &&value)
GetReplicationConfigurationResult & WithEbsEncryption(ReplicationConfigurationEbsEncryption value)
void SetDataPlaneRouting(ReplicationConfigurationDataPlaneRouting value)
GetReplicationConfigurationResult & WithAutoReplicateNewDisks(bool value)
const Aws::String & GetSourceServerID() const
GetReplicationConfigurationResult & WithRequestId(RequestIdT &&value)
void SetStagingAreaSubnetId(StagingAreaSubnetIdT &&value)
bool GetAutoReplicateNewDisks() const
void SetStagingAreaTags(StagingAreaTagsT &&value)
GetReplicationConfigurationResult & WithSourceServerID(SourceServerIDT &&value)
long long GetBandwidthThrottling() const
GetReplicationConfigurationResult & AddPitPolicy(PitPolicyT &&value)
const Aws::String & GetRequestId() const
const Aws::Vector< PITPolicyRule > & GetPitPolicy() const
void SetDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
bool GetUseDedicatedReplicationServer() const
const Aws::String & GetStagingAreaSubnetId() const
AWS_DRS_API GetReplicationConfigurationResult & operator=(const Aws::AmazonWebServiceResult< Aws::Utils::Json::JsonValue > &result)
ReplicationConfigurationDefaultLargeStagingDiskType GetDefaultLargeStagingDiskType() 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
Aws::Utils::Json::JsonValue JsonValue