import * as pulumi from "@pulumi/pulumi";
/**
 * This data source provides details about a specific Subnet resource in Oracle Cloud Infrastructure Core service.
 *
 * Gets the specified subnet's information.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSubnet = oci.core.getSubnet({
 *     subnetId: testSubnetOciCoreSubnet.id,
 * });
 * ```
 */
export declare function getSubnet(args: GetSubnetArgs, opts?: pulumi.InvokeOptions): Promise<GetSubnetResult>;
/**
 * A collection of arguments for invoking getSubnet.
 */
export interface GetSubnetArgs {
    /**
     * Specify the [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet.
     */
    subnetId: string;
}
/**
 * A collection of values returned by getSubnet.
 */
export interface GetSubnetResult {
    /**
     * The subnet's availability domain. This attribute will be null if this is a regional subnet instead of an AD-specific subnet. Oracle recommends creating regional subnets.  Example: `Uocm:PHX-AD-1`
     */
    readonly availabilityDomain: string;
    /**
     * The subnet's CIDR block.  Example: `10.0.1.0/24`
     */
    readonly cidrBlock: string;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the subnet.
     */
    readonly compartmentId: string;
    /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Operations.CostCenter": "42"}`
     */
    readonly definedTags: {
        [key: string]: string;
    };
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the set of DHCP options that the subnet uses.
     */
    readonly dhcpOptionsId: string;
    /**
     * A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
     */
    readonly displayName: string;
    /**
     * A DNS label for the subnet, used in conjunction with the VNIC's hostname and VCN's DNS label to form a fully qualified domain name (FQDN) for each VNIC within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). Must be an alphanumeric string that begins with a letter and is unique within the VCN. The value cannot be changed.
     */
    readonly dnsLabel: string;
    /**
     * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Department": "Finance"}`
     */
    readonly freeformTags: {
        [key: string]: string;
    };
    /**
     * The subnet's Oracle ID ([OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)).
     */
    readonly id: string;
    /**
     * The list of all IPv4 CIDR blocks for the subnet that meets the following criteria:
     * * Ipv4 CIDR blocks must be valid.
     * * Multiple Ipv4 CIDR blocks must not overlap each other or the on-premises network CIDR block.
     * * The number of prefixes must not exceed the limit of IPv4 prefixes allowed to a subnet.
     */
    readonly ipv4cidrBlocks: string[];
    /**
     * For an IPv6-enabled subnet, this is the IPv6 prefix for the subnet's IP address space. The subnet size is always /64. See [IPv6 Addresses](https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/ipv6.htm).  Example: `2001:0db8:0123:1111::/64`
     */
    readonly ipv6cidrBlock: string;
    /**
     * The list of all IPv6 prefixes (Oracle allocated IPv6 GUA, ULA or private IPv6 prefixes, BYOIPv6 prefixes) for the subnet.
     */
    readonly ipv6cidrBlocks: string[];
    /**
     * For an IPv6-enabled subnet, this is the IPv6 address of the virtual router.  Example: `2001:0db8:0123:1111:89ab:cdef:1234:5678`
     */
    readonly ipv6virtualRouterIp: string;
    /**
     * Whether to disallow ingress internet traffic to VNICs within this subnet. Defaults to false.
     */
    readonly prohibitInternetIngress: boolean;
    /**
     * Whether VNICs within this subnet can have public IP addresses. Defaults to false, which means VNICs created in this subnet will automatically be assigned public IP addresses unless specified otherwise during instance launch or VNIC creation (with the `assignPublicIp` flag in [CreateVnicDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/CreateVnicDetails/)). If `prohibitPublicIpOnVnic` is set to true, VNICs created in this subnet cannot have public IP addresses (that is, it's a private subnet).  Example: `true`
     */
    readonly prohibitPublicIpOnVnic: boolean;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table that the subnet uses.
     */
    readonly routeTableId: string;
    /**
     * The OCIDs of the security list or lists that the subnet uses. Remember that security lists are associated *with the subnet*, but the rules are applied to the individual VNICs in the subnet.
     */
    readonly securityListIds: string[];
    /**
     * The subnet's current state.
     */
    readonly state: string;
    /**
     * The subnet's domain name, which consists of the subnet's DNS label, the VCN's DNS label, and the `oraclevcn.com` domain.
     */
    readonly subnetDomainName: string;
    readonly subnetId: string;
    /**
     * The date and time the subnet was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).  Example: `2016-08-25T21:10:29.600Z`
     */
    readonly timeCreated: string;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VCN the subnet is in.
     */
    readonly vcnId: string;
    /**
     * The IP address of the virtual router.  Example: `10.0.14.1`
     */
    readonly virtualRouterIp: string;
    /**
     * The MAC address of the virtual router.  Example: `00:00:00:00:00:01`
     */
    readonly virtualRouterMac: string;
}
/**
 * This data source provides details about a specific Subnet resource in Oracle Cloud Infrastructure Core service.
 *
 * Gets the specified subnet's information.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSubnet = oci.core.getSubnet({
 *     subnetId: testSubnetOciCoreSubnet.id,
 * });
 * ```
 */
export declare function getSubnetOutput(args: GetSubnetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSubnetResult>;
/**
 * A collection of arguments for invoking getSubnet.
 */
export interface GetSubnetOutputArgs {
    /**
     * Specify the [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet.
     */
    subnetId: pulumi.Input<string>;
}
//# sourceMappingURL=getSubnet.d.ts.map