AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
AwsEc2InstanceDetails.h
1
6#pragma once
7#include <aws/securityhub/SecurityHub_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/securityhub/model/AwsEc2InstanceMetadataOptions.h>
11#include <aws/securityhub/model/AwsEc2InstanceMonitoringDetails.h>
12#include <aws/securityhub/model/AwsEc2InstanceNetworkInterfacesDetails.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 SecurityHub
26{
27namespace Model
28{
29
36 {
37 public:
38 AWS_SECURITYHUB_API AwsEc2InstanceDetails() = default;
39 AWS_SECURITYHUB_API AwsEc2InstanceDetails(Aws::Utils::Json::JsonView jsonValue);
41 AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
48 inline const Aws::String& GetType() const { return m_type; }
49 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
50 template<typename TypeT = Aws::String>
51 void SetType(TypeT&& value) { m_typeHasBeenSet = true; m_type = std::forward<TypeT>(value); }
52 template<typename TypeT = Aws::String>
53 AwsEc2InstanceDetails& WithType(TypeT&& value) { SetType(std::forward<TypeT>(value)); return *this;}
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) { m_imageIdHasBeenSet = true; m_imageId = std::forward<ImageIdT>(value); }
64 template<typename ImageIdT = Aws::String>
65 AwsEc2InstanceDetails& WithImageId(ImageIdT&& value) { SetImageId(std::forward<ImageIdT>(value)); return *this;}
67
69
72 inline const Aws::Vector<Aws::String>& GetIpV4Addresses() const { return m_ipV4Addresses; }
73 inline bool IpV4AddressesHasBeenSet() const { return m_ipV4AddressesHasBeenSet; }
74 template<typename IpV4AddressesT = Aws::Vector<Aws::String>>
75 void SetIpV4Addresses(IpV4AddressesT&& value) { m_ipV4AddressesHasBeenSet = true; m_ipV4Addresses = std::forward<IpV4AddressesT>(value); }
76 template<typename IpV4AddressesT = Aws::Vector<Aws::String>>
77 AwsEc2InstanceDetails& WithIpV4Addresses(IpV4AddressesT&& value) { SetIpV4Addresses(std::forward<IpV4AddressesT>(value)); return *this;}
78 template<typename IpV4AddressesT = Aws::String>
79 AwsEc2InstanceDetails& AddIpV4Addresses(IpV4AddressesT&& value) { m_ipV4AddressesHasBeenSet = true; m_ipV4Addresses.emplace_back(std::forward<IpV4AddressesT>(value)); return *this; }
81
83
86 inline const Aws::Vector<Aws::String>& GetIpV6Addresses() const { return m_ipV6Addresses; }
87 inline bool IpV6AddressesHasBeenSet() const { return m_ipV6AddressesHasBeenSet; }
88 template<typename IpV6AddressesT = Aws::Vector<Aws::String>>
89 void SetIpV6Addresses(IpV6AddressesT&& value) { m_ipV6AddressesHasBeenSet = true; m_ipV6Addresses = std::forward<IpV6AddressesT>(value); }
90 template<typename IpV6AddressesT = Aws::Vector<Aws::String>>
91 AwsEc2InstanceDetails& WithIpV6Addresses(IpV6AddressesT&& value) { SetIpV6Addresses(std::forward<IpV6AddressesT>(value)); return *this;}
92 template<typename IpV6AddressesT = Aws::String>
93 AwsEc2InstanceDetails& AddIpV6Addresses(IpV6AddressesT&& value) { m_ipV6AddressesHasBeenSet = true; m_ipV6Addresses.emplace_back(std::forward<IpV6AddressesT>(value)); return *this; }
95
97
100 inline const Aws::String& GetKeyName() const { return m_keyName; }
101 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
102 template<typename KeyNameT = Aws::String>
103 void SetKeyName(KeyNameT&& value) { m_keyNameHasBeenSet = true; m_keyName = std::forward<KeyNameT>(value); }
104 template<typename KeyNameT = Aws::String>
105 AwsEc2InstanceDetails& WithKeyName(KeyNameT&& value) { SetKeyName(std::forward<KeyNameT>(value)); return *this;}
107
109
112 inline const Aws::String& GetIamInstanceProfileArn() const { return m_iamInstanceProfileArn; }
113 inline bool IamInstanceProfileArnHasBeenSet() const { return m_iamInstanceProfileArnHasBeenSet; }
114 template<typename IamInstanceProfileArnT = Aws::String>
115 void SetIamInstanceProfileArn(IamInstanceProfileArnT&& value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn = std::forward<IamInstanceProfileArnT>(value); }
116 template<typename IamInstanceProfileArnT = Aws::String>
117 AwsEc2InstanceDetails& WithIamInstanceProfileArn(IamInstanceProfileArnT&& value) { SetIamInstanceProfileArn(std::forward<IamInstanceProfileArnT>(value)); return *this;}
119
121
124 inline const Aws::String& GetVpcId() const { return m_vpcId; }
125 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
126 template<typename VpcIdT = Aws::String>
127 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::forward<VpcIdT>(value); }
128 template<typename VpcIdT = Aws::String>
129 AwsEc2InstanceDetails& WithVpcId(VpcIdT&& value) { SetVpcId(std::forward<VpcIdT>(value)); return *this;}
131
133
136 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
137 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
138 template<typename SubnetIdT = Aws::String>
139 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::forward<SubnetIdT>(value); }
140 template<typename SubnetIdT = Aws::String>
141 AwsEc2InstanceDetails& WithSubnetId(SubnetIdT&& value) { SetSubnetId(std::forward<SubnetIdT>(value)); return *this;}
143
145
150 inline const Aws::String& GetLaunchedAt() const { return m_launchedAt; }
151 inline bool LaunchedAtHasBeenSet() const { return m_launchedAtHasBeenSet; }
152 template<typename LaunchedAtT = Aws::String>
153 void SetLaunchedAt(LaunchedAtT&& value) { m_launchedAtHasBeenSet = true; m_launchedAt = std::forward<LaunchedAtT>(value); }
154 template<typename LaunchedAtT = Aws::String>
155 AwsEc2InstanceDetails& WithLaunchedAt(LaunchedAtT&& value) { SetLaunchedAt(std::forward<LaunchedAtT>(value)); return *this;}
157
159
164 inline const Aws::Vector<AwsEc2InstanceNetworkInterfacesDetails>& GetNetworkInterfaces() const { return m_networkInterfaces; }
165 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
166 template<typename NetworkInterfacesT = Aws::Vector<AwsEc2InstanceNetworkInterfacesDetails>>
167 void SetNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = std::forward<NetworkInterfacesT>(value); }
168 template<typename NetworkInterfacesT = Aws::Vector<AwsEc2InstanceNetworkInterfacesDetails>>
169 AwsEc2InstanceDetails& WithNetworkInterfaces(NetworkInterfacesT&& value) { SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value)); return *this;}
170 template<typename NetworkInterfacesT = AwsEc2InstanceNetworkInterfacesDetails>
171 AwsEc2InstanceDetails& AddNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value)); return *this; }
173
175
179 inline const Aws::String& GetVirtualizationType() const { return m_virtualizationType; }
180 inline bool VirtualizationTypeHasBeenSet() const { return m_virtualizationTypeHasBeenSet; }
181 template<typename VirtualizationTypeT = Aws::String>
182 void SetVirtualizationType(VirtualizationTypeT&& value) { m_virtualizationTypeHasBeenSet = true; m_virtualizationType = std::forward<VirtualizationTypeT>(value); }
183 template<typename VirtualizationTypeT = Aws::String>
184 AwsEc2InstanceDetails& WithVirtualizationType(VirtualizationTypeT&& value) { SetVirtualizationType(std::forward<VirtualizationTypeT>(value)); return *this;}
186
188
191 inline const AwsEc2InstanceMetadataOptions& GetMetadataOptions() const { return m_metadataOptions; }
192 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; }
193 template<typename MetadataOptionsT = AwsEc2InstanceMetadataOptions>
194 void SetMetadataOptions(MetadataOptionsT&& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = std::forward<MetadataOptionsT>(value); }
195 template<typename MetadataOptionsT = AwsEc2InstanceMetadataOptions>
196 AwsEc2InstanceDetails& WithMetadataOptions(MetadataOptionsT&& value) { SetMetadataOptions(std::forward<MetadataOptionsT>(value)); return *this;}
198
200
203 inline const AwsEc2InstanceMonitoringDetails& GetMonitoring() const { return m_monitoring; }
204 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
205 template<typename MonitoringT = AwsEc2InstanceMonitoringDetails>
206 void SetMonitoring(MonitoringT&& value) { m_monitoringHasBeenSet = true; m_monitoring = std::forward<MonitoringT>(value); }
207 template<typename MonitoringT = AwsEc2InstanceMonitoringDetails>
208 AwsEc2InstanceDetails& WithMonitoring(MonitoringT&& value) { SetMonitoring(std::forward<MonitoringT>(value)); return *this;}
210 private:
211
212 Aws::String m_type;
213 bool m_typeHasBeenSet = false;
214
215 Aws::String m_imageId;
216 bool m_imageIdHasBeenSet = false;
217
218 Aws::Vector<Aws::String> m_ipV4Addresses;
219 bool m_ipV4AddressesHasBeenSet = false;
220
221 Aws::Vector<Aws::String> m_ipV6Addresses;
222 bool m_ipV6AddressesHasBeenSet = false;
223
224 Aws::String m_keyName;
225 bool m_keyNameHasBeenSet = false;
226
227 Aws::String m_iamInstanceProfileArn;
228 bool m_iamInstanceProfileArnHasBeenSet = false;
229
230 Aws::String m_vpcId;
231 bool m_vpcIdHasBeenSet = false;
232
233 Aws::String m_subnetId;
234 bool m_subnetIdHasBeenSet = false;
235
236 Aws::String m_launchedAt;
237 bool m_launchedAtHasBeenSet = false;
238
240 bool m_networkInterfacesHasBeenSet = false;
241
242 Aws::String m_virtualizationType;
243 bool m_virtualizationTypeHasBeenSet = false;
244
245 AwsEc2InstanceMetadataOptions m_metadataOptions;
246 bool m_metadataOptionsHasBeenSet = false;
247
249 bool m_monitoringHasBeenSet = false;
250 };
251
252} // namespace Model
253} // namespace SecurityHub
254} // 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