AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
ImportInstanceLaunchSpecification.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/ArchitectureValues.h>
12#include <aws/ec2/model/InstanceType.h>
13#include <aws/ec2/model/Placement.h>
14#include <aws/ec2/model/ShutdownBehavior.h>
15#include <aws/ec2/model/UserData.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Xml {
22class XmlNode;
23} // namespace Xml
24} // namespace Utils
25namespace EC2 {
26namespace Model {
27
35 public:
36 AWS_EC2_API ImportInstanceLaunchSpecification() = default;
39
40 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
41 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
42
44
47 inline ArchitectureValues GetArchitecture() const { return m_architecture; }
48 inline bool ArchitectureHasBeenSet() const { return m_architectureHasBeenSet; }
50 m_architectureHasBeenSet = true;
51 m_architecture = value;
52 }
54 SetArchitecture(value);
55 return *this;
56 }
58
60
63 inline const Aws::Vector<Aws::String>& GetGroupNames() const { return m_groupNames; }
64 inline bool GroupNamesHasBeenSet() const { return m_groupNamesHasBeenSet; }
65 template <typename GroupNamesT = Aws::Vector<Aws::String>>
66 void SetGroupNames(GroupNamesT&& value) {
67 m_groupNamesHasBeenSet = true;
68 m_groupNames = std::forward<GroupNamesT>(value);
69 }
70 template <typename GroupNamesT = Aws::Vector<Aws::String>>
72 SetGroupNames(std::forward<GroupNamesT>(value));
73 return *this;
74 }
75 template <typename GroupNamesT = Aws::String>
77 m_groupNamesHasBeenSet = true;
78 m_groupNames.emplace_back(std::forward<GroupNamesT>(value));
79 return *this;
80 }
82
84
87 inline const Aws::Vector<Aws::String>& GetGroupIds() const { return m_groupIds; }
88 inline bool GroupIdsHasBeenSet() const { return m_groupIdsHasBeenSet; }
89 template <typename GroupIdsT = Aws::Vector<Aws::String>>
90 void SetGroupIds(GroupIdsT&& value) {
91 m_groupIdsHasBeenSet = true;
92 m_groupIds = std::forward<GroupIdsT>(value);
93 }
94 template <typename GroupIdsT = Aws::Vector<Aws::String>>
96 SetGroupIds(std::forward<GroupIdsT>(value));
97 return *this;
98 }
99 template <typename GroupIdsT = Aws::String>
101 m_groupIdsHasBeenSet = true;
102 m_groupIds.emplace_back(std::forward<GroupIdsT>(value));
103 return *this;
104 }
106
108
111 inline const Aws::String& GetAdditionalInfo() const { return m_additionalInfo; }
112 inline bool AdditionalInfoHasBeenSet() const { return m_additionalInfoHasBeenSet; }
113 template <typename AdditionalInfoT = Aws::String>
114 void SetAdditionalInfo(AdditionalInfoT&& value) {
115 m_additionalInfoHasBeenSet = true;
116 m_additionalInfo = std::forward<AdditionalInfoT>(value);
117 }
118 template <typename AdditionalInfoT = Aws::String>
120 SetAdditionalInfo(std::forward<AdditionalInfoT>(value));
121 return *this;
122 }
124
126
129 inline const UserData& GetUserData() const { return m_userData; }
130 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
131 template <typename UserDataT = UserData>
132 void SetUserData(UserDataT&& value) {
133 m_userDataHasBeenSet = true;
134 m_userData = std::forward<UserDataT>(value);
135 }
136 template <typename UserDataT = UserData>
138 SetUserData(std::forward<UserDataT>(value));
139 return *this;
140 }
142
144
150 inline InstanceType GetInstanceType() const { return m_instanceType; }
151 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
152 inline void SetInstanceType(InstanceType value) {
153 m_instanceTypeHasBeenSet = true;
154 m_instanceType = value;
155 }
157 SetInstanceType(value);
158 return *this;
159 }
161
163
166 inline const Placement& GetPlacement() const { return m_placement; }
167 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
168 template <typename PlacementT = Placement>
169 void SetPlacement(PlacementT&& value) {
170 m_placementHasBeenSet = true;
171 m_placement = std::forward<PlacementT>(value);
172 }
173 template <typename PlacementT = Placement>
175 SetPlacement(std::forward<PlacementT>(value));
176 return *this;
177 }
179
181
184 inline bool GetMonitoring() const { return m_monitoring; }
185 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
186 inline void SetMonitoring(bool value) {
187 m_monitoringHasBeenSet = true;
188 m_monitoring = value;
189 }
191 SetMonitoring(value);
192 return *this;
193 }
195
197
200 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
201 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
202 template <typename SubnetIdT = Aws::String>
203 void SetSubnetId(SubnetIdT&& value) {
204 m_subnetIdHasBeenSet = true;
205 m_subnetId = std::forward<SubnetIdT>(value);
206 }
207 template <typename SubnetIdT = Aws::String>
209 SetSubnetId(std::forward<SubnetIdT>(value));
210 return *this;
211 }
213
215
219 inline ShutdownBehavior GetInstanceInitiatedShutdownBehavior() const { return m_instanceInitiatedShutdownBehavior; }
220 inline bool InstanceInitiatedShutdownBehaviorHasBeenSet() const { return m_instanceInitiatedShutdownBehaviorHasBeenSet; }
222 m_instanceInitiatedShutdownBehaviorHasBeenSet = true;
223 m_instanceInitiatedShutdownBehavior = value;
224 }
227 return *this;
228 }
230
232
236 inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; }
237 inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; }
238 template <typename PrivateIpAddressT = Aws::String>
239 void SetPrivateIpAddress(PrivateIpAddressT&& value) {
240 m_privateIpAddressHasBeenSet = true;
241 m_privateIpAddress = std::forward<PrivateIpAddressT>(value);
242 }
243 template <typename PrivateIpAddressT = Aws::String>
245 SetPrivateIpAddress(std::forward<PrivateIpAddressT>(value));
246 return *this;
247 }
249 private:
251
252 Aws::Vector<Aws::String> m_groupNames;
253
254 Aws::Vector<Aws::String> m_groupIds;
255
256 Aws::String m_additionalInfo;
257
258 UserData m_userData;
259
260 InstanceType m_instanceType{InstanceType::NOT_SET};
261
262 Placement m_placement;
263
264 bool m_monitoring{false};
265
266 Aws::String m_subnetId;
267
268 ShutdownBehavior m_instanceInitiatedShutdownBehavior{ShutdownBehavior::NOT_SET};
269
270 Aws::String m_privateIpAddress;
271 bool m_architectureHasBeenSet = false;
272 bool m_groupNamesHasBeenSet = false;
273 bool m_groupIdsHasBeenSet = false;
274 bool m_additionalInfoHasBeenSet = false;
275 bool m_userDataHasBeenSet = false;
276 bool m_instanceTypeHasBeenSet = false;
277 bool m_placementHasBeenSet = false;
278 bool m_monitoringHasBeenSet = false;
279 bool m_subnetIdHasBeenSet = false;
280 bool m_instanceInitiatedShutdownBehaviorHasBeenSet = false;
281 bool m_privateIpAddressHasBeenSet = false;
282};
283
284} // namespace Model
285} // namespace EC2
286} // namespace Aws
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ImportInstanceLaunchSpecification & AddGroupNames(GroupNamesT &&value)
ImportInstanceLaunchSpecification & WithPlacement(PlacementT &&value)
AWS_EC2_API ImportInstanceLaunchSpecification & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ImportInstanceLaunchSpecification & AddGroupIds(GroupIdsT &&value)
ImportInstanceLaunchSpecification & WithSubnetId(SubnetIdT &&value)
ImportInstanceLaunchSpecification & WithPrivateIpAddress(PrivateIpAddressT &&value)
ImportInstanceLaunchSpecification & WithAdditionalInfo(AdditionalInfoT &&value)
ImportInstanceLaunchSpecification & WithInstanceType(InstanceType value)
ImportInstanceLaunchSpecification & WithGroupIds(GroupIdsT &&value)
ImportInstanceLaunchSpecification & WithArchitecture(ArchitectureValues value)
ImportInstanceLaunchSpecification & WithGroupNames(GroupNamesT &&value)
ImportInstanceLaunchSpecification & WithUserData(UserDataT &&value)
ImportInstanceLaunchSpecification & WithMonitoring(bool value)
ImportInstanceLaunchSpecification & WithInstanceInitiatedShutdownBehavior(ShutdownBehavior value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_EC2_API ImportInstanceLaunchSpecification(const Aws::Utils::Xml::XmlNode &xmlNode)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream