DNS

Configure and use the OneFuse DNS module with Red Hat Ansible

To learn more about this OneFuse module, refer to DNS.

Prerequisites

  1. Configure OneFuse Manager
  2. 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).