7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/mgn/MgnRequest.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>
33 inline virtual const char*
GetServiceRequestName()
const override {
return "UpdateLaunchConfigurationTemplate"; }
43 template <
typename LaunchConfigurationTemplateIDT = Aws::String>
45 m_launchConfigurationTemplateIDHasBeenSet =
true;
46 m_launchConfigurationTemplateID = std::forward<LaunchConfigurationTemplateIDT>(value);
48 template <
typename LaunchConfigurationTemplateIDT = Aws::String>
61 template <
typename PostLaunchActionsT = PostLaunchActions>
63 m_postLaunchActionsHasBeenSet =
true;
64 m_postLaunchActions = std::forward<PostLaunchActionsT>(value);
66 template <
typename PostLaunchActionsT = PostLaunchActions>
80 m_enableMapAutoTaggingHasBeenSet =
true;
81 m_enableMapAutoTagging = value;
95 template <
typename MapAutoTaggingMpeIDT = Aws::String>
97 m_mapAutoTaggingMpeIDHasBeenSet =
true;
98 m_mapAutoTaggingMpeID = std::forward<MapAutoTaggingMpeIDT>(value);
100 template <
typename MapAutoTaggingMpeIDT = Aws::String>
114 m_launchDispositionHasBeenSet =
true;
115 m_launchDisposition = value;
128 return m_targetInstanceTypeRightSizingMethod;
132 m_targetInstanceTypeRightSizingMethodHasBeenSet =
true;
133 m_targetInstanceTypeRightSizingMethod = value;
148 m_copyPrivateIpHasBeenSet =
true;
149 m_copyPrivateIp = value;
164 m_associatePublicIpAddressHasBeenSet =
true;
165 m_associatePublicIpAddress = value;
180 m_copyTagsHasBeenSet =
true;
193 template <
typename LicensingT = Licensing>
195 m_licensingHasBeenSet =
true;
196 m_licensing = std::forward<LicensingT>(value);
198 template <
typename LicensingT = Licensing>
212 m_bootModeHasBeenSet =
true;
228 m_smallVolumeMaxSizeHasBeenSet =
true;
229 m_smallVolumeMaxSize = value;
243 template <
typename SmallVolumeConfT = LaunchTemplateDiskConf>
245 m_smallVolumeConfHasBeenSet =
true;
246 m_smallVolumeConf = std::forward<SmallVolumeConfT>(value);
248 template <
typename SmallVolumeConfT = LaunchTemplateDiskConf>
261 template <
typename LargeVolumeConfT = LaunchTemplateDiskConf>
263 m_largeVolumeConfHasBeenSet =
true;
264 m_largeVolumeConf = std::forward<LargeVolumeConfT>(value);
266 template <
typename LargeVolumeConfT = LaunchTemplateDiskConf>
280 m_enableParametersEncryptionHasBeenSet =
true;
281 m_enableParametersEncryption = value;
295 template <
typename ParametersEncryptionKeyT = Aws::String>
297 m_parametersEncryptionKeyHasBeenSet =
true;
298 m_parametersEncryptionKey = std::forward<ParametersEncryptionKeyT>(value);
300 template <
typename ParametersEncryptionKeyT = Aws::String>
311 bool m_enableMapAutoTagging{
false};
319 bool m_copyPrivateIp{
false};
321 bool m_associatePublicIpAddress{
false};
323 bool m_copyTags{
false};
325 Licensing m_licensing;
329 long long m_smallVolumeMaxSize{0};
331 LaunchTemplateDiskConf m_smallVolumeConf;
333 LaunchTemplateDiskConf m_largeVolumeConf;
335 bool m_enableParametersEncryption{
false};
338 bool m_launchConfigurationTemplateIDHasBeenSet =
false;
339 bool m_postLaunchActionsHasBeenSet =
false;
340 bool m_enableMapAutoTaggingHasBeenSet =
false;
341 bool m_mapAutoTaggingMpeIDHasBeenSet =
false;
342 bool m_launchDispositionHasBeenSet =
false;
343 bool m_targetInstanceTypeRightSizingMethodHasBeenSet =
false;
344 bool m_copyPrivateIpHasBeenSet =
false;
345 bool m_associatePublicIpAddressHasBeenSet =
false;
346 bool m_copyTagsHasBeenSet =
false;
347 bool m_licensingHasBeenSet =
false;
348 bool m_bootModeHasBeenSet =
false;
349 bool m_smallVolumeMaxSizeHasBeenSet =
false;
350 bool m_smallVolumeConfHasBeenSet =
false;
351 bool m_largeVolumeConfHasBeenSet =
false;
352 bool m_enableParametersEncryptionHasBeenSet =
false;
353 bool m_parametersEncryptionKeyHasBeenSet =
false;
UpdateLaunchConfigurationTemplateRequest & WithLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT &&value)
void SetLargeVolumeConf(LargeVolumeConfT &&value)
void SetLaunchDisposition(LaunchDisposition value)
void SetParametersEncryptionKey(ParametersEncryptionKeyT &&value)
bool SmallVolumeMaxSizeHasBeenSet() const
void SetSmallVolumeConf(SmallVolumeConfT &&value)
void SetAssociatePublicIpAddress(bool value)
void SetPostLaunchActions(PostLaunchActionsT &&value)
void SetLicensing(LicensingT &&value)
bool MapAutoTaggingMpeIDHasBeenSet() const
long long GetSmallVolumeMaxSize() const
UpdateLaunchConfigurationTemplateRequest & WithAssociatePublicIpAddress(bool value)
UpdateLaunchConfigurationTemplateRequest & WithBootMode(BootMode value)
bool SmallVolumeConfHasBeenSet() const
bool GetCopyPrivateIp() const
bool LicensingHasBeenSet() const
bool BootModeHasBeenSet() const
UpdateLaunchConfigurationTemplateRequest & WithSmallVolumeConf(SmallVolumeConfT &&value)
AWS_MGN_API UpdateLaunchConfigurationTemplateRequest()=default
UpdateLaunchConfigurationTemplateRequest & WithLicensing(LicensingT &&value)
void SetSmallVolumeMaxSize(long long value)
bool CopyTagsHasBeenSet() const
bool EnableParametersEncryptionHasBeenSet() const
const LaunchTemplateDiskConf & GetSmallVolumeConf() const
bool GetEnableParametersEncryption() const
AWS_MGN_API Aws::String SerializePayload() const override
UpdateLaunchConfigurationTemplateRequest & WithLaunchDisposition(LaunchDisposition value)
bool EnableMapAutoTaggingHasBeenSet() const
UpdateLaunchConfigurationTemplateRequest & WithTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
UpdateLaunchConfigurationTemplateRequest & WithCopyPrivateIp(bool value)
const Aws::String & GetLaunchConfigurationTemplateID() const
TargetInstanceTypeRightSizingMethod GetTargetInstanceTypeRightSizingMethod() const
bool LargeVolumeConfHasBeenSet() const
UpdateLaunchConfigurationTemplateRequest & WithLargeVolumeConf(LargeVolumeConfT &&value)
bool AssociatePublicIpAddressHasBeenSet() const
LaunchDisposition GetLaunchDisposition() const
UpdateLaunchConfigurationTemplateRequest & WithEnableParametersEncryption(bool value)
bool ParametersEncryptionKeyHasBeenSet() const
bool LaunchConfigurationTemplateIDHasBeenSet() const
virtual const char * GetServiceRequestName() const override
void SetMapAutoTaggingMpeID(MapAutoTaggingMpeIDT &&value)
UpdateLaunchConfigurationTemplateRequest & WithParametersEncryptionKey(ParametersEncryptionKeyT &&value)
bool LaunchDispositionHasBeenSet() const
bool CopyPrivateIpHasBeenSet() const
const Aws::String & GetMapAutoTaggingMpeID() const
UpdateLaunchConfigurationTemplateRequest & WithCopyTags(bool value)
const PostLaunchActions & GetPostLaunchActions() const
bool GetEnableMapAutoTagging() const
BootMode GetBootMode() const
const Licensing & GetLicensing() const
bool PostLaunchActionsHasBeenSet() const
UpdateLaunchConfigurationTemplateRequest & WithPostLaunchActions(PostLaunchActionsT &&value)
void SetEnableParametersEncryption(bool value)
void SetCopyTags(bool value)
const Aws::String & GetParametersEncryptionKey() const
UpdateLaunchConfigurationTemplateRequest & WithMapAutoTaggingMpeID(MapAutoTaggingMpeIDT &&value)
bool GetAssociatePublicIpAddress() const
UpdateLaunchConfigurationTemplateRequest & WithSmallVolumeMaxSize(long long value)
void SetEnableMapAutoTagging(bool value)
void SetBootMode(BootMode value)
void SetLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT &&value)
void SetCopyPrivateIp(bool value)
void SetTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
UpdateLaunchConfigurationTemplateRequest & WithEnableMapAutoTagging(bool value)
const LaunchTemplateDiskConf & GetLargeVolumeConf() const
bool TargetInstanceTypeRightSizingMethodHasBeenSet() const
TargetInstanceTypeRightSizingMethod
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String