AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
LaunchConfigurationTemplate.h
1
6#pragma once
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>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Json
23{
24 class JsonValue;
25 class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace mgn
29{
30namespace Model
31{
32
34 {
35 public:
36 AWS_MGN_API LaunchConfigurationTemplate() = default;
40
41
43
46 inline const Aws::String& GetArn() const { return m_arn; }
47 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
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>
51 LaunchConfigurationTemplate& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
53
55
58 inline bool GetAssociatePublicIpAddress() const { return m_associatePublicIpAddress; }
59 inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; }
60 inline void SetAssociatePublicIpAddress(bool value) { m_associatePublicIpAddressHasBeenSet = true; m_associatePublicIpAddress = value; }
63
65
68 inline BootMode GetBootMode() const { return m_bootMode; }
69 inline bool BootModeHasBeenSet() const { return m_bootModeHasBeenSet; }
70 inline void SetBootMode(BootMode value) { m_bootModeHasBeenSet = true; m_bootMode = value; }
71 inline LaunchConfigurationTemplate& WithBootMode(BootMode value) { SetBootMode(value); return *this;}
73
75
78 inline bool GetCopyPrivateIp() const { return m_copyPrivateIp; }
79 inline bool CopyPrivateIpHasBeenSet() const { return m_copyPrivateIpHasBeenSet; }
80 inline void SetCopyPrivateIp(bool value) { m_copyPrivateIpHasBeenSet = true; m_copyPrivateIp = value; }
81 inline LaunchConfigurationTemplate& WithCopyPrivateIp(bool value) { SetCopyPrivateIp(value); return *this;}
83
85
88 inline bool GetCopyTags() const { return m_copyTags; }
89 inline bool CopyTagsHasBeenSet() const { return m_copyTagsHasBeenSet; }
90 inline void SetCopyTags(bool value) { m_copyTagsHasBeenSet = true; m_copyTags = value; }
91 inline LaunchConfigurationTemplate& WithCopyTags(bool value) { SetCopyTags(value); return *this;}
93
95
98 inline const Aws::String& GetEc2LaunchTemplateID() const { return m_ec2LaunchTemplateID; }
99 inline bool Ec2LaunchTemplateIDHasBeenSet() const { return m_ec2LaunchTemplateIDHasBeenSet; }
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>
103 LaunchConfigurationTemplate& WithEc2LaunchTemplateID(Ec2LaunchTemplateIDT&& value) { SetEc2LaunchTemplateID(std::forward<Ec2LaunchTemplateIDT>(value)); return *this;}
105
107
110 inline bool GetEnableMapAutoTagging() const { return m_enableMapAutoTagging; }
111 inline bool EnableMapAutoTaggingHasBeenSet() const { return m_enableMapAutoTaggingHasBeenSet; }
112 inline void SetEnableMapAutoTagging(bool value) { m_enableMapAutoTaggingHasBeenSet = true; m_enableMapAutoTagging = value; }
115
117
120 inline const LaunchTemplateDiskConf& GetLargeVolumeConf() const { return m_largeVolumeConf; }
121 inline bool LargeVolumeConfHasBeenSet() const { return m_largeVolumeConfHasBeenSet; }
122 template<typename LargeVolumeConfT = LaunchTemplateDiskConf>
123 void SetLargeVolumeConf(LargeVolumeConfT&& value) { m_largeVolumeConfHasBeenSet = true; m_largeVolumeConf = std::forward<LargeVolumeConfT>(value); }
124 template<typename LargeVolumeConfT = LaunchTemplateDiskConf>
125 LaunchConfigurationTemplate& WithLargeVolumeConf(LargeVolumeConfT&& value) { SetLargeVolumeConf(std::forward<LargeVolumeConfT>(value)); return *this;}
127
129
132 inline const Aws::String& GetLaunchConfigurationTemplateID() const { return m_launchConfigurationTemplateID; }
133 inline bool LaunchConfigurationTemplateIDHasBeenSet() const { return m_launchConfigurationTemplateIDHasBeenSet; }
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>
137 LaunchConfigurationTemplate& WithLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT&& value) { SetLaunchConfigurationTemplateID(std::forward<LaunchConfigurationTemplateIDT>(value)); return *this;}
139
141
144 inline LaunchDisposition GetLaunchDisposition() const { return m_launchDisposition; }
145 inline bool LaunchDispositionHasBeenSet() const { return m_launchDispositionHasBeenSet; }
146 inline void SetLaunchDisposition(LaunchDisposition value) { m_launchDispositionHasBeenSet = true; m_launchDisposition = value; }
149
151
152 inline const Licensing& GetLicensing() const { return m_licensing; }
153 inline bool LicensingHasBeenSet() const { return m_licensingHasBeenSet; }
154 template<typename LicensingT = Licensing>
155 void SetLicensing(LicensingT&& value) { m_licensingHasBeenSet = true; m_licensing = std::forward<LicensingT>(value); }
156 template<typename LicensingT = Licensing>
157 LaunchConfigurationTemplate& WithLicensing(LicensingT&& value) { SetLicensing(std::forward<LicensingT>(value)); return *this;}
159
161
164 inline const Aws::String& GetMapAutoTaggingMpeID() const { return m_mapAutoTaggingMpeID; }
165 inline bool MapAutoTaggingMpeIDHasBeenSet() const { return m_mapAutoTaggingMpeIDHasBeenSet; }
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>
169 LaunchConfigurationTemplate& WithMapAutoTaggingMpeID(MapAutoTaggingMpeIDT&& value) { SetMapAutoTaggingMpeID(std::forward<MapAutoTaggingMpeIDT>(value)); return *this;}
171
173
176 inline const PostLaunchActions& GetPostLaunchActions() const { return m_postLaunchActions; }
177 inline bool PostLaunchActionsHasBeenSet() const { return m_postLaunchActionsHasBeenSet; }
178 template<typename PostLaunchActionsT = PostLaunchActions>
179 void SetPostLaunchActions(PostLaunchActionsT&& value) { m_postLaunchActionsHasBeenSet = true; m_postLaunchActions = std::forward<PostLaunchActionsT>(value); }
180 template<typename PostLaunchActionsT = PostLaunchActions>
181 LaunchConfigurationTemplate& WithPostLaunchActions(PostLaunchActionsT&& value) { SetPostLaunchActions(std::forward<PostLaunchActionsT>(value)); return *this;}
183
185
188 inline const LaunchTemplateDiskConf& GetSmallVolumeConf() const { return m_smallVolumeConf; }
189 inline bool SmallVolumeConfHasBeenSet() const { return m_smallVolumeConfHasBeenSet; }
190 template<typename SmallVolumeConfT = LaunchTemplateDiskConf>
191 void SetSmallVolumeConf(SmallVolumeConfT&& value) { m_smallVolumeConfHasBeenSet = true; m_smallVolumeConf = std::forward<SmallVolumeConfT>(value); }
192 template<typename SmallVolumeConfT = LaunchTemplateDiskConf>
193 LaunchConfigurationTemplate& WithSmallVolumeConf(SmallVolumeConfT&& value) { SetSmallVolumeConf(std::forward<SmallVolumeConfT>(value)); return *this;}
195
197
200 inline long long GetSmallVolumeMaxSize() const { return m_smallVolumeMaxSize; }
201 inline bool SmallVolumeMaxSizeHasBeenSet() const { return m_smallVolumeMaxSizeHasBeenSet; }
202 inline void SetSmallVolumeMaxSize(long long value) { m_smallVolumeMaxSizeHasBeenSet = true; m_smallVolumeMaxSize = value; }
203 inline LaunchConfigurationTemplate& WithSmallVolumeMaxSize(long long value) { SetSmallVolumeMaxSize(value); return *this;}
205
207
210 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
211 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
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>>
215 LaunchConfigurationTemplate& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
216 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
217 LaunchConfigurationTemplate& AddTags(TagsKeyT&& key, TagsValueT&& value) {
218 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
219 }
221
223
226 inline TargetInstanceTypeRightSizingMethod GetTargetInstanceTypeRightSizingMethod() const { return m_targetInstanceTypeRightSizingMethod; }
227 inline bool TargetInstanceTypeRightSizingMethodHasBeenSet() const { return m_targetInstanceTypeRightSizingMethodHasBeenSet; }
228 inline void SetTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value) { m_targetInstanceTypeRightSizingMethodHasBeenSet = true; m_targetInstanceTypeRightSizingMethod = value; }
231
233
234 inline const Aws::String& GetRequestId() const { return m_requestId; }
235 inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
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>
239 LaunchConfigurationTemplate& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward<RequestIdT>(value)); return *this;}
241 private:
242
243 Aws::String m_arn;
244 bool m_arnHasBeenSet = false;
245
246 bool m_associatePublicIpAddress{false};
247 bool m_associatePublicIpAddressHasBeenSet = false;
248
249 BootMode m_bootMode{BootMode::NOT_SET};
250 bool m_bootModeHasBeenSet = false;
251
252 bool m_copyPrivateIp{false};
253 bool m_copyPrivateIpHasBeenSet = false;
254
255 bool m_copyTags{false};
256 bool m_copyTagsHasBeenSet = false;
257
258 Aws::String m_ec2LaunchTemplateID;
259 bool m_ec2LaunchTemplateIDHasBeenSet = false;
260
261 bool m_enableMapAutoTagging{false};
262 bool m_enableMapAutoTaggingHasBeenSet = false;
263
264 LaunchTemplateDiskConf m_largeVolumeConf;
265 bool m_largeVolumeConfHasBeenSet = false;
266
267 Aws::String m_launchConfigurationTemplateID;
268 bool m_launchConfigurationTemplateIDHasBeenSet = false;
269
271 bool m_launchDispositionHasBeenSet = false;
272
273 Licensing m_licensing;
274 bool m_licensingHasBeenSet = false;
275
276 Aws::String m_mapAutoTaggingMpeID;
277 bool m_mapAutoTaggingMpeIDHasBeenSet = false;
278
279 PostLaunchActions m_postLaunchActions;
280 bool m_postLaunchActionsHasBeenSet = false;
281
282 LaunchTemplateDiskConf m_smallVolumeConf;
283 bool m_smallVolumeConfHasBeenSet = false;
284
285 long long m_smallVolumeMaxSize{0};
286 bool m_smallVolumeMaxSizeHasBeenSet = false;
287
289 bool m_tagsHasBeenSet = false;
290
292 bool m_targetInstanceTypeRightSizingMethodHasBeenSet = false;
293
294 Aws::String m_requestId;
295 bool m_requestIdHasBeenSet = false;
296 };
297
298} // namespace Model
299} // namespace mgn
300} // namespace Aws
LaunchConfigurationTemplate & WithLicensing(LicensingT &&value)
AWS_MGN_API Aws::Utils::Json::JsonValue Jsonize() const
LaunchConfigurationTemplate & WithRequestId(RequestIdT &&value)
LaunchConfigurationTemplate & WithLaunchDisposition(LaunchDisposition value)
LaunchConfigurationTemplate & WithCopyPrivateIp(bool value)
void SetTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
AWS_MGN_API LaunchConfigurationTemplate & operator=(Aws::Utils::Json::JsonView jsonValue)
LaunchConfigurationTemplate & WithSmallVolumeMaxSize(long long value)
const LaunchTemplateDiskConf & GetLargeVolumeConf() const
LaunchConfigurationTemplate & WithLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT &&value)
LaunchConfigurationTemplate & WithEc2LaunchTemplateID(Ec2LaunchTemplateIDT &&value)
void SetEc2LaunchTemplateID(Ec2LaunchTemplateIDT &&value)
void SetLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT &&value)
const LaunchTemplateDiskConf & GetSmallVolumeConf() const
LaunchConfigurationTemplate & AddTags(TagsKeyT &&key, TagsValueT &&value)
LaunchConfigurationTemplate & WithLargeVolumeConf(LargeVolumeConfT &&value)
LaunchConfigurationTemplate & WithSmallVolumeConf(SmallVolumeConfT &&value)
TargetInstanceTypeRightSizingMethod GetTargetInstanceTypeRightSizingMethod() const
LaunchConfigurationTemplate & WithTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value)
LaunchConfigurationTemplate & WithMapAutoTaggingMpeID(MapAutoTaggingMpeIDT &&value)
LaunchConfigurationTemplate & WithPostLaunchActions(PostLaunchActionsT &&value)
LaunchConfigurationTemplate & WithEnableMapAutoTagging(bool value)
AWS_MGN_API LaunchConfigurationTemplate()=default
LaunchConfigurationTemplate & WithArn(ArnT &&value)
LaunchConfigurationTemplate & WithTags(TagsT &&value)
AWS_MGN_API LaunchConfigurationTemplate(Aws::Utils::Json::JsonView jsonValue)
void SetMapAutoTaggingMpeID(MapAutoTaggingMpeIDT &&value)
LaunchConfigurationTemplate & WithCopyTags(bool value)
LaunchConfigurationTemplate & WithBootMode(BootMode value)
LaunchConfigurationTemplate & WithAssociatePublicIpAddress(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
Aws::Utils::Json::JsonValue JsonValue