/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains information about a subnet in Amazon EC2.See Also:
* AWS
* API Reference
Whether to assign an IPV6 address to a network interface that is created in * this subnet.
*/ inline bool GetAssignIpv6AddressOnCreation() const{ return m_assignIpv6AddressOnCreation; } /** *Whether to assign an IPV6 address to a network interface that is created in * this subnet.
*/ inline bool AssignIpv6AddressOnCreationHasBeenSet() const { return m_assignIpv6AddressOnCreationHasBeenSet; } /** *Whether to assign an IPV6 address to a network interface that is created in * this subnet.
*/ inline void SetAssignIpv6AddressOnCreation(bool value) { m_assignIpv6AddressOnCreationHasBeenSet = true; m_assignIpv6AddressOnCreation = value; } /** *Whether to assign an IPV6 address to a network interface that is created in * this subnet.
*/ inline AwsEc2SubnetDetails& WithAssignIpv6AddressOnCreation(bool value) { SetAssignIpv6AddressOnCreation(value); return *this;} /** *The Availability Zone for the subnet.
*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *The Availability Zone for the subnet.
*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *The Availability Zone for the subnet.
*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *The Availability Zone for the subnet.
*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *The Availability Zone for the subnet.
*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *The Availability Zone for the subnet.
*/ inline AwsEc2SubnetDetails& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *The Availability Zone for the subnet.
*/ inline AwsEc2SubnetDetails& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *The Availability Zone for the subnet.
*/ inline AwsEc2SubnetDetails& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *The identifier of the Availability Zone for the subnet.
*/ inline const Aws::String& GetAvailabilityZoneId() const{ return m_availabilityZoneId; } /** *The identifier of the Availability Zone for the subnet.
*/ inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; } /** *The identifier of the Availability Zone for the subnet.
*/ inline void SetAvailabilityZoneId(const Aws::String& value) { m_availabilityZoneIdHasBeenSet = true; m_availabilityZoneId = value; } /** *The identifier of the Availability Zone for the subnet.
*/ inline void SetAvailabilityZoneId(Aws::String&& value) { m_availabilityZoneIdHasBeenSet = true; m_availabilityZoneId = std::move(value); } /** *The identifier of the Availability Zone for the subnet.
*/ inline void SetAvailabilityZoneId(const char* value) { m_availabilityZoneIdHasBeenSet = true; m_availabilityZoneId.assign(value); } /** *The identifier of the Availability Zone for the subnet.
*/ inline AwsEc2SubnetDetails& WithAvailabilityZoneId(const Aws::String& value) { SetAvailabilityZoneId(value); return *this;} /** *The identifier of the Availability Zone for the subnet.
*/ inline AwsEc2SubnetDetails& WithAvailabilityZoneId(Aws::String&& value) { SetAvailabilityZoneId(std::move(value)); return *this;} /** *The identifier of the Availability Zone for the subnet.
*/ inline AwsEc2SubnetDetails& WithAvailabilityZoneId(const char* value) { SetAvailabilityZoneId(value); return *this;} /** *The number of available IPV4 addresses in the subnet. Does not include * addresses for stopped instances.
*/ inline int GetAvailableIpAddressCount() const{ return m_availableIpAddressCount; } /** *The number of available IPV4 addresses in the subnet. Does not include * addresses for stopped instances.
*/ inline bool AvailableIpAddressCountHasBeenSet() const { return m_availableIpAddressCountHasBeenSet; } /** *The number of available IPV4 addresses in the subnet. Does not include * addresses for stopped instances.
*/ inline void SetAvailableIpAddressCount(int value) { m_availableIpAddressCountHasBeenSet = true; m_availableIpAddressCount = value; } /** *The number of available IPV4 addresses in the subnet. Does not include * addresses for stopped instances.
*/ inline AwsEc2SubnetDetails& WithAvailableIpAddressCount(int value) { SetAvailableIpAddressCount(value); return *this;} /** *The IPV4 CIDR block that is assigned to the subnet.
*/ inline const Aws::String& GetCidrBlock() const{ return m_cidrBlock; } /** *The IPV4 CIDR block that is assigned to the subnet.
*/ inline bool CidrBlockHasBeenSet() const { return m_cidrBlockHasBeenSet; } /** *The IPV4 CIDR block that is assigned to the subnet.
*/ inline void SetCidrBlock(const Aws::String& value) { m_cidrBlockHasBeenSet = true; m_cidrBlock = value; } /** *The IPV4 CIDR block that is assigned to the subnet.
*/ inline void SetCidrBlock(Aws::String&& value) { m_cidrBlockHasBeenSet = true; m_cidrBlock = std::move(value); } /** *The IPV4 CIDR block that is assigned to the subnet.
*/ inline void SetCidrBlock(const char* value) { m_cidrBlockHasBeenSet = true; m_cidrBlock.assign(value); } /** *The IPV4 CIDR block that is assigned to the subnet.
*/ inline AwsEc2SubnetDetails& WithCidrBlock(const Aws::String& value) { SetCidrBlock(value); return *this;} /** *The IPV4 CIDR block that is assigned to the subnet.
*/ inline AwsEc2SubnetDetails& WithCidrBlock(Aws::String&& value) { SetCidrBlock(std::move(value)); return *this;} /** *The IPV4 CIDR block that is assigned to the subnet.
*/ inline AwsEc2SubnetDetails& WithCidrBlock(const char* value) { SetCidrBlock(value); return *this;} /** *Whether this subnet is the default subnet for the Availability Zone.
*/ inline bool GetDefaultForAz() const{ return m_defaultForAz; } /** *Whether this subnet is the default subnet for the Availability Zone.
*/ inline bool DefaultForAzHasBeenSet() const { return m_defaultForAzHasBeenSet; } /** *Whether this subnet is the default subnet for the Availability Zone.
*/ inline void SetDefaultForAz(bool value) { m_defaultForAzHasBeenSet = true; m_defaultForAz = value; } /** *Whether this subnet is the default subnet for the Availability Zone.
*/ inline AwsEc2SubnetDetails& WithDefaultForAz(bool value) { SetDefaultForAz(value); return *this;} /** *Whether instances in this subnet receive a public IP address.
*/ inline bool GetMapPublicIpOnLaunch() const{ return m_mapPublicIpOnLaunch; } /** *Whether instances in this subnet receive a public IP address.
*/ inline bool MapPublicIpOnLaunchHasBeenSet() const { return m_mapPublicIpOnLaunchHasBeenSet; } /** *Whether instances in this subnet receive a public IP address.
*/ inline void SetMapPublicIpOnLaunch(bool value) { m_mapPublicIpOnLaunchHasBeenSet = true; m_mapPublicIpOnLaunch = value; } /** *Whether instances in this subnet receive a public IP address.
*/ inline AwsEc2SubnetDetails& WithMapPublicIpOnLaunch(bool value) { SetMapPublicIpOnLaunch(value); return *this;} /** *The identifier of the Amazon Web Services account that owns the subnet.
*/ inline const Aws::String& GetOwnerId() const{ return m_ownerId; } /** *The identifier of the Amazon Web Services account that owns the subnet.
*/ inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } /** *The identifier of the Amazon Web Services account that owns the subnet.
*/ inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } /** *The identifier of the Amazon Web Services account that owns the subnet.
*/ inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } /** *The identifier of the Amazon Web Services account that owns the subnet.
*/ inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } /** *The identifier of the Amazon Web Services account that owns the subnet.
*/ inline AwsEc2SubnetDetails& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} /** *The identifier of the Amazon Web Services account that owns the subnet.
*/ inline AwsEc2SubnetDetails& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} /** *The identifier of the Amazon Web Services account that owns the subnet.
*/ inline AwsEc2SubnetDetails& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} /** *The current state of the subnet. Valid values are available
or
* pending
.
The current state of the subnet. Valid values are available
or
* pending
.
The current state of the subnet. Valid values are available
or
* pending
.
The current state of the subnet. Valid values are available
or
* pending
.
The current state of the subnet. Valid values are available
or
* pending
.
The current state of the subnet. Valid values are available
or
* pending
.
The current state of the subnet. Valid values are available
or
* pending
.
The current state of the subnet. Valid values are available
or
* pending
.
The ARN of the subnet.
*/ inline const Aws::String& GetSubnetArn() const{ return m_subnetArn; } /** *The ARN of the subnet.
*/ inline bool SubnetArnHasBeenSet() const { return m_subnetArnHasBeenSet; } /** *The ARN of the subnet.
*/ inline void SetSubnetArn(const Aws::String& value) { m_subnetArnHasBeenSet = true; m_subnetArn = value; } /** *The ARN of the subnet.
*/ inline void SetSubnetArn(Aws::String&& value) { m_subnetArnHasBeenSet = true; m_subnetArn = std::move(value); } /** *The ARN of the subnet.
*/ inline void SetSubnetArn(const char* value) { m_subnetArnHasBeenSet = true; m_subnetArn.assign(value); } /** *The ARN of the subnet.
*/ inline AwsEc2SubnetDetails& WithSubnetArn(const Aws::String& value) { SetSubnetArn(value); return *this;} /** *The ARN of the subnet.
*/ inline AwsEc2SubnetDetails& WithSubnetArn(Aws::String&& value) { SetSubnetArn(std::move(value)); return *this;} /** *The ARN of the subnet.
*/ inline AwsEc2SubnetDetails& WithSubnetArn(const char* value) { SetSubnetArn(value); return *this;} /** *The identifier of the subnet.
*/ inline const Aws::String& GetSubnetId() const{ return m_subnetId; } /** *The identifier of the subnet.
*/ inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } /** *The identifier of the subnet.
*/ inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; } /** *The identifier of the subnet.
*/ inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::move(value); } /** *The identifier of the subnet.
*/ inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); } /** *The identifier of the subnet.
*/ inline AwsEc2SubnetDetails& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;} /** *The identifier of the subnet.
*/ inline AwsEc2SubnetDetails& WithSubnetId(Aws::String&& value) { SetSubnetId(std::move(value)); return *this;} /** *The identifier of the subnet.
*/ inline AwsEc2SubnetDetails& WithSubnetId(const char* value) { SetSubnetId(value); return *this;} /** *The identifier of the VPC that contains the subnet.
*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *The identifier of the VPC that contains the subnet.
*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *The identifier of the VPC that contains the subnet.
*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *The identifier of the VPC that contains the subnet.
*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *The identifier of the VPC that contains the subnet.
*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *The identifier of the VPC that contains the subnet.
*/ inline AwsEc2SubnetDetails& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *The identifier of the VPC that contains the subnet.
*/ inline AwsEc2SubnetDetails& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *The identifier of the VPC that contains the subnet.
*/ inline AwsEc2SubnetDetails& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *The IPV6 CIDR blocks that are associated with the subnet.
*/ inline const Aws::VectorThe IPV6 CIDR blocks that are associated with the subnet.
*/ inline bool Ipv6CidrBlockAssociationSetHasBeenSet() const { return m_ipv6CidrBlockAssociationSetHasBeenSet; } /** *The IPV6 CIDR blocks that are associated with the subnet.
*/ inline void SetIpv6CidrBlockAssociationSet(const Aws::VectorThe IPV6 CIDR blocks that are associated with the subnet.
*/ inline void SetIpv6CidrBlockAssociationSet(Aws::VectorThe IPV6 CIDR blocks that are associated with the subnet.
*/ inline AwsEc2SubnetDetails& WithIpv6CidrBlockAssociationSet(const Aws::VectorThe IPV6 CIDR blocks that are associated with the subnet.
*/ inline AwsEc2SubnetDetails& WithIpv6CidrBlockAssociationSet(Aws::VectorThe IPV6 CIDR blocks that are associated with the subnet.
*/ inline AwsEc2SubnetDetails& AddIpv6CidrBlockAssociationSet(const Ipv6CidrBlockAssociation& value) { m_ipv6CidrBlockAssociationSetHasBeenSet = true; m_ipv6CidrBlockAssociationSet.push_back(value); return *this; } /** *The IPV6 CIDR blocks that are associated with the subnet.
*/ inline AwsEc2SubnetDetails& AddIpv6CidrBlockAssociationSet(Ipv6CidrBlockAssociation&& value) { m_ipv6CidrBlockAssociationSetHasBeenSet = true; m_ipv6CidrBlockAssociationSet.push_back(std::move(value)); return *this; } private: bool m_assignIpv6AddressOnCreation; bool m_assignIpv6AddressOnCreationHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; Aws::String m_availabilityZoneId; bool m_availabilityZoneIdHasBeenSet = false; int m_availableIpAddressCount; bool m_availableIpAddressCountHasBeenSet = false; Aws::String m_cidrBlock; bool m_cidrBlockHasBeenSet = false; bool m_defaultForAz; bool m_defaultForAzHasBeenSet = false; bool m_mapPublicIpOnLaunch; bool m_mapPublicIpOnLaunchHasBeenSet = false; Aws::String m_ownerId; bool m_ownerIdHasBeenSet = false; Aws::String m_state; bool m_stateHasBeenSet = false; Aws::String m_subnetArn; bool m_subnetArnHasBeenSet = false; Aws::String m_subnetId; bool m_subnetIdHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; Aws::Vector