/** * 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. */ export interface CreateVcnDetails { /** * The CIDR IP address block of the VCN. * Example: {@code 10.0.0.0/16} * */ "cidrBlock": string; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment to contain the VCN. */ "compartmentId": string; /** * If you enable IPv6 for the VCN (see {@code isIpv6Enabled}), you may optionally provide an IPv6 * /56 prefix from the supported ranges (see [IPv6 Addresses](https://docs.oracle.com/iaas/Content/Network/Concepts/ipv6.htm). * The addresses in this block will be considered private and cannot be accessed * from the internet. The documentation refers to this as a *custom CIDR* for the VCN. *

If you don't provide a custom CIDR for the VCN, Oracle assigns the VCN's IPv6 /56 prefix. *

Regardless of whether you or Oracle assigns the {@code ipv6CidrBlock}, * Oracle *also* assigns the VCN an IPv6 prefix for the VCN's public IP address space * (see the {@code ipv6PublicCidrBlock} of the {@link Vcn} object). If you do * not assign a custom prefix, Oracle uses the *same* Oracle-assigned prefix for both the private * IP address space ({@code ipv6CidrBlock} in the {@code Vcn} object) and the public IP addreses space * ({@code ipv6PublicCidrBlock} in the {@code Vcn} object). This means that a given VNIC might use the same * IPv6 IP address for both private and public (internet) communication. You control whether * an IPv6 address can be used for internet communication by using the {@code isInternetAccessAllowed} * attribute in the {@link Ipv6} object. *

For important details about IPv6 addressing in a VCN, see [IPv6 Addresses](https://docs.oracle.com/iaas/Content/Network/Concepts/ipv6.htm). *

Example: {@code 2001:0db8:0123::/48} * */ "ipv6CidrBlock"?: 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; }; }; /** * 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 VCN, used in conjunction with the VNIC's hostname and * subnet'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}). * Not required to be unique, but it's a best practice to set unique DNS labels * for VCNs in your tenancy. Must be an alphanumeric string that begins with a letter. * The value cannot be changed. *

You must set this value if you want instances to be able to use hostnames to * resolve other instances in the VCN. Otherwise the Internet and VCN Resolver * will not work. *

For more information, see * [DNS in Your Virtual Cloud Network](https://docs.oracle.com/iaas/Content/Network/Concepts/dns.htm). *

Example: {@code vcn1} * */ "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; }; /** * Whether IPv6 is enabled for the VCN. Default is {@code false}. * If enabled, Oracle will assign the VCN a IPv6 /56 CIDR block. * For important details about IPv6 addressing in a VCN, see [IPv6 Addresses](https://docs.oracle.com/iaas/Content/Network/Concepts/ipv6.htm). *

Example: {@code true} * */ "isIpv6Enabled"?: boolean; } export declare namespace CreateVcnDetails { function getJsonObj(obj: CreateVcnDetails): object; function getDeserializedJsonObj(obj: CreateVcnDetails): object; }