AWS SDK for C++

AWS SDK for C++ Version 1.11.787

Loading...
Searching...
No Matches
CreateReplicationConfigurationTemplateRequest.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/drs/DrsRequest.h>
11#include <aws/drs/Drs_EXPORTS.h>
12#include <aws/drs/model/InternetProtocol.h>
13#include <aws/drs/model/PITPolicyRule.h>
14#include <aws/drs/model/ReplicationConfigurationDataPlaneRouting.h>
15#include <aws/drs/model/ReplicationConfigurationDefaultLargeStagingDiskType.h>
16#include <aws/drs/model/ReplicationConfigurationEbsEncryption.h>
17
18#include <utility>
19
20namespace Aws {
21namespace drs {
22namespace Model {
23
27 public:
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "CreateReplicationConfigurationTemplate"; }
35
36 AWS_DRS_API Aws::String SerializePayload() const override;
37
39
42 inline const Aws::String& GetStagingAreaSubnetId() const { return m_stagingAreaSubnetId; }
43 inline bool StagingAreaSubnetIdHasBeenSet() const { return m_stagingAreaSubnetIdHasBeenSet; }
44 template <typename StagingAreaSubnetIdT = Aws::String>
45 void SetStagingAreaSubnetId(StagingAreaSubnetIdT&& value) {
46 m_stagingAreaSubnetIdHasBeenSet = true;
47 m_stagingAreaSubnetId = std::forward<StagingAreaSubnetIdT>(value);
48 }
49 template <typename StagingAreaSubnetIdT = Aws::String>
51 SetStagingAreaSubnetId(std::forward<StagingAreaSubnetIdT>(value));
52 return *this;
53 }
55
57
61 inline bool GetAssociateDefaultSecurityGroup() const { return m_associateDefaultSecurityGroup; }
62 inline bool AssociateDefaultSecurityGroupHasBeenSet() const { return m_associateDefaultSecurityGroupHasBeenSet; }
63 inline void SetAssociateDefaultSecurityGroup(bool value) {
64 m_associateDefaultSecurityGroupHasBeenSet = true;
65 m_associateDefaultSecurityGroup = value;
66 }
69 return *this;
70 }
72
74
77 inline const Aws::Vector<Aws::String>& GetReplicationServersSecurityGroupsIDs() const { return m_replicationServersSecurityGroupsIDs; }
78 inline bool ReplicationServersSecurityGroupsIDsHasBeenSet() const { return m_replicationServersSecurityGroupsIDsHasBeenSet; }
79 template <typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
80 void SetReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT&& value) {
81 m_replicationServersSecurityGroupsIDsHasBeenSet = true;
82 m_replicationServersSecurityGroupsIDs = std::forward<ReplicationServersSecurityGroupsIDsT>(value);
83 }
84 template <typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
86 SetReplicationServersSecurityGroupsIDs(std::forward<ReplicationServersSecurityGroupsIDsT>(value));
87 return *this;
88 }
89 template <typename ReplicationServersSecurityGroupsIDsT = Aws::String>
91 m_replicationServersSecurityGroupsIDsHasBeenSet = true;
92 m_replicationServersSecurityGroupsIDs.emplace_back(std::forward<ReplicationServersSecurityGroupsIDsT>(value));
93 return *this;
94 }
96
98
101 inline const Aws::String& GetReplicationServerInstanceType() const { return m_replicationServerInstanceType; }
102 inline bool ReplicationServerInstanceTypeHasBeenSet() const { return m_replicationServerInstanceTypeHasBeenSet; }
103 template <typename ReplicationServerInstanceTypeT = Aws::String>
104 void SetReplicationServerInstanceType(ReplicationServerInstanceTypeT&& value) {
105 m_replicationServerInstanceTypeHasBeenSet = true;
106 m_replicationServerInstanceType = std::forward<ReplicationServerInstanceTypeT>(value);
107 }
108 template <typename ReplicationServerInstanceTypeT = Aws::String>
110 SetReplicationServerInstanceType(std::forward<ReplicationServerInstanceTypeT>(value));
111 return *this;
112 }
114
116
120 inline bool GetUseDedicatedReplicationServer() const { return m_useDedicatedReplicationServer; }
121 inline bool UseDedicatedReplicationServerHasBeenSet() const { return m_useDedicatedReplicationServerHasBeenSet; }
122 inline void SetUseDedicatedReplicationServer(bool value) {
123 m_useDedicatedReplicationServerHasBeenSet = true;
124 m_useDedicatedReplicationServer = value;
125 }
128 return *this;
129 }
131
133
137 return m_defaultLargeStagingDiskType;
138 }
139 inline bool DefaultLargeStagingDiskTypeHasBeenSet() const { return m_defaultLargeStagingDiskTypeHasBeenSet; }
141 m_defaultLargeStagingDiskTypeHasBeenSet = true;
142 m_defaultLargeStagingDiskType = value;
143 }
147 return *this;
148 }
150
152
155 inline ReplicationConfigurationEbsEncryption GetEbsEncryption() const { return m_ebsEncryption; }
156 inline bool EbsEncryptionHasBeenSet() const { return m_ebsEncryptionHasBeenSet; }
158 m_ebsEncryptionHasBeenSet = true;
159 m_ebsEncryption = value;
160 }
162 SetEbsEncryption(value);
163 return *this;
164 }
166
168
171 inline const Aws::String& GetEbsEncryptionKeyArn() const { return m_ebsEncryptionKeyArn; }
172 inline bool EbsEncryptionKeyArnHasBeenSet() const { return m_ebsEncryptionKeyArnHasBeenSet; }
173 template <typename EbsEncryptionKeyArnT = Aws::String>
174 void SetEbsEncryptionKeyArn(EbsEncryptionKeyArnT&& value) {
175 m_ebsEncryptionKeyArnHasBeenSet = true;
176 m_ebsEncryptionKeyArn = std::forward<EbsEncryptionKeyArnT>(value);
177 }
178 template <typename EbsEncryptionKeyArnT = Aws::String>
180 SetEbsEncryptionKeyArn(std::forward<EbsEncryptionKeyArnT>(value));
181 return *this;
182 }
184
186
190 inline long long GetBandwidthThrottling() const { return m_bandwidthThrottling; }
191 inline bool BandwidthThrottlingHasBeenSet() const { return m_bandwidthThrottlingHasBeenSet; }
192 inline void SetBandwidthThrottling(long long value) {
193 m_bandwidthThrottlingHasBeenSet = true;
194 m_bandwidthThrottling = value;
195 }
198 return *this;
199 }
201
203
206 inline ReplicationConfigurationDataPlaneRouting GetDataPlaneRouting() const { return m_dataPlaneRouting; }
207 inline bool DataPlaneRoutingHasBeenSet() const { return m_dataPlaneRoutingHasBeenSet; }
209 m_dataPlaneRoutingHasBeenSet = true;
210 m_dataPlaneRouting = value;
211 }
213 SetDataPlaneRouting(value);
214 return *this;
215 }
217
219
222 inline bool GetCreatePublicIP() const { return m_createPublicIP; }
223 inline bool CreatePublicIPHasBeenSet() const { return m_createPublicIPHasBeenSet; }
224 inline void SetCreatePublicIP(bool value) {
225 m_createPublicIPHasBeenSet = true;
226 m_createPublicIP = value;
227 }
229 SetCreatePublicIP(value);
230 return *this;
231 }
233
235
239 inline const Aws::Map<Aws::String, Aws::String>& GetStagingAreaTags() const { return m_stagingAreaTags; }
240 inline bool StagingAreaTagsHasBeenSet() const { return m_stagingAreaTagsHasBeenSet; }
241 template <typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
242 void SetStagingAreaTags(StagingAreaTagsT&& value) {
243 m_stagingAreaTagsHasBeenSet = true;
244 m_stagingAreaTags = std::forward<StagingAreaTagsT>(value);
245 }
246 template <typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
248 SetStagingAreaTags(std::forward<StagingAreaTagsT>(value));
249 return *this;
250 }
251 template <typename StagingAreaTagsKeyT = Aws::String, typename StagingAreaTagsValueT = Aws::String>
252 CreateReplicationConfigurationTemplateRequest& AddStagingAreaTags(StagingAreaTagsKeyT&& key, StagingAreaTagsValueT&& value) {
253 m_stagingAreaTagsHasBeenSet = true;
254 m_stagingAreaTags.emplace(std::forward<StagingAreaTagsKeyT>(key), std::forward<StagingAreaTagsValueT>(value));
255 return *this;
256 }
258
260
264 inline const Aws::Vector<PITPolicyRule>& GetPitPolicy() const { return m_pitPolicy; }
265 inline bool PitPolicyHasBeenSet() const { return m_pitPolicyHasBeenSet; }
266 template <typename PitPolicyT = Aws::Vector<PITPolicyRule>>
267 void SetPitPolicy(PitPolicyT&& value) {
268 m_pitPolicyHasBeenSet = true;
269 m_pitPolicy = std::forward<PitPolicyT>(value);
270 }
271 template <typename PitPolicyT = Aws::Vector<PITPolicyRule>>
273 SetPitPolicy(std::forward<PitPolicyT>(value));
274 return *this;
275 }
276 template <typename PitPolicyT = PITPolicyRule>
278 m_pitPolicyHasBeenSet = true;
279 m_pitPolicy.emplace_back(std::forward<PitPolicyT>(value));
280 return *this;
281 }
283
285
289 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
290 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
291 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
292 void SetTags(TagsT&& value) {
293 m_tagsHasBeenSet = true;
294 m_tags = std::forward<TagsT>(value);
295 }
296 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
298 SetTags(std::forward<TagsT>(value));
299 return *this;
300 }
301 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
302 CreateReplicationConfigurationTemplateRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
303 m_tagsHasBeenSet = true;
304 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
305 return *this;
306 }
308
310
314 inline bool GetAutoReplicateNewDisks() const { return m_autoReplicateNewDisks; }
315 inline bool AutoReplicateNewDisksHasBeenSet() const { return m_autoReplicateNewDisksHasBeenSet; }
316 inline void SetAutoReplicateNewDisks(bool value) {
317 m_autoReplicateNewDisksHasBeenSet = true;
318 m_autoReplicateNewDisks = value;
319 }
322 return *this;
323 }
325
327
331 inline InternetProtocol GetInternetProtocol() const { return m_internetProtocol; }
332 inline bool InternetProtocolHasBeenSet() const { return m_internetProtocolHasBeenSet; }
334 m_internetProtocolHasBeenSet = true;
335 m_internetProtocol = value;
336 }
338 SetInternetProtocol(value);
339 return *this;
340 }
342 private:
343 Aws::String m_stagingAreaSubnetId;
344
345 bool m_associateDefaultSecurityGroup{false};
346
347 Aws::Vector<Aws::String> m_replicationServersSecurityGroupsIDs;
348
349 Aws::String m_replicationServerInstanceType;
350
351 bool m_useDedicatedReplicationServer{false};
352
353 ReplicationConfigurationDefaultLargeStagingDiskType m_defaultLargeStagingDiskType{
355
357
358 Aws::String m_ebsEncryptionKeyArn;
359
360 long long m_bandwidthThrottling{0};
361
363
364 bool m_createPublicIP{false};
365
366 Aws::Map<Aws::String, Aws::String> m_stagingAreaTags;
367
368 Aws::Vector<PITPolicyRule> m_pitPolicy;
369
371
372 bool m_autoReplicateNewDisks{false};
373
375 bool m_stagingAreaSubnetIdHasBeenSet = false;
376 bool m_associateDefaultSecurityGroupHasBeenSet = false;
377 bool m_replicationServersSecurityGroupsIDsHasBeenSet = false;
378 bool m_replicationServerInstanceTypeHasBeenSet = false;
379 bool m_useDedicatedReplicationServerHasBeenSet = false;
380 bool m_defaultLargeStagingDiskTypeHasBeenSet = false;
381 bool m_ebsEncryptionHasBeenSet = false;
382 bool m_ebsEncryptionKeyArnHasBeenSet = false;
383 bool m_bandwidthThrottlingHasBeenSet = false;
384 bool m_dataPlaneRoutingHasBeenSet = false;
385 bool m_createPublicIPHasBeenSet = false;
386 bool m_stagingAreaTagsHasBeenSet = false;
387 bool m_pitPolicyHasBeenSet = false;
388 bool m_tagsHasBeenSet = false;
389 bool m_autoReplicateNewDisksHasBeenSet = false;
390 bool m_internetProtocolHasBeenSet = false;
391};
392
393} // namespace Model
394} // namespace drs
395} // namespace Aws
CreateReplicationConfigurationTemplateRequest & WithStagingAreaSubnetId(StagingAreaSubnetIdT &&value)
CreateReplicationConfigurationTemplateRequest & WithCreatePublicIP(bool value)
CreateReplicationConfigurationTemplateRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
AWS_DRS_API Aws::String SerializePayload() const override
CreateReplicationConfigurationTemplateRequest & WithDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
CreateReplicationConfigurationTemplateRequest & WithAssociateDefaultSecurityGroup(bool value)
CreateReplicationConfigurationTemplateRequest & WithStagingAreaTags(StagingAreaTagsT &&value)
CreateReplicationConfigurationTemplateRequest & WithReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
CreateReplicationConfigurationTemplateRequest & WithPitPolicy(PitPolicyT &&value)
CreateReplicationConfigurationTemplateRequest & WithEbsEncryption(ReplicationConfigurationEbsEncryption value)
CreateReplicationConfigurationTemplateRequest & AddStagingAreaTags(StagingAreaTagsKeyT &&key, StagingAreaTagsValueT &&value)
CreateReplicationConfigurationTemplateRequest & WithInternetProtocol(InternetProtocol value)
CreateReplicationConfigurationTemplateRequest & WithReplicationServerInstanceType(ReplicationServerInstanceTypeT &&value)
CreateReplicationConfigurationTemplateRequest & WithBandwidthThrottling(long long value)
CreateReplicationConfigurationTemplateRequest & WithDataPlaneRouting(ReplicationConfigurationDataPlaneRouting value)
CreateReplicationConfigurationTemplateRequest & WithEbsEncryptionKeyArn(EbsEncryptionKeyArnT &&value)
CreateReplicationConfigurationTemplateRequest & WithUseDedicatedReplicationServer(bool value)
CreateReplicationConfigurationTemplateRequest & WithAutoReplicateNewDisks(bool value)
void SetDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
ReplicationConfigurationDefaultLargeStagingDiskType GetDefaultLargeStagingDiskType() const
CreateReplicationConfigurationTemplateRequest & AddReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
CreateReplicationConfigurationTemplateRequest & AddPitPolicy(PitPolicyT &&value)
CreateReplicationConfigurationTemplateRequest & WithTags(TagsT &&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