oracle.oci.oci_network_subnet_facts (5.0.0) — module

Fetches details about one or multiple Subnet resources in Oracle Cloud Infrastructure

| "added in version" 2.9.0 of oracle.oci"

Authors: Oracle (@oracle)

preview | supported by community

Install collection

Install with ansible-galaxy collection install oracle.oci:==5.0.0


Add to requirements.yml

  collections:
    - name: oracle.oci
      version: 5.0.0

Description

Fetches details about one or multiple Subnet resources in Oracle Cloud Infrastructure

Lists the subnets in the specified VCN and the specified compartment. If the VCN ID is not provided, then the list includes the subnets from all VCNs in the specified compartment.

If I(subnet_id) is specified, the details of a single Subnet will be returned.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get a specific subnet
  oci_network_subnet_facts:
    # required
    subnet_id: "ocid1.subnet.oc1..xxxxxxEXAMPLExxxxxx"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: List subnets
  oci_network_subnet_facts:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"

    # optional
    vcn_id: "ocid1.vcn.oc1..xxxxxxEXAMPLExxxxxx"
    display_name: display_name_example
    sort_by: TIMECREATED
    sort_order: ASC
    lifecycle_state: PROVISIONING

Inputs

    
region:
    description:
    - 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 C(config_file_location)).
      Please refer to U(https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm)
      for more information on OCI regions.
    type: str

vcn_id:
    description:
    - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
      of the VCN.
    type: str

sort_by:
    choices:
    - TIMECREATED
    - DISPLAYNAME
    description:
    - The field to sort by. You can provide one sort order (`sortOrder`). Default order
      for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME
      sort order is case sensitive.
    - '**Note:** In general, some "List" operations (for example, `ListInstances`) let
      you optionally filter by availability domain if the scope of the resource type is
      within a single availability domain. If you call one of these "List" operations
      without specifying an availability domain, the resources are grouped by availability
      domain, then sorted.'
    type: str

tenancy:
    description:
    - 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 C(config_file_location)). To get the tenancy OCID, please
      refer U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm)
    type: str

api_user:
    description:
    - The OCID of the user, on whose behalf, OCI APIs are invoked. If not set, then the
      value of the OCI_USER_ID environment variable, if any, is used. This option is required
      if the user is not specified through a configuration file (See C(config_file_location)).
      To get the user's OCID, please refer U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm).
    type: str

