7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/drs/Drs_EXPORTS.h>
10#include <aws/drs/model/LaunchDisposition.h>
11#include <aws/drs/model/Licensing.h>
12#include <aws/drs/model/RecoveryMode.h>
13#include <aws/drs/model/TargetInstanceTypeRightSizingMethod.h>
45 template <
typename LaunchConfigurationTemplateIDT = Aws::String>
47 m_launchConfigurationTemplateIDHasBeenSet =
true;
48 m_launchConfigurationTemplateID = std::forward<LaunchConfigurationTemplateIDT>(value);
50 template <
typename LaunchConfigurationTemplateIDT = Aws::String>
63 template <
typename ArnT = Aws::String>
65 m_arnHasBeenSet =
true;
66 m_arn = std::forward<ArnT>(value);
68 template <
typename ArnT = Aws::String>
70 SetArn(std::forward<ArnT>(value));
81 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
83 m_tagsHasBeenSet =
true;
84 m_tags = std::forward<TagsT>(value);
86 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
88 SetTags(std::forward<TagsT>(value));
91 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
93 m_tagsHasBeenSet =
true;
94 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
106 m_launchDispositionHasBeenSet =
true;
107 m_launchDisposition = value;
120 return m_targetInstanceTypeRightSizingMethod;
124 m_targetInstanceTypeRightSizingMethodHasBeenSet =
true;
125 m_targetInstanceTypeRightSizingMethod = value;
140 m_copyPrivateIpHasBeenSet =
true;
141 m_copyPrivateIp = value;
156 m_copyTagsHasBeenSet =
true;
171 template <
typename LicensingT = Licensing>
173 m_licensingHasBeenSet =
true;
174 m_licensing = std::forward<LicensingT>(value);
176 template <
typename LicensingT = Licensing>
189 template <
typename ExportBucketArnT = Aws::String>
191 m_exportBucketArnHasBeenSet =
true;
192 m_exportBucketArn = std::forward<ExportBucketArnT>(value);
194 template <
typename ExportBucketArnT = Aws::String>
208 m_postLaunchEnabledHasBeenSet =
true;
209 m_postLaunchEnabled = value;
226 m_launchIntoSourceInstanceHasBeenSet =
true;
227 m_launchIntoSourceInstance = value;
242 m_recoveryModeHasBeenSet =
true;
243 m_recoveryMode = value;
261 bool m_copyPrivateIp{
false};
263 bool m_copyTags{
false};
265 Licensing m_licensing;
269 bool m_postLaunchEnabled{
false};
271 bool m_launchIntoSourceInstance{
false};
274 bool m_launchConfigurationTemplateIDHasBeenSet =
false;
275 bool m_arnHasBeenSet =
false;
276 bool m_tagsHasBeenSet =
false;
277 bool m_launchDispositionHasBeenSet =
false;
278 bool m_targetInstanceTypeRightSizingMethodHasBeenSet =
false;
279 bool m_copyPrivateIpHasBeenSet =
false;
280 bool m_copyTagsHasBeenSet =
false;
281 bool m_licensingHasBeenSet =
false;
282 bool m_exportBucketArnHasBeenSet =
false;
283 bool m_postLaunchEnabledHasBeenSet =
false;
284 bool m_launchIntoSourceInstanceHasBeenSet =
false;
285 bool m_recoveryModeHasBeenSet =
false;
AWS_DRS_API LaunchConfigurationTemplate & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetArn(ArnT &&value)
TargetInstanceTypeRightSizingMethod GetTargetInstanceTypeRightSizingMethod() const
LaunchConfigurationTemplate & WithCopyTags(bool value)
void SetRecoveryMode(RecoveryMode value)
bool TagsHasBeenSet() const
LaunchConfigurationTemplate & WithPostLaunchEnabled(bool value)
LaunchConfigurationTemplate & AddTags(TagsKeyT &&key, TagsValueT &&value)
void SetTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
const Aws::String & GetExportBucketArn() const
LaunchConfigurationTemplate & WithLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT &&value)
RecoveryMode GetRecoveryMode() const
const Licensing & GetLicensing() const
const Aws::String & GetArn() const
LaunchConfigurationTemplate & WithExportBucketArn(ExportBucketArnT &&value)
LaunchConfigurationTemplate & WithCopyPrivateIp(bool value)
LaunchConfigurationTemplate & WithTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
void SetLaunchIntoSourceInstance(bool value)
bool LaunchConfigurationTemplateIDHasBeenSet() const
void SetLicensing(LicensingT &&value)
bool ExportBucketArnHasBeenSet() const
void SetPostLaunchEnabled(bool value)
bool TargetInstanceTypeRightSizingMethodHasBeenSet() const
LaunchConfigurationTemplate & WithLicensing(LicensingT &&value)
bool ArnHasBeenSet() const
AWS_DRS_API LaunchConfigurationTemplate(Aws::Utils::Json::JsonView jsonValue)
LaunchConfigurationTemplate & WithTags(TagsT &&value)
LaunchConfigurationTemplate & WithLaunchIntoSourceInstance(bool value)
bool CopyPrivateIpHasBeenSet() const
bool LaunchDispositionHasBeenSet() const
void SetCopyPrivateIp(bool value)
void SetLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT &&value)
bool GetPostLaunchEnabled() const
void SetExportBucketArn(ExportBucketArnT &&value)
LaunchConfigurationTemplate & WithArn(ArnT &&value)
LaunchConfigurationTemplate & WithRecoveryMode(RecoveryMode value)
AWS_DRS_API LaunchConfigurationTemplate()=default
bool PostLaunchEnabledHasBeenSet() const
void SetTags(TagsT &&value)
bool GetCopyPrivateIp() const
LaunchDisposition GetLaunchDisposition() const
bool LaunchIntoSourceInstanceHasBeenSet() const
bool RecoveryModeHasBeenSet() const
void SetLaunchDisposition(LaunchDisposition value)
bool CopyTagsHasBeenSet() const
const Aws::String & GetLaunchConfigurationTemplateID() const
void SetCopyTags(bool value)
bool GetLaunchIntoSourceInstance() const
bool LicensingHasBeenSet() const
AWS_DRS_API Aws::Utils::Json::JsonValue Jsonize() const
LaunchConfigurationTemplate & WithLaunchDisposition(LaunchDisposition value)
const Aws::Map< Aws::String, Aws::String > & GetTags() 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
Aws::Utils::Json::JsonValue JsonValue