/** * 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 *private IP* is a conceptual term that refers to an IPv4 private IP address and related properties. * The {@code privateIp} object is the API representation of a private IP. *
**Note:** For information about IPv6 addresses, see {@link Ipv6}. *
Each instance has a *primary private IP* that is automatically created and * assigned to the primary VNIC during instance launch. If you add a secondary * VNIC to the instance, it also automatically gets a primary private IP. You * can't remove a primary private IP from its VNIC. The primary private IP is * automatically deleted when the VNIC is terminated. *
You can add *secondary private IPs* to a VNIC after it's created. For more * information, see the {@code privateIp} operations and also * [IP Addresses](https://docs.oracle.com/iaas/Content/Network/Tasks/managingIPaddresses.htm). *
**Note:** Only * {@link #listPrivateIps(ListPrivateIpsRequest) listPrivateIps} and * {@link #getPrivateIp(GetPrivateIpRequest) getPrivateIp} work with * *primary* private IPs. To create and update primary private IPs, you instead * work with instance and VNIC operations. For example, a primary private IP's * properties come from the values you specify in * {@link CreateVnicDetails} when calling either * {@link #launchInstance(LaunchInstanceRequest) launchInstance} or * {@link #attachVnic(AttachVnicRequest) attachVnic}. To update the hostname * for a primary private IP, you use {@link #updateVnic(UpdateVnicRequest) updateVnic}. *
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 PrivateIp { /** * The private IP's availability domain. *
Example: {@code Uocm:PHX-AD-1} * */ "availabilityDomain"?: string; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the private IP. */ "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; }; }; /** * A user-friendly name. Does not have to be unique, and it's changeable. * Avoid entering confidential information. * */ "displayName"?: 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 hostname for the private IP. Used for DNS. The value is the hostname * portion of the private IP's fully qualified domain name (FQDN) * (for example, {@code bminstance1} in FQDN {@code bminstance1.subnet123.vcn1.oraclevcn.com}). * Must be unique across all VNICs in the subnet and comply with * [RFC 952](https://tools.ietf.org/html/rfc952) and * [RFC 1123](https://tools.ietf.org/html/rfc1123). *
For more information, see * [DNS in Your Virtual Cloud Network](https://docs.oracle.com/iaas/Content/Network/Concepts/dns.htm). *
Example: {@code bminstance1} * */ "hostnameLabel"?: string; /** * The private IP's Oracle ID ([OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm)). */ "id"?: string; /** * The private IP address of the {@code privateIp} object. The address is within the CIDR * of the VNIC's subnet. *
* Example: {@code 10.0.3.3} * */ "ipAddress"?: string; /** * Whether this private IP is the primary one on the VNIC. Primary private IPs * are unassigned and deleted automatically when the VNIC is terminated. *
Example: {@code true} * */ "isPrimary"?: boolean; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet the VNIC is in. * */ "subnetId"?: string; /** * The date and time the private IP 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 VNIC the private IP is assigned to. The VNIC and private IP * must be in the same subnet. * */ "vnicId"?: string; } export declare namespace PrivateIp { function getJsonObj(obj: PrivateIp): object; function getDeserializedJsonObj(obj: PrivateIp): object; }