AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateLaunchConfigurationTemplateRequest.h
1
6#pragma once
7#include <aws/mgn/Mgn_EXPORTS.h>
8#include <aws/mgn/MgnRequest.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/core/utils/memory/stl/AWSString.h>
14#include <aws/mgn/model/PostLaunchActions.h>
15#include <aws/core/utils/memory/stl/AWSMap.h>
16#include <aws/mgn/model/TargetInstanceTypeRightSizingMethod.h>
17#include <utility>
18
19namespace Aws
20{
21namespace mgn
22{
23namespace Model
24{
25
29 {
30 public:
32
33 // Service request name is the Operation name which will send this request out,
34 // each operation should has unique request name, so that we can get operation's name from this request.
35 // Note: this is not true for response, multiple operations may have the same response name,
36 // so we can not get operation's name from response.
37 inline virtual const char* GetServiceRequestName() const override { return "CreateLaunchConfigurationTemplate"; }
38
39 AWS_MGN_API Aws::String SerializePayload() const override;
40
41
43
46 inline bool GetAssociatePublicIpAddress() const { return m_associatePublicIpAddress; }
47 inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; }
48 inline void SetAssociatePublicIpAddress(bool value) { m_associatePublicIpAddressHasBeenSet = true; m_associatePublicIpAddress = value; }
51
53
56 inline BootMode GetBootMode() const { return m_bootMode; }
57 inline bool BootModeHasBeenSet() const { return m_bootModeHasBeenSet; }
58 inline void SetBootMode(BootMode value) { m_bootModeHasBeenSet = true; m_bootMode = value; }
61
63
66 inline bool GetCopyPrivateIp() const { return m_copyPrivateIp; }
67 inline bool CopyPrivateIpHasBeenSet() const { return m_copyPrivateIpHasBeenSet; }
68 inline void SetCopyPrivateIp(bool value) { m_copyPrivateIpHasBeenSet = true; m_copyPrivateIp = value; }
71
73
76 inline bool GetCopyTags() const { return m_copyTags; }
77 inline bool CopyTagsHasBeenSet() const { return m_copyTagsHasBeenSet; }
78 inline void SetCopyTags(bool value) { m_copyTagsHasBeenSet = true; m_copyTags = value; }
79 inline CreateLaunchConfigurationTemplateRequest& WithCopyTags(bool value) { SetCopyTags(value); return *this;}
81
83
86 inline bool GetEnableMapAutoTagging() const { return m_enableMapAutoTagging; }
87 inline bool EnableMapAutoTaggingHasBeenSet() const { return m_enableMapAutoTaggingHasBeenSet; }
88 inline void SetEnableMapAutoTagging(bool value) { m_enableMapAutoTaggingHasBeenSet = true; m_enableMapAutoTagging = value; }
91
93
96 inline const LaunchTemplateDiskConf& GetLargeVolumeConf() const { return m_largeVolumeConf; }
97 inline bool LargeVolumeConfHasBeenSet() const { return m_largeVolumeConfHasBeenSet; }
98 template<typename LargeVolumeConfT = LaunchTemplateDiskConf>
99 void SetLargeVolumeConf(LargeVolumeConfT&& value) { m_largeVolumeConfHasBeenSet = true; m_largeVolumeConf = std::forward<LargeVolumeConfT>(value); }
100 template<typename LargeVolumeConfT = LaunchTemplateDiskConf>
101 CreateLaunchConfigurationTemplateRequest& WithLargeVolumeConf(LargeVolumeConfT&& value) { SetLargeVolumeConf(std::forward<LargeVolumeConfT>(value)); return *this;}
103
105
108 inline LaunchDisposition GetLaunchDisposition() const { return m_launchDisposition; }
109 inline bool LaunchDispositionHasBeenSet() const { return m_launchDispositionHasBeenSet; }
110 inline void SetLaunchDisposition(LaunchDisposition value) { m_launchDispositionHasBeenSet = true; m_launchDisposition = value; }
113
115
116 inline const Licensing& GetLicensing() const { return m_licensing; }
117 inline bool LicensingHasBeenSet() const { return m_licensingHasBeenSet; }
118 template<typename LicensingT = Licensing>
119 void SetLicensing(LicensingT&& value) { m_licensingHasBeenSet = true; m_licensing = std::forward<LicensingT>(value); }
120 template<typename LicensingT = Licensing>
121 CreateLaunchConfigurationTemplateRequest& WithLicensing(LicensingT&& value) { SetLicensing(std::forward<LicensingT>(value)); return *this;}
123
125
128 inline const Aws::String& GetMapAutoTaggingMpeID() const { return m_mapAutoTaggingMpeID; }
129 inline bool MapAutoTaggingMpeIDHasBeenSet() const { return m_mapAutoTaggingMpeIDHasBeenSet; }
130 template<typename MapAutoTaggingMpeIDT = Aws::String>
131 void SetMapAutoTaggingMpeID(MapAutoTaggingMpeIDT&& value) { m_mapAutoTaggingMpeIDHasBeenSet = true; m_mapAutoTaggingMpeID = std::forward<MapAutoTaggingMpeIDT>(value); }
132 template<typename MapAutoTaggingMpeIDT = Aws::String>
133 CreateLaunchConfigurationTemplateRequest& WithMapAutoTaggingMpeID(MapAutoTaggingMpeIDT&& value) { SetMapAutoTaggingMpeID(std::forward<MapAutoTaggingMpeIDT>(value)); return *this;}
135
137
140 inline const PostLaunchActions& GetPostLaunchActions() const { return m_postLaunchActions; }
141 inline bool PostLaunchActionsHasBeenSet() const { return m_postLaunchActionsHasBeenSet; }
142 template<typename PostLaunchActionsT = PostLaunchActions>
143 void SetPostLaunchActions(PostLaunchActionsT&& value) { m_postLaunchActionsHasBeenSet = true; m_postLaunchActions = std::forward<PostLaunchActionsT>(value); }
144 template<typename PostLaunchActionsT = PostLaunchActions>
145 CreateLaunchConfigurationTemplateRequest& WithPostLaunchActions(PostLaunchActionsT&& value) { SetPostLaunchActions(std::forward<PostLaunchActionsT>(value)); return *this;}
147
149
152 inline const LaunchTemplateDiskConf& GetSmallVolumeConf() const { return m_smallVolumeConf; }
153 inline bool SmallVolumeConfHasBeenSet() const { return m_smallVolumeConfHasBeenSet; }
154 template<typename SmallVolumeConfT = LaunchTemplateDiskConf>
155 void SetSmallVolumeConf(SmallVolumeConfT&& value) { m_smallVolumeConfHasBeenSet = true; m_smallVolumeConf = std::forward<SmallVolumeConfT>(value); }
156 template<typename SmallVolumeConfT = LaunchTemplateDiskConf>
157 CreateLaunchConfigurationTemplateRequest& WithSmallVolumeConf(SmallVolumeConfT&& value) { SetSmallVolumeConf(std::forward<SmallVolumeConfT>(value)); return *this;}
159
161
164 inline long long GetSmallVolumeMaxSize() const { return m_smallVolumeMaxSize; }
165 inline bool SmallVolumeMaxSizeHasBeenSet() const { return m_smallVolumeMaxSizeHasBeenSet; }
166 inline void SetSmallVolumeMaxSize(long long value) { m_smallVolumeMaxSizeHasBeenSet = true; m_smallVolumeMaxSize = value; }
169
171
175 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
176 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
177 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
178 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
179 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
180 CreateLaunchConfigurationTemplateRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
181 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
182 CreateLaunchConfigurationTemplateRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
183 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
184 }
186
188
191 inline TargetInstanceTypeRightSizingMethod GetTargetInstanceTypeRightSizingMethod() const { return m_targetInstanceTypeRightSizingMethod; }
192 inline bool TargetInstanceTypeRightSizingMethodHasBeenSet() const { return m_targetInstanceTypeRightSizingMethodHasBeenSet; }
193 inline void SetTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value) { m_targetInstanceTypeRightSizingMethodHasBeenSet = true; m_targetInstanceTypeRightSizingMethod = value; }
196 private:
197
198 bool m_associatePublicIpAddress{false};
199 bool m_associatePublicIpAddressHasBeenSet = false;
200
201 BootMode m_bootMode{BootMode::NOT_SET};
202 bool m_bootModeHasBeenSet = false;
203
204 bool m_copyPrivateIp{false};
205 bool m_copyPrivateIpHasBeenSet = false;
206
207 bool m_copyTags{false};
208 bool m_copyTagsHasBeenSet = false;
209
210 bool m_enableMapAutoTagging{false};
211 bool m_enableMapAutoTaggingHasBeenSet = false;
212
213 LaunchTemplateDiskConf m_largeVolumeConf;
214 bool m_largeVolumeConfHasBeenSet = false;
215
217 bool m_launchDispositionHasBeenSet = false;
218
219 Licensing m_licensing;
220 bool m_licensingHasBeenSet = false;
221
222 Aws::String m_mapAutoTaggingMpeID;
223 bool m_mapAutoTaggingMpeIDHasBeenSet = false;
224
225 PostLaunchActions m_postLaunchActions;
226 bool m_postLaunchActionsHasBeenSet = false;
227
228 LaunchTemplateDiskConf m_smallVolumeConf;
229 bool m_smallVolumeConfHasBeenSet = false;
230
231 long long m_smallVolumeMaxSize{0};
232 bool m_smallVolumeMaxSizeHasBeenSet = false;
233
235 bool m_tagsHasBeenSet = false;
236
238 bool m_targetInstanceTypeRightSizingMethodHasBeenSet = false;
239 };
240
241} // namespace Model
242} // namespace mgn
243} // 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 & WithTags(TagsT &&value)
AWS_MGN_API Aws::String SerializePayload() const override
CreateLaunchConfigurationTemplateRequest & AddTags(TagsKeyT &&key, TagsValueT &&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