7#include <aws/core/http/HttpResponse.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/mgn/Mgn_EXPORTS.h>
11#include <aws/mgn/model/BootMode.h>
12#include <aws/mgn/model/LaunchDisposition.h>
13#include <aws/mgn/model/LaunchTemplateDiskConf.h>
14#include <aws/mgn/model/Licensing.h>
15#include <aws/mgn/model/PostLaunchActions.h>
16#include <aws/mgn/model/TargetInstanceTypeRightSizingMethod.h>
21template <
typename RESULT_TYPE>
22class AmazonWebServiceResult;
42 template <
typename LaunchConfigurationTemplateIDT = Aws::String>
44 m_launchConfigurationTemplateIDHasBeenSet =
true;
45 m_launchConfigurationTemplateID = std::forward<LaunchConfigurationTemplateIDT>(value);
47 template <
typename LaunchConfigurationTemplateIDT = Aws::String>
59 template <
typename ArnT = Aws::String>
61 m_arnHasBeenSet =
true;
62 m_arn = std::forward<ArnT>(value);
64 template <
typename ArnT = Aws::String>
66 SetArn(std::forward<ArnT>(value));
76 template <
typename PostLaunchActionsT = PostLaunchActions>
78 m_postLaunchActionsHasBeenSet =
true;
79 m_postLaunchActions = std::forward<PostLaunchActionsT>(value);
81 template <
typename PostLaunchActionsT = PostLaunchActions>
94 m_enableMapAutoTaggingHasBeenSet =
true;
95 m_enableMapAutoTagging = value;
108 template <
typename MapAutoTaggingMpeIDT = Aws::String>
110 m_mapAutoTaggingMpeIDHasBeenSet =
true;
111 m_mapAutoTaggingMpeID = std::forward<MapAutoTaggingMpeIDT>(value);
113 template <
typename MapAutoTaggingMpeIDT = Aws::String>
125 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
127 m_tagsHasBeenSet =
true;
128 m_tags = std::forward<TagsT>(value);
130 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
132 SetTags(std::forward<TagsT>(value));
135 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
137 m_tagsHasBeenSet =
true;
138 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
148 template <
typename Ec2LaunchTemplateIDT = Aws::String>
150 m_ec2LaunchTemplateIDHasBeenSet =
true;
151 m_ec2LaunchTemplateID = std::forward<Ec2LaunchTemplateIDT>(value);
153 template <
typename Ec2LaunchTemplateIDT = Aws::String>
166 m_launchDispositionHasBeenSet =
true;
167 m_launchDisposition = value;
180 return m_targetInstanceTypeRightSizingMethod;
183 m_targetInstanceTypeRightSizingMethodHasBeenSet =
true;
184 m_targetInstanceTypeRightSizingMethod = value;
198 m_copyPrivateIpHasBeenSet =
true;
199 m_copyPrivateIp = value;
213 m_associatePublicIpAddressHasBeenSet =
true;
214 m_associatePublicIpAddress = value;
228 m_copyTagsHasBeenSet =
true;
240 template <
typename LicensingT = Licensing>
242 m_licensingHasBeenSet =
true;
243 m_licensing = std::forward<LicensingT>(value);
245 template <
typename LicensingT = Licensing>
258 m_bootModeHasBeenSet =
true;
273 m_smallVolumeMaxSizeHasBeenSet =
true;
274 m_smallVolumeMaxSize = value;
287 template <
typename SmallVolumeConfT = LaunchTemplateDiskConf>
289 m_smallVolumeConfHasBeenSet =
true;
290 m_smallVolumeConf = std::forward<SmallVolumeConfT>(value);
292 template <
typename SmallVolumeConfT = LaunchTemplateDiskConf>
304 template <
typename LargeVolumeConfT = LaunchTemplateDiskConf>
306 m_largeVolumeConfHasBeenSet =
true;
307 m_largeVolumeConf = std::forward<LargeVolumeConfT>(value);
309 template <
typename LargeVolumeConfT = LaunchTemplateDiskConf>
322 m_enableParametersEncryptionHasBeenSet =
true;
323 m_enableParametersEncryption = value;
336 template <
typename ParametersEncryptionKeyT = Aws::String>
338 m_parametersEncryptionKeyHasBeenSet =
true;
339 m_parametersEncryptionKey = std::forward<ParametersEncryptionKeyT>(value);
341 template <
typename ParametersEncryptionKeyT = Aws::String>
351 template <
typename RequestIdT = Aws::String>
353 m_requestIdHasBeenSet =
true;
354 m_requestId = std::forward<RequestIdT>(value);
356 template <
typename RequestIdT = Aws::String>
371 bool m_enableMapAutoTagging{
false};
383 bool m_copyPrivateIp{
false};
385 bool m_associatePublicIpAddress{
false};
387 bool m_copyTags{
false};
389 Licensing m_licensing;
393 long long m_smallVolumeMaxSize{0};
395 LaunchTemplateDiskConf m_smallVolumeConf;
397 LaunchTemplateDiskConf m_largeVolumeConf;
399 bool m_enableParametersEncryption{
false};
405 bool m_launchConfigurationTemplateIDHasBeenSet =
false;
406 bool m_arnHasBeenSet =
false;
407 bool m_postLaunchActionsHasBeenSet =
false;
408 bool m_enableMapAutoTaggingHasBeenSet =
false;
409 bool m_mapAutoTaggingMpeIDHasBeenSet =
false;
410 bool m_tagsHasBeenSet =
false;
411 bool m_ec2LaunchTemplateIDHasBeenSet =
false;
412 bool m_launchDispositionHasBeenSet =
false;
413 bool m_targetInstanceTypeRightSizingMethodHasBeenSet =
false;
414 bool m_copyPrivateIpHasBeenSet =
false;
415 bool m_associatePublicIpAddressHasBeenSet =
false;
416 bool m_copyTagsHasBeenSet =
false;
417 bool m_licensingHasBeenSet =
false;
418 bool m_bootModeHasBeenSet =
false;
419 bool m_smallVolumeMaxSizeHasBeenSet =
false;
420 bool m_smallVolumeConfHasBeenSet =
false;
421 bool m_largeVolumeConfHasBeenSet =
false;
422 bool m_enableParametersEncryptionHasBeenSet =
false;
423 bool m_parametersEncryptionKeyHasBeenSet =
false;
424 bool m_requestIdHasBeenSet =
false;
void SetAssociatePublicIpAddress(bool value)
CreateLaunchConfigurationTemplateResult & WithRequestId(RequestIdT &&value)
LaunchDisposition GetLaunchDisposition() const
CreateLaunchConfigurationTemplateResult & WithLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT &&value)
bool GetEnableMapAutoTagging() const
const Licensing & GetLicensing() const
long long GetSmallVolumeMaxSize() const
const PostLaunchActions & GetPostLaunchActions() const
void SetSmallVolumeConf(SmallVolumeConfT &&value)
CreateLaunchConfigurationTemplateResult & WithEc2LaunchTemplateID(Ec2LaunchTemplateIDT &&value)
TargetInstanceTypeRightSizingMethod GetTargetInstanceTypeRightSizingMethod() const
bool GetCopyPrivateIp() const
CreateLaunchConfigurationTemplateResult & WithParametersEncryptionKey(ParametersEncryptionKeyT &&value)
const Aws::String & GetMapAutoTaggingMpeID() const
void SetEnableMapAutoTagging(bool value)
CreateLaunchConfigurationTemplateResult & WithLargeVolumeConf(LargeVolumeConfT &&value)
CreateLaunchConfigurationTemplateResult & WithTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
void SetCopyPrivateIp(bool value)
void SetArn(ArnT &&value)
void SetLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT &&value)
CreateLaunchConfigurationTemplateResult & WithSmallVolumeMaxSize(long long value)
const Aws::String & GetRequestId() const
void SetCopyTags(bool value)
CreateLaunchConfigurationTemplateResult & WithEnableParametersEncryption(bool value)
const Aws::String & GetArn() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateLaunchConfigurationTemplateResult & WithPostLaunchActions(PostLaunchActionsT &&value)
AWS_MGN_API CreateLaunchConfigurationTemplateResult(const Aws::AmazonWebServiceResult< Aws::Utils::Json::JsonValue > &result)
CreateLaunchConfigurationTemplateResult & WithBootMode(BootMode value)
bool GetAssociatePublicIpAddress() const
CreateLaunchConfigurationTemplateResult & WithLaunchDisposition(LaunchDisposition value)
Aws::Http::HttpResponseCode GetHttpResponseCode() const
BootMode GetBootMode() const
void SetSmallVolumeMaxSize(long long value)
CreateLaunchConfigurationTemplateResult & WithLicensing(LicensingT &&value)
CreateLaunchConfigurationTemplateResult & WithSmallVolumeConf(SmallVolumeConfT &&value)
AWS_MGN_API CreateLaunchConfigurationTemplateResult & operator=(const Aws::AmazonWebServiceResult< Aws::Utils::Json::JsonValue > &result)
const Aws::String & GetParametersEncryptionKey() const
CreateLaunchConfigurationTemplateResult & WithAssociatePublicIpAddress(bool value)
CreateLaunchConfigurationTemplateResult & WithCopyPrivateIp(bool value)
AWS_MGN_API CreateLaunchConfigurationTemplateResult()=default
const Aws::String & GetEc2LaunchTemplateID() const
const LaunchTemplateDiskConf & GetLargeVolumeConf() const
void SetLaunchDisposition(LaunchDisposition value)
bool GetEnableParametersEncryption() const
void SetParametersEncryptionKey(ParametersEncryptionKeyT &&value)
void SetEc2LaunchTemplateID(Ec2LaunchTemplateIDT &&value)
CreateLaunchConfigurationTemplateResult & WithTags(TagsT &&value)
const Aws::String & GetLaunchConfigurationTemplateID() const
void SetTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
void SetLicensing(LicensingT &&value)
CreateLaunchConfigurationTemplateResult & WithEnableMapAutoTagging(bool value)
CreateLaunchConfigurationTemplateResult & WithCopyTags(bool value)
CreateLaunchConfigurationTemplateResult & AddTags(TagsKeyT &&key, TagsValueT &&value)
void SetEnableParametersEncryption(bool value)
void SetLargeVolumeConf(LargeVolumeConfT &&value)
void SetPostLaunchActions(PostLaunchActionsT &&value)
void SetTags(TagsT &&value)
const LaunchTemplateDiskConf & GetSmallVolumeConf() const
void SetBootMode(BootMode value)
CreateLaunchConfigurationTemplateResult & WithArn(ArnT &&value)
CreateLaunchConfigurationTemplateResult & WithMapAutoTaggingMpeID(MapAutoTaggingMpeIDT &&value)
void SetMapAutoTaggingMpeID(MapAutoTaggingMpeIDT &&value)
void SetRequestId(RequestIdT &&value)
TargetInstanceTypeRightSizingMethod
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