DNS
Configure and use the OneFuse DNS module with Red Hat Ansible
2 minute read
To learn more about this OneFuse module, refer to DNS.
Prerequisites
- Configure OneFuse Manager
- Review an overview on OneFuse Modules with OneFuse Ansible Module
Ansible OneFuse Module name
- Ansible OneFuse Module name for this OneFuse Module is:
dns
present
Register DNS Record(s) for a resource.
Sample Play
- name: OneFuse DNS - present
hosts: localhost
gather_facts: false
vars:
policy_name: <REPLACEME_with_OneFusePolicyName>
name: <REPLACEME_with_hostname> #{{ onefuse_name.name }}
ip_address: <REPLACEME_with_ipAddress> #{{ onefuse_ipam.ipAddress }}
zones: <REPLACEME_with_zones> #{{ onefuse_ipam.dnsSuffix }}
tasks:
- name: Register DNS Record(s)
onefuse:
module: dns
state: present
policy_name: '{{ policy_name }}'
name: '{{ name }}'
value: '{{ ip_address }}'
zones: '{{ zones }}'
template_properties: '{}'
tracking_id: '{{ tracking_id | default(omit) }}'
delegate_to: localhost
register: output
- name: Output Results
debug:
msg: '{{ output }}'
- name: "Pass DNS Outputs to workflow"
set_stats:
data:
onefuse_dns: '{{ onefuse_dns }}'
tracking_id: '{{ tracking_id }}'
Parameter references
The following defines the function of each DNS specific task parameters for onefuse.
| Parameter Name | Required? | Notes |
|---|---|---|
module |
Required | OneFuse Module Name (string). Module names for OneFuse modules. |
state |
Required | present for provision, or the appropriate “update” state for the OneFuse Module. |
policy_name |
Required | OneFuse Module Policy Name (string). |
template_properties |
Optional | Additional properties that are referenced within the Policy. Python dict format. |
tracking_id |
Optional | Tracking ID (string) to link multiple OneFuse Policy Executions and resulting OneFuse Managed Objects together. If none is passed, one gets generated by OneFuse for that specific Policy Execution. |
DNS specific parameters:
| Parameter Name | Required? | Notes |
|---|---|---|
name |
Required | Hostname |
ip_address |
Required | IP Address |
zones |
Required | Array of DNS Zones (comma separated). For example: ['example.com', 'example2.com'] |
absent
Unregister DNS Record(s) for a resource.
Sample Play
- name: OneFuse DNS - absent
hosts: '{{ ansible_hosts }}'
gather_facts: false
tasks:
- name: Unregister DNS Record(s)
onefuse:
module: dns
state: absent
object_name: '{{ onefuse_dns.id | default(omit) }}'
delegate_to: localhost
register: output
- name: Output Results
debug:
msg: '{{ output }}'
Parameter references
The following defines the function of the task parameters for onefuse.
| Parameter Name | Required? | Notes |
|---|---|---|
module |
Required | OneFuse Module Name (string). Module names for OneFuse modules. |
state |
Required | absent for deprovision |
object_name |
Required | OneFuse Managed Object ID (string). |