oracle.oci.oci_network_dhcp_options (5.0.0) — module

Manage a DhcpOptions 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 DhcpOptions resource in Oracle Cloud Infrastructure

For I(state=present), creates a new set of DHCP options for the specified VCN. For more information, see L(DhcpOptions,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/DhcpOptions/).

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 set of DHCP options to reside. Notice that the set of options doesn't have to be in the same compartment as the VCN, subnets, or other Networking Service components. If you're not sure which compartment to use, put the set of DHCP options 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 specify a *display name* for the set of DHCP options, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.

This resource has the following action operations in the M(oracle.oci.oci_network_dhcp_options_actions) module: change_compartment.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create dhcp_options
  oci_network_dhcp_options:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    vcn_id: "ocid1.vcn.oc1..xxxxxxEXAMPLExxxxxx"
    options:
    - # required
      server_type: VcnLocal
      type: DomainNameServer

      # optional
      custom_dns_servers: [ "custom_dns_servers_example" ]

    # optional
    defined_tags: {'Operations': {'CostCenter': 'US'}}
    display_name: display_name_example
    freeform_tags: {'Department': 'Finance'}
    domain_name_type: SUBNET_DOMAIN
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update dhcp_options
  oci_network_dhcp_options:
    # required
    dhcp_id: "ocid1.dhcp.oc1..xxxxxxEXAMPLExxxxxx"

    # optional
    defined_tags: {'Operations': {'CostCenter': 'US'}}
    display_name: display_name_example
    freeform_tags: {'Department': 'Finance'}
    options:
    - # required
      server_type: VcnLocal
      type: DomainNameServer

      # optional
      custom_dns_servers: [ "custom_dns_servers_example" ]
    domain_name_type: SUBNET_DOMAIN
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update dhcp_options using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set)
  oci_network_dhcp_options:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    display_name: display_name_example

    # optional
    defined_tags: {'Operations': {'CostCenter': 'US'}}
    freeform_tags: {'Department': 'Finance'}
    options:
    - # required
      server_type: VcnLocal
      type: DomainNameServer

      # optional
      custom_dns_servers: [ "custom_dns_servers_example" ]
    domain_name_type: SUBNET_DOMAIN
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete dhcp_options
  oci_network_dhcp_options:
    # required
    dhcp_id: "ocid1.dhcp.oc1..xxxxxxEXAMPLExxxxxx"
    state: absent
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete dhcp_options using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set)
  oci_network_dhcp_options:
    # 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 DhcpOptions.
    - Use I(state=present) to create or update a DhcpOptions.
    - Use I(state=absent) to delete a DhcpOptions.
    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 the set of DHCP options belongs to.
    - Required for create using I(state=present).
    type: str

dhcp_id:
    aliases:
    - id
    description:
    - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
      for the set of DHCP options.
    - 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

