Модуль community.general.ipa_dnsrecord — управление записями DNS FreeIPA
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general.
Чтобы использовать её в плейбуке, укажите: community.general.ipa_dnsrecord.
Краткое описание
- Добавление, изменение и удаление записи DNS IPA с помощью API IPA.
Параметры
Параметр | Комментарии |
|---|---|
exclusive boolean добавлено в community.general 12.6.0 | Должны ли указанные значения записи быть единственными для данного типа и имени записи. Если Если Если Если Варианты:
|
ipa_host string | IP-адрес или имя узла сервера IPA. Если значение не указано в задаче, вместо него используется значение переменной окружения Если в задаче не указаны ни переменная окружения Необходимая запись в FreeIPA — это запись Если в задаче недоступны ни запись DNS, ни переменная окружения По умолчанию: |
ipa_pass string | Пароль пользователя-администратора. Если значение не указано в задаче, вместо него используется значение переменной окружения Обратите внимание: если доступна библиотека Если доступна переменная окружения Если доступна переменная окружения Если GSSAPI недоступен, необходимо использовать |
ipa_port integer | Порт сервера FreeIPA / IPA. Если значение не указано в задаче, вместо него используется значение переменной окружения Если в задаче не указаны ни переменная окружения По умолчанию: |
ipa_prot string | Протокол, используемый сервером IPA. Если значение не указано в задаче, вместо него используется значение переменной окружения Если в задаче не указаны ни переменная окружения Варианты:
|
ipa_timeout integer | Задает время ожидания бездействия (в секундах) для подключения. Для массовых операций это значение можно увеличить, чтобы избежать тайм-аута со стороны сервера IPA. Если значение не указано в задаче, вместо него используется значение переменной окружения Если в задаче не указаны ни переменная окружения По умолчанию: |
ipa_user string | Учётная запись администратора, используемая на сервере IPA. Если значение не указано в задаче, вместо него используется значение переменной окружения Если в задаче не указаны ни переменная окружения По умолчанию: |
record_name псевдонимы: name string / обязательный | Имя записи DNS, которой нужно управлять. |
record_ttl integer | Задает TTL записи. Применяется только при добавлении новой записи или изменении значения |
record_type string | Тип записи DNS. Поддержка Поддержка Варианты:
|
record_value string | Управляет записью DNS, задавая это значение. Не может использоваться вместе с Используйте Для записей типа Для записи типа Для записи типа Для записи типа Для записи типа Для записи типа Для записи типа Для записи типа Для записи типа Для записи типа |
record_values list / элементы=string | Управляет записью DNS, задавая это значение. Не может использоваться вместе с Для записей типа Для записи типа Для записи типа Для записи типа Для записи типа Для записи типа Для записи типа Для записи типа Для записи типа Для записи типа |
state string | Требуемое состояние. Варианты:
|
validate_certs boolean | Применяется только, если Если установлено значение Значение Варианты:
|
zone_name string / обязательный | Имя зоны DNS, в которой нужно управлять записью DNS. |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: нет | В режиме diff возвращает сведения об изменениях (или о возможных изменениях в |
Примечания
Примечание
- Этот модуль использует JSON-RPC поверх HTTP(S) для взаимодействия с сервером FreeIPA. Если необходимо присоединить управляемый узел к области FreeIPA, можно воспользоваться коллекцией freeipa.ansible_freeipa, однако для управления развёртыванием требуется доступ к оболочке одного из узлов области.
Примеры
- 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 an SRV record is added without replacing existing ones
community.general.ipa_dnsrecord:
ipa_host: spider.example.com
ipa_pass: Passw0rd!
state: present
zone_name: example.com
record_name: _etcd-server-ssl._tcp.cloud.example.com.
record_type: 'SRV'
record_value: '0 10 2380 etcd-0.cloud.example.com.'
exclusive: false
- 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!
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже приведены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
dnsrecord dictionary | Запись DNS, возвращённая API IPA. Возвращается: всегда |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/ipa_dnsrecord_module.html