Releases: ultradns/ultradns-ansible
v1.1.0
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/zonesendpoint. This module supports cursor-based pagination and offers filtering options by parameters such asname,type,status,account, andnetwork. The gathered data is returned as Ansible facts underansible_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 underansible_facts.zone_meta. -
record_facts
Retrieves DNS record sets (RRsets) for a given zone using the/v3/zones/{zoneName}/rrsetsendpoint. This module supports offset-based pagination and accepts several filtering parameters includingttl,owner,value,kind,reverse, andsys_generated. The complete list of RRSet records is returned as Ansible facts underansible_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
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_clientinstead of a customrequestswrapper. 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
rdatawould 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 --forceAdditionally, ensure you've installed the ultra_rest_client with pip (or pipx):
pip install ultra_rest_clientv1.0.2
Fix v4 and v6 IP address comparisons
CNAME and SOA records update improvements
v1.0.1
fix formatting issues in the README when displayed on Galaxy
v1.0.0
- Module documentation cleanup
- Refactoring of the base UltraDNSModule class
v0.5.0
documentation cleanup and refactoring
v0.1.0
v0.1.0 First release of UltraDNS collection for Ansible