options:
    description:
    - A set of DHCP options.
    - Required for create using I(state=present).
    - This parameter is updatable.
    elements: dict
    suboptions:
      custom_dns_servers:
        description:
        - If you set `serverType` to `CustomDnsServer`, specify the IP address of at least
          one DNS server of your choice (three maximum).
        - Applicable when type is 'DomainNameServer'
        elements: str
        type: list
      search_domain_names:
        description:
        - A single search domain name according to L(RFC 952,https://tools.ietf.org/html/rfc952)
          and L(RFC 1123,https://tools.ietf.org/html/rfc1123). During a DNS query, the
          OS will append this search domain name to the value being queried.
        - If you set L(DhcpDnsOption,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/DhcpDnsOption/)
          to `VcnLocalPlusInternet`, and you assign a DNS label to the VCN during creation,
          the search domain name in the VCN's default set of DHCP options is automatically
          set to the VCN domain (for example, `vcn1.oraclevcn.com`).
        - If you don't want to use a search domain name, omit this option from the set
          of DHCP options. Do not include this option with an empty list of search domain
          names, or with an empty string as the value for any search domain name.
        - Required when type is 'SearchDomain'
        elements: str
        type: list
      server_type:
        choices:
        - VcnLocal
        - VcnLocalPlusInternet
        - CustomDnsServer
        description:
        - '* **VcnLocal:** Reserved for future use.'
        - '* **VcnLocalPlusInternet:** Also referred to as "Internet and VCN Resolver".
          Instances can resolve internet hostnames (no internet gateway is required),
          and can resolve hostnames of instances in the VCN. This is the default value
          in the default set of DHCP options in the VCN. For the Internet and VCN Resolver
          to work across the VCN, there must also be a DNS label set for the VCN, a DNS
          label set for each subnet, and a hostname for each instance. The Internet and
          VCN Resolver also enables reverse DNS lookup, which lets you determine the hostname
          corresponding to the private IP address. For more information, see L(DNS in
          Your Virtual Cloud Network,https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/dns.htm).'
        - '* **CustomDnsServer:** Instances use a DNS server of your choice (three maximum).'
        - Required when type is 'DomainNameServer'
        type: str
      type:
        choices:
        - DomainNameServer
        - SearchDomain
        description:
        - The specific DHCP option. Either `DomainNameServer` (for L(DhcpDnsOption,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/DhcpDnsOption/))
          or `SearchDomain` (for L(DhcpSearchDomainOption,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/DhcpSearchDomainOption/)).
        required: true
        type: str
    type: list

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

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 set of DHCP options.
    - 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

domain_name_type:
    choices:
    - SUBNET_DOMAIN
    - VCN_DOMAIN
    - CUSTOM_DOMAIN
    description:
    - The search domain name type of DHCP options
    - This parameter is updatable.
    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

dhcp_options:
  contains:
    compartment_id:
      description:
      - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
        of the compartment containing the set of DHCP options.
      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
    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
    domain_name_type:
      description:
      - The search domain name type of DHCP options
      returned: on success
      sample: SUBNET_DOMAIN
      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:
      - Oracle ID (L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm))
        for the set of DHCP options.
      returned: on success
      sample: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    lifecycle_state:
      description:
      - The current state of the set of DHCP options.
      returned: on success
      sample: PROVISIONING
      type: str
    options:
      contains:
        custom_dns_servers:
          description:
          - If you set `serverType` to `CustomDnsServer`, specify the IP address of
            at least one DNS server of your choice (three maximum).
          returned: on success
          sample: []
          type: list
        search_domain_names:
          description:
          - A single search domain name according to L(RFC 952,https://tools.ietf.org/html/rfc952)
            and L(RFC 1123,https://tools.ietf.org/html/rfc1123). During a DNS query,
            the OS will append this search domain name to the value being queried.
          - If you set L(DhcpDnsOption,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/DhcpDnsOption/)
            to `VcnLocalPlusInternet`, and you assign a DNS label to the VCN during
            creation, the search domain name in the VCN's default set of DHCP options
            is automatically set to the VCN domain (for example, `vcn1.oraclevcn.com`).
          - If you don't want to use a search domain name, omit this option from the
            set of DHCP options. Do not include this option with an empty list of
            search domain names, or with an empty string as the value for any search
            domain name.
          returned: on success
          sample: []
          type: list
        server_type:
          description:
          - '* **VcnLocal:** Reserved for future use.'
          - '* **VcnLocalPlusInternet:** Also referred to as "Internet and VCN Resolver".
            Instances can resolve internet hostnames (no internet gateway is required),
            and can resolve hostnames of instances in the VCN. This is the default
            value in the default set of DHCP options in the VCN. For the Internet
            and VCN Resolver to work across the VCN, there must also be a DNS label
            set for the VCN, a DNS label set for each subnet, and a hostname for each
            instance. The Internet and VCN Resolver also enables reverse DNS lookup,
            which lets you determine the hostname corresponding to the private IP
            address. For more information, see L(DNS in Your Virtual Cloud Network,https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/dns.htm).'
          - '* **CustomDnsServer:** Instances use a DNS server of your choice (three
            maximum).'
          returned: on success
          sample: VcnLocal
          type: str
        type:
          description:
          - The specific DHCP option. Either `DomainNameServer` (for L(DhcpDnsOption,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/DhcpDnsOption/))
            or `SearchDomain` (for L(DhcpSearchDomainOption,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/DhcpSearchDomainOption/)).
          returned: on success
          sample: DomainNameServer
          type: str
      description:
      - The collection of individual DHCP options.
      returned: on success
      type: complex
    time_created:
      description:
      - Date and time the set of DHCP options 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 set of DHCP options belongs to.
      returned: on success
      sample: ocid1.vcn.oc1..xxxxxxEXAMPLExxxxxx
      type: str
  description:
  - Details of the DhcpOptions resource acted upon by the current operation
  returned: on success
  sample:
    compartment_id: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx
    defined_tags:
      Operations:
        CostCenter: US
    display_name: display_name_example
    domain_name_type: SUBNET_DOMAIN
    freeform_tags:
      Department: Finance
    id: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
    lifecycle_state: PROVISIONING
    options:
    - custom_dns_servers: []
      search_domain_names: []
      server_type: VcnLocal
      type: DomainNameServer
    time_created: '2013-10-20T19:20:30+01:00'
    vcn_id: ocid1.vcn.oc1..xxxxxxEXAMPLExxxxxx
  type: complex