AWS SDK for C++

AWS SDK for C++ Version 1.11.788

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/TargetInstanceTypeRightSizingMethod.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace drs {
24namespace Model {
25
32 public:
33 AWS_DRS_API LaunchConfigurationTemplate() = default;
37
39
42 inline const Aws::String& GetLaunchConfigurationTemplateID() const { return m_launchConfigurationTemplateID; }
43 inline bool LaunchConfigurationTemplateIDHasBeenSet() const { return m_launchConfigurationTemplateIDHasBeenSet; }
44 template <typename LaunchConfigurationTemplateIDT = Aws::String>
45 void SetLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT&& value) {
46 m_launchConfigurationTemplateIDHasBeenSet = true;
47 m_launchConfigurationTemplateID = std::forward<LaunchConfigurationTemplateIDT>(value);
48 }
49 template <typename LaunchConfigurationTemplateIDT = Aws::String>
50 LaunchConfigurationTemplate& WithLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT&& value) {
51 SetLaunchConfigurationTemplateID(std::forward<LaunchConfigurationTemplateIDT>(value));
52 return *this;
53 }
55
57
60 inline const Aws::String& GetArn() const { return m_arn; }
61 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
62 template <typename ArnT = Aws::String>
63 void SetArn(ArnT&& value) {
64 m_arnHasBeenSet = true;
65 m_arn = std::forward<ArnT>(value);
66 }
67 template <typename ArnT = Aws::String>
69 SetArn(std::forward<ArnT>(value));
70 return *this;
71 }
73
75
78 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
79 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
80 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
81 void SetTags(TagsT&& value) {
82 m_tagsHasBeenSet = true;
83 m_tags = std::forward<TagsT>(value);
84 }
85 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
87 SetTags(std::forward<TagsT>(value));
88 return *this;
89 }
90 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
91 LaunchConfigurationTemplate& AddTags(TagsKeyT&& key, TagsValueT&& value) {
92 m_tagsHasBeenSet = true;
93 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
94 return *this;
95 }
97
99
102 inline LaunchDisposition GetLaunchDisposition() const { return m_launchDisposition; }
103 inline bool LaunchDispositionHasBeenSet() const { return m_launchDispositionHasBeenSet; }
105 m_launchDispositionHasBeenSet = true;
106 m_launchDisposition = value;
107 }
110 return *this;
111 }
113
115
119 return m_targetInstanceTypeRightSizingMethod;
120 }
121 inline bool TargetInstanceTypeRightSizingMethodHasBeenSet() const { return m_targetInstanceTypeRightSizingMethodHasBeenSet; }
123 m_targetInstanceTypeRightSizingMethodHasBeenSet = true;
124 m_targetInstanceTypeRightSizingMethod = value;
125 }
128 return *this;
129 }
131
133
136 inline bool GetCopyPrivateIp() const { return m_copyPrivateIp; }
137 inline bool CopyPrivateIpHasBeenSet() const { return m_copyPrivateIpHasBeenSet; }
138 inline void SetCopyPrivateIp(bool value) {
139 m_copyPrivateIpHasBeenSet = true;
140 m_copyPrivateIp = value;
141 }
143 SetCopyPrivateIp(value);
144 return *this;
145 }
147
149
152 inline bool GetCopyTags() const { return m_copyTags; }
153 inline bool CopyTagsHasBeenSet() const { return m_copyTagsHasBeenSet; }
154 inline void SetCopyTags(bool value) {
155 m_copyTagsHasBeenSet = true;
156 m_copyTags = value;
157 }
159 SetCopyTags(value);
160 return *this;
161 }
163
165
168 inline const Licensing& GetLicensing() const { return m_licensing; }
169 inline bool LicensingHasBeenSet() const { return m_licensingHasBeenSet; }
170 template <typename LicensingT = Licensing>
171 void SetLicensing(LicensingT&& value) {
172 m_licensingHasBeenSet = true;
173 m_licensing = std::forward<LicensingT>(value);
174 }
175 template <typename LicensingT = Licensing>
177 SetLicensing(std::forward<LicensingT>(value));
178 return *this;
179 }
181
183
186 inline const Aws::String& GetExportBucketArn() const { return m_exportBucketArn; }
187 inline bool ExportBucketArnHasBeenSet() const { return m_exportBucketArnHasBeenSet; }
188 template <typename ExportBucketArnT = Aws::String>
189 void SetExportBucketArn(ExportBucketArnT&& value) {
190 m_exportBucketArnHasBeenSet = true;
191 m_exportBucketArn = std::forward<ExportBucketArnT>(value);
192 }
193 template <typename ExportBucketArnT = Aws::String>
195 SetExportBucketArn(std::forward<ExportBucketArnT>(value));
196 return *this;
197 }
199
201
204 inline bool GetPostLaunchEnabled() const { return m_postLaunchEnabled; }
205 inline bool PostLaunchEnabledHasBeenSet() const { return m_postLaunchEnabledHasBeenSet; }
206 inline void SetPostLaunchEnabled(bool value) {
207 m_postLaunchEnabledHasBeenSet = true;
208 m_postLaunchEnabled = value;
209 }
212 return *this;
213 }
215
217
222 inline bool GetLaunchIntoSourceInstance() const { return m_launchIntoSourceInstance; }
223 inline bool LaunchIntoSourceInstanceHasBeenSet() const { return m_launchIntoSourceInstanceHasBeenSet; }
224 inline void SetLaunchIntoSourceInstance(bool value) {
225 m_launchIntoSourceInstanceHasBeenSet = true;
226 m_launchIntoSourceInstance = value;
227 }
230 return *this;
231 }
233 private:
234 Aws::String m_launchConfigurationTemplateID;
235
236 Aws::String m_arn;
237
239
241
243
244 bool m_copyPrivateIp{false};
245
246 bool m_copyTags{false};
247
248 Licensing m_licensing;
249
250 Aws::String m_exportBucketArn;
251
252 bool m_postLaunchEnabled{false};
253
254 bool m_launchIntoSourceInstance{false};
255 bool m_launchConfigurationTemplateIDHasBeenSet = false;
256 bool m_arnHasBeenSet = false;
257 bool m_tagsHasBeenSet = false;
258 bool m_launchDispositionHasBeenSet = false;
259 bool m_targetInstanceTypeRightSizingMethodHasBeenSet = false;
260 bool m_copyPrivateIpHasBeenSet = false;
261 bool m_copyTagsHasBeenSet = false;
262 bool m_licensingHasBeenSet = false;
263 bool m_exportBucketArnHasBeenSet = false;
264 bool m_postLaunchEnabledHasBeenSet = false;
265 bool m_launchIntoSourceInstanceHasBeenSet = false;
266};
267
268} // namespace Model
269} // namespace drs
270} // 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)
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