AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
LaunchConfigurationTemplate.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/mgn/Mgn_EXPORTS.h>
10#include <aws/mgn/model/BootMode.h>
11#include <aws/mgn/model/LaunchDisposition.h>
12#include <aws/mgn/model/LaunchTemplateDiskConf.h>
13#include <aws/mgn/model/Licensing.h>
14#include <aws/mgn/model/PostLaunchActions.h>
15#include <aws/mgn/model/TargetInstanceTypeRightSizingMethod.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace mgn {
27namespace Model {
28
30 public:
31 AWS_MGN_API LaunchConfigurationTemplate() = default;
35
37
40 inline const Aws::String& GetLaunchConfigurationTemplateID() const { return m_launchConfigurationTemplateID; }
41 inline bool LaunchConfigurationTemplateIDHasBeenSet() const { return m_launchConfigurationTemplateIDHasBeenSet; }
42 template <typename LaunchConfigurationTemplateIDT = Aws::String>
43 void SetLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT&& value) {
44 m_launchConfigurationTemplateIDHasBeenSet = true;
45 m_launchConfigurationTemplateID = std::forward<LaunchConfigurationTemplateIDT>(value);
46 }
47 template <typename LaunchConfigurationTemplateIDT = Aws::String>
48 LaunchConfigurationTemplate& WithLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT&& value) {
49 SetLaunchConfigurationTemplateID(std::forward<LaunchConfigurationTemplateIDT>(value));
50 return *this;
51 }
53
55
58 inline const Aws::String& GetArn() const { return m_arn; }
59 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
60 template <typename ArnT = Aws::String>
61 void SetArn(ArnT&& value) {
62 m_arnHasBeenSet = true;
63 m_arn = std::forward<ArnT>(value);
64 }
65 template <typename ArnT = Aws::String>
67 SetArn(std::forward<ArnT>(value));
68 return *this;
69 }
71
73
76 inline const PostLaunchActions& GetPostLaunchActions() const { return m_postLaunchActions; }
77 inline bool PostLaunchActionsHasBeenSet() const { return m_postLaunchActionsHasBeenSet; }
78 template <typename PostLaunchActionsT = PostLaunchActions>
79 void SetPostLaunchActions(PostLaunchActionsT&& value) {
80 m_postLaunchActionsHasBeenSet = true;
81 m_postLaunchActions = std::forward<PostLaunchActionsT>(value);
82 }
83 template <typename PostLaunchActionsT = PostLaunchActions>
85 SetPostLaunchActions(std::forward<PostLaunchActionsT>(value));
86 return *this;
87 }
89
91
94 inline bool GetEnableMapAutoTagging() const { return m_enableMapAutoTagging; }
95 inline bool EnableMapAutoTaggingHasBeenSet() const { return m_enableMapAutoTaggingHasBeenSet; }
96 inline void SetEnableMapAutoTagging(bool value) {
97 m_enableMapAutoTaggingHasBeenSet = true;
98 m_enableMapAutoTagging = value;
99 }
102 return *this;
103 }
105
107
110 inline const Aws::String& GetMapAutoTaggingMpeID() const { return m_mapAutoTaggingMpeID; }
111 inline bool MapAutoTaggingMpeIDHasBeenSet() const { return m_mapAutoTaggingMpeIDHasBeenSet; }
112 template <typename MapAutoTaggingMpeIDT = Aws::String>
113 void SetMapAutoTaggingMpeID(MapAutoTaggingMpeIDT&& value) {
114 m_mapAutoTaggingMpeIDHasBeenSet = true;
115 m_mapAutoTaggingMpeID = std::forward<MapAutoTaggingMpeIDT>(value);
116 }
117 template <typename MapAutoTaggingMpeIDT = Aws::String>
119 SetMapAutoTaggingMpeID(std::forward<MapAutoTaggingMpeIDT>(value));
120 return *this;
121 }
123
125
128 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
129 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
130 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
131 void SetTags(TagsT&& value) {
132 m_tagsHasBeenSet = true;
133 m_tags = std::forward<TagsT>(value);
134 }
135 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
137 SetTags(std::forward<TagsT>(value));
138 return *this;
139 }
140 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
141 LaunchConfigurationTemplate& AddTags(TagsKeyT&& key, TagsValueT&& value) {
142 m_tagsHasBeenSet = true;
143 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
144 return *this;
145 }
147
149
152 inline const Aws::String& GetEc2LaunchTemplateID() const { return m_ec2LaunchTemplateID; }
153 inline bool Ec2LaunchTemplateIDHasBeenSet() const { return m_ec2LaunchTemplateIDHasBeenSet; }
154 template <typename Ec2LaunchTemplateIDT = Aws::String>
155 void SetEc2LaunchTemplateID(Ec2LaunchTemplateIDT&& value) {
156 m_ec2LaunchTemplateIDHasBeenSet = true;
157 m_ec2LaunchTemplateID = std::forward<Ec2LaunchTemplateIDT>(value);
158 }
159 template <typename Ec2LaunchTemplateIDT = Aws::String>
161 SetEc2LaunchTemplateID(std::forward<Ec2LaunchTemplateIDT>(value));
162 return *this;
163 }
165
167
170 inline LaunchDisposition GetLaunchDisposition() const { return m_launchDisposition; }
171 inline bool LaunchDispositionHasBeenSet() const { return m_launchDispositionHasBeenSet; }
173 m_launchDispositionHasBeenSet = true;
174 m_launchDisposition = value;
175 }
178 return *this;
179 }
181
183
187 return m_targetInstanceTypeRightSizingMethod;
188 }
189 inline bool TargetInstanceTypeRightSizingMethodHasBeenSet() const { return m_targetInstanceTypeRightSizingMethodHasBeenSet; }
191 m_targetInstanceTypeRightSizingMethodHasBeenSet = true;
192 m_targetInstanceTypeRightSizingMethod = value;
193 }
196 return *this;
197 }
199
201
204 inline bool GetCopyPrivateIp() const { return m_copyPrivateIp; }
205 inline bool CopyPrivateIpHasBeenSet() const { return m_copyPrivateIpHasBeenSet; }
206 inline void SetCopyPrivateIp(bool value) {
207 m_copyPrivateIpHasBeenSet = true;
208 m_copyPrivateIp = value;
209 }
211 SetCopyPrivateIp(value);
212 return *this;
213 }
215
217
220 inline bool GetAssociatePublicIpAddress() const { return m_associatePublicIpAddress; }
221 inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; }
222 inline void SetAssociatePublicIpAddress(bool value) {
223 m_associatePublicIpAddressHasBeenSet = true;
224 m_associatePublicIpAddress = value;
225 }
228 return *this;
229 }
231
233
236 inline bool GetCopyTags() const { return m_copyTags; }
237 inline bool CopyTagsHasBeenSet() const { return m_copyTagsHasBeenSet; }
238 inline void SetCopyTags(bool value) {
239 m_copyTagsHasBeenSet = true;
240 m_copyTags = value;
241 }
243 SetCopyTags(value);
244 return *this;
245 }
247
249
250 inline const Licensing& GetLicensing() const { return m_licensing; }
251 inline bool LicensingHasBeenSet() const { return m_licensingHasBeenSet; }
252 template <typename LicensingT = Licensing>
253 void SetLicensing(LicensingT&& value) {
254 m_licensingHasBeenSet = true;
255 m_licensing = std::forward<LicensingT>(value);
256 }
257 template <typename LicensingT = Licensing>
259 SetLicensing(std::forward<LicensingT>(value));
260 return *this;
261 }
263
265
268 inline BootMode GetBootMode() const { return m_bootMode; }
269 inline bool BootModeHasBeenSet() const { return m_bootModeHasBeenSet; }
270 inline void SetBootMode(BootMode value) {
271 m_bootModeHasBeenSet = true;
272 m_bootMode = value;
273 }
275 SetBootMode(value);
276 return *this;
277 }
279
281
284 inline long long GetSmallVolumeMaxSize() const { return m_smallVolumeMaxSize; }
285 inline bool SmallVolumeMaxSizeHasBeenSet() const { return m_smallVolumeMaxSizeHasBeenSet; }
286 inline void SetSmallVolumeMaxSize(long long value) {
287 m_smallVolumeMaxSizeHasBeenSet = true;
288 m_smallVolumeMaxSize = value;
289 }
292 return *this;
293 }
295
297
300 inline const LaunchTemplateDiskConf& GetSmallVolumeConf() const { return m_smallVolumeConf; }
301 inline bool SmallVolumeConfHasBeenSet() const { return m_smallVolumeConfHasBeenSet; }
302 template <typename SmallVolumeConfT = LaunchTemplateDiskConf>
303 void SetSmallVolumeConf(SmallVolumeConfT&& value) {
304 m_smallVolumeConfHasBeenSet = true;
305 m_smallVolumeConf = std::forward<SmallVolumeConfT>(value);
306 }
307 template <typename SmallVolumeConfT = LaunchTemplateDiskConf>
309 SetSmallVolumeConf(std::forward<SmallVolumeConfT>(value));
310 return *this;
311 }
313
315
318 inline const LaunchTemplateDiskConf& GetLargeVolumeConf() const { return m_largeVolumeConf; }
319 inline bool LargeVolumeConfHasBeenSet() const { return m_largeVolumeConfHasBeenSet; }
320 template <typename LargeVolumeConfT = LaunchTemplateDiskConf>
321 void SetLargeVolumeConf(LargeVolumeConfT&& value) {
322 m_largeVolumeConfHasBeenSet = true;
323 m_largeVolumeConf = std::forward<LargeVolumeConfT>(value);
324 }
325 template <typename LargeVolumeConfT = LaunchTemplateDiskConf>
327 SetLargeVolumeConf(std::forward<LargeVolumeConfT>(value));
328 return *this;
329 }
331
333
336 inline bool GetEnableParametersEncryption() const { return m_enableParametersEncryption; }
337 inline bool EnableParametersEncryptionHasBeenSet() const { return m_enableParametersEncryptionHasBeenSet; }
338 inline void SetEnableParametersEncryption(bool value) {
339 m_enableParametersEncryptionHasBeenSet = true;
340 m_enableParametersEncryption = value;
341 }
344 return *this;
345 }
347
349
352 inline const Aws::String& GetParametersEncryptionKey() const { return m_parametersEncryptionKey; }
353 inline bool ParametersEncryptionKeyHasBeenSet() const { return m_parametersEncryptionKeyHasBeenSet; }
354 template <typename ParametersEncryptionKeyT = Aws::String>
355 void SetParametersEncryptionKey(ParametersEncryptionKeyT&& value) {
356 m_parametersEncryptionKeyHasBeenSet = true;
357 m_parametersEncryptionKey = std::forward<ParametersEncryptionKeyT>(value);
358 }
359 template <typename ParametersEncryptionKeyT = Aws::String>
360 LaunchConfigurationTemplate& WithParametersEncryptionKey(ParametersEncryptionKeyT&& value) {
361 SetParametersEncryptionKey(std::forward<ParametersEncryptionKeyT>(value));
362 return *this;
363 }
365
367
368 inline const Aws::String& GetRequestId() const { return m_requestId; }
369 inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
370 template <typename RequestIdT = Aws::String>
371 void SetRequestId(RequestIdT&& value) {
372 m_requestIdHasBeenSet = true;
373 m_requestId = std::forward<RequestIdT>(value);
374 }
375 template <typename RequestIdT = Aws::String>
377 SetRequestId(std::forward<RequestIdT>(value));
378 return *this;
379 }
381 private:
382 Aws::String m_launchConfigurationTemplateID;
383
384 Aws::String m_arn;
385
386 PostLaunchActions m_postLaunchActions;
387
388 bool m_enableMapAutoTagging{false};
389
390 Aws::String m_mapAutoTaggingMpeID;
391
393
394 Aws::String m_ec2LaunchTemplateID;
395
397
399
400 bool m_copyPrivateIp{false};
401
402 bool m_associatePublicIpAddress{false};
403
404 bool m_copyTags{false};
405
406 Licensing m_licensing;
407
408 BootMode m_bootMode{BootMode::NOT_SET};
409
410 long long m_smallVolumeMaxSize{0};
411
412 LaunchTemplateDiskConf m_smallVolumeConf;
413
414 LaunchTemplateDiskConf m_largeVolumeConf;
415
416 bool m_enableParametersEncryption{false};
417
418 Aws::String m_parametersEncryptionKey;
419
420 Aws::String m_requestId;
421 bool m_launchConfigurationTemplateIDHasBeenSet = false;
422 bool m_arnHasBeenSet = false;
423 bool m_postLaunchActionsHasBeenSet = false;
424 bool m_enableMapAutoTaggingHasBeenSet = false;
425 bool m_mapAutoTaggingMpeIDHasBeenSet = false;
426 bool m_tagsHasBeenSet = false;
427 bool m_ec2LaunchTemplateIDHasBeenSet = false;
428 bool m_launchDispositionHasBeenSet = false;
429 bool m_targetInstanceTypeRightSizingMethodHasBeenSet = false;
430 bool m_copyPrivateIpHasBeenSet = false;
431 bool m_associatePublicIpAddressHasBeenSet = false;
432 bool m_copyTagsHasBeenSet = false;
433 bool m_licensingHasBeenSet = false;
434 bool m_bootModeHasBeenSet = false;
435 bool m_smallVolumeMaxSizeHasBeenSet = false;
436 bool m_smallVolumeConfHasBeenSet = false;
437 bool m_largeVolumeConfHasBeenSet = false;
438 bool m_enableParametersEncryptionHasBeenSet = false;
439 bool m_parametersEncryptionKeyHasBeenSet = false;
440 bool m_requestIdHasBeenSet = false;
441};
442
443} // namespace Model
444} // namespace mgn
445} // namespace Aws
LaunchConfigurationTemplate & WithLicensing(LicensingT &&value)
AWS_MGN_API Aws::Utils::Json::JsonValue Jsonize() const
LaunchConfigurationTemplate & WithRequestId(RequestIdT &&value)
LaunchConfigurationTemplate & WithLaunchDisposition(LaunchDisposition value)
LaunchConfigurationTemplate & WithCopyPrivateIp(bool value)
LaunchConfigurationTemplate & WithEnableParametersEncryption(bool value)
void SetTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
AWS_MGN_API LaunchConfigurationTemplate & operator=(Aws::Utils::Json::JsonView jsonValue)
LaunchConfigurationTemplate & WithSmallVolumeMaxSize(long long value)
const LaunchTemplateDiskConf & GetLargeVolumeConf() const
LaunchConfigurationTemplate & WithLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT &&value)
LaunchConfigurationTemplate & WithEc2LaunchTemplateID(Ec2LaunchTemplateIDT &&value)
void SetEc2LaunchTemplateID(Ec2LaunchTemplateIDT &&value)
void SetLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT &&value)
const LaunchTemplateDiskConf & GetSmallVolumeConf() const
LaunchConfigurationTemplate & AddTags(TagsKeyT &&key, TagsValueT &&value)
LaunchConfigurationTemplate & WithLargeVolumeConf(LargeVolumeConfT &&value)
LaunchConfigurationTemplate & WithSmallVolumeConf(SmallVolumeConfT &&value)
TargetInstanceTypeRightSizingMethod GetTargetInstanceTypeRightSizingMethod() const
LaunchConfigurationTemplate & WithTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
LaunchConfigurationTemplate & WithMapAutoTaggingMpeID(MapAutoTaggingMpeIDT &&value)
LaunchConfigurationTemplate & WithPostLaunchActions(PostLaunchActionsT &&value)
LaunchConfigurationTemplate & WithEnableMapAutoTagging(bool value)
AWS_MGN_API LaunchConfigurationTemplate()=default
LaunchConfigurationTemplate & WithArn(ArnT &&value)
LaunchConfigurationTemplate & WithTags(TagsT &&value)
AWS_MGN_API LaunchConfigurationTemplate(Aws::Utils::Json::JsonView jsonValue)
void SetMapAutoTaggingMpeID(MapAutoTaggingMpeIDT &&value)
LaunchConfigurationTemplate & WithCopyTags(bool value)
LaunchConfigurationTemplate & WithBootMode(BootMode value)
void SetParametersEncryptionKey(ParametersEncryptionKeyT &&value)
LaunchConfigurationTemplate & WithParametersEncryptionKey(ParametersEncryptionKeyT &&value)
LaunchConfigurationTemplate & WithAssociatePublicIpAddress(bool 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
Aws::Utils::Json::JsonValue JsonValue