AWS SDK for C++

AWS SDK for C++ Version 1.11.850

Loading...
Searching...
No Matches
LaunchConfigurationTemplate.h
1
6#pragma once
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>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace drs {
25namespace Model {
26
33 public:
34 AWS_DRS_API LaunchConfigurationTemplate() = default;
38
40
43 inline const Aws::String& GetLaunchConfigurationTemplateID() const { return m_launchConfigurationTemplateID; }
44 inline bool LaunchConfigurationTemplateIDHasBeenSet() const { return m_launchConfigurationTemplateIDHasBeenSet; }
45 template <typename LaunchConfigurationTemplateIDT = Aws::String>
46 void SetLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT&& value) {
47 m_launchConfigurationTemplateIDHasBeenSet = true;
48 m_launchConfigurationTemplateID = std::forward<LaunchConfigurationTemplateIDT>(value);
49 }
50 template <typename LaunchConfigurationTemplateIDT = Aws::String>
51 LaunchConfigurationTemplate& WithLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT&& value) {
52 SetLaunchConfigurationTemplateID(std::forward<LaunchConfigurationTemplateIDT>(value));
53 return *this;
54 }
56
58
61 inline const Aws::String& GetArn() const { return m_arn; }
62 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
63 template <typename ArnT = Aws::String>
64 void SetArn(ArnT&& value) {
65 m_arnHasBeenSet = true;
66 m_arn = std::forward<ArnT>(value);
67 }
68 template <typename ArnT = Aws::String>
70 SetArn(std::forward<ArnT>(value));
71 return *this;
72 }
74
76
79 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
80 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
81 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
82 void SetTags(TagsT&& value) {
83 m_tagsHasBeenSet = true;
84 m_tags = std::forward<TagsT>(value);
85 }
86 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
88 SetTags(std::forward<TagsT>(value));
89 return *this;
90 }
91 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
92 LaunchConfigurationTemplate& AddTags(TagsKeyT&& key, TagsValueT&& value) {
93 m_tagsHasBeenSet = true;
94 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
95 return *this;
96 }
98
100
103 inline LaunchDisposition GetLaunchDisposition() const { return m_launchDisposition; }
104 inline bool LaunchDispositionHasBeenSet() const { return m_launchDispositionHasBeenSet; }
106 m_launchDispositionHasBeenSet = true;
107 m_launchDisposition = value;
108 }
111 return *this;
112 }
114
116
120 return m_targetInstanceTypeRightSizingMethod;
121 }
122 inline bool TargetInstanceTypeRightSizingMethodHasBeenSet() const { return m_targetInstanceTypeRightSizingMethodHasBeenSet; }
124 m_targetInstanceTypeRightSizingMethodHasBeenSet = true;
125 m_targetInstanceTypeRightSizingMethod = value;
126 }
129 return *this;
130 }
132
134
137 inline bool GetCopyPrivateIp() const { return m_copyPrivateIp; }
138 inline bool CopyPrivateIpHasBeenSet() const { return m_copyPrivateIpHasBeenSet; }
139 inline void SetCopyPrivateIp(bool value) {
140 m_copyPrivateIpHasBeenSet = true;
141 m_copyPrivateIp = value;
142 }
144 SetCopyPrivateIp(value);
145 return *this;
146 }
148
150
153 inline bool GetCopyTags() const { return m_copyTags; }
154 inline bool CopyTagsHasBeenSet() const { return m_copyTagsHasBeenSet; }
155 inline void SetCopyTags(bool value) {
156 m_copyTagsHasBeenSet = true;
157 m_copyTags = value;
158 }
160 SetCopyTags(value);
161 return *this;
162 }
164
166
169 inline const Licensing& GetLicensing() const { return m_licensing; }
170 inline bool LicensingHasBeenSet() const { return m_licensingHasBeenSet; }
171 template <typename LicensingT = Licensing>
172 void SetLicensing(LicensingT&& value) {
173 m_licensingHasBeenSet = true;
174 m_licensing = std::forward<LicensingT>(value);
175 }
176 template <typename LicensingT = Licensing>
178 SetLicensing(std::forward<LicensingT>(value));
179 return *this;
180 }
182
184
187 inline const Aws::String& GetExportBucketArn() const { return m_exportBucketArn; }
188 inline bool ExportBucketArnHasBeenSet() const { return m_exportBucketArnHasBeenSet; }
189 template <typename ExportBucketArnT = Aws::String>
190 void SetExportBucketArn(ExportBucketArnT&& value) {
191 m_exportBucketArnHasBeenSet = true;
192 m_exportBucketArn = std::forward<ExportBucketArnT>(value);
193 }
194 template <typename ExportBucketArnT = Aws::String>
196 SetExportBucketArn(std::forward<ExportBucketArnT>(value));
197 return *this;
198 }
200
202
205 inline bool GetPostLaunchEnabled() const { return m_postLaunchEnabled; }
206 inline bool PostLaunchEnabledHasBeenSet() const { return m_postLaunchEnabledHasBeenSet; }
207 inline void SetPostLaunchEnabled(bool value) {
208 m_postLaunchEnabledHasBeenSet = true;
209 m_postLaunchEnabled = value;
210 }
213 return *this;
214 }
216
218
223 inline bool GetLaunchIntoSourceInstance() const { return m_launchIntoSourceInstance; }
224 inline bool LaunchIntoSourceInstanceHasBeenSet() const { return m_launchIntoSourceInstanceHasBeenSet; }
225 inline void SetLaunchIntoSourceInstance(bool value) {
226 m_launchIntoSourceInstanceHasBeenSet = true;
227 m_launchIntoSourceInstance = value;
228 }
231 return *this;
232 }
234
236
239 inline RecoveryMode GetRecoveryMode() const { return m_recoveryMode; }
240 inline bool RecoveryModeHasBeenSet() const { return m_recoveryModeHasBeenSet; }
241 inline void SetRecoveryMode(RecoveryMode value) {
242 m_recoveryModeHasBeenSet = true;
243 m_recoveryMode = value;
244 }
246 SetRecoveryMode(value);
247 return *this;
248 }
250 private:
251 Aws::String m_launchConfigurationTemplateID;
252
253 Aws::String m_arn;
254
256
258
260
261 bool m_copyPrivateIp{false};
262
263 bool m_copyTags{false};
264
265 Licensing m_licensing;
266
267 Aws::String m_exportBucketArn;
268
269 bool m_postLaunchEnabled{false};
270
271 bool m_launchIntoSourceInstance{false};
272
273 RecoveryMode m_recoveryMode{RecoveryMode::NOT_SET};
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;
286};
287
288} // namespace Model
289} // namespace drs
290} // namespace Aws
AWS_DRS_API LaunchConfigurationTemplate & operator=(Aws::Utils::Json::JsonView jsonValue)
TargetInstanceTypeRightSizingMethod GetTargetInstanceTypeRightSizingMethod() const
LaunchConfigurationTemplate & WithCopyTags(bool value)
LaunchConfigurationTemplate & WithPostLaunchEnabled(bool value)
LaunchConfigurationTemplate & AddTags(TagsKeyT &&key, TagsValueT &&value)
void SetTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
LaunchConfigurationTemplate & WithLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT &&value)
LaunchConfigurationTemplate & WithExportBucketArn(ExportBucketArnT &&value)
LaunchConfigurationTemplate & WithCopyPrivateIp(bool value)
LaunchConfigurationTemplate & WithTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
LaunchConfigurationTemplate & WithLicensing(LicensingT &&value)
AWS_DRS_API LaunchConfigurationTemplate(Aws::Utils::Json::JsonView jsonValue)
LaunchConfigurationTemplate & WithTags(TagsT &&value)
LaunchConfigurationTemplate & WithLaunchIntoSourceInstance(bool value)
void SetLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT &&value)
LaunchConfigurationTemplate & WithArn(ArnT &&value)
LaunchConfigurationTemplate & WithRecoveryMode(RecoveryMode value)
AWS_DRS_API LaunchConfigurationTemplate()=default
AWS_DRS_API Aws::Utils::Json::JsonValue Jsonize() const
LaunchConfigurationTemplate & WithLaunchDisposition(LaunchDisposition value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
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