/** * Network Monitoring API * Use the Network Monitoring API to troubleshoot routing and security issues for resources such as virtual cloud networks (VCNs) and compute instances. For more information, see the console documentation for the [Network Path Analyzer](https://docs.oracle.com/iaas/Content/Network/Concepts/path_analyzer.htm) tool. * OpenAPI spec version: 20160918 * * * NOTE: This class is auto generated by OracleSDKGenerator. * Do not edit the class manually. * * Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved. * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. */ /** * A logical subdivision of a VCN. Each subnet * consists of a contiguous range of IP addresses that do not overlap with * other subnets in the VCN. Example: 172.16.1.0/24. For more information, see * [Overview of the Networking Service](https://docs.oracle.com/iaas/Content/Network/Concepts/overview.htm) and * [VCNs and Subnets](https://docs.oracle.com/iaas/Content/Network/Tasks/managingVCNs.htm). *
To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized, * talk to an administrator. If you're an administrator who needs to write policies to give users access, see * [Getting Started with Policies](https://docs.oracle.com/iaas/Content/Identity/Concepts/policygetstarted.htm). * */ export interface Subnet { /** * The subnet's availability domain. *
Example: {@code Uocm:PHX-AD-1} * */ "availabilityDomain": string; /** * The subnet's CIDR block. *
Example: {@code 10.0.1.0/24} * */ "cidrBlock": string; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the subnet. */ "compartmentId": string; /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. * Example: {@code {\"foo-namespace\": {\"bar-key\": \"value\"}}} * */ "definedTags"?: { [key: string]: { [key: string]: any; }; }; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the set of DHCP options that the subnet uses. * */ "dhcpOptionsId"?: string; /** * A user-friendly name. Does not have to be unique, and it's changeable. * Avoid entering confidential information. * */ "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, {@code 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. *
The absence of this parameter means the Internet and VCN Resolver * will not resolve hostnames of instances in this subnet. *
For more information, see * [DNS in Your Virtual Cloud Network](https://docs.oracle.com/iaas/Content/Network/Concepts/dns.htm). *
Example: {@code subnet123} * */ "dnsLabel"?: string; /** * Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. * Example: {@code {\"bar-key\": \"value\"}} * */ "freeformTags"?: { [key: string]: string; }; /** * The subnet's Oracle ID ([OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm)). */ "id": string; /** * For an IPv6-enabled subnet, this is the IPv6 prefix for the subnet's private IP address * space. The subnet size is always /64. IPv6 addressing is supported for all commercial and government regions. * See [IPv6 Addresses](https://docs.oracle.com/iaas/Content/Network/Concepts/ipv6.htm). *
Example: {@code 2001:0db8:0123:1111::/64} * */ "ipv6CidrBlock"?: string; /** * For an IPv6-enabled subnet, this is the IPv6 prefix for the subnet's public IP address * space. The subnet size is always /64. The left 48 bits are inherited from the * {@code ipv6PublicCidrBlock} of the {@link Vcn}, * and the remaining 16 bits are from the subnet's {@code ipv6CidrBlock}. *
Example: {@code 2001:0db8:0123:1111::/64} * */ "ipv6PublicCidrBlock"?: string; /** * For an IPv6-enabled subnet, this is the IPv6 address of the virtual router. *
Example: {@code 2001:0db8:0123:1111:89ab:cdef:1234:5678} * */ "ipv6VirtualRouterIp"?: string; /** * The subnet's current state. */ "lifecycleState": Subnet.LifecycleState; /** * 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 * {@code assignPublicIp} flag in * {@link CreateVnicDetails}). * If {@code prohibitPublicIpOnVnic} is set to true, VNICs created in this * subnet cannot have public IP addresses (that is, it's a private * subnet). *
Example: {@code true}
*
*/
"prohibitPublicIpOnVnic"?: boolean;
/**
* The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table that the subnet uses.
*/
"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.
*
*/
"securityListIds"?: Array
For more information, see
* [DNS in Your Virtual Cloud Network](https://docs.oracle.com/iaas/Content/Network/Concepts/dns.htm).
*
Example: {@code subnet123.vcn1.oraclevcn.com}
*
*/
"subnetDomainName"?: string;
/**
* The date and time the subnet was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
*
Example: {@code 2016-08-25T21:10:29.600Z}
*
*/
"timeCreated"?: Date;
/**
* The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VCN the subnet is in.
*/
"vcnId": string;
/**
* The IP address of the virtual router.
*
Example: {@code 10.0.14.1}
*
*/
"virtualRouterIp": string;
/**
* The MAC address of the virtual router.
*
Example: {@code 00:00:00:00:00:01}
*
*/
"virtualRouterMac": string;
}
export declare namespace Subnet {
enum LifecycleState {
Provisioning = "PROVISIONING",
Available = "AVAILABLE",
Terminating = "TERMINATING",
Terminated = "TERMINATED",
/**
* This value is used if a service returns a value for this enum that is not recognized by this
* version of the SDK.
*/
UnknownValue = "UNKNOWN_VALUE"
}
function getJsonObj(obj: Subnet): object;
function getDeserializedJsonObj(obj: Subnet): object;
}