/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Details of the Amazon EC2 instance involved in a finding.See
* Also:
AWS
* API Reference
The IAM instance profile ARN of the Amazon EC2 instance.
*/ inline const Aws::String& GetIamInstanceProfileArn() const{ return m_iamInstanceProfileArn; } /** *The IAM instance profile ARN of the Amazon EC2 instance.
*/ inline bool IamInstanceProfileArnHasBeenSet() const { return m_iamInstanceProfileArnHasBeenSet; } /** *The IAM instance profile ARN of the Amazon EC2 instance.
*/ inline void SetIamInstanceProfileArn(const Aws::String& value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn = value; } /** *The IAM instance profile ARN of the Amazon EC2 instance.
*/ inline void SetIamInstanceProfileArn(Aws::String&& value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn = std::move(value); } /** *The IAM instance profile ARN of the Amazon EC2 instance.
*/ inline void SetIamInstanceProfileArn(const char* value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn.assign(value); } /** *The IAM instance profile ARN of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithIamInstanceProfileArn(const Aws::String& value) { SetIamInstanceProfileArn(value); return *this;} /** *The IAM instance profile ARN of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithIamInstanceProfileArn(Aws::String&& value) { SetIamInstanceProfileArn(std::move(value)); return *this;} /** *The IAM instance profile ARN of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithIamInstanceProfileArn(const char* value) { SetIamInstanceProfileArn(value); return *this;} /** *The image ID of the Amazon EC2 instance.
*/ inline const Aws::String& GetImageId() const{ return m_imageId; } /** *The image ID of the Amazon EC2 instance.
*/ inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; } /** *The image ID of the Amazon EC2 instance.
*/ inline void SetImageId(const Aws::String& value) { m_imageIdHasBeenSet = true; m_imageId = value; } /** *The image ID of the Amazon EC2 instance.
*/ inline void SetImageId(Aws::String&& value) { m_imageIdHasBeenSet = true; m_imageId = std::move(value); } /** *The image ID of the Amazon EC2 instance.
*/ inline void SetImageId(const char* value) { m_imageIdHasBeenSet = true; m_imageId.assign(value); } /** *The image ID of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithImageId(const Aws::String& value) { SetImageId(value); return *this;} /** *The image ID of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithImageId(Aws::String&& value) { SetImageId(std::move(value)); return *this;} /** *The image ID of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithImageId(const char* value) { SetImageId(value); return *this;} /** *The IPv4 addresses of the Amazon EC2 instance.
*/ inline const Aws::VectorThe IPv4 addresses of the Amazon EC2 instance.
*/ inline bool IpV4AddressesHasBeenSet() const { return m_ipV4AddressesHasBeenSet; } /** *The IPv4 addresses of the Amazon EC2 instance.
*/ inline void SetIpV4Addresses(const Aws::VectorThe IPv4 addresses of the Amazon EC2 instance.
*/ inline void SetIpV4Addresses(Aws::VectorThe IPv4 addresses of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithIpV4Addresses(const Aws::VectorThe IPv4 addresses of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithIpV4Addresses(Aws::VectorThe IPv4 addresses of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& AddIpV4Addresses(const Aws::String& value) { m_ipV4AddressesHasBeenSet = true; m_ipV4Addresses.push_back(value); return *this; } /** *The IPv4 addresses of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& AddIpV4Addresses(Aws::String&& value) { m_ipV4AddressesHasBeenSet = true; m_ipV4Addresses.push_back(std::move(value)); return *this; } /** *The IPv4 addresses of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& AddIpV4Addresses(const char* value) { m_ipV4AddressesHasBeenSet = true; m_ipV4Addresses.push_back(value); return *this; } /** *The IPv6 addresses of the Amazon EC2 instance.
*/ inline const Aws::VectorThe IPv6 addresses of the Amazon EC2 instance.
*/ inline bool IpV6AddressesHasBeenSet() const { return m_ipV6AddressesHasBeenSet; } /** *The IPv6 addresses of the Amazon EC2 instance.
*/ inline void SetIpV6Addresses(const Aws::VectorThe IPv6 addresses of the Amazon EC2 instance.
*/ inline void SetIpV6Addresses(Aws::VectorThe IPv6 addresses of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithIpV6Addresses(const Aws::VectorThe IPv6 addresses of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithIpV6Addresses(Aws::VectorThe IPv6 addresses of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& AddIpV6Addresses(const Aws::String& value) { m_ipV6AddressesHasBeenSet = true; m_ipV6Addresses.push_back(value); return *this; } /** *The IPv6 addresses of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& AddIpV6Addresses(Aws::String&& value) { m_ipV6AddressesHasBeenSet = true; m_ipV6Addresses.push_back(std::move(value)); return *this; } /** *The IPv6 addresses of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& AddIpV6Addresses(const char* value) { m_ipV6AddressesHasBeenSet = true; m_ipV6Addresses.push_back(value); return *this; } /** *The name of the key pair used to launch the Amazon EC2 instance.
*/ inline const Aws::String& GetKeyName() const{ return m_keyName; } /** *The name of the key pair used to launch the Amazon EC2 instance.
*/ inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; } /** *The name of the key pair used to launch the Amazon EC2 instance.
*/ inline void SetKeyName(const Aws::String& value) { m_keyNameHasBeenSet = true; m_keyName = value; } /** *The name of the key pair used to launch the Amazon EC2 instance.
*/ inline void SetKeyName(Aws::String&& value) { m_keyNameHasBeenSet = true; m_keyName = std::move(value); } /** *The name of the key pair used to launch the Amazon EC2 instance.
*/ inline void SetKeyName(const char* value) { m_keyNameHasBeenSet = true; m_keyName.assign(value); } /** *The name of the key pair used to launch the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithKeyName(const Aws::String& value) { SetKeyName(value); return *this;} /** *The name of the key pair used to launch the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithKeyName(Aws::String&& value) { SetKeyName(std::move(value)); return *this;} /** *The name of the key pair used to launch the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithKeyName(const char* value) { SetKeyName(value); return *this;} /** *The date and time the Amazon EC2 instance was launched at.
*/ inline const Aws::Utils::DateTime& GetLaunchedAt() const{ return m_launchedAt; } /** *The date and time the Amazon EC2 instance was launched at.
*/ inline bool LaunchedAtHasBeenSet() const { return m_launchedAtHasBeenSet; } /** *The date and time the Amazon EC2 instance was launched at.
*/ inline void SetLaunchedAt(const Aws::Utils::DateTime& value) { m_launchedAtHasBeenSet = true; m_launchedAt = value; } /** *The date and time the Amazon EC2 instance was launched at.
*/ inline void SetLaunchedAt(Aws::Utils::DateTime&& value) { m_launchedAtHasBeenSet = true; m_launchedAt = std::move(value); } /** *The date and time the Amazon EC2 instance was launched at.
*/ inline AwsEc2InstanceDetails& WithLaunchedAt(const Aws::Utils::DateTime& value) { SetLaunchedAt(value); return *this;} /** *The date and time the Amazon EC2 instance was launched at.
*/ inline AwsEc2InstanceDetails& WithLaunchedAt(Aws::Utils::DateTime&& value) { SetLaunchedAt(std::move(value)); return *this;} /** *The platform of the Amazon EC2 instance.
*/ inline const Aws::String& GetPlatform() const{ return m_platform; } /** *The platform of the Amazon EC2 instance.
*/ inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } /** *The platform of the Amazon EC2 instance.
*/ inline void SetPlatform(const Aws::String& value) { m_platformHasBeenSet = true; m_platform = value; } /** *The platform of the Amazon EC2 instance.
*/ inline void SetPlatform(Aws::String&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } /** *The platform of the Amazon EC2 instance.
*/ inline void SetPlatform(const char* value) { m_platformHasBeenSet = true; m_platform.assign(value); } /** *The platform of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithPlatform(const Aws::String& value) { SetPlatform(value); return *this;} /** *The platform of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithPlatform(Aws::String&& value) { SetPlatform(std::move(value)); return *this;} /** *The platform of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithPlatform(const char* value) { SetPlatform(value); return *this;} /** *The subnet ID of the Amazon EC2 instance.
*/ inline const Aws::String& GetSubnetId() const{ return m_subnetId; } /** *The subnet ID of the Amazon EC2 instance.
*/ inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } /** *The subnet ID of the Amazon EC2 instance.
*/ inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; } /** *The subnet ID of the Amazon EC2 instance.
*/ inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::move(value); } /** *The subnet ID of the Amazon EC2 instance.
*/ inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); } /** *The subnet ID of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;} /** *The subnet ID of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithSubnetId(Aws::String&& value) { SetSubnetId(std::move(value)); return *this;} /** *The subnet ID of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithSubnetId(const char* value) { SetSubnetId(value); return *this;} /** *The type of the Amazon EC2 instance.
*/ inline const Aws::String& GetType() const{ return m_type; } /** *The type of the Amazon EC2 instance.
*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *The type of the Amazon EC2 instance.
*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *The type of the Amazon EC2 instance.
*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *The type of the Amazon EC2 instance.
*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *The type of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithType(const Aws::String& value) { SetType(value); return *this;} /** *The type of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *The type of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithType(const char* value) { SetType(value); return *this;} /** *The VPC ID of the Amazon EC2 instance.
*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *The VPC ID of the Amazon EC2 instance.
*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *The VPC ID of the Amazon EC2 instance.
*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *The VPC ID of the Amazon EC2 instance.
*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *The VPC ID of the Amazon EC2 instance.
*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *The VPC ID of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *The VPC ID of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *The VPC ID of the Amazon EC2 instance.
*/ inline AwsEc2InstanceDetails& WithVpcId(const char* value) { SetVpcId(value); return *this;} private: Aws::String m_iamInstanceProfileArn; bool m_iamInstanceProfileArnHasBeenSet = false; Aws::String m_imageId; bool m_imageIdHasBeenSet = false; Aws::Vector