community.general.fqdn_valid test – Validates fully-qualified domain names against RFC 1123
Note
This test plugin is part of the community.general collection (version 9.4.0).
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
You need further requirements to be able to use this test plugin,
see Requirements for details.
To use it in a playbook, specify: community.general.fqdn_valid
.
New in community.general 8.1.0
Synopsis
This test validates Fully Qualified Domain Names (FQDNs) conforming to the Internet Engineering Task Force specification RFC 1123 and RFC 952.
The design intent is to validate that a string would be traditionally acceptable as a public Internet hostname to RFC-conforming software, which is a strict subset of the logic in modern web browsers like Mozilla Firefox and Chromium that determines whether make a DNS lookup.
Certificate Authorities like Let’s Encrypt run a narrower set of string validation logic to determine validity for issuance. This test is not intended to achieve functional parity with CA issuance.
Single label names are allowed by default (
min_labels=1
).
Requirements
The below requirements are needed on the local controller node that executes this test.
fqdn>=1.5.1 (PyPI)
Input
This describes the input of the test, the value before is community.general.fqdn_valid
or is not community.general.fqdn_valid
.
Parameter |
Comments |
---|---|
Name of the host. |
Keyword parameters
This describes keyword parameters of the test. These are the values key1=value1
, key2=value2
and so on in the following
examples: input is community.general.fqdn_valid(key1=value1, key2=value2, ...)
and input is not community.general.fqdn_valid(key1=value1, key2=value2, ...)
Parameter |
Comments |
---|---|
Allow underscore characters. Choices:
|
|
Required minimum of labels, separated by period. Default: |
Examples
- 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)
Return Value
Key |
Description |
---|---|
Whether the name is valid. Returned: success |