Spec-Zone.ru › Ansible

Руководство по фильтрам Community.Dns

  • Работа с публичными суффиксами
  • Работа с регистрируемыми доменными именами

Коллекция community.dns предлагает несколько фильтров для работы с DNS-именами:

  • community.dns.get_public_suffix: принимает доменное имя и возвращает публичный суффикс;
  • community.dns.get_registrable_domain: принимает доменное имя и возвращает регистрируемое доменное имя;
  • community.dns.remove_public_suffix: принимает доменное имя и возвращает часть перед публичным суффиксом;
  • community.dns.remove_registrable_domain: принимает доменное имя и возвращает часть перед регистрируемым доменным именем.

Эти фильтры позволяют работать с публичными суффиксами; публичный суффикс — это суффикс DNS, в рамках которого пользователи могут (или могли бы) непосредственно регистрировать имена. Фильтры используют список публичных суффиксов — инициативу Mozilla, поддерживаемую сообществом и предназначенную для перечисления всех таких публичных суффиксов. Типичные примеры публичных суффиксов: .com, .net, а также более длинные суффиксы, например .co.uk или .github.io.

Метка, непосредственно предшествующая публичному суффиксу, вместе с этим суффиксом называется регистрируемым доменным именем или зарегистрированным доменным именем, поскольку обычно именно такие имена люди могут зарегистрировать. Примеры регистрируемых доменных имён: example.com и example.co.uk, тогда как www.example.com не является регистрируемым доменным именем. Сам публичный суффикс также не является регистрируемым доменным именем, например github.io.

Коллекция также содержит фильтры для работы с TXT-записями:

  • community.dns.quote_txt: заключает строку в кавычки для использования в качестве TXT-записи;
  • community.dns.unquote_txt: извлекает значение из (заключённой в кавычки) TXT-записи.

Работа с публичными суффиксами

Фильтры community.dns.get_public_suffix и community.dns.remove_public_suffix позволяют извлекать и удалять публичные суффиксы из DNS-имён:

- assert:
    that:
      - >-
        "www.ansible.com" | community.dns.get_public_suffix == ".com"
      - >-
        "some.random.prefixes.ansible.co.uk" | community.dns.get_public_suffix == ".co.uk"
      - >-
        "www.ansible.com" | community.dns.remove_public_suffix == "www.ansible"
      - >-
        "some.random.prefixes.ansible.co.uk" | community.dns.remove_public_suffix == "some.random.prefixes.ansible"

Фильтры также поддерживают дополнительные параметры (именованные аргументы):

keep_unknown_suffix:

Логическое значение, по умолчанию true. При этом неизвестные домены верхнего уровня считаются допустимыми публичными суффиксами. Например, публичный суффикс example.tlddoesnotexist — это .tlddoesnotexist, если задано значение true. Если задано значение false, в этом случае будет возвращена пустая строка. Этот параметр определяет, используется ли глобальное правило подстановочного знака * из списка публичных суффиксов.

icann_only:

Логическое значение, по умолчанию false. Определяет, используются ли только записи из раздела ICANN списка публичных суффиксов или также записи из раздела Private. Например, .co.uk находится в разделе ICANN, а github.io — в разделе Private.

normalize_result:

(Только для community.dns.get_public_suffix) Логическое значение, по умолчанию false. Определяет, восстанавливается ли результат из нормализованного имени, использованного при поиске. При нормализации u-метки преобразуются в a-метки, а все метки переводятся в нижний регистр. Например, u-метка ëçãmplê преобразуется в xn--mpl-llatwb (punycode), а Example.COM — в example.com.

keep_leading_period:

(Только для community.dns.get_public_suffix) Логическое значение, по умолчанию true. Определяет, сохраняется ли точка в начале публичного суффикса.

keep_trailing_period:

(Только для community.dns.remove_public_suffix) Логическое значение, по умолчанию false. Определяет, сохраняется ли точка в конце префикса (то есть части перед публичным суффиксом).

Работа с регистрируемыми доменными именами

Фильтры community.dns.get_registrable_domain и community.dns.remove_registrable_domain позволяют извлекать и удалять регистрируемые доменные имена из DNS-имён:

- assert:
    that:
      - >-
        "www.ansible.com" | community.dns.get_registrable_domain == "ansible.com"
      - >-
        "some.random.prefixes.ansible.co.uk" | community.dns.get_registrable_domain == "ansible.co.uk"
      - >-
        "www.ansible.com" | community.dns.remove_registrable_domain == "www"
      - >-
        "some.random.prefixes.ansible.co.uk" | community.dns.remove_registrable_domain == "some.random.prefixes"

Фильтры также поддерживают дополнительные параметры (именованные аргументы):

keep_unknown_suffix:

Логическое значение, по умолчанию true. При этом неизвестные домены верхнего уровня считаются допустимыми публичными суффиксами. Например, публичный суффикс example.tlddoesnotexist — это .tlddoesnotexist, если задано значение true, поэтому регистрируемый домен www.example.tlddoesnotexist — это example.tlddoesnotexist. Если задано значение false, регистрируемый домен www.example.tlddoesnotexist — это tlddoesnotexist. Этот параметр определяет, используется ли глобальное правило подстановочного знака * из списка публичных суффиксов.

icann_only:

Логическое значение, по умолчанию false. Определяет, используются ли только записи из раздела ICANN списка публичных суффиксов или также записи из раздела Private. Например, .co.uk находится в разделе ICANN, а github.io — в разделе Private.

only_if_registerable:

Логическое значение, по умолчанию true. Определяет поведение в случае, когда перед публичным суффиксом нет метки. Это происходит, если DNS-имя само является публичным суффиксом. Если задано значение false, в этом случае публичный суффикс считается регистрируемым доменом. Если задано значение true (по умолчанию), регистрируемый домен публичного суффикса интерпретируется как пустая строка.

normalize_result:

(Только для community.dns.get_registrable_domain) Логическое значение, по умолчанию false. Определяет, восстанавливается ли результат из нормализованного имени, использованного при поиске. При нормализации u-метки преобразуются в a-метки, а все метки переводятся в нижний регистр. Например, u-метка ëçãmplê преобразуется в xn--mpl-llatwb (punycode), а Example.COM — в example.com.

keep_trailing_period:

(Только для community.dns.remove_registrable_domain) Логическое значение, по умолчанию false. Определяет, сохраняется ли точка в конце префикса (то есть части перед регистрируемым доменом).

© 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/dns/docsite/filter_guide.html

Spec-Zone.ru

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