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 等现代网络浏览器中确定是否进行 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)

返回值

描述

返回值

布尔值

名称是否有效。

返回: success

作者

  • Vladimir Botka (@vbotka)

提示

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