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>
44 template <
typename TypeT = Aws::String>
46 m_typeHasBeenSet =
true;
47 m_type = std::forward<TypeT>(value);
49 template <
typename TypeT = Aws::String>
51 SetType(std::forward<TypeT>(value));
62 template <
typename ImageIdT = Aws::String>
64 m_imageIdHasBeenSet =
true;
65 m_imageId = std::forward<ImageIdT>(value);
67 template <
typename ImageIdT = Aws::String>
80 template <
typename IpV4AddressesT = Aws::Vector<Aws::String>>
82 m_ipV4AddressesHasBeenSet =
true;
83 m_ipV4Addresses = std::forward<IpV4AddressesT>(value);
85 template <
typename IpV4AddressesT = Aws::Vector<Aws::String>>
90 template <
typename IpV4AddressesT = Aws::String>
92 m_ipV4AddressesHasBeenSet =
true;
93 m_ipV4Addresses.emplace_back(std::forward<IpV4AddressesT>(value));
104 template <
typename IpV6AddressesT = Aws::Vector<Aws::String>>
106 m_ipV6AddressesHasBeenSet =
true;
107 m_ipV6Addresses = std::forward<IpV6AddressesT>(value);
109 template <
typename IpV6AddressesT = Aws::Vector<Aws::String>>
114 template <
typename IpV6AddressesT = Aws::String>
116 m_ipV6AddressesHasBeenSet =
true;
117 m_ipV6Addresses.emplace_back(std::forward<IpV6AddressesT>(value));
128 template <
typename KeyNameT = Aws::String>
130 m_keyNameHasBeenSet =
true;
131 m_keyName = std::forward<KeyNameT>(value);
133 template <
typename KeyNameT = Aws::String>
146 template <
typename IamInstanceProfileArnT = Aws::String>
148 m_iamInstanceProfileArnHasBeenSet =
true;
149 m_iamInstanceProfileArn = std::forward<IamInstanceProfileArnT>(value);
151 template <
typename IamInstanceProfileArnT = Aws::String>
164 template <
typename VpcIdT = Aws::String>
166 m_vpcIdHasBeenSet =
true;
167 m_vpcId = std::forward<VpcIdT>(value);
169 template <
typename VpcIdT = Aws::String>
171 SetVpcId(std::forward<VpcIdT>(value));
182 template <
typename SubnetIdT = Aws::String>
184 m_subnetIdHasBeenSet =
true;
185 m_subnetId = std::forward<SubnetIdT>(value);
187 template <
typename SubnetIdT = Aws::String>
202 template <
typename LaunchedAtT = Aws::String>
204 m_launchedAtHasBeenSet =
true;
205 m_launchedAt = std::forward<LaunchedAtT>(value);
207 template <
typename LaunchedAtT = Aws::String>
222 template <
typename NetworkInterfacesT = Aws::Vector<AwsEc2InstanceNetworkInterfacesDetails>>
224 m_networkInterfacesHasBeenSet =
true;
225 m_networkInterfaces = std::forward<NetworkInterfacesT>(value);
227 template <
typename NetworkInterfacesT = Aws::Vector<AwsEc2InstanceNetworkInterfacesDetails>>
232 template <
typename NetworkInterfacesT = AwsEc2InstanceNetworkInterfacesDetails>
234 m_networkInterfacesHasBeenSet =
true;
235 m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
247 template <
typename VirtualizationTypeT = Aws::String>
249 m_virtualizationTypeHasBeenSet =
true;
250 m_virtualizationType = std::forward<VirtualizationTypeT>(value);
252 template <
typename VirtualizationTypeT = Aws::String>
265 template <
typename MetadataOptionsT = AwsEc2InstanceMetadataOptions>
267 m_metadataOptionsHasBeenSet =
true;
268 m_metadataOptions = std::forward<MetadataOptionsT>(value);
270 template <
typename MetadataOptionsT = AwsEc2InstanceMetadataOptions>
283 template <
typename MonitoringT = AwsEc2InstanceMonitoringDetails>
285 m_monitoringHasBeenSet =
true;
286 m_monitoring = std::forward<MonitoringT>(value);
288 template <
typename MonitoringT = AwsEc2InstanceMonitoringDetails>
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;
AwsEc2InstanceDetails & WithMetadataOptions(MetadataOptionsT &&value)
bool IpV6AddressesHasBeenSet() const
void SetIpV4Addresses(IpV4AddressesT &&value)
void SetImageId(ImageIdT &&value)
bool ImageIdHasBeenSet() const
const Aws::String & GetVirtualizationType() const
const AwsEc2InstanceMonitoringDetails & GetMonitoring() const
bool MonitoringHasBeenSet() const
AwsEc2InstanceDetails & WithKeyName(KeyNameT &&value)
AwsEc2InstanceDetails & AddIpV4Addresses(IpV4AddressesT &&value)
bool SubnetIdHasBeenSet() const
const Aws::String & GetType() const
void SetIpV6Addresses(IpV6AddressesT &&value)
bool TypeHasBeenSet() const
void SetSubnetId(SubnetIdT &&value)
AWS_SECURITYHUB_API AwsEc2InstanceDetails()=default
AwsEc2InstanceDetails & AddIpV6Addresses(IpV6AddressesT &&value)
const Aws::String & GetIamInstanceProfileArn() const
bool LaunchedAtHasBeenSet() const
AwsEc2InstanceDetails & WithIpV4Addresses(IpV4AddressesT &&value)
const Aws::String & GetImageId() const
AwsEc2InstanceDetails & WithMonitoring(MonitoringT &&value)
void SetVirtualizationType(VirtualizationTypeT &&value)
const Aws::String & GetVpcId() const
bool NetworkInterfacesHasBeenSet() const
void SetType(TypeT &&value)
bool IamInstanceProfileArnHasBeenSet() const
const Aws::String & GetKeyName() const
void SetMonitoring(MonitoringT &&value)
void SetLaunchedAt(LaunchedAtT &&value)
AwsEc2InstanceDetails & WithLaunchedAt(LaunchedAtT &&value)
void SetVpcId(VpcIdT &&value)
AwsEc2InstanceDetails & WithType(TypeT &&value)
AwsEc2InstanceDetails & WithSubnetId(SubnetIdT &&value)
const Aws::String & GetLaunchedAt() const
AwsEc2InstanceDetails & WithVpcId(VpcIdT &&value)
AwsEc2InstanceDetails & WithIpV6Addresses(IpV6AddressesT &&value)
void SetKeyName(KeyNameT &&value)
AwsEc2InstanceDetails & WithVirtualizationType(VirtualizationTypeT &&value)
AwsEc2InstanceDetails & WithNetworkInterfaces(NetworkInterfacesT &&value)
bool MetadataOptionsHasBeenSet() const
bool IpV4AddressesHasBeenSet() const
AwsEc2InstanceDetails & AddNetworkInterfaces(NetworkInterfacesT &&value)
const Aws::Vector< Aws::String > & GetIpV4Addresses() const
const Aws::String & GetSubnetId() 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)
bool KeyNameHasBeenSet() const
AWS_SECURITYHUB_API AwsEc2InstanceDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetMetadataOptions(MetadataOptionsT &&value)
bool VirtualizationTypeHasBeenSet() const
void SetIamInstanceProfileArn(IamInstanceProfileArnT &&value)
bool VpcIdHasBeenSet() const
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