7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/mgn/MgnRequest.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>
34 inline virtual const char*
GetServiceRequestName()
const override {
return "CreateLaunchConfigurationTemplate"; }
44 template <
typename PostLaunchActionsT = PostLaunchActions>
46 m_postLaunchActionsHasBeenSet =
true;
47 m_postLaunchActions = std::forward<PostLaunchActionsT>(value);
49 template <
typename PostLaunchActionsT = PostLaunchActions>
63 m_enableMapAutoTaggingHasBeenSet =
true;
64 m_enableMapAutoTagging = value;
78 template <
typename MapAutoTaggingMpeIDT = Aws::String>
80 m_mapAutoTaggingMpeIDHasBeenSet =
true;
81 m_mapAutoTaggingMpeID = std::forward<MapAutoTaggingMpeIDT>(value);
83 template <
typename MapAutoTaggingMpeIDT = Aws::String>
97 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
99 m_tagsHasBeenSet =
true;
100 m_tags = std::forward<TagsT>(value);
102 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
104 SetTags(std::forward<TagsT>(value));
107 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
109 m_tagsHasBeenSet =
true;
110 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
122 m_launchDispositionHasBeenSet =
true;
123 m_launchDisposition = value;
136 return m_targetInstanceTypeRightSizingMethod;
140 m_targetInstanceTypeRightSizingMethodHasBeenSet =
true;
141 m_targetInstanceTypeRightSizingMethod = value;
156 m_copyPrivateIpHasBeenSet =
true;
157 m_copyPrivateIp = value;
172 m_associatePublicIpAddressHasBeenSet =
true;
173 m_associatePublicIpAddress = value;
188 m_copyTagsHasBeenSet =
true;
201 template <
typename LicensingT = Licensing>
203 m_licensingHasBeenSet =
true;
204 m_licensing = std::forward<LicensingT>(value);
206 template <
typename LicensingT = Licensing>
220 m_bootModeHasBeenSet =
true;
236 m_smallVolumeMaxSizeHasBeenSet =
true;
237 m_smallVolumeMaxSize = value;
251 template <
typename SmallVolumeConfT = LaunchTemplateDiskConf>
253 m_smallVolumeConfHasBeenSet =
true;
254 m_smallVolumeConf = std::forward<SmallVolumeConfT>(value);
256 template <
typename SmallVolumeConfT = LaunchTemplateDiskConf>
269 template <
typename LargeVolumeConfT = LaunchTemplateDiskConf>
271 m_largeVolumeConfHasBeenSet =
true;
272 m_largeVolumeConf = std::forward<LargeVolumeConfT>(value);
274 template <
typename LargeVolumeConfT = LaunchTemplateDiskConf>
288 m_enableParametersEncryptionHasBeenSet =
true;
289 m_enableParametersEncryption = value;
303 template <
typename ParametersEncryptionKeyT = Aws::String>
305 m_parametersEncryptionKeyHasBeenSet =
true;
306 m_parametersEncryptionKey = std::forward<ParametersEncryptionKeyT>(value);
308 template <
typename ParametersEncryptionKeyT = Aws::String>
317 bool m_enableMapAutoTagging{
false};
327 bool m_copyPrivateIp{
false};
329 bool m_associatePublicIpAddress{
false};
331 bool m_copyTags{
false};
333 Licensing m_licensing;
337 long long m_smallVolumeMaxSize{0};
339 LaunchTemplateDiskConf m_smallVolumeConf;
341 LaunchTemplateDiskConf m_largeVolumeConf;
343 bool m_enableParametersEncryption{
false};
346 bool m_postLaunchActionsHasBeenSet =
false;
347 bool m_enableMapAutoTaggingHasBeenSet =
false;
348 bool m_mapAutoTaggingMpeIDHasBeenSet =
false;
349 bool m_tagsHasBeenSet =
false;
350 bool m_launchDispositionHasBeenSet =
false;
351 bool m_targetInstanceTypeRightSizingMethodHasBeenSet =
false;
352 bool m_copyPrivateIpHasBeenSet =
false;
353 bool m_associatePublicIpAddressHasBeenSet =
false;
354 bool m_copyTagsHasBeenSet =
false;
355 bool m_licensingHasBeenSet =
false;
356 bool m_bootModeHasBeenSet =
false;
357 bool m_smallVolumeMaxSizeHasBeenSet =
false;
358 bool m_smallVolumeConfHasBeenSet =
false;
359 bool m_largeVolumeConfHasBeenSet =
false;
360 bool m_enableParametersEncryptionHasBeenSet =
false;
361 bool m_parametersEncryptionKeyHasBeenSet =
false;
CreateLaunchConfigurationTemplateRequest & WithAssociatePublicIpAddress(bool value)
CreateLaunchConfigurationTemplateRequest & WithMapAutoTaggingMpeID(MapAutoTaggingMpeIDT &&value)
bool TagsHasBeenSet() const
const PostLaunchActions & GetPostLaunchActions() const
CreateLaunchConfigurationTemplateRequest & WithSmallVolumeConf(SmallVolumeConfT &&value)
bool CopyTagsHasBeenSet() const
TargetInstanceTypeRightSizingMethod GetTargetInstanceTypeRightSizingMethod() const
void SetEnableMapAutoTagging(bool value)
void SetLicensing(LicensingT &&value)
CreateLaunchConfigurationTemplateRequest & WithSmallVolumeMaxSize(long long value)
const Licensing & GetLicensing() const
CreateLaunchConfigurationTemplateRequest & WithBootMode(BootMode value)
void SetSmallVolumeMaxSize(long long value)
void SetParametersEncryptionKey(ParametersEncryptionKeyT &&value)
bool GetAssociatePublicIpAddress() const
BootMode GetBootMode() const
void SetCopyTags(bool value)
void SetPostLaunchActions(PostLaunchActionsT &&value)
bool LargeVolumeConfHasBeenSet() const
bool AssociatePublicIpAddressHasBeenSet() const
void SetCopyPrivateIp(bool value)
virtual const char * GetServiceRequestName() const override
void SetTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
CreateLaunchConfigurationTemplateRequest & WithCopyTags(bool value)
void SetAssociatePublicIpAddress(bool value)
const LaunchTemplateDiskConf & GetLargeVolumeConf() const
AWS_MGN_API CreateLaunchConfigurationTemplateRequest()=default
bool GetEnableMapAutoTagging() const
const LaunchTemplateDiskConf & GetSmallVolumeConf() const
CreateLaunchConfigurationTemplateRequest & WithEnableParametersEncryption(bool value)
bool BootModeHasBeenSet() const
void SetTags(TagsT &&value)
bool GetCopyPrivateIp() const
CreateLaunchConfigurationTemplateRequest & WithTags(TagsT &&value)
const Aws::String & GetParametersEncryptionKey() const
void SetBootMode(BootMode value)
bool MapAutoTaggingMpeIDHasBeenSet() const
bool SmallVolumeMaxSizeHasBeenSet() const
AWS_MGN_API Aws::String SerializePayload() const override
void SetMapAutoTaggingMpeID(MapAutoTaggingMpeIDT &&value)
CreateLaunchConfigurationTemplateRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
long long GetSmallVolumeMaxSize() const
void SetLargeVolumeConf(LargeVolumeConfT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
const Aws::String & GetMapAutoTaggingMpeID() const
void SetSmallVolumeConf(SmallVolumeConfT &&value)
CreateLaunchConfigurationTemplateRequest & WithParametersEncryptionKey(ParametersEncryptionKeyT &&value)
CreateLaunchConfigurationTemplateRequest & WithLargeVolumeConf(LargeVolumeConfT &&value)
bool PostLaunchActionsHasBeenSet() const
bool EnableParametersEncryptionHasBeenSet() const
CreateLaunchConfigurationTemplateRequest & WithLaunchDisposition(LaunchDisposition value)
CreateLaunchConfigurationTemplateRequest & WithTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
CreateLaunchConfigurationTemplateRequest & WithPostLaunchActions(PostLaunchActionsT &&value)
bool SmallVolumeConfHasBeenSet() const
bool LaunchDispositionHasBeenSet() const
CreateLaunchConfigurationTemplateRequest & WithCopyPrivateIp(bool value)
CreateLaunchConfigurationTemplateRequest & WithLicensing(LicensingT &&value)
bool LicensingHasBeenSet() const
void SetLaunchDisposition(LaunchDisposition value)
bool ParametersEncryptionKeyHasBeenSet() const
bool EnableMapAutoTaggingHasBeenSet() const
CreateLaunchConfigurationTemplateRequest & WithEnableMapAutoTagging(bool value)
LaunchDisposition GetLaunchDisposition() const
void SetEnableParametersEncryption(bool value)
bool CopyPrivateIpHasBeenSet() const
bool TargetInstanceTypeRightSizingMethodHasBeenSet() const
bool GetEnableParametersEncryption() const
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