oci_public_ip_facts - Retrieve facts of public IPs

New in version 2.5.

Synopsis

  • This module retrieves information of the specified public IP or all public IPs in the specified compartment.

Requirements

The below requirements are needed on the host that executes this module.

Parameters

Parameter Choices/Defaults Comments
api_user
The OCID of the user, on whose behalf, OCI APIs are invoked. If not set, then the value of the OCI_USER_OCID environment variable, if any, is used. This option is required if the user is not specified through a configuration file (See config_file_location). To get the user's OCID, please refer https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm.
api_user_fingerprint
Fingerprint for the key pair being used. If not set, then the value of the OCI_USER_FINGERPRINT environment variable, if any, is used. This option is required if the key fingerprint is not specified through a configuration file (See config_file_location). To get the key pair's fingerprint value please refer https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm.
api_user_key_file
Full path and filename of the private key (in PEM format). If not set, then the value of the OCI_USER_KEY_FILE variable, if any, is used. This option is required if the private key is not specified through a configuration file (See config_file_location). If the key is encrypted with a pass-phrase, the api_user_key_pass_phrase option must also be provided.
api_user_key_pass_phrase
Passphrase used by the key referenced in api_user_key_file, if it is encrypted. If not set, then the value of the OCI_USER_KEY_PASS_PHRASE variable, if any, is used. This option is required if the key passphrase is not specified through a configuration file (See config_file_location).
auth_type
    Choices:
  • api_key ←
  • instance_principal
The type of authentication to use for making API requests. By default auth_type="api_key" based authentication is performed and the API key (see api_user_key_file) in your config file will be used. If this 'auth_type' module option is not specified, the value of the OCI_ANSIBLE_AUTH_TYPE, if any, is used. Use auth_type="instance_principal" to use instance principal based authentication when running ansible playbooks within an OCI compute instance.
availability_domain
The name of the Availability Domain. availability_domain is required to list all the ephemeral public IPs in the specified compartment_id and availability_domain.
compartment_id
The OCID of the compartment. compartment_id is required to list all the public IPs in a compartment.
config_file_location
Path to configuration file. If not set then the value of the OCI_CONFIG_FILE environment variable, if any, is used. Otherwise, defaults to ~/.oci/config.
config_profile_name
The profile to load from the config file referenced by config_file_location. If not set, then the value of the OCI_CONFIG_PROFILE environment variable, if any, is used. Otherwise, defaults to the "DEFAULT" profile in config_file_location.
display_name
Use display_name along with the other options to return only resources that match the given display name exactly.
ip_address
The public IP address. Use ip_address to get the public IP based on the public IP address.
private_ip_id
OCID of the private IP that the public IP is assigned to. Use private_ip_id to retrieve information of a public IP assigned to it.
public_ip_id
OCID of the public IP. Use public_ip_id to retrieve a specific public IP's information using its OCID.

aliases: id
region
The Oracle Cloud Infrastructure region to use for all OCI API requests. If not set, then the value of the OCI_REGION variable, if any, is used. This option is required if the region is not specified through a configuration file (See config_file_location). Please refer to https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm for more information on OCI regions.
scope
    Choices:
  • REGION
  • AVAILABILITY_DOMAIN
Whether the public IP is regional or specific to a particular Availability Domain. Reserved public IPs have scope=REGION. Ephemeral public IPs have scope=AVAILABILITY_DOMAIN. scope is required to list all the public IPs in a compartment.
tenancy
OCID of your tenancy. If not set, then the value of the OCI_TENANCY variable, if any, is used. This option is required if the tenancy OCID is not specified through a configuration file (See config_file_location). To get the tenancy OCID, please refer https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm

Examples

- name: Get all the reserved public IPs in a compartment
  oci_public_ip_facts:
    scope: REGION
    compartment_id: ocid1.compartment.oc1..xxxxxEXAMPLExxxxx

- name: Get all the ephemeral public IPs in a compartment and availability domain
  oci_public_ip_facts:
    scope: AVAILABILITY_DOMAIN
    compartment_id: ocid1.compartment.oc1..xxxxxEXAMPLExxxxx
    availability_domain: "BnQb:PHX-AD-1"

- name: Get a specific public IP using its OCID
  oci_public_ip_facts:
    public_ip_id: ocid1.publicip.oc1.iad.xxxxxEXAMPLExxxxx

- name: Get a specific public IP using the OCID of the private IP to which it is assigned
  oci_public_ip_facts:
    private_ip_id: ocid1.privateip.oc1.iad.xxxxxEXAMPLExxxxx

- name: Get a specific public IP using its public IP address
  oci_public_ip_facts:
    ip_address: 129.146.2.1

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
public_ips
complex
always
List of public IP details

Sample:
[{'lifecycle_state': 'AVAILABLE', 'availability_domain': None, 'display_name': 'ansible_public_ip', 'compartment_id': 'ocid1.compartment.oc1..xxxxxEXAMPLExxxxx', 'time_created': '2018-06-22T15:25:25.569000+00:00', 'lifetime': 'RESERVED', 'scope': 'REGION', 'private_ip_id': None, 'ip_address': '129.213.14.148', 'id': 'ocid1.publicip.oc1.iad.xxxxxEXAMPLExxxxx'}]
  lifecycle_state
string
always
The public IP's current state.

Sample:
ASSIGNED
  availability_domain
string
always
The public IP's Availability Domain. This property is set only for ephemeral public IPs (that is, when the scope of the public IP is set to AVAILABILITY_DOMAIN). The value is the Availability Domain of the assigned private IP.

Sample:
IwGV:US-ASHBURN-AD-1
  display_name
string
always
A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.

Sample:
ansible_public_ip
  compartment_id
string
always
The OCID of the compartment containing the public IP. For an ephemeral public IP, this is the same compartment as the private IP's. For a reserved public IP that is currently assigned, this can be a different compartment than the assigned private IP's.

Sample:
ocid1.compartment.oc1..xxxxxEXAMPLExxxxx
  defined_tags
string
always
Defined tags for this resource. Each key is predefined and scoped to a namespace.

Sample:
{'Operations': {'CostCenter': '42'}}
  freeform_tags
string
always
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.

Sample:
{'Department': 'Finance'}
  time_created
string
always
The date and time the private IP was created, in the format defined by RFC3339.

Sample:
2018-06-22 15:25:25.569000
  lifetime
string
always
Defines when the public IP is deleted and released back to Oracle's public IP pool.

Sample:
EPHEMERAL
  scope
string
always
Whether the public IP is regional or specific to a particular Availability Domain.

Sample:
REGION
  private_ip_id
string
always
The OCID of the private IP that the public IP is currently assigned to, or in the process of being assigned to.

Sample:
ocid1.privateip.oc1.iad.xxxxxEXAMPLExxxxx
  ip_address
string
always
The public IP address of the publicIp object.

Sample:
129.146.2.1
  id
string
always
The public IP's Oracle ID (OCID).

Sample:
ocid1.privateip.oc1.iad.xxxxxEXAMPLExxxxx


Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Author

  • Rohit Chaware (@rohitChaware)

Hint

If you notice any issues in this documentation you can edit this document to improve it.