AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
AwsEc2InstanceDetails.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/securityhub/SecurityHub_EXPORTS.h>
10#include <aws/securityhub/model/AwsEc2InstanceMetadataOptions.h>
11#include <aws/securityhub/model/AwsEc2InstanceMonitoringDetails.h>
12#include <aws/securityhub/model/AwsEc2InstanceNetworkInterfacesDetails.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace SecurityHub {
24namespace Model {
25
32 public:
33 AWS_SECURITYHUB_API AwsEc2InstanceDetails() = default;
34 AWS_SECURITYHUB_API AwsEc2InstanceDetails(Aws::Utils::Json::JsonView jsonValue);
36 AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const Aws::String& GetType() const { return m_type; }
43 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
44 template <typename TypeT = Aws::String>
45 void SetType(TypeT&& value) {
46 m_typeHasBeenSet = true;
47 m_type = std::forward<TypeT>(value);
48 }
49 template <typename TypeT = Aws::String>
51 SetType(std::forward<TypeT>(value));
52 return *this;
53 }
55
57
60 inline const Aws::String& GetImageId() const { return m_imageId; }
61 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
62 template <typename ImageIdT = Aws::String>
63 void SetImageId(ImageIdT&& value) {
64 m_imageIdHasBeenSet = true;
65 m_imageId = std::forward<ImageIdT>(value);
66 }
67 template <typename ImageIdT = Aws::String>
69 SetImageId(std::forward<ImageIdT>(value));
70 return *this;
71 }
73
75
78 inline const Aws::Vector<Aws::String>& GetIpV4Addresses() const { return m_ipV4Addresses; }
79 inline bool IpV4AddressesHasBeenSet() const { return m_ipV4AddressesHasBeenSet; }
80 template <typename IpV4AddressesT = Aws::Vector<Aws::String>>
81 void SetIpV4Addresses(IpV4AddressesT&& value) {
82 m_ipV4AddressesHasBeenSet = true;
83 m_ipV4Addresses = std::forward<IpV4AddressesT>(value);
84 }
85 template <typename IpV4AddressesT = Aws::Vector<Aws::String>>
86 AwsEc2InstanceDetails& WithIpV4Addresses(IpV4AddressesT&& value) {
87 SetIpV4Addresses(std::forward<IpV4AddressesT>(value));
88 return *this;
89 }
90 template <typename IpV4AddressesT = Aws::String>
91 AwsEc2InstanceDetails& AddIpV4Addresses(IpV4AddressesT&& value) {
92 m_ipV4AddressesHasBeenSet = true;
93 m_ipV4Addresses.emplace_back(std::forward<IpV4AddressesT>(value));
94 return *this;
95 }
97
99
102 inline const Aws::Vector<Aws::String>& GetIpV6Addresses() const { return m_ipV6Addresses; }
103 inline bool IpV6AddressesHasBeenSet() const { return m_ipV6AddressesHasBeenSet; }
104 template <typename IpV6AddressesT = Aws::Vector<Aws::String>>
105 void SetIpV6Addresses(IpV6AddressesT&& value) {
106 m_ipV6AddressesHasBeenSet = true;
107 m_ipV6Addresses = std::forward<IpV6AddressesT>(value);
108 }
109 template <typename IpV6AddressesT = Aws::Vector<Aws::String>>
110 AwsEc2InstanceDetails& WithIpV6Addresses(IpV6AddressesT&& value) {
111 SetIpV6Addresses(std::forward<IpV6AddressesT>(value));
112 return *this;
113 }
114 template <typename IpV6AddressesT = Aws::String>
115 AwsEc2InstanceDetails& AddIpV6Addresses(IpV6AddressesT&& value) {
116 m_ipV6AddressesHasBeenSet = true;
117 m_ipV6Addresses.emplace_back(std::forward<IpV6AddressesT>(value));
118 return *this;
119 }
121
123
126 inline const Aws::String& GetKeyName() const { return m_keyName; }
127 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
128 template <typename KeyNameT = Aws::String>
129 void SetKeyName(KeyNameT&& value) {
130 m_keyNameHasBeenSet = true;
131 m_keyName = std::forward<KeyNameT>(value);
132 }
133 template <typename KeyNameT = Aws::String>
135 SetKeyName(std::forward<KeyNameT>(value));
136 return *this;
137 }
139
141
144 inline const Aws::String& GetIamInstanceProfileArn() const { return m_iamInstanceProfileArn; }
145 inline bool IamInstanceProfileArnHasBeenSet() const { return m_iamInstanceProfileArnHasBeenSet; }
146 template <typename IamInstanceProfileArnT = Aws::String>
147 void SetIamInstanceProfileArn(IamInstanceProfileArnT&& value) {
148 m_iamInstanceProfileArnHasBeenSet = true;
149 m_iamInstanceProfileArn = std::forward<IamInstanceProfileArnT>(value);
150 }
151 template <typename IamInstanceProfileArnT = Aws::String>
152 AwsEc2InstanceDetails& WithIamInstanceProfileArn(IamInstanceProfileArnT&& value) {
153 SetIamInstanceProfileArn(std::forward<IamInstanceProfileArnT>(value));
154 return *this;
155 }
157
159
162 inline const Aws::String& GetVpcId() const { return m_vpcId; }
163 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
164 template <typename VpcIdT = Aws::String>
165 void SetVpcId(VpcIdT&& value) {
166 m_vpcIdHasBeenSet = true;
167 m_vpcId = std::forward<VpcIdT>(value);
168 }
169 template <typename VpcIdT = Aws::String>
171 SetVpcId(std::forward<VpcIdT>(value));
172 return *this;
173 }
175
177
180 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
181 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
182 template <typename SubnetIdT = Aws::String>
183 void SetSubnetId(SubnetIdT&& value) {
184 m_subnetIdHasBeenSet = true;
185 m_subnetId = std::forward<SubnetIdT>(value);
186 }
187 template <typename SubnetIdT = Aws::String>
189 SetSubnetId(std::forward<SubnetIdT>(value));
190 return *this;
191 }
193
195
200 inline const Aws::String& GetLaunchedAt() const { return m_launchedAt; }
201 inline bool LaunchedAtHasBeenSet() const { return m_launchedAtHasBeenSet; }
202 template <typename LaunchedAtT = Aws::String>
203 void SetLaunchedAt(LaunchedAtT&& value) {
204 m_launchedAtHasBeenSet = true;
205 m_launchedAt = std::forward<LaunchedAtT>(value);
206 }
207 template <typename LaunchedAtT = Aws::String>
208 AwsEc2InstanceDetails& WithLaunchedAt(LaunchedAtT&& value) {
209 SetLaunchedAt(std::forward<LaunchedAtT>(value));
210 return *this;
211 }
213
215
220 inline const Aws::Vector<AwsEc2InstanceNetworkInterfacesDetails>& GetNetworkInterfaces() const { return m_networkInterfaces; }
221 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
222 template <typename NetworkInterfacesT = Aws::Vector<AwsEc2InstanceNetworkInterfacesDetails>>
223 void SetNetworkInterfaces(NetworkInterfacesT&& value) {
224 m_networkInterfacesHasBeenSet = true;
225 m_networkInterfaces = std::forward<NetworkInterfacesT>(value);
226 }
227 template <typename NetworkInterfacesT = Aws::Vector<AwsEc2InstanceNetworkInterfacesDetails>>
228 AwsEc2InstanceDetails& WithNetworkInterfaces(NetworkInterfacesT&& value) {
229 SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value));
230 return *this;
231 }
232 template <typename NetworkInterfacesT = AwsEc2InstanceNetworkInterfacesDetails>
233 AwsEc2InstanceDetails& AddNetworkInterfaces(NetworkInterfacesT&& value) {
234 m_networkInterfacesHasBeenSet = true;
235 m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
236 return *this;
237 }
239
241
245 inline const Aws::String& GetVirtualizationType() const { return m_virtualizationType; }
246 inline bool VirtualizationTypeHasBeenSet() const { return m_virtualizationTypeHasBeenSet; }
247 template <typename VirtualizationTypeT = Aws::String>
248 void SetVirtualizationType(VirtualizationTypeT&& value) {
249 m_virtualizationTypeHasBeenSet = true;
250 m_virtualizationType = std::forward<VirtualizationTypeT>(value);
251 }
252 template <typename VirtualizationTypeT = Aws::String>
253 AwsEc2InstanceDetails& WithVirtualizationType(VirtualizationTypeT&& value) {
254 SetVirtualizationType(std::forward<VirtualizationTypeT>(value));
255 return *this;
256 }
258
260
263 inline const AwsEc2InstanceMetadataOptions& GetMetadataOptions() const { return m_metadataOptions; }
264 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; }
265 template <typename MetadataOptionsT = AwsEc2InstanceMetadataOptions>
266 void SetMetadataOptions(MetadataOptionsT&& value) {
267 m_metadataOptionsHasBeenSet = true;
268 m_metadataOptions = std::forward<MetadataOptionsT>(value);
269 }
270 template <typename MetadataOptionsT = AwsEc2InstanceMetadataOptions>
271 AwsEc2InstanceDetails& WithMetadataOptions(MetadataOptionsT&& value) {
272 SetMetadataOptions(std::forward<MetadataOptionsT>(value));
273 return *this;
274 }
276
278
281 inline const AwsEc2InstanceMonitoringDetails& GetMonitoring() const { return m_monitoring; }
282 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
283 template <typename MonitoringT = AwsEc2InstanceMonitoringDetails>
284 void SetMonitoring(MonitoringT&& value) {
285 m_monitoringHasBeenSet = true;
286 m_monitoring = std::forward<MonitoringT>(value);
287 }
288 template <typename MonitoringT = AwsEc2InstanceMonitoringDetails>
289 AwsEc2InstanceDetails& WithMonitoring(MonitoringT&& value) {
290 SetMonitoring(std::forward<MonitoringT>(value));
291 return *this;
292 }
294 private:
295 Aws::String m_type;
296
297 Aws::String m_imageId;
298
299 Aws::Vector<Aws::String> m_ipV4Addresses;
300
301 Aws::Vector<Aws::String> m_ipV6Addresses;
302
303 Aws::String m_keyName;
304
305 Aws::String m_iamInstanceProfileArn;
306
307 Aws::String m_vpcId;
308
309 Aws::String m_subnetId;
310
311 Aws::String m_launchedAt;
312
314
315 Aws::String m_virtualizationType;
316
317 AwsEc2InstanceMetadataOptions m_metadataOptions;
318
320 bool m_typeHasBeenSet = false;
321 bool m_imageIdHasBeenSet = false;
322 bool m_ipV4AddressesHasBeenSet = false;
323 bool m_ipV6AddressesHasBeenSet = false;
324 bool m_keyNameHasBeenSet = false;
325 bool m_iamInstanceProfileArnHasBeenSet = false;
326 bool m_vpcIdHasBeenSet = false;
327 bool m_subnetIdHasBeenSet = false;
328 bool m_launchedAtHasBeenSet = false;
329 bool m_networkInterfacesHasBeenSet = false;
330 bool m_virtualizationTypeHasBeenSet = false;
331 bool m_metadataOptionsHasBeenSet = false;
332 bool m_monitoringHasBeenSet = false;
333};
334
335} // namespace Model
336} // namespace SecurityHub
337} // namespace Aws
AwsEc2InstanceDetails & WithMetadataOptions(MetadataOptionsT &&value)
const AwsEc2InstanceMonitoringDetails & GetMonitoring() const
AwsEc2InstanceDetails & WithKeyName(KeyNameT &&value)
AwsEc2InstanceDetails & AddIpV4Addresses(IpV4AddressesT &&value)
AWS_SECURITYHUB_API AwsEc2InstanceDetails()=default
AwsEc2InstanceDetails & AddIpV6Addresses(IpV6AddressesT &&value)
AwsEc2InstanceDetails & WithIpV4Addresses(IpV4AddressesT &&value)
AwsEc2InstanceDetails & WithMonitoring(MonitoringT &&value)
void SetVirtualizationType(VirtualizationTypeT &&value)
AwsEc2InstanceDetails & WithLaunchedAt(LaunchedAtT &&value)
AwsEc2InstanceDetails & WithType(TypeT &&value)
AwsEc2InstanceDetails & WithSubnetId(SubnetIdT &&value)
AwsEc2InstanceDetails & WithVpcId(VpcIdT &&value)
AwsEc2InstanceDetails & WithIpV6Addresses(IpV6AddressesT &&value)
AwsEc2InstanceDetails & WithVirtualizationType(VirtualizationTypeT &&value)
AwsEc2InstanceDetails & WithNetworkInterfaces(NetworkInterfacesT &&value)
AwsEc2InstanceDetails & AddNetworkInterfaces(NetworkInterfacesT &&value)
const Aws::Vector< Aws::String > & GetIpV4Addresses() const
AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_SECURITYHUB_API AwsEc2InstanceDetails(Aws::Utils::Json::JsonView jsonValue)
const AwsEc2InstanceMetadataOptions & GetMetadataOptions() const
void SetNetworkInterfaces(NetworkInterfacesT &&value)
const Aws::Vector< AwsEc2InstanceNetworkInterfacesDetails > & GetNetworkInterfaces() const
const Aws::Vector< Aws::String > & GetIpV6Addresses() const
AwsEc2InstanceDetails & WithImageId(ImageIdT &&value)
AWS_SECURITYHUB_API AwsEc2InstanceDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetIamInstanceProfileArn(IamInstanceProfileArnT &&value)
AwsEc2InstanceDetails & WithIamInstanceProfileArn(IamInstanceProfileArnT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue