oracle.oci.oci_network_subnet (5.0.0) — module

Manage a Subnet resource 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

This module allows the user to create, update and delete a Subnet resource in Oracle Cloud Infrastructure

For I(state=present), creates a new subnet in the specified VCN. You can't change the size of the subnet after creation, so it's important to think about the size of subnets you need before creating them. For more information, see L(VCNs and Subnets,https://docs.cloud.oracle.com/iaas/Content/Network/Tasks/managingVCNs.htm). For information on the number of subnets you can have in a VCN, see L(Service Limits,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/servicelimits.htm).

For the purposes of access control, you must provide the L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want the subnet to reside. Notice that the subnet doesn't have to be in the same compartment as the VCN, route tables, or other Networking Service components. If you're not sure which compartment to use, put the subnet in the same compartment as the VCN. For more information about compartments and access control, see L(Overview of the IAM Service,https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see L(Resource Identifiers,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

You may optionally associate a route table with the subnet. If you don't, the subnet will use the VCN's default route table. For more information about route tables, see L(Route Tables,https://docs.cloud.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm).

You may optionally associate a security list with the subnet. If you don't, the subnet will use the VCN's default security list. For more information about security lists, see L(Security Lists,https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/securitylists.htm).

You may optionally associate a set of DHCP options with the subnet. If you don't, the subnet will use the VCN's default set. For more information about DHCP options, see L(DHCP Options,https://docs.cloud.oracle.com/iaas/Content/Network/Tasks/managingDHCP.htm).

You may optionally specify a *display name* for the subnet, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.

You can also add a DNS label for the subnet, which is required if you want the Internet and VCN Resolver to resolve hostnames for instances in the subnet. For more information, see L(DNS in Your Virtual Cloud Network,https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/dns.htm).

This resource has the following action operations in the M(oracle.oci.oci_network_subnet_actions) module: add_ipv6_subnet_cidr, change_compartment, remove_ipv6_subnet_cidr.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create subnet
  oci_network_subnet:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    vcn_id: "ocid1.vcn.oc1..xxxxxxEXAMPLExxxxxx"
    cidr_block: cidr_block_example

    # optional
    availability_domain: Uocm:PHX-AD-1
    dns_label: dns_label_example
    prohibit_internet_ingress: true
    prohibit_public_ip_on_vnic: true
    defined_tags: {'Operations': {'CostCenter': 'US'}}
    dhcp_options_id: "ocid1.dhcpoptions.oc1..xxxxxxEXAMPLExxxxxx"
    display_name: display_name_example
    freeform_tags: {'Department': 'Finance'}
    route_table_id: "ocid1.routetable.oc1..xxxxxxEXAMPLExxxxxx"
    security_list_ids: [ "security_list_ids_example" ]
    ipv6_cidr_block: ipv6_cidr_block_example
    ipv6_cidr_blocks: [ "ipv6_cidr_blocks_example" ]
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update subnet
  oci_network_subnet:
    # required
    subnet_id: "ocid1.subnet.oc1..xxxxxxEXAMPLExxxxxx"

    # optional
    defined_tags: {'Operations': {'CostCenter': 'US'}}
    dhcp_options_id: "ocid1.dhcpoptions.oc1..xxxxxxEXAMPLExxxxxx"
    display_name: display_name_example
    freeform_tags: {'Department': 'Finance'}
    route_table_id: "ocid1.routetable.oc1..xxxxxxEXAMPLExxxxxx"
    security_list_ids: [ "security_list_ids_example" ]
    cidr_block: cidr_block_example
    ipv6_cidr_block: ipv6_cidr_block_example
    ipv6_cidr_blocks: [ "ipv6_cidr_blocks_example" ]
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update subnet using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set)
  oci_network_subnet:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    display_name: display_name_example

    # optional
    defined_tags: {'Operations': {'CostCenter': 'US'}}
    dhcp_options_id: "ocid1.dhcpoptions.oc1..xxxxxxEXAMPLExxxxxx"
    freeform_tags: {'Department': 'Finance'}
    route_table_id: "ocid1.routetable.oc1..xxxxxxEXAMPLExxxxxx"
    security_list_ids: [ "security_list_ids_example" ]
    cidr_block: cidr_block_example
    ipv6_cidr_block: ipv6_cidr_block_example
    ipv6_cidr_blocks: [ "ipv6_cidr_blocks_example" ]
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete subnet
  oci_network_subnet:
    # required
    subnet_id: "ocid1.subnet.oc1..xxxxxxEXAMPLExxxxxx"
    state: absent
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete subnet using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set)
  oci_network_subnet:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    display_name: display_name_example
    state: absent

Inputs

    
wait:
    default: true
    description: Whether to wait for create or delete operation to complete.
    type: bool

state:
    choices:
    - present
    - absent
    default: present
    description:
    - The state of the Subnet.
    - Use I(state=present) to create or update a Subnet.
    - Use I(state=absent) to delete a Subnet.
    required: false
    type: str

key_by:
    description: The list of attributes of this resource which should be used to uniquely
      identify an instance of the resource. By default, all the attributes of a resource
      are used to uniquely identify a resource.
    elements: str
    type: list

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 to contain the subnet.
    - Required for create using I(state=present).
    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

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.
    - This value must be set if you want to use the Internet and VCN Resolver to resolve
      the hostnames of instances in the subnet. It can only be set if the VCN itself was
      created with a DNS label.
    - For more information, see L(DNS in Your Virtual Cloud Network,https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/dns.htm).
    - 'Example: `subnet123`'
    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 for update using I(state=present) when environment variable C(OCI_USE_NAME_AS_IDENTIFIER)
      is not set.
    - Required for delete using I(state=absent) when environment variable C(OCI_USE_NAME_AS_IDENTIFIER)
      is not set.
    type: str

cidr_block:
    description:
    - The CIDR IP address range of the subnet. The CIDR must maintain the following rules
      -
    - a. The CIDR block is valid and correctly formatted. b. The new range is within one
      of the parent VCN ranges.
    - 'Example: `10.0.1.0/24`'
    - Required for create using I(state=present).
    - This parameter is updatable.
    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

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"}}`'
    - This parameter is updatable.
    type: dict

display_name:
    aliases:
    - name
    description:
    - A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering
      confidential information.
    - Required for create, update, delete when environment variable C(OCI_USE_NAME_AS_IDENTIFIER)
      is set.
    - This parameter is updatable when C(OCI_USE_NAME_AS_IDENTIFIER) is not set.
    type: str

force_create:
    default: false
    description: Whether to attempt non-idempotent creation of a resource. By default,
      create resource is an idempotent operation, and doesn't create the resource if it
      already exists. Setting this option to true, forcefully creates a copy of the resource,
      even if it already exists.This option is mutually exclusive with I(key_by).
    type: bool

wait_timeout:
    description: Time, in seconds, to wait when I(wait=yes). Defaults to 1200 for most
      of the services but some services might have a longer wait timeout.
    type: int

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"}`'
    - This parameter is updatable.
    type: dict

compartment_id:
    description:
    - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
      of the compartment to contain the subnet.
    - Required for create using I(state=present).
    - Required for update when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is set.
    - Required for delete when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is set.
    type: str

route_table_id:
    description:
    - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
      of the route table the subnet will use. If you don't provide a value, the subnet
      uses the VCN's default route table.
    - This parameter is updatable.
    type: str

dhcp_options_id:
    description:
    - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
      of the set of DHCP options the subnet will use. If you don't provide a value, the
      subnet uses the VCN's default set of DHCP options.
    - This parameter is updatable.
    type: str

ipv6_cidr_block:
    description:
    - Use this to enable IPv6 addressing for this subnet. The VCN must be enabled for
      IPv6. You can't change this subnet characteristic later. All subnets are /64 in
      size. The subnet portion of the IPv6 address is the fourth hextet from the left
      (1111 in the following example).
    - For important details about IPv6 addressing in a VCN, see L(IPv6 Addresses,https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/ipv6.htm).
    - 'Example: `2001:0db8:0123:1111::/64`'
    - This parameter is updatable.
    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 that meets the following criteria: - The prefixes
      must be valid. - Multiple prefixes must not overlap each other or the on-premises
      network prefix. - The number of prefixes must not exceed the limit of IPv6 prefixes
      allowed to a subnet.'
    - This parameter is updatable.
    elements: str
    type: list

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

security_list_ids:
    description:
    - The OCIDs of the security list or lists the subnet will use. If you don't provide
      a value, the subnet uses the VCN's default security list. Remember that security
      lists are associated *with the subnet*, but the rules are applied to the individual
      VNICs in the subnet.
    - This parameter is updatable.
    elements: str
    type: list

availability_domain:
    description:
    - Controls whether the subnet is regional or specific to an availability domain. Oracle
      recommends creating regional subnets because they're more flexible and make it easier
      to implement failover across availability domains. Originally, AD-specific subnets
      were the only kind available to use.
    - To create a regional subnet, omit this attribute. Then any resources later created
      in this subnet (such as a Compute instance) can be created in any availability domain
      in the region.
    - To instead create an AD-specific subnet, set this attribute to the availability
      domain you want this subnet to be in. Then any resources later created in this subnet
      can only be created in that availability domain.
    - 'Example: `Uocm:PHX-AD-1`'
    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

prohibit_internet_ingress:
    description:
    - Whether to disallow ingress internet traffic to VNICs within this subnet. Defaults
      to false.
    - 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.
    - '`prohibitPublicIpOnVnic` will be set to the value of `prohibitInternetIngress`
      to dictate IPv4 behavior in this subnet. Only one or the other flag should be specified.'
    - 'Example: `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).
    - If you intend to use an IPv6 prefix, you should use the flag `prohibitInternetIngress`
      to specify ingress internet traffic behavior of the subnet.
    - 'Example: `true`'
    type: bool

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

subnet:
  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:
  - Details of the Subnet resource acted upon by the current operation
  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