import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Specifies a subnet for the specified VPC.
 *  For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block.
 *  For more information, see [Subnets for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html) in the *Amazon VPC User Guide*.
 */
export declare function getSubnet(args: GetSubnetArgs, opts?: pulumi.InvokeOptions): Promise<GetSubnetResult>;
export interface GetSubnetArgs {
    /**
     * The ID of the subnet.
     */
    subnetId: string;
}
export interface GetSubnetResult {
    /**
     * Indicates whether a network interface created in this subnet receives an IPv6 address. The default value is ``false``.
     *  If you specify ``AssignIpv6AddressOnCreation``, you must also specify an IPv6 CIDR block.
     */
    readonly assignIpv6AddressOnCreation?: boolean;
    readonly blockPublicAccessStates?: outputs.ec2.BlockPublicAccessStatesProperties;
    /**
     * Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations.
     *   You must first configure a NAT gateway in a public subnet (separate from the subnet containing the IPv6-only workloads). For example, the subnet containing the NAT gateway should have a ``0.0.0.0/0`` route pointing to the internet gateway. For more information, see [Configure DNS64 and NAT64](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-nat64-dns64.html#nat-gateway-nat64-dns64-walkthrough) in the *User Guide*.
     */
    readonly enableDns64?: boolean;
    /**
     * The IPv6 CIDR block.
     *  If you specify ``AssignIpv6AddressOnCreation``, you must also specify an IPv6 CIDR block.
     */
    readonly ipv6CidrBlock?: string;
    /**
     * The IPv6 CIDR blocks that are associated with the subnet.
     */
    readonly ipv6CidrBlocks?: string[];
    /**
     * Indicates whether instances launched in this subnet receive a public IPv4 address. The default value is ``false``.
     *  AWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/).
     */
    readonly mapPublicIpOnLaunch?: boolean;
    /**
     * The ID of the network ACL that is associated with the subnet's VPC, such as `acl-5fb85d36` .
     */
    readonly networkAclAssociationId?: string;
    /**
     * The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries to the instances should be handled. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *User Guide*.
     *  Available options:
     *   +  EnableResourceNameDnsAAAARecord (true | false)
     *   +  EnableResourceNameDnsARecord (true | false)
     *   +  HostnameType (ip-name | resource-name)
     */
    readonly privateDnsNameOptionsOnLaunch?: outputs.ec2.PrivateDnsNameOptionsOnLaunchProperties;
    /**
     * The ID of the subnet.
     */
    readonly subnetId?: string;
    /**
     * Any tags assigned to the subnet.
     */
    readonly tags?: outputs.Tag[];
}
/**
 * Specifies a subnet for the specified VPC.
 *  For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block.
 *  For more information, see [Subnets for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html) in the *Amazon VPC User Guide*.
 */
export declare function getSubnetOutput(args: GetSubnetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSubnetResult>;
export interface GetSubnetOutputArgs {
    /**
     * The ID of the subnet.
     */
    subnetId: pulumi.Input<string>;
}