auth_type:
    choices:
    - api_key
    - instance_principal
    - instance_obo_user
    - resource_principal
    - security_token
    default: api_key
    description:
    - The type of authentication to use for making API requests. By default C(auth_type="api_key")
      based authentication is performed and the API key (see I(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 C(auth_type="instance_principal")
      to use instance principal based authentication when running ansible playbooks within
      an OCI compute instance.
    type: str

subnet_id:
    aliases:
    - id
    description:
    - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
      of the subnet.
    - Required to get a specific subnet.
    type: str

sort_order:
    choices:
    - ASC
    - DESC
    description:
    - The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME
      sort order is case sensitive.
    type: str

cert_bundle:
    description:
    - The full path to a CA certificate bundle to be used for SSL verification. This will
      override the default CA certificate bundle. If not set, then the value of the OCI_ANSIBLE_CERT_BUNDLE
      variable, if any, is used.
    type: str

auth_purpose:
    choices:
    - service_principal
    description:
    - The auth purpose which can be used in conjunction with 'auth_type=instance_principal'.
      The default auth_purpose for instance_principal is None.
    type: str

display_name:
    aliases:
    - name
    description:
    - A filter to return only resources that match the given display name exactly.
    type: str

compartment_id:
    description:
    - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
      of the compartment.
    - Required to list multiple subnets.
    type: str

lifecycle_state:
    choices:
    - PROVISIONING
    - AVAILABLE
    - TERMINATING
    - TERMINATED
    - UPDATING
    description:
    - A filter to only return resources that match the given lifecycle state. The state
      value is case-insensitive.
    type: str

api_user_key_file:
    description:
    - 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 C(config_file_location)).
      If the key is encrypted with a pass-phrase, the C(api_user_key_pass_phrase) option
      must also be provided.
    type: str

config_profile_name:
    description:
    - The profile to load from the config file referenced by C(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 C(config_file_location).
    type: str

api_user_fingerprint:
    description:
    - 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 C(config_file_location)). To
      get the key pair's fingerprint value please refer U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm).
    type: str

config_file_location:
    description:
    - 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.
    type: str

api_user_key_pass_phrase:
    description:
    - Passphrase used by the key referenced in C(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 C(config_file_location)).
    type: str

realm_specific_endpoint_template_enabled:
    description:
    - Enable/Disable realm specific endpoint template for service client. By Default,
      realm specific endpoint template is disabled. If not set, then the value of the
      OCI_REALM_SPECIFIC_SERVICE_ENDPOINT_TEMPLATE_ENABLED variable, if any, is used.
    type: bool

Outputs

subnets:
  contains:
    availability_domain:
      description:
      - The subnet's availability domain. This attribute will be null if this is a
        regional subnet instead of an AD-specific subnet. Oracle recommends creating
        regional subnets.
      - 'Example: `Uocm:PHX-AD-1`'
      returned: on success
      sample: Uocm:PHX-AD-1
      type: str
    cidr_block:
      description:
      - The subnet's CIDR block.
      - 'Example: `10.0.1.0/24`'
      returned: on success
      sample: cidr_block_example
      type: str
    compartment_id:
      description:
      - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
        of the compartment containing the subnet.
      returned: on success
      sample: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    defined_tags:
      description:
      - Defined tags for this resource. Each key is predefined and scoped to a namespace.
        For more information, see L(Resource Tags,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
      - 'Example: `{"Operations": {"CostCenter": "42"}}`'
      returned: on success
      sample:
        Operations:
          CostCenter: US
      type: dict
    dhcp_options_id:
      description:
      - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
        of the set of DHCP options that the subnet uses.
      returned: on success
      sample: ocid1.dhcpoptions.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    display_name:
      description:
      - A user-friendly name. Does not have to be unique, and it's changeable. Avoid
        entering confidential information.
      returned: on success
      sample: display_name_example
      type: str
    dns_label:
      description:
      - 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, `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 L(DNS in Your Virtual Cloud Network,https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/dns.htm).
      - 'Example: `subnet123`'
      returned: on success
      sample: dns_label_example
      type: str
    freeform_tags:
      description:
      - Free-form tags for this resource. Each tag is a simple key-value pair with
        no predefined name, type, or namespace. For more information, see L(Resource
        Tags,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
      - 'Example: `{"Department": "Finance"}`'
      returned: on success
      sample:
        Department: Finance
      type: dict
    id:
      description:
      - The subnet's Oracle ID (L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)).
      returned: on success
      sample: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    ipv6_cidr_block:
      description:
      - For an IPv6-enabled subnet, this is the IPv6 prefix for the subnet's IP address
        space. The subnet size is always /64. See L(IPv6 Addresses,https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/ipv6.htm).
      - 'Example: `2001:0db8:0123:1111::/64`'
      returned: on success
      sample: ipv6_cidr_block_example
      type: str
    ipv6_cidr_blocks:
      description:
      - The list of all IPv6 prefixes (Oracle allocated IPv6 GUA, ULA or private IPv6
        prefixes, BYOIPv6 prefixes) for the subnet.
      returned: on success
      sample: []
      type: list
    ipv6_virtual_router_ip:
      description:
      - For an IPv6-enabled subnet, this is the IPv6 address of the virtual router.
      - 'Example: `2001:0db8:0123:1111:89ab:cdef:1234:5678`'
      returned: on success
      sample: ipv6_virtual_router_ip_example
      type: str
    lifecycle_state:
      description:
      - The subnet's current state.
      returned: on success
      sample: PROVISIONING
      type: str
    prohibit_internet_ingress:
      description:
      - Whether to disallow ingress internet traffic to VNICs within this subnet.
        Defaults to false.
      - For IPV4, `prohibitInternetIngress` behaves similarly to `prohibitPublicIpOnVnic`.
        If it is set to false, VNICs created in this subnet will automatically be
        assigned public IP addresses unless specified otherwise during instance launch
        or VNIC creation (with the `assignPublicIp` flag in L(CreateVnicDetails,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/CreateVnicDetails/)).
        If `prohibitInternetIngress` is set to true, VNICs created in this subnet
        cannot have public IP addresses (that is, it's a privatesubnet).
      - For IPv6, if `prohibitInternetIngress` is set to `true`, internet access is
        not allowed for any IPv6s assigned to VNICs in the subnet. Otherwise, ingress
        internet traffic is allowed by default.
      - 'Example: `true`'
      returned: on success
      sample: true
      type: bool
    prohibit_public_ip_on_vnic:
      description:
      - 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 `assignPublicIp` flag in L(CreateVnicDetails,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/CreateVnicDetails/)).
        If `prohibitPublicIpOnVnic` is set to true, VNICs created in this subnet cannot
        have public IP addresses (that is, it's a private subnet).
      - 'Example: `true`'
      returned: on success
      sample: true
      type: bool
    route_table_id:
      description:
      - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
        of the route table that the subnet uses.
      returned: on success
      sample: ocid1.routetable.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    security_list_ids:
      description:
      - 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.
      returned: on success
      sample: []
      type: list
    subnet_domain_name:
      description:
      - The subnet's domain name, which consists of the subnet's DNS label, the VCN's
        DNS label, and the `oraclevcn.com` domain.
      - For more information, see L(DNS in Your Virtual Cloud Network,https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/dns.htm).
      - 'Example: `subnet123.vcn1.oraclevcn.com`'
      returned: on success
      sample: subnet_domain_name_example
      type: str
    time_created:
      description:
      - The date and time the subnet was created, in the format defined by L(RFC3339,https://tools.ietf.org/html/rfc3339).
      - 'Example: `2016-08-25T21:10:29.600Z`'
      returned: on success
      sample: '2013-10-20T19:20:30+01:00'
      type: str
    vcn_id:
      description:
      - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
        of the VCN the subnet is in.
      returned: on success
      sample: ocid1.vcn.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    virtual_router_ip:
      description:
      - The IP address of the virtual router.
      - 'Example: `10.0.14.1`'
      returned: on success
      sample: virtual_router_ip_example
      type: str
    virtual_router_mac:
      description:
      - The MAC address of the virtual router.
      - 'Example: `00:00:00:00:00:01`'
      returned: on success
      sample: virtual_router_mac_example
      type: str
  description:
  - List of Subnet resources
  returned: on success
  sample:
  - availability_domain: Uocm:PHX-AD-1
    cidr_block: cidr_block_example
    compartment_id: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx
    defined_tags:
      Operations:
        CostCenter: US
    dhcp_options_id: ocid1.dhcpoptions.oc1..xxxxxxEXAMPLExxxxxx
    display_name: display_name_example
    dns_label: dns_label_example
    freeform_tags:
      Department: Finance
    id: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
    ipv6_cidr_block: ipv6_cidr_block_example
    ipv6_cidr_blocks: []
    ipv6_virtual_router_ip: ipv6_virtual_router_ip_example
    lifecycle_state: PROVISIONING
    prohibit_internet_ingress: true
    prohibit_public_ip_on_vnic: true
    route_table_id: ocid1.routetable.oc1..xxxxxxEXAMPLExxxxxx
    security_list_ids: []
    subnet_domain_name: subnet_domain_name_example
    time_created: '2013-10-20T19:20:30+01:00'
    vcn_id: ocid1.vcn.oc1..xxxxxxEXAMPLExxxxxx
    virtual_router_ip: virtual_router_ip_example
    virtual_router_mac: virtual_router_mac_example
  type: complex