import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This data source provides the list of Private Ips in Oracle Cloud Infrastructure Core service. * * Lists the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) objects based * on one of these filters: * * - Subnet [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). * - VNIC [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). * - Both private IP address and subnet OCID: This lets * you get a `privateIP` object based on its private IP * address (for example, 10.0.3.3) and not its [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). For comparison, * [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp) * requires the [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). * * If you're listing all the private IPs associated with a given subnet * or VNIC, the response includes both primary and secondary private IPs. * * If you are an Oracle Cloud VMware Solution customer and have VLANs * in your VCN, you can filter the list by VLAN [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). See [Vlan](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vlan). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * // Filter on Subnet OCID * const testPrivateIpsBySubnet = oci.core.getPrivateIps({ * subnetId: privateIpSubnetId, * }); * ``` * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * // Filter on VNIC OCID * const testPrivateIpsByVnic = oci.core.getPrivateIps({ * vnicId: testVnic.id, * }); * ``` * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * // Filter on private IP address and Subnet OCID * const testPrivateIpsByIpAddress = oci.core.getPrivateIps({ * ipAddress: privateIpIpAddress, * ipState: privateIpIpState, * lifetime: privateIpLifetime, * subnetId: testSubnet.id, * vlanId: testVlan.id, * vnicId: testVnicAttachment.id, * }); * ``` */ export declare function getPrivateIps(args?: GetPrivateIpsArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getPrivateIps. */ export interface GetPrivateIpsArgs { filters?: inputs.Core.GetPrivateIpsFilter[]; /** * An IP address. This could be either IPv4 or IPv6, depending on the resource. Example: `10.0.3.3` */ ipAddress?: string; /** * State of the IP address. If an IP address is assigned to a VNIC it is ASSIGNED otherwise AVAILABLE */ ipState?: string; /** * Lifetime of the IP address. There are two types of IPs: * * Ephemeral * * Reserved */ lifetime?: string; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet. */ subnetId?: string; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VLAN. */ vlanId?: string; /** * The OCID of the VNIC. */ vnicId?: string; } /** * A collection of values returned by getPrivateIps. */ export interface GetPrivateIpsResult { readonly filters?: outputs.Core.GetPrivateIpsFilter[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * The private IP address of the `privateIp` object. The address is within the CIDR of the VNIC's subnet. */ readonly ipAddress?: string; /** * State of the IP address. If an IP address is assigned to a VNIC it is ASSIGNED, otherwise it is AVAILABLE. */ readonly ipState?: string; /** * Lifetime of the IP address. There are two types of IPv6 IPs: * * Ephemeral * * Reserved */ readonly lifetime?: string; /** * The list of private_ips. */ readonly privateIps: outputs.Core.GetPrivateIpsPrivateIp[]; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet the VNIC is in. */ readonly subnetId?: string; /** * Applicable only if the `PrivateIp` object is being used with a VLAN as part of the Oracle Cloud VMware Solution. The `vlanId` is the [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VLAN. See [Vlan](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vlan). */ readonly vlanId?: string; /** * The [OCID](https://docs.cloud.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. However, if the `PrivateIp` object is being used with a VLAN as part of the Oracle Cloud VMware Solution, the `vnicId` is null. */ readonly vnicId?: string; } /** * This data source provides the list of Private Ips in Oracle Cloud Infrastructure Core service. * * Lists the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) objects based * on one of these filters: * * - Subnet [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). * - VNIC [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). * - Both private IP address and subnet OCID: This lets * you get a `privateIP` object based on its private IP * address (for example, 10.0.3.3) and not its [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). For comparison, * [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp) * requires the [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). * * If you're listing all the private IPs associated with a given subnet * or VNIC, the response includes both primary and secondary private IPs. * * If you are an Oracle Cloud VMware Solution customer and have VLANs * in your VCN, you can filter the list by VLAN [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). See [Vlan](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vlan). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * // Filter on Subnet OCID * const testPrivateIpsBySubnet = oci.core.getPrivateIps({ * subnetId: privateIpSubnetId, * }); * ``` * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * // Filter on VNIC OCID * const testPrivateIpsByVnic = oci.core.getPrivateIps({ * vnicId: testVnic.id, * }); * ``` * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * // Filter on private IP address and Subnet OCID * const testPrivateIpsByIpAddress = oci.core.getPrivateIps({ * ipAddress: privateIpIpAddress, * ipState: privateIpIpState, * lifetime: privateIpLifetime, * subnetId: testSubnet.id, * vlanId: testVlan.id, * vnicId: testVnicAttachment.id, * }); * ``` */ export declare function getPrivateIpsOutput(args?: GetPrivateIpsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getPrivateIps. */ export interface GetPrivateIpsOutputArgs { filters?: pulumi.Input[] | undefined>; /** * An IP address. This could be either IPv4 or IPv6, depending on the resource. Example: `10.0.3.3` */ ipAddress?: pulumi.Input; /** * State of the IP address. If an IP address is assigned to a VNIC it is ASSIGNED otherwise AVAILABLE */ ipState?: pulumi.Input; /** * Lifetime of the IP address. There are two types of IPs: * * Ephemeral * * Reserved */ lifetime?: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet. */ subnetId?: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VLAN. */ vlanId?: pulumi.Input; /** * The OCID of the VNIC. */ vnicId?: pulumi.Input; } //# sourceMappingURL=getPrivateIps.d.ts.map