oracle.oci.oci_dns_zone_records (5.0.0) — module

Manage a ZoneRecords 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 update and patch a ZoneRecords resource in Oracle Cloud Infrastructure

This module does not support check mode


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update zone_records
  oci_dns_zone_records:
    # required
    zone_name_or_id: "ocid1.zonenameor.oc1..xxxxxxEXAMPLExxxxxx"

    # optional
    update_items:
    - # required
      domain: domain_example
      rdata: rdata_example
      rtype: rtype_example
      ttl: 56

      # optional
      record_hash: record_hash_example
      is_protected: true
      rrset_version: rrset_version_example
    if_unmodified_since: if_unmodified_since_example
    scope: GLOBAL
    view_id: "ocid1.view.oc1..xxxxxxEXAMPLExxxxxx"
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"

Inputs

    
scope:
    choices:
    - GLOBAL
    - PRIVATE
    description:
    - Specifies to operate only on resources that have a matching DNS scope.
    - This parameter is updatable.
    type: str

state:
    choices:
    - present
    default: present
    description:
    - The state of the ZoneRecords.
    - Use I(state=present) to update an existing a ZoneRecords.
    required: false
    type: str

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

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

view_id:
    description:
    - The OCID of the view the resource is associated with.
    - This parameter is updatable.
    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

patch_items:
    description:
    - ''
    elements: dict
    suboptions:
      domain:
        description:
        - The fully qualified domain name where the record can be located.
        type: str
      is_protected:
        description:
        - A Boolean flag indicating whether or not parts of the record are unable to be
          explicitly managed.
        type: bool
      operation:
        choices:
        - REQUIRE
        - PROHIBIT
        - ADD
        - REMOVE
        description:
        - A description of how a record relates to a PATCH operation.
        - '- `REQUIRE` indicates a precondition that record data **must** already exist.
          - `PROHIBIT` indicates a precondition that record data **must not** already
          exist. - `ADD` indicates that record data **must** exist after successful application.
          - `REMOVE` indicates that record data **must not** exist after successful application.'
        - ' **Note:** `ADD` and `REMOVE` operations can succeed even if they require no
          changes when applied, such as when the described records are already present
          or absent.'
        - ' **Note:** `ADD` and `REMOVE` operations can describe changes for more than
          one record.'
        - ' **Example:** `{ "domain": "www.example.com", "rtype": "AAAA", "ttl": 60 }`
          specifies a new TTL for every record in the www.example.com AAAA RRSet.'
        type: str
      rdata:
        description:
        - The record's data, as whitespace-delimited tokens in type-specific presentation
          format. All RDATA is normalized and the returned presentation of your RDATA
          may differ from its initial input. For more information about RDATA, see L(Supported
          DNS Resource Record Types,https://docs.cloud.oracle.com/iaas/Content/DNS/Reference/supporteddnsresource.htm)
        type: str
      record_hash:
        description:
        - A unique identifier for the record within its zone.
        type: str
      rrset_version:
        description:
        - The latest version of the record's zone in which its RRSet differs from the
          preceding version.
        type: str
      rtype:
        description:
        - The type of DNS record, such as A or CNAME. For more information, see L(Resource
          Record (RR) TYPEs,https://www.iana.org/assignments/dns- parameters/dns-parameters.xhtml#dns-parameters-4).
        type: str
      ttl:
        description:
        - The Time To Live for the record, in seconds. Using a TTL lower than 30 seconds
          is not recommended.
        type: int
    type: list

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

update_items:
    description:
    - ''
    - This parameter is updatable.
    elements: dict
    suboptions:
      domain:
        description:
        - The fully qualified domain name where the record can be located.
        - This parameter is updatable.
        required: true
        type: str
      is_protected:
        description:
        - A Boolean flag indicating whether or not parts of the record are unable to be
          explicitly managed.
        - This parameter is updatable.
        type: bool
      rdata:
        description:
        - The record's data, as whitespace-delimited tokens in type-specific presentation
          format. All RDATA is normalized and the returned presentation of your RDATA
          may differ from its initial input. For more information about RDATA, see L(Supported
          DNS Resource Record Types,https://docs.cloud.oracle.com/iaas/Content/DNS/Reference/supporteddnsresource.htm)
        - This parameter is updatable.
        required: true
        type: str
      record_hash:
        description:
        - A unique identifier for the record within its zone.
        - This parameter is updatable.
        type: str
      rrset_version:
        description:
        - The latest version of the record's zone in which its RRSet differs from the
          preceding version.
        - This parameter is updatable.
        type: str
      rtype:
        description:
        - The type of DNS record, such as A or CNAME. For more information, see L(Resource
          Record (RR) TYPEs,https://www.iana.org/assignments/dns- parameters/dns-parameters.xhtml#dns-parameters-4).
        - This parameter is updatable.
        required: true
        type: str
      ttl:
        description:
        - The Time To Live for the record, in seconds. Using a TTL lower than 30 seconds
          is not recommended.
        - This parameter is updatable.
        required: true
        type: int
    type: list

compartment_id:
    description:
    - The OCID of the compartment the zone belongs to.
    - This parameter is deprecated and should be omitted.
    - This parameter is updatable.
    type: str

zone_name_or_id:
    aliases:
    - zone_id
    - name
    - zone_name
    - id
    description:
    - The name or OCID of the target zone.
    required: true
    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

if_unmodified_since:
    description:
    - The `If-Unmodified-Since` header field makes the request method conditional on the
      selected representation's last modification date being earlier than or equal to
      the date provided in the field-value.  This field accomplishes the same purpose
      as If-Match for cases where the user agent does not have an entity-tag for the representation.
    - This parameter is updatable.
    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

zone_records:
  contains:
    domain:
      description:
      - The fully qualified domain name where the record can be located.
      returned: on success
      sample: domain_example
      type: str
    is_protected:
      description:
      - A Boolean flag indicating whether or not parts of the record are unable to
        be explicitly managed.
      returned: on success
      sample: true
      type: bool
    rdata:
      description:
      - The record's data, as whitespace-delimited tokens in type-specific presentation
        format. All RDATA is normalized and the returned presentation of your RDATA
        may differ from its initial input. For more information about RDATA, see L(Supported
        DNS Resource Record Types,https://docs.cloud.oracle.com/iaas/Content/DNS/Reference/supporteddnsresource.htm)
      returned: on success
      sample: rdata_example
      type: str
    record_hash:
      description:
      - A unique identifier for the record within its zone.
      returned: on success
      sample: record_hash_example
      type: str
    rrset_version:
      description:
      - The latest version of the record's zone in which its RRSet differs from the
        preceding version.
      returned: on success
      sample: rrset_version_example
      type: str
    rtype:
      description:
      - The type of DNS record, such as A or CNAME. For more information, see L(Resource
        Record (RR) TYPEs,https://www.iana.org/assignments/dns- parameters/dns-parameters.xhtml#dns-parameters-4).
      returned: on success
      sample: rtype_example
      type: str
    ttl:
      description:
      - The Time To Live for the record, in seconds. Using a TTL lower than 30 seconds
        is not recommended.
      returned: on success
      sample: 56
      type: int
  description:
  - Details of the ZoneRecords resource acted upon by the current operation
  returned: on success
  sample:
    domain: domain_example
    is_protected: true
    rdata: rdata_example
    record_hash: record_hash_example
    rrset_version: rrset_version_example
    rtype: rtype_example
    ttl: 56
  type: complex