7#include <aws/mgn/Mgn_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/mgn/model/BootMode.h>
10#include <aws/mgn/model/LaunchTemplateDiskConf.h>
11#include <aws/mgn/model/LaunchDisposition.h>
12#include <aws/mgn/model/Licensing.h>
13#include <aws/mgn/model/PostLaunchActions.h>
14#include <aws/core/utils/memory/stl/AWSMap.h>
15#include <aws/mgn/model/TargetInstanceTypeRightSizingMethod.h>
48 template<
typename ArnT = Aws::String>
49 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
50 template<
typename ArnT = Aws::String>
80 inline void SetCopyPrivateIp(
bool value) { m_copyPrivateIpHasBeenSet =
true; m_copyPrivateIp = value; }
90 inline void SetCopyTags(
bool value) { m_copyTagsHasBeenSet =
true; m_copyTags = value; }
100 template<
typename Ec2LaunchTemplateIDT = Aws::String>
101 void SetEc2LaunchTemplateID(Ec2LaunchTemplateIDT&& value) { m_ec2LaunchTemplateIDHasBeenSet =
true; m_ec2LaunchTemplateID = std::forward<Ec2LaunchTemplateIDT>(value); }
102 template<
typename Ec2LaunchTemplateIDT = Aws::String>
122 template<
typename LargeVolumeConfT = LaunchTemplateDiskConf>
123 void SetLargeVolumeConf(LargeVolumeConfT&& value) { m_largeVolumeConfHasBeenSet =
true; m_largeVolumeConf = std::forward<LargeVolumeConfT>(value); }
124 template<
typename LargeVolumeConfT = LaunchTemplateDiskConf>
134 template<
typename LaunchConfigurationTemplateIDT = Aws::String>
135 void SetLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT&& value) { m_launchConfigurationTemplateIDHasBeenSet =
true; m_launchConfigurationTemplateID = std::forward<LaunchConfigurationTemplateIDT>(value); }
136 template<
typename LaunchConfigurationTemplateIDT = Aws::String>
154 template<
typename LicensingT = Licensing>
155 void SetLicensing(LicensingT&& value) { m_licensingHasBeenSet =
true; m_licensing = std::forward<LicensingT>(value); }
156 template<
typename LicensingT = Licensing>
166 template<
typename MapAutoTaggingMpeIDT = Aws::String>
167 void SetMapAutoTaggingMpeID(MapAutoTaggingMpeIDT&& value) { m_mapAutoTaggingMpeIDHasBeenSet =
true; m_mapAutoTaggingMpeID = std::forward<MapAutoTaggingMpeIDT>(value); }
168 template<
typename MapAutoTaggingMpeIDT = Aws::String>
178 template<
typename PostLaunchActionsT = PostLaunchActions>
179 void SetPostLaunchActions(PostLaunchActionsT&& value) { m_postLaunchActionsHasBeenSet =
true; m_postLaunchActions = std::forward<PostLaunchActionsT>(value); }
180 template<
typename PostLaunchActionsT = PostLaunchActions>
190 template<
typename SmallVolumeConfT = LaunchTemplateDiskConf>
191 void SetSmallVolumeConf(SmallVolumeConfT&& value) { m_smallVolumeConfHasBeenSet =
true; m_smallVolumeConf = std::forward<SmallVolumeConfT>(value); }
192 template<
typename SmallVolumeConfT = LaunchTemplateDiskConf>
202 inline void SetSmallVolumeMaxSize(
long long value) { m_smallVolumeMaxSizeHasBeenSet =
true; m_smallVolumeMaxSize = value; }
212 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
213 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
214 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
216 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
218 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
236 template<
typename RequestIdT = Aws::String>
237 void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet =
true; m_requestId = std::forward<RequestIdT>(value); }
238 template<
typename RequestIdT = Aws::String>
244 bool m_arnHasBeenSet =
false;
246 bool m_associatePublicIpAddress{
false};
247 bool m_associatePublicIpAddressHasBeenSet =
false;
250 bool m_bootModeHasBeenSet =
false;
252 bool m_copyPrivateIp{
false};
253 bool m_copyPrivateIpHasBeenSet =
false;
255 bool m_copyTags{
false};
256 bool m_copyTagsHasBeenSet =
false;
259 bool m_ec2LaunchTemplateIDHasBeenSet =
false;
261 bool m_enableMapAutoTagging{
false};
262 bool m_enableMapAutoTaggingHasBeenSet =
false;
264 LaunchTemplateDiskConf m_largeVolumeConf;
265 bool m_largeVolumeConfHasBeenSet =
false;
268 bool m_launchConfigurationTemplateIDHasBeenSet =
false;
271 bool m_launchDispositionHasBeenSet =
false;
273 Licensing m_licensing;
274 bool m_licensingHasBeenSet =
false;
277 bool m_mapAutoTaggingMpeIDHasBeenSet =
false;
279 PostLaunchActions m_postLaunchActions;
280 bool m_postLaunchActionsHasBeenSet =
false;
282 LaunchTemplateDiskConf m_smallVolumeConf;
283 bool m_smallVolumeConfHasBeenSet =
false;
285 long long m_smallVolumeMaxSize{0};
286 bool m_smallVolumeMaxSizeHasBeenSet =
false;
289 bool m_tagsHasBeenSet =
false;
292 bool m_targetInstanceTypeRightSizingMethodHasBeenSet =
false;
295 bool m_requestIdHasBeenSet =
false;
bool Ec2LaunchTemplateIDHasBeenSet() const
const Aws::String & GetEc2LaunchTemplateID() const
LaunchConfigurationTemplate & WithLicensing(LicensingT &&value)
const Aws::String & GetLaunchConfigurationTemplateID() const
AWS_MGN_API Aws::Utils::Json::JsonValue Jsonize() const
void SetRequestId(RequestIdT &&value)
bool LaunchDispositionHasBeenSet() const
LaunchConfigurationTemplate & WithRequestId(RequestIdT &&value)
LaunchConfigurationTemplate & WithLaunchDisposition(LaunchDisposition value)
bool CopyPrivateIpHasBeenSet() const
LaunchConfigurationTemplate & WithCopyPrivateIp(bool value)
void SetArn(ArnT &&value)
void SetLicensing(LicensingT &&value)
void SetTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
bool LaunchConfigurationTemplateIDHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
bool LicensingHasBeenSet() const
void SetCopyTags(bool value)
AWS_MGN_API LaunchConfigurationTemplate & operator=(Aws::Utils::Json::JsonView jsonValue)
bool ArnHasBeenSet() const
LaunchConfigurationTemplate & WithSmallVolumeMaxSize(long long value)
const LaunchTemplateDiskConf & GetLargeVolumeConf() const
bool GetAssociatePublicIpAddress() const
LaunchConfigurationTemplate & WithLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT &&value)
LaunchConfigurationTemplate & WithEc2LaunchTemplateID(Ec2LaunchTemplateIDT &&value)
bool MapAutoTaggingMpeIDHasBeenSet() const
void SetSmallVolumeConf(SmallVolumeConfT &&value)
bool EnableMapAutoTaggingHasBeenSet() const
BootMode GetBootMode() const
void SetEc2LaunchTemplateID(Ec2LaunchTemplateIDT &&value)
void SetLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT &&value)
const LaunchTemplateDiskConf & GetSmallVolumeConf() const
LaunchConfigurationTemplate & AddTags(TagsKeyT &&key, TagsValueT &&value)
bool TagsHasBeenSet() const
void SetLaunchDisposition(LaunchDisposition value)
void SetLargeVolumeConf(LargeVolumeConfT &&value)
const Aws::String & GetArn() const
void SetSmallVolumeMaxSize(long long value)
LaunchConfigurationTemplate & WithLargeVolumeConf(LargeVolumeConfT &&value)
LaunchConfigurationTemplate & WithSmallVolumeConf(SmallVolumeConfT &&value)
TargetInstanceTypeRightSizingMethod GetTargetInstanceTypeRightSizingMethod() const
bool PostLaunchActionsHasBeenSet() const
LaunchConfigurationTemplate & WithTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
const Aws::String & GetMapAutoTaggingMpeID() const
const Licensing & GetLicensing() const
bool TargetInstanceTypeRightSizingMethodHasBeenSet() const
const PostLaunchActions & GetPostLaunchActions() const
const Aws::String & GetRequestId() const
LaunchConfigurationTemplate & WithMapAutoTaggingMpeID(MapAutoTaggingMpeIDT &&value)
bool LargeVolumeConfHasBeenSet() const
LaunchConfigurationTemplate & WithPostLaunchActions(PostLaunchActionsT &&value)
bool AssociatePublicIpAddressHasBeenSet() const
LaunchConfigurationTemplate & WithEnableMapAutoTagging(bool value)
AWS_MGN_API LaunchConfigurationTemplate()=default
bool SmallVolumeConfHasBeenSet() const
LaunchConfigurationTemplate & WithArn(ArnT &&value)
bool BootModeHasBeenSet() const
LaunchConfigurationTemplate & WithTags(TagsT &&value)
bool CopyTagsHasBeenSet() const
void SetBootMode(BootMode value)
AWS_MGN_API LaunchConfigurationTemplate(Aws::Utils::Json::JsonView jsonValue)
void SetMapAutoTaggingMpeID(MapAutoTaggingMpeIDT &&value)
LaunchConfigurationTemplate & WithCopyTags(bool value)
void SetEnableMapAutoTagging(bool value)
bool SmallVolumeMaxSizeHasBeenSet() const
LaunchConfigurationTemplate & WithBootMode(BootMode value)
LaunchDisposition GetLaunchDisposition() const
void SetAssociatePublicIpAddress(bool value)
long long GetSmallVolumeMaxSize() const
bool GetCopyPrivateIp() const
void SetPostLaunchActions(PostLaunchActionsT &&value)
bool RequestIdHasBeenSet() const
bool GetEnableMapAutoTagging() const
void SetCopyPrivateIp(bool value)
void SetTags(TagsT &&value)
LaunchConfigurationTemplate & WithAssociatePublicIpAddress(bool 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