oracle / oracle.oci / 4.2.0 / module / oci_dns_zone Manage a Zone resource in Oracle Cloud Infrastructure | "added in version" 2.9.0 of oracle.oci" Authors: Oracle (@oracle) preview | supported by communityoracle.oci.oci_dns_zone (4.2.0) — module
Install with ansible-galaxy collection install oracle.oci:==4.2.0
collections: - name: oracle.oci version: 4.2.0
This module allows the user to create, update and delete a Zone resource in Oracle Cloud Infrastructure
For I(state=present), creates a new zone in the specified compartment.
Private zones must have a zone type of `PRIMARY`. Creating a private zone at or under `oraclevcn.com` within the default protected view of a VCN-dedicated resolver is not permitted.
This resource has the following action operations in the M(oracle.oci.oci_dns_zone_actions) module: change_compartment.
- name: Create zone with migration_source = NONE oci_dns_zone: # required name: name_example compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx" # optional zone_type: PRIMARY migration_source: NONE freeform_tags: {'Department': 'Finance'} defined_tags: {'Operations': {'CostCenter': 'US'}} external_masters: - # required address: address_example # optional port: 56 tsig_key_id: "ocid1.tsigkey.oc1..xxxxxxEXAMPLExxxxxx" scope: GLOBAL view_id: "ocid1.view.oc1..xxxxxxEXAMPLExxxxxx"
- name: Create zone with migration_source = DYNECT oci_dns_zone: # required migration_source: DYNECT name: name_example compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx" # optional dynect_migration_details: # required customer_name: customer_name_example username: username_example password: example-password # optional http_redirect_replacements: null freeform_tags: {'Department': 'Finance'} defined_tags: {'Operations': {'CostCenter': 'US'}}
- name: Update zone oci_dns_zone: # required zone_name_or_id: "ocid1.zonenameor.oc1..xxxxxxEXAMPLExxxxxx" # optional freeform_tags: {'Department': 'Finance'} defined_tags: {'Operations': {'CostCenter': 'US'}} external_masters: - # required address: address_example # optional port: 56 tsig_key_id: "ocid1.tsigkey.oc1..xxxxxxEXAMPLExxxxxx" if_unmodified_since: if_unmodified_since_example scope: GLOBAL view_id: "ocid1.view.oc1..xxxxxxEXAMPLExxxxxx" compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
- name: Update zone using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set) oci_dns_zone: # required name: name_example compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx" # optional freeform_tags: {'Department': 'Finance'} defined_tags: {'Operations': {'CostCenter': 'US'}} external_masters: - # required address: address_example # optional port: 56 tsig_key_id: "ocid1.tsigkey.oc1..xxxxxxEXAMPLExxxxxx" if_unmodified_since: if_unmodified_since_example scope: GLOBAL view_id: "ocid1.view.oc1..xxxxxxEXAMPLExxxxxx"
- name: Delete zone oci_dns_zone: # required zone_name_or_id: "ocid1.zonenameor.oc1..xxxxxxEXAMPLExxxxxx" state: absent # optional if_unmodified_since: if_unmodified_since_example scope: GLOBAL view_id: "ocid1.view.oc1..xxxxxxEXAMPLExxxxxx" compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
- name: Delete zone using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set) oci_dns_zone: # required name: name_example compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx" state: absent
name: aliases: - zone_name description: - The name of the zone. - Required for create using I(state=present). - Required for update, delete when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is set. type: str wait: default: true description: Whether to wait for create or delete operation to complete. type: bool scope: choices: - GLOBAL - PRIVATE description: - The scope of the zone. - This parameter is updatable. - Applicable when migration_source is 'NONE' type: str state: choices: - present - absent default: present description: - The state of the Zone. - Use I(state=present) to create or update a Zone. - Use I(state=absent) to delete a Zone. 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 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: - This value will be null for zones in the global DNS. - This parameter is updatable. - Applicable when migration_source is 'NONE' 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 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 zone_type: choices: - PRIMARY - SECONDARY description: - The type of the zone. Must be either `PRIMARY` or `SECONDARY`. `SECONDARY` is only supported for GLOBAL zones. - Applicable when migration_source is 'NONE' 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/Content/General/Concepts/resourcetags.htm). - '**Example:** `{"Operations": {"CostCenter": "42"}}`' - This parameter is updatable. type: dict 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/Content/General/Concepts/resourcetags.htm). - '**Example:** `{"Department": "Finance"}`' - This parameter is updatable. type: dict compartment_id: description: - The OCID of the compartment containing the zone. - 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. - This parameter is updatable. type: str zone_name_or_id: aliases: - zone_id - id description: - The name or OCID of the target zone. - 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 external_masters: description: - External master servers for the zone. `externalMasters` becomes a required parameter when the `zoneType` value is `SECONDARY`. - This parameter is updatable. - Applicable when migration_source is 'NONE' elements: dict suboptions: address: description: - The server's IP address (IPv4 or IPv6). - Required when migration_source is 'NONE' required: true type: str port: description: - The server's port. Port value must be a value of 53, otherwise omit the port value. - Applicable when migration_source is 'NONE' type: int tsig_key_id: description: - The OCID of the TSIG key. - Applicable when migration_source is 'NONE' type: str type: list migration_source: choices: - NONE - DYNECT default: NONE description: - Discriminator that is used to determine whether to create a new zone (NONE) or to migrate an existing DynECT zone (DYNECT). 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 dynect_migration_details: description: - '' - Applicable when migration_source is 'DYNECT' suboptions: customer_name: description: - DynECT customer name the zone belongs to. - Required when migration_source is 'DYNECT' required: true type: str http_redirect_replacements: description: - A map of fully-qualified domain names (FQDNs) to an array of `MigrationReplacement` objects. - Applicable when migration_source is 'DYNECT' type: dict password: description: - DynECT API password for the provided username. - Required when migration_source is 'DYNECT' required: true type: str username: description: - DynECT API username to perform the migration with. - Required when migration_source is 'DYNECT' required: true type: str type: dict
zone: contains: compartment_id: description: - The OCID of the compartment containing the zone. 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/Content/General/Concepts/resourcetags.htm). - '**Example:** `{"Operations": {"CostCenter": "42"}}`' returned: on success sample: Operations: CostCenter: US type: dict external_masters: contains: address: description: - The server's IP address (IPv4 or IPv6). returned: on success sample: address_example type: str port: description: - The server's port. Port value must be a value of 53, otherwise omit the port value. returned: on success sample: 56 type: int tsig_key_id: description: - The OCID of the TSIG key. returned: on success sample: ocid1.tsigkey.oc1..xxxxxxEXAMPLExxxxxx type: str description: - External master servers for the zone. `externalMasters` becomes a required parameter when the `zoneType` value is `SECONDARY`. returned: on success type: complex 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/Content/General/Concepts/resourcetags.htm). - '**Example:** `{"Department": "Finance"}`' returned: on success sample: Department: Finance type: dict id: description: - The OCID of the zone. returned: on success sample: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx type: str is_protected: description: - A Boolean flag indicating whether or not parts of the resource are unable to be explicitly managed. returned: on success sample: true type: bool lifecycle_state: description: - The current state of the zone resource. returned: on success sample: ACTIVE type: str name: description: - The name of the zone. returned: on success sample: name_example type: str nameservers: contains: hostname: description: - The hostname of the nameserver. returned: on success sample: hostname_example type: str description: - The authoritative nameservers for the zone. returned: on success type: complex scope: description: - The scope of the zone. returned: on success sample: GLOBAL type: str self_uri: description: - The canonical absolute URL of the resource. returned: on success sample: _self_example type: str serial: description: - The current serial of the zone. As seen in the zone's SOA record. returned: on success sample: 56 type: int time_created: description: - The date and time the resource was created in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339. - '**Example:** `2016-07-22T17:23:59:60Z`' returned: on success sample: '2013-10-20T19:20:30+01:00' type: str version: description: - Version is the never-repeating, totally-orderable, version of the zone, from which the serial field of the zone's SOA record is derived. returned: on success sample: version_example type: str view_id: description: - The OCID of the private view containing the zone. This value will be null for zones in the global DNS, which are publicly resolvable and not part of a private view. returned: on success sample: ocid1.view.oc1..xxxxxxEXAMPLExxxxxx type: str zone_transfer_servers: contains: address: description: - The server's IP address (IPv4 or IPv6). returned: on success sample: address_example type: str is_transfer_destination: description: - A Boolean flag indicating whether or not the server is a zone data transfer destination. returned: on success sample: true type: bool is_transfer_source: description: - A Boolean flag indicating whether or not the server is a zone data transfer source. returned: on success sample: true type: bool port: description: - The server's port. returned: on success sample: 56 type: int description: - The OCI nameservers that transfer the zone data with external nameservers. returned: on success type: complex zone_type: description: - The type of the zone. Must be either `PRIMARY` or `SECONDARY`. `SECONDARY` is only supported for GLOBAL zones. returned: on success sample: PRIMARY type: str description: - Details of the Zone resource acted upon by the current operation returned: on success sample: compartment_id: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx defined_tags: Operations: CostCenter: US external_masters: - address: address_example port: 56 tsig_key_id: ocid1.tsigkey.oc1..xxxxxxEXAMPLExxxxxx freeform_tags: Department: Finance id: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx is_protected: true lifecycle_state: ACTIVE name: name_example nameservers: - hostname: hostname_example scope: GLOBAL self_uri: _self_example serial: 56 time_created: '2013-10-20T19:20:30+01:00' version: version_example view_id: ocid1.view.oc1..xxxxxxEXAMPLExxxxxx zone_transfer_servers: - address: address_example is_transfer_destination: true is_transfer_source: true port: 56 zone_type: PRIMARY type: complex