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/drs/Drs_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/drs/model/LaunchDisposition.h>
10#include <aws/drs/model/Licensing.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/drs/model/TargetInstanceTypeRightSizingMethod.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace drs
26{
27namespace Model
28{
29
36 {
37 public:
38 AWS_DRS_API LaunchConfigurationTemplate() = default;
42
43
45
48 inline const Aws::String& GetArn() const { return m_arn; }
49 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
50 template<typename ArnT = Aws::String>
51 void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward<ArnT>(value); }
52 template<typename ArnT = Aws::String>
53 LaunchConfigurationTemplate& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
55
57
60 inline bool GetCopyPrivateIp() const { return m_copyPrivateIp; }
61 inline bool CopyPrivateIpHasBeenSet() const { return m_copyPrivateIpHasBeenSet; }
62 inline void SetCopyPrivateIp(bool value) { m_copyPrivateIpHasBeenSet = true; m_copyPrivateIp = value; }
63 inline LaunchConfigurationTemplate& WithCopyPrivateIp(bool value) { SetCopyPrivateIp(value); return *this;}
65
67
70 inline bool GetCopyTags() const { return m_copyTags; }
71 inline bool CopyTagsHasBeenSet() const { return m_copyTagsHasBeenSet; }
72 inline void SetCopyTags(bool value) { m_copyTagsHasBeenSet = true; m_copyTags = value; }
73 inline LaunchConfigurationTemplate& WithCopyTags(bool value) { SetCopyTags(value); return *this;}
75
77
80 inline const Aws::String& GetExportBucketArn() const { return m_exportBucketArn; }
81 inline bool ExportBucketArnHasBeenSet() const { return m_exportBucketArnHasBeenSet; }
82 template<typename ExportBucketArnT = Aws::String>
83 void SetExportBucketArn(ExportBucketArnT&& value) { m_exportBucketArnHasBeenSet = true; m_exportBucketArn = std::forward<ExportBucketArnT>(value); }
84 template<typename ExportBucketArnT = Aws::String>
85 LaunchConfigurationTemplate& WithExportBucketArn(ExportBucketArnT&& value) { SetExportBucketArn(std::forward<ExportBucketArnT>(value)); return *this;}
87
89
92 inline const Aws::String& GetLaunchConfigurationTemplateID() const { return m_launchConfigurationTemplateID; }
93 inline bool LaunchConfigurationTemplateIDHasBeenSet() const { return m_launchConfigurationTemplateIDHasBeenSet; }
94 template<typename LaunchConfigurationTemplateIDT = Aws::String>
95 void SetLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT&& value) { m_launchConfigurationTemplateIDHasBeenSet = true; m_launchConfigurationTemplateID = std::forward<LaunchConfigurationTemplateIDT>(value); }
96 template<typename LaunchConfigurationTemplateIDT = Aws::String>
97 LaunchConfigurationTemplate& WithLaunchConfigurationTemplateID(LaunchConfigurationTemplateIDT&& value) { SetLaunchConfigurationTemplateID(std::forward<LaunchConfigurationTemplateIDT>(value)); return *this;}
99
101
104 inline LaunchDisposition GetLaunchDisposition() const { return m_launchDisposition; }
105 inline bool LaunchDispositionHasBeenSet() const { return m_launchDispositionHasBeenSet; }
106 inline void SetLaunchDisposition(LaunchDisposition value) { m_launchDispositionHasBeenSet = true; m_launchDisposition = value; }
109
111
116 inline bool GetLaunchIntoSourceInstance() const { return m_launchIntoSourceInstance; }
117 inline bool LaunchIntoSourceInstanceHasBeenSet() const { return m_launchIntoSourceInstanceHasBeenSet; }
118 inline void SetLaunchIntoSourceInstance(bool value) { m_launchIntoSourceInstanceHasBeenSet = true; m_launchIntoSourceInstance = value; }
121
123
126 inline const Licensing& GetLicensing() const { return m_licensing; }
127 inline bool LicensingHasBeenSet() const { return m_licensingHasBeenSet; }
128 template<typename LicensingT = Licensing>
129 void SetLicensing(LicensingT&& value) { m_licensingHasBeenSet = true; m_licensing = std::forward<LicensingT>(value); }
130 template<typename LicensingT = Licensing>
131 LaunchConfigurationTemplate& WithLicensing(LicensingT&& value) { SetLicensing(std::forward<LicensingT>(value)); return *this;}
133
135
138 inline bool GetPostLaunchEnabled() const { return m_postLaunchEnabled; }
139 inline bool PostLaunchEnabledHasBeenSet() const { return m_postLaunchEnabledHasBeenSet; }
140 inline void SetPostLaunchEnabled(bool value) { m_postLaunchEnabledHasBeenSet = true; m_postLaunchEnabled = value; }
141 inline LaunchConfigurationTemplate& WithPostLaunchEnabled(bool value) { SetPostLaunchEnabled(value); return *this;}
143
145
148 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
149 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
150 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
151 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
152 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
153 LaunchConfigurationTemplate& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
154 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
155 LaunchConfigurationTemplate& AddTags(TagsKeyT&& key, TagsValueT&& value) {
156 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
157 }
159
161
164 inline TargetInstanceTypeRightSizingMethod GetTargetInstanceTypeRightSizingMethod() const { return m_targetInstanceTypeRightSizingMethod; }
165 inline bool TargetInstanceTypeRightSizingMethodHasBeenSet() const { return m_targetInstanceTypeRightSizingMethodHasBeenSet; }
166 inline void SetTargetInstanceTypeRightSizingMethod(TargetInstanceTypeRightSizingMethod value) { m_targetInstanceTypeRightSizingMethodHasBeenSet = true; m_targetInstanceTypeRightSizingMethod = value; }
169 private:
170
171 Aws::String m_arn;
172 bool m_arnHasBeenSet = false;
173
174 bool m_copyPrivateIp{false};
175 bool m_copyPrivateIpHasBeenSet = false;
176
177 bool m_copyTags{false};
178 bool m_copyTagsHasBeenSet = false;
179
180 Aws::String m_exportBucketArn;
181 bool m_exportBucketArnHasBeenSet = false;
182
183 Aws::String m_launchConfigurationTemplateID;
184 bool m_launchConfigurationTemplateIDHasBeenSet = false;
185
187 bool m_launchDispositionHasBeenSet = false;
188
189 bool m_launchIntoSourceInstance{false};
190 bool m_launchIntoSourceInstanceHasBeenSet = false;
191
192 Licensing m_licensing;
193 bool m_licensingHasBeenSet = false;
194
195 bool m_postLaunchEnabled{false};
196 bool m_postLaunchEnabledHasBeenSet = false;
197
199 bool m_tagsHasBeenSet = false;
200
202 bool m_targetInstanceTypeRightSizingMethodHasBeenSet = false;
203 };
204
205} // namespace Model
206} // namespace drs
207} // 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