community.general.fqdn_valid 测试 – 根据 RFC 1123 验证完全限定域名

注意

此测试插件是 community.general 集合(版本 10.1.0)的一部分。

如果您使用的是 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general。您需要更多要求才能使用此测试插件,有关详细信息,请参阅要求

要在 playbook 中使用它,请指定:community.general.fqdn_valid

community.general 8.1.0 新增

概要

  • 此测试验证符合互联网工程任务组规范 RFC 1123 和 RFC 952 的完全限定域名 (FQDN)。

  • 设计意图是验证一个字符串是否传统上可以被 RFC 兼容软件接受为公共互联网主机名,这是 Mozilla Firefox 和 Chromium 等现代 Web 浏览器中确定是否进行 DNS 查找的逻辑的严格子集。

  • Let’s Encrypt 等证书颁发机构运行一套更窄的字符串验证逻辑来确定颁发的有效性。此测试并非旨在实现与 CA 颁发的功能对等。

  • 默认情况下允许单个标签名称(min_labels=1)。

要求

在执行此测试的本地控制器节点上需要以下要求。

  • fqdn>=1.5.1 (PyPI)

输入

这描述了测试的输入,即 is community.general.fqdn_validis not community.general.fqdn_valid 之前的值。

参数

注释

输入

字符串 / 必需

主机名。

关键字参数

这描述了测试的关键字参数。这些是在以下示例中 key1=value1key2=value2 等值:input is community.general.fqdn_valid(key1=value1, key2=value2, ...)input is not community.general.fqdn_valid(key1=value1, key2=value2, ...)

参数

注释

allow_underscores

布尔值

允许下划线字符。

选择

  • false ← (默认)

  • true

min_labels

整数

标签的必需最小值,以句点分隔。

默认值: 1

示例

- name: Make sure that hostname is valid
  ansible.builtin.assert:
    that: hostname is community.general.fqdn_valid

- name: Make sure that hostname is at least 3 labels long (a.b.c)
  ansible.builtin.assert:
    that: hostname is community.general.fqdn_valid(min_labels=3)

- name: Make sure that hostname is at least 2 labels long (a.b). Allow '_'
  ansible.builtin.assert:
    that: hostname is community.general.fqdn_valid(min_labels=2, allow_underscores=True)

返回值

描述

返回值

布尔值

名称是否有效。

返回:成功

作者

  • Vladimir Botka (@vbotka)

提示

每个条目类型的配置条目具有从低到高的优先级顺序。例如,列表中较低的变量将覆盖较高的变量。