Spec-Zone.ru › Ansible

Модуль 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

Должны ли указанные значения записи быть единственными для данного типа и имени записи.

Если state=present и true, указанный record_value или record_values заменит все существующие записи с тем же типом и именем.

Если state=present и false, указанные значения будут добавлены к существующим записям с тем же типом и именем, при этом неуказанные значения сохранятся.

Если state=absent и true, все существующие записи с тем же типом и именем будут удалены независимо от указанного record_value или record_values.

Если state=absent и false, из записи будут удалены только указанные значения, а остальные существующие значения сохранятся.

Варианты:

  • false
  • true ← (по умолчанию)

ipa_host

string

IP-адрес или имя узла сервера IPA.

Если значение не указано в задаче, вместо него используется значение переменной окружения IPA_HOST.

Если в задаче не указаны ни переменная окружения IPA_HOST, ни значение, для обнаружения сервера FreeIPA используется DNS.

Необходимая запись в FreeIPA — это запись ipa-ca.

Если в задаче недоступны ни запись DNS, ни переменная окружения IPA_HOST, ни значение, используется значение по умолчанию.

По умолчанию: "ipa.example.com"

ipa_pass

string

Пароль пользователя-администратора.

Если значение не указано в задаче, вместо него используется значение переменной окружения IPA_PASS.

Обратите внимание: если доступна библиотека urllib_gssapi, для аутентификации в FreeIPA можно использовать GSSAPI.

Если доступна переменная окружения KRB5CCNAME, модуль использует этот кэш учётных данных Kerberos для аутентификации на сервере FreeIPA.

Если доступна переменная окружения KRB5_CLIENT_KTNAME, а KRB5CCNAME — нет, модуль использует этот файл keytab Kerberos для аутентификации.

Если GSSAPI недоступен, необходимо использовать ipa_pass.

ipa_port

integer

Порт сервера FreeIPA / IPA.

Если значение не указано в задаче, вместо него используется значение переменной окружения IPA_PORT.

Если в задаче не указаны ни переменная окружения IPA_PORT, ни значение, устанавливается значение по умолчанию.

По умолчанию: 443

ipa_prot

string

Протокол, используемый сервером IPA.

Если значение не указано в задаче, вместо него используется значение переменной окружения IPA_PROT.

Если в задаче не указаны ни переменная окружения IPA_PROT, ни значение, устанавливается значение по умолчанию.

Варианты:

  • "http"
  • "https" ← (по умолчанию)

ipa_timeout

integer

Задает время ожидания бездействия (в секундах) для подключения.

Для массовых операций это значение можно увеличить, чтобы избежать тайм-аута со стороны сервера IPA.

Если значение не указано в задаче, вместо него используется значение переменной окружения IPA_TIMEOUT.

Если в задаче не указаны ни переменная окружения IPA_TIMEOUT, ни значение, устанавливается значение по умолчанию.

По умолчанию: 10

ipa_user

string

Учётная запись администратора, используемая на сервере IPA.

Если значение не указано в задаче, вместо него используется значение переменной окружения IPA_USER.

Если в задаче не указаны ни переменная окружения IPA_USER, ни значение, устанавливается значение по умолчанию.

По умолчанию: "admin"

record_name

псевдонимы: name

string / обязательный

Имя записи DNS, которой нужно управлять.

record_ttl

integer

Задает TTL записи.

Применяется только при добавлении новой записи или изменении значения record_value либо record_values.

record_type

string

Тип записи DNS.

Поддержка NS добавлена в community.general 8.2.0.

Поддержка SSHFP добавлена в community.general 9.1.0.

Варианты:

  • "A" ← (по умолчанию)
  • "AAAA"
  • "A6"
  • "CNAME"
  • "DNAME"
  • "MX"
  • "NS"
  • "PTR"
  • "SRV"
  • "TXT"
  • "SSHFP"

record_value

string

Управляет записью DNS, задавая это значение.

Не может использоваться вместе с record_values; необходимо указать ровно один параметр из record_value и record_values.

Используйте record_values, если необходимо указать несколько значений.

Для записей типа A или AAAA это IP-адрес.

Для записи типа A6 это данные записи A6.

Для записи типа CNAME это имя узла.

Для записи типа DNAME это целевой объект DNAME.

Для записи типа NS это имя узла сервера имён. Для этого имени узла уже должна существовать допустимая запись A или AAAA.

Для записи типа PTR это имя узла.

Для записи типа TXT это текст.

Для записи типа SRV это запись службы.

Для записи типа MX это запись почтового обменника.

Для записи типа SSHFP это запись отпечатка SSH.

record_values

list / элементы=string

Управляет записью DNS, задавая это значение.

Не может использоваться вместе с record_value; необходимо указать ровно один параметр из record_value и record_values.

Для записей типа A или AAAA это IP-адрес.

Для записи типа A6 это данные записи A6.

Для записи типа CNAME это имя узла.

Для записи типа DNAME это целевой объект DNAME.

Для записи типа NS это имя узла сервера имён. Для этого имени узла уже должна существовать допустимая запись A или AAAA.

Для записи типа PTR это имя узла.

Для записи типа TXT это текст.

Для записи типа SRV это запись службы.

Для записи типа MX это запись почтового обменника.

Для записи типа SSHFP это запись отпечатка SSH.

state

string

Требуемое состояние.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

validate_certs

boolean

Применяется только, если ipa_prot имеет значение https.

Если установлено значение false, SSL-сертификаты не проверяются.

Значение false следует устанавливать только для личных сайтов, контролируемых вами и использующих самоподписанные сертификаты.

Варианты:

  • false
  • true ← (по умолчанию)

zone_name

string / обязательный

Имя зоны DNS, в которой нужно управлять записью DNS.

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой объект.

diff_mode

Поддержка: нет

В режиме diff возвращает сведения об изменениях (или о возможных изменениях в check_mode).

Примечания

Примечание

  • Этот модуль использует 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.

Возвращается: всегда

Авторы

  • Abhijeet Kasurde (@Akasurde)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Задать вопрос
  • Сообщить об ошибке
  • Предложить новую функцию
  • Общение

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API