AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
ReplicationConfigurationTemplate.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/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
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace mgn {
26namespace Model {
27
29 public:
30 AWS_MGN_API ReplicationConfigurationTemplate() = default;
34
36
39 inline const Aws::String& GetReplicationConfigurationTemplateID() const { return m_replicationConfigurationTemplateID; }
40 inline bool ReplicationConfigurationTemplateIDHasBeenSet() const { return m_replicationConfigurationTemplateIDHasBeenSet; }
41 template <typename ReplicationConfigurationTemplateIDT = Aws::String>
42 void SetReplicationConfigurationTemplateID(ReplicationConfigurationTemplateIDT&& value) {
43 m_replicationConfigurationTemplateIDHasBeenSet = true;
44 m_replicationConfigurationTemplateID = std::forward<ReplicationConfigurationTemplateIDT>(value);
45 }
46 template <typename ReplicationConfigurationTemplateIDT = Aws::String>
47 ReplicationConfigurationTemplate& WithReplicationConfigurationTemplateID(ReplicationConfigurationTemplateIDT&& value) {
48 SetReplicationConfigurationTemplateID(std::forward<ReplicationConfigurationTemplateIDT>(value));
49 return *this;
50 }
52
54
57 inline const Aws::String& GetArn() const { return m_arn; }
58 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
59 template <typename ArnT = Aws::String>
60 void SetArn(ArnT&& value) {
61 m_arnHasBeenSet = true;
62 m_arn = std::forward<ArnT>(value);
63 }
64 template <typename ArnT = Aws::String>
66 SetArn(std::forward<ArnT>(value));
67 return *this;
68 }
70
72
75 inline const Aws::String& GetStagingAreaSubnetId() const { return m_stagingAreaSubnetId; }
76 inline bool StagingAreaSubnetIdHasBeenSet() const { return m_stagingAreaSubnetIdHasBeenSet; }
77 template <typename StagingAreaSubnetIdT = Aws::String>
78 void SetStagingAreaSubnetId(StagingAreaSubnetIdT&& value) {
79 m_stagingAreaSubnetIdHasBeenSet = true;
80 m_stagingAreaSubnetId = std::forward<StagingAreaSubnetIdT>(value);
81 }
82 template <typename StagingAreaSubnetIdT = Aws::String>
84 SetStagingAreaSubnetId(std::forward<StagingAreaSubnetIdT>(value));
85 return *this;
86 }
88
90
94 inline bool GetAssociateDefaultSecurityGroup() const { return m_associateDefaultSecurityGroup; }
95 inline bool AssociateDefaultSecurityGroupHasBeenSet() const { return m_associateDefaultSecurityGroupHasBeenSet; }
96 inline void SetAssociateDefaultSecurityGroup(bool value) {
97 m_associateDefaultSecurityGroupHasBeenSet = true;
98 m_associateDefaultSecurityGroup = value;
99 }
102 return *this;
103 }
105
107
110 inline const Aws::Vector<Aws::String>& GetReplicationServersSecurityGroupsIDs() const { return m_replicationServersSecurityGroupsIDs; }
111 inline bool ReplicationServersSecurityGroupsIDsHasBeenSet() const { return m_replicationServersSecurityGroupsIDsHasBeenSet; }
112 template <typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
113 void SetReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT&& value) {
114 m_replicationServersSecurityGroupsIDsHasBeenSet = true;
115 m_replicationServersSecurityGroupsIDs = std::forward<ReplicationServersSecurityGroupsIDsT>(value);
116 }
117 template <typename ReplicationServersSecurityGroupsIDsT = Aws::Vector<Aws::String>>
118 ReplicationConfigurationTemplate& WithReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT&& value) {
119 SetReplicationServersSecurityGroupsIDs(std::forward<ReplicationServersSecurityGroupsIDsT>(value));
120 return *this;
121 }
122 template <typename ReplicationServersSecurityGroupsIDsT = Aws::String>
123 ReplicationConfigurationTemplate& AddReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT&& value) {
124 m_replicationServersSecurityGroupsIDsHasBeenSet = true;
125 m_replicationServersSecurityGroupsIDs.emplace_back(std::forward<ReplicationServersSecurityGroupsIDsT>(value));
126 return *this;
127 }
129
131
134 inline const Aws::String& GetReplicationServerInstanceType() const { return m_replicationServerInstanceType; }
135 inline bool ReplicationServerInstanceTypeHasBeenSet() const { return m_replicationServerInstanceTypeHasBeenSet; }
136 template <typename ReplicationServerInstanceTypeT = Aws::String>
137 void SetReplicationServerInstanceType(ReplicationServerInstanceTypeT&& value) {
138 m_replicationServerInstanceTypeHasBeenSet = true;
139 m_replicationServerInstanceType = std::forward<ReplicationServerInstanceTypeT>(value);
140 }
141 template <typename ReplicationServerInstanceTypeT = Aws::String>
143 SetReplicationServerInstanceType(std::forward<ReplicationServerInstanceTypeT>(value));
144 return *this;
145 }
147
149
152 inline bool GetUseDedicatedReplicationServer() const { return m_useDedicatedReplicationServer; }
153 inline bool UseDedicatedReplicationServerHasBeenSet() const { return m_useDedicatedReplicationServerHasBeenSet; }
154 inline void SetUseDedicatedReplicationServer(bool value) {
155 m_useDedicatedReplicationServerHasBeenSet = true;
156 m_useDedicatedReplicationServer = value;
157 }
160 return *this;
161 }
163
165
169 return m_defaultLargeStagingDiskType;
170 }
171 inline bool DefaultLargeStagingDiskTypeHasBeenSet() const { return m_defaultLargeStagingDiskTypeHasBeenSet; }
173 m_defaultLargeStagingDiskTypeHasBeenSet = true;
174 m_defaultLargeStagingDiskType = value;
175 }
178 return *this;
179 }
181
183
186 inline ReplicationConfigurationEbsEncryption GetEbsEncryption() const { return m_ebsEncryption; }
187 inline bool EbsEncryptionHasBeenSet() const { return m_ebsEncryptionHasBeenSet; }
189 m_ebsEncryptionHasBeenSet = true;
190 m_ebsEncryption = value;
191 }
193 SetEbsEncryption(value);
194 return *this;
195 }
197
199
202 inline const Aws::String& GetEbsEncryptionKeyArn() const { return m_ebsEncryptionKeyArn; }
203 inline bool EbsEncryptionKeyArnHasBeenSet() const { return m_ebsEncryptionKeyArnHasBeenSet; }
204 template <typename EbsEncryptionKeyArnT = Aws::String>
205 void SetEbsEncryptionKeyArn(EbsEncryptionKeyArnT&& value) {
206 m_ebsEncryptionKeyArnHasBeenSet = true;
207 m_ebsEncryptionKeyArn = std::forward<EbsEncryptionKeyArnT>(value);
208 }
209 template <typename EbsEncryptionKeyArnT = Aws::String>
211 SetEbsEncryptionKeyArn(std::forward<EbsEncryptionKeyArnT>(value));
212 return *this;
213 }
215
217
220 inline long long GetBandwidthThrottling() const { return m_bandwidthThrottling; }
221 inline bool BandwidthThrottlingHasBeenSet() const { return m_bandwidthThrottlingHasBeenSet; }
222 inline void SetBandwidthThrottling(long long value) {
223 m_bandwidthThrottlingHasBeenSet = true;
224 m_bandwidthThrottling = value;
225 }
228 return *this;
229 }
231
233
236 inline ReplicationConfigurationDataPlaneRouting GetDataPlaneRouting() const { return m_dataPlaneRouting; }
237 inline bool DataPlaneRoutingHasBeenSet() const { return m_dataPlaneRoutingHasBeenSet; }
239 m_dataPlaneRoutingHasBeenSet = true;
240 m_dataPlaneRouting = value;
241 }
243 SetDataPlaneRouting(value);
244 return *this;
245 }
247
249
252 inline bool GetCreatePublicIP() const { return m_createPublicIP; }
253 inline bool CreatePublicIPHasBeenSet() const { return m_createPublicIPHasBeenSet; }
254 inline void SetCreatePublicIP(bool value) {
255 m_createPublicIPHasBeenSet = true;
256 m_createPublicIP = value;
257 }
259 SetCreatePublicIP(value);
260 return *this;
261 }
263
265
268 inline const Aws::Map<Aws::String, Aws::String>& GetStagingAreaTags() const { return m_stagingAreaTags; }
269 inline bool StagingAreaTagsHasBeenSet() const { return m_stagingAreaTagsHasBeenSet; }
270 template <typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
271 void SetStagingAreaTags(StagingAreaTagsT&& value) {
272 m_stagingAreaTagsHasBeenSet = true;
273 m_stagingAreaTags = std::forward<StagingAreaTagsT>(value);
274 }
275 template <typename StagingAreaTagsT = Aws::Map<Aws::String, Aws::String>>
277 SetStagingAreaTags(std::forward<StagingAreaTagsT>(value));
278 return *this;
279 }
280 template <typename StagingAreaTagsKeyT = Aws::String, typename StagingAreaTagsValueT = Aws::String>
281 ReplicationConfigurationTemplate& AddStagingAreaTags(StagingAreaTagsKeyT&& key, StagingAreaTagsValueT&& value) {
282 m_stagingAreaTagsHasBeenSet = true;
283 m_stagingAreaTags.emplace(std::forward<StagingAreaTagsKeyT>(key), std::forward<StagingAreaTagsValueT>(value));
284 return *this;
285 }
287
289
292 inline bool GetUseFipsEndpoint() const { return m_useFipsEndpoint; }
293 inline bool UseFipsEndpointHasBeenSet() const { return m_useFipsEndpointHasBeenSet; }
294 inline void SetUseFipsEndpoint(bool value) {
295 m_useFipsEndpointHasBeenSet = true;
296 m_useFipsEndpoint = value;
297 }
299 SetUseFipsEndpoint(value);
300 return *this;
301 }
303
305
308 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
309 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
310 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
311 void SetTags(TagsT&& value) {
312 m_tagsHasBeenSet = true;
313 m_tags = std::forward<TagsT>(value);
314 }
315 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
317 SetTags(std::forward<TagsT>(value));
318 return *this;
319 }
320 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
321 ReplicationConfigurationTemplate& AddTags(TagsKeyT&& key, TagsValueT&& value) {
322 m_tagsHasBeenSet = true;
323 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
324 return *this;
325 }
327
329
332 inline InternetProtocol GetInternetProtocol() const { return m_internetProtocol; }
333 inline bool InternetProtocolHasBeenSet() const { return m_internetProtocolHasBeenSet; }
335 m_internetProtocolHasBeenSet = true;
336 m_internetProtocol = value;
337 }
339 SetInternetProtocol(value);
340 return *this;
341 }
343
345
346 inline const Aws::String& GetRequestId() const { return m_requestId; }
347 inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
348 template <typename RequestIdT = Aws::String>
349 void SetRequestId(RequestIdT&& value) {
350 m_requestIdHasBeenSet = true;
351 m_requestId = std::forward<RequestIdT>(value);
352 }
353 template <typename RequestIdT = Aws::String>
355 SetRequestId(std::forward<RequestIdT>(value));
356 return *this;
357 }
359 private:
360 Aws::String m_replicationConfigurationTemplateID;
361
362 Aws::String m_arn;
363
364 Aws::String m_stagingAreaSubnetId;
365
366 bool m_associateDefaultSecurityGroup{false};
367
368 Aws::Vector<Aws::String> m_replicationServersSecurityGroupsIDs;
369
370 Aws::String m_replicationServerInstanceType;
371
372 bool m_useDedicatedReplicationServer{false};
373
374 ReplicationConfigurationDefaultLargeStagingDiskType m_defaultLargeStagingDiskType{
376
378
379 Aws::String m_ebsEncryptionKeyArn;
380
381 long long m_bandwidthThrottling{0};
382
384
385 bool m_createPublicIP{false};
386
387 Aws::Map<Aws::String, Aws::String> m_stagingAreaTags;
388
389 bool m_useFipsEndpoint{false};
390
392
394
395 Aws::String m_requestId;
396 bool m_replicationConfigurationTemplateIDHasBeenSet = false;
397 bool m_arnHasBeenSet = false;
398 bool m_stagingAreaSubnetIdHasBeenSet = false;
399 bool m_associateDefaultSecurityGroupHasBeenSet = false;
400 bool m_replicationServersSecurityGroupsIDsHasBeenSet = false;
401 bool m_replicationServerInstanceTypeHasBeenSet = false;
402 bool m_useDedicatedReplicationServerHasBeenSet = false;
403 bool m_defaultLargeStagingDiskTypeHasBeenSet = false;
404 bool m_ebsEncryptionHasBeenSet = false;
405 bool m_ebsEncryptionKeyArnHasBeenSet = false;
406 bool m_bandwidthThrottlingHasBeenSet = false;
407 bool m_dataPlaneRoutingHasBeenSet = false;
408 bool m_createPublicIPHasBeenSet = false;
409 bool m_stagingAreaTagsHasBeenSet = false;
410 bool m_useFipsEndpointHasBeenSet = false;
411 bool m_tagsHasBeenSet = false;
412 bool m_internetProtocolHasBeenSet = false;
413 bool m_requestIdHasBeenSet = false;
414};
415
416} // namespace Model
417} // namespace mgn
418} // namespace Aws
ReplicationConfigurationTemplate & WithInternetProtocol(InternetProtocol value)
AWS_MGN_API ReplicationConfigurationTemplate & operator=(Aws::Utils::Json::JsonView jsonValue)
ReplicationConfigurationTemplate & WithAssociateDefaultSecurityGroup(bool value)
void SetDataPlaneRouting(ReplicationConfigurationDataPlaneRouting value)
ReplicationConfigurationTemplate & WithReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
ReplicationConfigurationTemplate & WithEbsEncryptionKeyArn(EbsEncryptionKeyArnT &&value)
ReplicationConfigurationTemplate & WithStagingAreaTags(StagingAreaTagsT &&value)
ReplicationConfigurationTemplate & WithDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
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)
ReplicationConfigurationTemplate & WithBandwidthThrottling(long long value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
ReplicationConfigurationTemplate & WithTags(TagsT &&value)
void SetReplicationConfigurationTemplateID(ReplicationConfigurationTemplateIDT &&value)
ReplicationConfigurationTemplate & AddReplicationServersSecurityGroupsIDs(ReplicationServersSecurityGroupsIDsT &&value)
void SetDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType value)
ReplicationConfigurationDataPlaneRouting GetDataPlaneRouting() const
void SetEbsEncryption(ReplicationConfigurationEbsEncryption value)
ReplicationConfigurationTemplate & AddStagingAreaTags(StagingAreaTagsKeyT &&key, StagingAreaTagsValueT &&value)
ReplicationConfigurationDefaultLargeStagingDiskType GetDefaultLargeStagingDiskType() const
const Aws::Map< Aws::String, Aws::String > & GetStagingAreaTags() const
ReplicationConfigurationTemplate & WithCreatePublicIP(bool value)
ReplicationConfigurationTemplate & WithReplicationServerInstanceType(ReplicationServerInstanceTypeT &&value)
ReplicationConfigurationTemplate & WithDataPlaneRouting(ReplicationConfigurationDataPlaneRouting value)
AWS_MGN_API ReplicationConfigurationTemplate(Aws::Utils::Json::JsonView jsonValue)
ReplicationConfigurationTemplate & WithArn(ArnT &&value)
ReplicationConfigurationTemplate & WithEbsEncryption(ReplicationConfigurationEbsEncryption value)
ReplicationConfigurationTemplate & WithUseDedicatedReplicationServer(bool value)
const Aws::Vector< Aws::String > & GetReplicationServersSecurityGroupsIDs() const
ReplicationConfigurationTemplate & WithRequestId(RequestIdT &&value)
ReplicationConfigurationTemplate & WithUseFipsEndpoint(bool value)
ReplicationConfigurationEbsEncryption GetEbsEncryption() const
ReplicationConfigurationTemplate & WithStagingAreaSubnetId(StagingAreaSubnetIdT &&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
Aws::Utils::Json::JsonValue JsonValue