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/TargetInstanceTypeRightSizingMethod.h>
44 template <
typename ArnT = Aws::String>
46 m_arnHasBeenSet =
true;
47 m_arn = std::forward<ArnT>(value);
49 template <
typename ArnT = Aws::String>
51 SetArn(std::forward<ArnT>(value));
63 m_copyPrivateIpHasBeenSet =
true;
64 m_copyPrivateIp = value;
79 m_copyTagsHasBeenSet =
true;
94 template <
typename ExportBucketArnT = Aws::String>
96 m_exportBucketArnHasBeenSet =
true;
97 m_exportBucketArn = std::forward<ExportBucketArnT>(value);
99 template <
typename ExportBucketArnT = Aws::String>
112 template <
typename LaunchConfigurationTemplateIDT = Aws::String>
114 m_launchConfigurationTemplateIDHasBeenSet =
true;
115 m_launchConfigurationTemplateID = std::forward<LaunchConfigurationTemplateIDT>(value);
117 template <
typename LaunchConfigurationTemplateIDT = Aws::String>
131 m_launchDispositionHasBeenSet =
true;
132 m_launchDisposition = value;
149 m_launchIntoSourceInstanceHasBeenSet =
true;
150 m_launchIntoSourceInstance = value;
164 template <
typename LicensingT = Licensing>
166 m_licensingHasBeenSet =
true;
167 m_licensing = std::forward<LicensingT>(value);
169 template <
typename LicensingT = Licensing>
183 m_postLaunchEnabledHasBeenSet =
true;
184 m_postLaunchEnabled = value;
198 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
200 m_tagsHasBeenSet =
true;
201 m_tags = std::forward<TagsT>(value);
203 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
205 SetTags(std::forward<TagsT>(value));
208 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
210 m_tagsHasBeenSet =
true;
211 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
221 return m_targetInstanceTypeRightSizingMethod;
225 m_targetInstanceTypeRightSizingMethodHasBeenSet =
true;
226 m_targetInstanceTypeRightSizingMethod = value;
236 bool m_copyPrivateIp{
false};
238 bool m_copyTags{
false};
246 bool m_launchIntoSourceInstance{
false};
248 Licensing m_licensing;
250 bool m_postLaunchEnabled{
false};
255 bool m_arnHasBeenSet =
false;
256 bool m_copyPrivateIpHasBeenSet =
false;
257 bool m_copyTagsHasBeenSet =
false;
258 bool m_exportBucketArnHasBeenSet =
false;
259 bool m_launchConfigurationTemplateIDHasBeenSet =
false;
260 bool m_launchDispositionHasBeenSet =
false;
261 bool m_launchIntoSourceInstanceHasBeenSet =
false;
262 bool m_licensingHasBeenSet =
false;
263 bool m_postLaunchEnabledHasBeenSet =
false;
264 bool m_tagsHasBeenSet =
false;
265 bool m_targetInstanceTypeRightSizingMethodHasBeenSet =
false;
AWS_DRS_API LaunchConfigurationTemplate & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetArn(ArnT &&value)
TargetInstanceTypeRightSizingMethod GetTargetInstanceTypeRightSizingMethod() const
LaunchConfigurationTemplate & WithCopyTags(bool 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)
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)
AWS_DRS_API LaunchConfigurationTemplate()=default
bool PostLaunchEnabledHasBeenSet() const
void SetTags(TagsT &&value)
bool GetCopyPrivateIp() const
LaunchDisposition GetLaunchDisposition() const
bool LaunchIntoSourceInstanceHasBeenSet() 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