AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
CreateLaunchConfigurationTemplateRequest.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/mgn/MgnRequest.h>
10#include <aws/mgn/Mgn_EXPORTS.h>
11#include <aws/mgn/model/BootMode.h>
12#include <aws/mgn/model/LaunchDisposition.h>
13#include <aws/mgn/model/LaunchTemplateDiskConf.h>
14#include <aws/mgn/model/Licensing.h>
15#include <aws/mgn/model/PostLaunchActions.h>
16#include <aws/mgn/model/TargetInstanceTypeRightSizingMethod.h>
17
18#include <utility>
19
20namespace Aws {
21namespace mgn {
22namespace Model {
23
27 public:
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "CreateLaunchConfigurationTemplate"; }
35
36 AWS_MGN_API Aws::String SerializePayload() const override;
37
39
42 inline const PostLaunchActions& GetPostLaunchActions() const { return m_postLaunchActions; }
43 inline bool PostLaunchActionsHasBeenSet() const { return m_postLaunchActionsHasBeenSet; }
44 template <typename PostLaunchActionsT = PostLaunchActions>
45 void SetPostLaunchActions(PostLaunchActionsT&& value) {
46 m_postLaunchActionsHasBeenSet = true;
47 m_postLaunchActions = std::forward<PostLaunchActionsT>(value);
48 }
49 template <typename PostLaunchActionsT = PostLaunchActions>
51 SetPostLaunchActions(std::forward<PostLaunchActionsT>(value));
52 return *this;
53 }
55
57
60 inline bool GetEnableMapAutoTagging() const { return m_enableMapAutoTagging; }
61 inline bool EnableMapAutoTaggingHasBeenSet() const { return m_enableMapAutoTaggingHasBeenSet; }
62 inline void SetEnableMapAutoTagging(bool value) {
63 m_enableMapAutoTaggingHasBeenSet = true;
64 m_enableMapAutoTagging = value;
65 }
68 return *this;
69 }
71
73
76 inline const Aws::String& GetMapAutoTaggingMpeID() const { return m_mapAutoTaggingMpeID; }
77 inline bool MapAutoTaggingMpeIDHasBeenSet() const { return m_mapAutoTaggingMpeIDHasBeenSet; }
78 template <typename MapAutoTaggingMpeIDT = Aws::String>
79 void SetMapAutoTaggingMpeID(MapAutoTaggingMpeIDT&& value) {
80 m_mapAutoTaggingMpeIDHasBeenSet = true;
81 m_mapAutoTaggingMpeID = std::forward<MapAutoTaggingMpeIDT>(value);
82 }
83 template <typename MapAutoTaggingMpeIDT = Aws::String>
85 SetMapAutoTaggingMpeID(std::forward<MapAutoTaggingMpeIDT>(value));
86 return *this;
87 }
89
91
95 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
96 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
97 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
98 void SetTags(TagsT&& value) {
99 m_tagsHasBeenSet = true;
100 m_tags = std::forward<TagsT>(value);
101 }
102 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
104 SetTags(std::forward<TagsT>(value));
105 return *this;
106 }
107 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
108 CreateLaunchConfigurationTemplateRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
109 m_tagsHasBeenSet = true;
110 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
111 return *this;
112 }
114
116
119 inline LaunchDisposition GetLaunchDisposition() const { return m_launchDisposition; }
120 inline bool LaunchDispositionHasBeenSet() const { return m_launchDispositionHasBeenSet; }
122 m_launchDispositionHasBeenSet = true;
123 m_launchDisposition = value;
124 }
127 return *this;
128 }
130
132
136 return m_targetInstanceTypeRightSizingMethod;
137 }
138 inline bool TargetInstanceTypeRightSizingMethodHasBeenSet() const { return m_targetInstanceTypeRightSizingMethodHasBeenSet; }
140 m_targetInstanceTypeRightSizingMethodHasBeenSet = true;
141 m_targetInstanceTypeRightSizingMethod = value;
142 }
145 return *this;
146 }
148
150
153 inline bool GetCopyPrivateIp() const { return m_copyPrivateIp; }
154 inline bool CopyPrivateIpHasBeenSet() const { return m_copyPrivateIpHasBeenSet; }
155 inline void SetCopyPrivateIp(bool value) {
156 m_copyPrivateIpHasBeenSet = true;
157 m_copyPrivateIp = value;
158 }
160 SetCopyPrivateIp(value);
161 return *this;
162 }
164
166
169 inline bool GetAssociatePublicIpAddress() const { return m_associatePublicIpAddress; }
170 inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; }
171 inline void SetAssociatePublicIpAddress(bool value) {
172 m_associatePublicIpAddressHasBeenSet = true;
173 m_associatePublicIpAddress = value;
174 }
177 return *this;
178 }
180
182
185 inline bool GetCopyTags() const { return m_copyTags; }
186 inline bool CopyTagsHasBeenSet() const { return m_copyTagsHasBeenSet; }
187 inline void SetCopyTags(bool value) {
188 m_copyTagsHasBeenSet = true;
189 m_copyTags = value;
190 }
192 SetCopyTags(value);
193 return *this;
194 }
196
198
199 inline const Licensing& GetLicensing() const { return m_licensing; }
200 inline bool LicensingHasBeenSet() const { return m_licensingHasBeenSet; }
201 template <typename LicensingT = Licensing>
202 void SetLicensing(LicensingT&& value) {
203 m_licensingHasBeenSet = true;
204 m_licensing = std::forward<LicensingT>(value);
205 }
206 template <typename LicensingT = Licensing>
208 SetLicensing(std::forward<LicensingT>(value));
209 return *this;
210 }
212
214
217 inline BootMode GetBootMode() const { return m_bootMode; }
218 inline bool BootModeHasBeenSet() const { return m_bootModeHasBeenSet; }
219 inline void SetBootMode(BootMode value) {
220 m_bootModeHasBeenSet = true;
221 m_bootMode = value;
222 }
224 SetBootMode(value);
225 return *this;
226 }
228
230
233 inline long long GetSmallVolumeMaxSize() const { return m_smallVolumeMaxSize; }
234 inline bool SmallVolumeMaxSizeHasBeenSet() const { return m_smallVolumeMaxSizeHasBeenSet; }
235 inline void SetSmallVolumeMaxSize(long long value) {
236 m_smallVolumeMaxSizeHasBeenSet = true;
237 m_smallVolumeMaxSize = value;
238 }
241 return *this;
242 }
244
246
249 inline const LaunchTemplateDiskConf& GetSmallVolumeConf() const { return m_smallVolumeConf; }
250 inline bool SmallVolumeConfHasBeenSet() const { return m_smallVolumeConfHasBeenSet; }
251 template <typename SmallVolumeConfT = LaunchTemplateDiskConf>
252 void SetSmallVolumeConf(SmallVolumeConfT&& value) {
253 m_smallVolumeConfHasBeenSet = true;
254 m_smallVolumeConf = std::forward<SmallVolumeConfT>(value);
255 }
256 template <typename SmallVolumeConfT = LaunchTemplateDiskConf>
258 SetSmallVolumeConf(std::forward<SmallVolumeConfT>(value));
259 return *this;
260 }
262
264
267 inline const LaunchTemplateDiskConf& GetLargeVolumeConf() const { return m_largeVolumeConf; }
268 inline bool LargeVolumeConfHasBeenSet() const { return m_largeVolumeConfHasBeenSet; }
269 template <typename LargeVolumeConfT = LaunchTemplateDiskConf>
270 void SetLargeVolumeConf(LargeVolumeConfT&& value) {
271 m_largeVolumeConfHasBeenSet = true;
272 m_largeVolumeConf = std::forward<LargeVolumeConfT>(value);
273 }
274 template <typename LargeVolumeConfT = LaunchTemplateDiskConf>
276 SetLargeVolumeConf(std::forward<LargeVolumeConfT>(value));
277 return *this;
278 }
280
282
285 inline bool GetEnableParametersEncryption() const { return m_enableParametersEncryption; }
286 inline bool EnableParametersEncryptionHasBeenSet() const { return m_enableParametersEncryptionHasBeenSet; }
287 inline void SetEnableParametersEncryption(bool value) {
288 m_enableParametersEncryptionHasBeenSet = true;
289 m_enableParametersEncryption = value;
290 }
293 return *this;
294 }
296
298
301 inline const Aws::String& GetParametersEncryptionKey() const { return m_parametersEncryptionKey; }
302 inline bool ParametersEncryptionKeyHasBeenSet() const { return m_parametersEncryptionKeyHasBeenSet; }
303 template <typename ParametersEncryptionKeyT = Aws::String>
304 void SetParametersEncryptionKey(ParametersEncryptionKeyT&& value) {
305 m_parametersEncryptionKeyHasBeenSet = true;
306 m_parametersEncryptionKey = std::forward<ParametersEncryptionKeyT>(value);
307 }
308 template <typename ParametersEncryptionKeyT = Aws::String>
310 SetParametersEncryptionKey(std::forward<ParametersEncryptionKeyT>(value));
311 return *this;
312 }
314 private:
315 PostLaunchActions m_postLaunchActions;
316
317 bool m_enableMapAutoTagging{false};
318
319 Aws::String m_mapAutoTaggingMpeID;
320
322
324
326
327 bool m_copyPrivateIp{false};
328
329 bool m_associatePublicIpAddress{false};
330
331 bool m_copyTags{false};
332
333 Licensing m_licensing;
334
335 BootMode m_bootMode{BootMode::NOT_SET};
336
337 long long m_smallVolumeMaxSize{0};
338
339 LaunchTemplateDiskConf m_smallVolumeConf;
340
341 LaunchTemplateDiskConf m_largeVolumeConf;
342
343 bool m_enableParametersEncryption{false};
344
345 Aws::String m_parametersEncryptionKey;
346 bool m_postLaunchActionsHasBeenSet = false;
347 bool m_enableMapAutoTaggingHasBeenSet = false;
348 bool m_mapAutoTaggingMpeIDHasBeenSet = false;
349 bool m_tagsHasBeenSet = false;
350 bool m_launchDispositionHasBeenSet = false;
351 bool m_targetInstanceTypeRightSizingMethodHasBeenSet = false;
352 bool m_copyPrivateIpHasBeenSet = false;
353 bool m_associatePublicIpAddressHasBeenSet = false;
354 bool m_copyTagsHasBeenSet = false;
355 bool m_licensingHasBeenSet = false;
356 bool m_bootModeHasBeenSet = false;
357 bool m_smallVolumeMaxSizeHasBeenSet = false;
358 bool m_smallVolumeConfHasBeenSet = false;
359 bool m_largeVolumeConfHasBeenSet = false;
360 bool m_enableParametersEncryptionHasBeenSet = false;
361 bool m_parametersEncryptionKeyHasBeenSet = false;
362};
363
364} // namespace Model
365} // namespace mgn
366} // namespace Aws
CreateLaunchConfigurationTemplateRequest & WithAssociatePublicIpAddress(bool value)
CreateLaunchConfigurationTemplateRequest & WithMapAutoTaggingMpeID(MapAutoTaggingMpeIDT &&value)
CreateLaunchConfigurationTemplateRequest & WithSmallVolumeConf(SmallVolumeConfT &&value)
CreateLaunchConfigurationTemplateRequest & WithSmallVolumeMaxSize(long long value)
CreateLaunchConfigurationTemplateRequest & WithBootMode(BootMode value)
void SetTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
CreateLaunchConfigurationTemplateRequest & WithCopyTags(bool value)
CreateLaunchConfigurationTemplateRequest & WithEnableParametersEncryption(bool value)
CreateLaunchConfigurationTemplateRequest & WithTags(TagsT &&value)
AWS_MGN_API Aws::String SerializePayload() const override
CreateLaunchConfigurationTemplateRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
CreateLaunchConfigurationTemplateRequest & WithParametersEncryptionKey(ParametersEncryptionKeyT &&value)
CreateLaunchConfigurationTemplateRequest & WithLargeVolumeConf(LargeVolumeConfT &&value)
CreateLaunchConfigurationTemplateRequest & WithLaunchDisposition(LaunchDisposition value)
CreateLaunchConfigurationTemplateRequest & WithTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
CreateLaunchConfigurationTemplateRequest & WithPostLaunchActions(PostLaunchActionsT &&value)
CreateLaunchConfigurationTemplateRequest & WithCopyPrivateIp(bool value)
CreateLaunchConfigurationTemplateRequest & WithLicensing(LicensingT &&value)
CreateLaunchConfigurationTemplateRequest & WithEnableMapAutoTagging(bool value)
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