Skip to content

Releases: ultradns/ultradns-ansible

v1.1.0

21 Mar 02:58
d606ce7

Choose a tag to compare

Release Summary

This release introduces three new modules. The new modules provide fact-gathering functionalities, enabling users to retrieve zone information, specific zone metadata, and DNS record sets from within their playbooks.

New Modules

  • zone_facts
    Retrieves a list of zones from UltraDNS via the /v3/zones endpoint. This module supports cursor-based pagination and offers filtering options by parameters such as name, type, status, account, and network. The gathered data is returned as Ansible facts under ansible_facts.zones.

  • zone_meta_facts
    Fetches metadata for specific zones by sending GET requests to the /v3/zones/{zone_name} endpoint. Users can supply a list of zone names, and the module will query each one individually. It gracefully handles cases where a zone is not found and returns the metadata as Ansible facts under ansible_facts.zone_meta.

  • record_facts
    Retrieves DNS record sets (RRsets) for a given zone using the /v3/zones/{zoneName}/rrsets endpoint. This module supports offset-based pagination and accepts several filtering parameters including ttl, owner, value, kind, reverse, and sys_generated. The complete list of RRSet records is returned as Ansible facts under ansible_facts.record_facts.

Additional Information

These modules are built in line with Ansible best practices for fact gathering and have been designed to provide clear separation between data retrieval and state-changing operations.

Examples

For detailed usage instructions and examples, please refer to the respective module documentation within the collection, and refer to the demonstration playbooks in the examples directory.

v1.0.3

05 Mar 21:02
93c2e4a

Choose a tag to compare

What's New?

This release introduces improvements such as a refactored connection module, a fix for solo record playbook re-runs, and new functionality to update TTL values without requiring rdata.

Enhancements & Fixes

Refactored Base Connection Module (Issue #5)

  • The connection module has been updated to use ultra_rest_client instead of a custom requests wrapper. Integrating the official SDK ensures there are no functionality gaps, streamlines the development process and eliminates redundant code.

Fixed Solo Record Playbook Re-run Issue (Issue #3)

  • Previously, re-running a playbook without modifying rdata would result in an error:

    fatal: [localhost]: FAILED! => {"msg": "At least one field must be specified: rdata or profile"}
    
  • This has been resolved.

    Before:

    PLAY [Create Solo A Record in UltraDNS]
    TASK [Replace with solo A record]
    fatal: [localhost]: FAILED! => {"msg": "At least one field must be specified: rdata or profile"}
    

    After:

    PLAY [Create Solo A Record in UltraDNS]
    TASK [Replace with solo A record]
    ok: [localhost]
    

Added PATCH Functionality for TTL Updates (Issue #6)

  • Users can now update only the TTL of an existing record without modifying rdata.
  • Example playbook for updating TTL:
    - name: Update only the TTL of an existing record
      ultradns.ultradns.record:
        zone: example.com.
        name: test
        type: A
        ttl: 7200
        state: present
        provider: "{{ ultra_provider }}"

How to Upgrade

To update your Ansible collection, run:

ansible-galaxy collection install ultradns.ultradns --force

Additionally, ensure you've installed the ultra_rest_client with pip (or pipx):

pip install ultra_rest_client

v1.0.2

19 Dec 17:59

Choose a tag to compare

Fix v4 and v6 IP address comparisons
CNAME and SOA records update improvements

v1.0.1

16 Dec 23:04

Choose a tag to compare

fix formatting issues in the README when displayed on Galaxy

v1.0.0

16 Dec 22:46

Choose a tag to compare

  • Module documentation cleanup
  • Refactoring of the base UltraDNSModule class

v0.5.0

13 Dec 17:31

Choose a tag to compare

documentation cleanup and refactoring

v0.1.0

13 Dec 02:41

Choose a tag to compare

v0.1.0 First release of UltraDNS collection for Ansible