AWS SDK for C++

AWS SDK for C++ Version 1.11.741

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& GetArn() const { return m_arn; }
43 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
44 template <typename ArnT = Aws::String>
45 void SetArn(ArnT&& value) {
46 m_arnHasBeenSet = true;
47 m_arn = std::forward<ArnT>(value);
48 }
49 template <typename ArnT = Aws::String>
51 SetArn(std::forward<ArnT>(value));
52 return *this;
53 }
55
57
60 inline bool GetCopyPrivateIp() const { return m_copyPrivateIp; }
61 inline bool CopyPrivateIpHasBeenSet() const { return m_copyPrivateIpHasBeenSet; }
62 inline void SetCopyPrivateIp(bool value) {
63 m_copyPrivateIpHasBeenSet = true;
64 m_copyPrivateIp = value;
65 }
67 SetCopyPrivateIp(value);
68 return *this;
69 }
71
73
76 inline bool GetCopyTags() const { return m_copyTags; }
77 inline bool CopyTagsHasBeenSet() const { return m_copyTagsHasBeenSet; }
78 inline void SetCopyTags(bool value) {
79 m_copyTagsHasBeenSet = true;
80 m_copyTags = value;
81 }
83 SetCopyTags(value);
84 return *this;
85 }
87
89
92 inline const Aws::String& GetExportBucketArn() const { return m_exportBucketArn; }
93 inline bool ExportBucketArnHasBeenSet() const { return m_exportBucketArnHasBeenSet; }
94 template <typename ExportBucketArnT = Aws::String>
95 void SetExportBucketArn(ExportBucketArnT&& value) {
96 m_exportBucketArnHasBeenSet = true;
97 m_exportBucketArn = std::forward<ExportBucketArnT>(value);
98 }
99 template <typename ExportBucketArnT = Aws::String>
101 SetExportBucketArn(std::forward<ExportBucketArnT>(value));
102 return *this;
103 }
105
107
110 inline const Aws::String& GetLaunchConfigurationTemplateID() const { return m_launchConfigurationTemplateID; }
111 inline bool LaunchConfigurationTemplateIDHasBeenSet() const { return m_launchConfigurationTemplateIDHasBeenSet; }
112 template <typename LaunchConfigurationTemplateIDT = Aws::String>
113 void SetLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT&& value) {
114 m_launchConfigurationTemplateIDHasBeenSet = true;
115 m_launchConfigurationTemplateID = std::forward<LaunchConfigurationTemplateIDT>(value);
116 }
117 template <typename LaunchConfigurationTemplateIDT = Aws::String>
118 LaunchConfigurationTemplate& WithLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT&& value) {
119 SetLaunchConfigurationTemplateID(std::forward<LaunchConfigurationTemplateIDT>(value));
120 return *this;
121 }
123
125
128 inline LaunchDisposition GetLaunchDisposition() const { return m_launchDisposition; }
129 inline bool LaunchDispositionHasBeenSet() const { return m_launchDispositionHasBeenSet; }
131 m_launchDispositionHasBeenSet = true;
132 m_launchDisposition = value;
133 }
136 return *this;
137 }
139
141
146 inline bool GetLaunchIntoSourceInstance() const { return m_launchIntoSourceInstance; }
147 inline bool LaunchIntoSourceInstanceHasBeenSet() const { return m_launchIntoSourceInstanceHasBeenSet; }
148 inline void SetLaunchIntoSourceInstance(bool value) {
149 m_launchIntoSourceInstanceHasBeenSet = true;
150 m_launchIntoSourceInstance = value;
151 }
154 return *this;
155 }
157
159
162 inline const Licensing& GetLicensing() const { return m_licensing; }
163 inline bool LicensingHasBeenSet() const { return m_licensingHasBeenSet; }
164 template <typename LicensingT = Licensing>
165 void SetLicensing(LicensingT&& value) {
166 m_licensingHasBeenSet = true;
167 m_licensing = std::forward<LicensingT>(value);
168 }
169 template <typename LicensingT = Licensing>
171 SetLicensing(std::forward<LicensingT>(value));
172 return *this;
173 }
175
177
180 inline bool GetPostLaunchEnabled() const { return m_postLaunchEnabled; }
181 inline bool PostLaunchEnabledHasBeenSet() const { return m_postLaunchEnabledHasBeenSet; }
182 inline void SetPostLaunchEnabled(bool value) {
183 m_postLaunchEnabledHasBeenSet = true;
184 m_postLaunchEnabled = value;
185 }
188 return *this;
189 }
191
193
196 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
197 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
198 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
199 void SetTags(TagsT&& value) {
200 m_tagsHasBeenSet = true;
201 m_tags = std::forward<TagsT>(value);
202 }
203 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
205 SetTags(std::forward<TagsT>(value));
206 return *this;
207 }
208 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
209 LaunchConfigurationTemplate& AddTags(TagsKeyT&& key, TagsValueT&& value) {
210 m_tagsHasBeenSet = true;
211 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
212 return *this;
213 }
215
217
221 return m_targetInstanceTypeRightSizingMethod;
222 }
223 inline bool TargetInstanceTypeRightSizingMethodHasBeenSet() const { return m_targetInstanceTypeRightSizingMethodHasBeenSet; }
225 m_targetInstanceTypeRightSizingMethodHasBeenSet = true;
226 m_targetInstanceTypeRightSizingMethod = value;
227 }
230 return *this;
231 }
233 private:
234 Aws::String m_arn;
235
236 bool m_copyPrivateIp{false};
237
238 bool m_copyTags{false};
239
240 Aws::String m_exportBucketArn;
241
242 Aws::String m_launchConfigurationTemplateID;
243
245
246 bool m_launchIntoSourceInstance{false};
247
248 Licensing m_licensing;
249
250 bool m_postLaunchEnabled{false};
251
253
255 bool m_arnHasBeenSet = false;
256 bool m_copyPrivateIpHasBeenSet = false;
257 bool m_copyTagsHasBeenSet = false;
258 bool m_exportBucketArnHasBeenSet = false;
259 bool m_launchConfigurationTemplateIDHasBeenSet = false;
260 bool m_launchDispositionHasBeenSet = false;
261 bool m_launchIntoSourceInstanceHasBeenSet = false;
262 bool m_licensingHasBeenSet = false;
263 bool m_postLaunchEnabledHasBeenSet = false;
264 bool m_tagsHasBeenSet = false;
265 bool m_targetInstanceTypeRightSizingMethodHasBeenSet = 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