Руководство по фильтрам 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