Community.Dns 过滤器指南

community.dns 集合 提供了几个用于处理 DNS 名称的过滤器

这些过滤器允许使用 公共后缀公共后缀 是一个 DNS 后缀,用户可以在其下直接注册名称。它们使用 公共后缀列表,这是一个 Mozilla 发起的社区资源维护的项目,旨在列出所有此类公共后缀。公共后缀的常见示例是 .com.net,以及更长的后缀,例如 .co.uk.github.io

公共后缀之前的标签以及后缀一起被称为可注册域名已注册域名,因为这些通常是人们可以注册的名称。可注册域名的示例是 example.comexample.co.uk,而 www.example.com 不是可注册域名。公共后缀本身也不是可注册域名,例如 github.io

该集合还包含用于处理 TXT 记录的过滤器

使用公共后缀

community.dns.get_public_suffixcommunity.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。这将未知顶级域名视为有效的公共后缀。例如,如果此值为 true,则 example.tlddoesnotexist 的公共后缀为 .tlddoesnotexist。如果设置为 false,则在这种情况下它将返回空字符串。此选项对应于是否使用公共后缀列表中的全局通配符规则 *

icann_only:

布尔值,默认值为 false。这控制是否仅使用公共后缀列表中 ICANN 部分的条目,或者也使用 Private 部分的条目。例如,.co.uk 位于 ICANN 部分,但 github.io 位于 Private 部分。

normalize_result:

(仅适用于 community.dns.get_public_suffix)布尔值,默认值为 false。这控制结果是否从查找过程中使用的规范化名称重建。在规范化过程中,ulabels 转换为 alabels,并且每个标签都转换为小写。例如,ulabel ëçãmplê 转换为 xn--mpl-llatwb(puny-code),而 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_domaincommunity.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。这将未知的顶级域名 (TLD) 视为有效的公共后缀。例如,如果此值为true,则example.tlddoesnotexist 的公共后缀为 .tlddoesnotexist,因此 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。这控制着结果是否由查找过程中使用的规范化名称重建。在规范化过程中,ulabel 将转换为 alabel,并且每个标签都将转换为小写。例如,ulabel ëçãmplê 将转换为 xn--mpl-llatwb(Punycode),而 Example.COM 将转换为 example.com

keep_trailing_period:

(仅适用于 community.dns.remove_registrable_domain) 一个布尔值,默认值为false。这控制着前缀(即可注册域名之前的部分)的尾随句点是否保留。