community.general.ipa_dnsrecord module – Manage FreeIPA DNS records
Note
This module is part of the community.general collection (version 9.5.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.ipa_dnsrecord
.
Synopsis
- Add, modify and delete an IPA DNS Record using IPA API.
Parameters
Parameter | Comments |
---|---|
ipa_host string | IP or hostname of IPA server. If the value is not specified in the task, the value of environment variable If both the environment variable The relevant entry needed in FreeIPA is the If neither the DNS entry, nor the environment Default: |
ipa_pass string | Password of administrative user. If the value is not specified in the task, the value of environment variable Note that if the If the environment variable If the environment variable If GSSAPI is not available, the usage of |
ipa_port integer | Port of FreeIPA / IPA server. If the value is not specified in the task, the value of environment variable If both the environment variable Default: |
ipa_prot string | Protocol used by IPA server. If the value is not specified in the task, the value of environment variable If both the environment variable Choices:
|
ipa_timeout integer | Specifies idle timeout (in seconds) for the connection. For bulk operations, you may want to increase this in order to avoid timeout from IPA server. If the value is not specified in the task, the value of environment variable If both the environment variable Default: |
ipa_user string | Administrative account used on IPA server. If the value is not specified in the task, the value of environment variable If both the environment variable Default: |
record_name aliases: name string / required | The DNS record name to manage. |
record_ttl integer | Set the TTL for the record. Applies only when adding a new or changing the value of |
record_type string | The type of DNS record name. Support for Support for Choices:
|
record_value string | Manage DNS record name with this value. Mutually exclusive with Use In the case of In the case of In the case of In the case of In the case of In the case of In the case of In the case of In the case of In the case of |
record_values list / elements=string | Manage DNS record name with this value. Mutually exclusive with In the case of In the case of In the case of In the case of In the case of In the case of In the case of In the case of In the case of In the case of |
state string | State to ensure Choices:
|
validate_certs boolean | This only applies if If set to This should only set to Choices:
|
zone_name string / required | The DNS zone name to which DNS record needs to be managed. |
Attributes
Attribute | Support | Description |
---|---|---|
check_mode | Support: full | Can run in |
diff_mode | Support: none | Will return details on what has changed (or possibly needs changing in |
Examples
- name: Ensure dns record is present community.general.ipa_dnsrecord: ipa_host: spider.example.com ipa_pass: Passw0rd! state: present zone_name: example.com record_name: vm-001 record_type: 'AAAA' record_value: '::1' - name: Ensure that dns records exists with a TTL community.general.ipa_dnsrecord: name: host02 zone_name: example.com record_type: 'AAAA' record_values: '::1,fe80::1' record_ttl: 300 ipa_host: ipa.example.com ipa_pass: topsecret state: present - name: Ensure a PTR record is present community.general.ipa_dnsrecord: ipa_host: spider.example.com ipa_pass: Passw0rd! state: present zone_name: 2.168.192.in-addr.arpa record_name: 5 record_type: 'PTR' record_value: 'internal.ipa.example.com' - name: Ensure a TXT record is present community.general.ipa_dnsrecord: ipa_host: spider.example.com ipa_pass: Passw0rd! state: present zone_name: example.com record_name: _kerberos record_type: 'TXT' record_value: 'EXAMPLE.COM' - name: Ensure an SRV record is present community.general.ipa_dnsrecord: ipa_host: spider.example.com ipa_pass: Passw0rd! state: present zone_name: example.com record_name: _kerberos._udp.example.com record_type: 'SRV' record_value: '10 50 88 ipa.example.com' - name: Ensure an MX records are present community.general.ipa_dnsrecord: ipa_host: spider.example.com ipa_pass: Passw0rd! state: present zone_name: example.com record_name: '@' record_type: 'MX' record_values: - '1 mailserver-01.example.com' - '2 mailserver-02.example.com' - name: Ensure that dns record is removed community.general.ipa_dnsrecord: name: host01 zone_name: example.com record_type: 'AAAA' record_value: '::1' ipa_host: ipa.example.com ipa_user: admin ipa_pass: topsecret state: absent - name: Ensure an NS record for a subdomain is present community,general.ipa_dnsrecord: name: subdomain zone_name: example.com record_type: 'NS' record_value: 'ns1.subdomain.exmaple.com' ipa_host: ipa.example.com ipa_user: admin ipa_pass: ChangeMe! - name: Retrieve the current sshfp fingerprints ansible.builtin.command: ssh-keyscan -D localhost register: ssh_hostkeys - name: Update the SSHFP records in DNS community.general.ipa_dnsrecord: name: "{{ inventory_hostname}}" zone_name: example.com record_type: 'SSHFP' record_values: "{{ ssh_hostkeys.stdout.split('\n') | map('split', 'SSHFP ') | map('last') | list }}" ipa_host: ipa.example.com ipa_user: admin ipa_pass: ChangeMe!
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Description |
---|---|
dnsrecord dictionary | DNS record as returned by IPA API. Returned: always |
Collection links
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/ipa_dnsrecord_module.html