Adjust YAML in plugin docs (#10234)

* Adjust YAML in plugin docs.

* Update ignore.txt.

* Forgot two indents.

* adjust connection plugins
adjust filter plugins
adjust inventory plugins
adjust lookup plugins

* Re-add YAML document start.

---------

Co-authored-by: Alexei Znamensky <russoz@gmail.com>
This commit is contained in:
Felix Fontein 2025-06-16 17:46:01 +02:00 committed by GitHub
parent e8f965fbf8
commit d032de3b16
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 903 additions and 859 deletions

View file

@ -99,7 +99,7 @@ options:
section: paramiko_connection
type: boolean
look_for_keys:
default: True
default: true
description: "Set to V(false) to disable searching for private key files in C(~/.ssh/)."
env:
- name: ANSIBLE_PARAMIKO_LOOK_FOR_KEYS
@ -119,7 +119,7 @@ options:
vars:
- name: ansible_paramiko_proxy_command
record_host_keys:
default: True
default: true
description: "Save the host keys to a file."
env:
- name: ANSIBLE_PARAMIKO_RECORD_HOST_KEYS
@ -147,7 +147,7 @@ options:
use_persistent_connections:
description: "Toggles the use of persistence for connections."
type: boolean
default: False
default: false
env:
- name: ANSIBLE_USE_PERSISTENT_CONNECTIONS
ini:

View file

@ -5,7 +5,7 @@
from __future__ import (absolute_import, division, print_function)
DOCUMENTATION = '''
DOCUMENTATION = r"""
name: to_prettytable
short_description: Format a list of dictionaries as an ASCII table
version_added: "10.7.0"
@ -37,9 +37,9 @@ options:
For example, V({'name': 'left', 'id': 'right'}) will align the C(name) column to the left
and the C(id) column to the right.
type: dictionary
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
---
- name: Set a list of users
ansible.builtin.set_fact:
@ -104,13 +104,13 @@ EXAMPLES = '''
column_alignments={'name': 'center', 'age': 'right', 'role': 'left'}
)
}}
'''
"""
RETURN = '''
RETURN = r"""
_value:
description: The formatted ASCII table.
type: string
'''
"""
try:
import prettytable

View file

@ -5,24 +5,24 @@
# SPDX-License-Identifier: GPL-3.0-or-later
from __future__ import annotations
DOCUMENTATION = '''
author: Orion Poplawski (@opoplawski)
name: cobbler
short_description: Cobbler inventory source
version_added: 1.0.0
description:
DOCUMENTATION = r"""
author: Orion Poplawski (@opoplawski)
name: cobbler
short_description: Cobbler inventory source
version_added: 1.0.0
description:
- Get inventory hosts from the cobbler service.
- "Uses a configuration file as an inventory source, it must end in C(.cobbler.yml) or C(.cobbler.yaml) and have a C(plugin: cobbler) entry."
- Adds the primary IP addresses to C(cobbler_ipv4_address) and C(cobbler_ipv6_address) host variables if defined in Cobbler. The primary IP address is
defined as the management interface if defined, or the interface who's DNS name matches the hostname of the system, or else the first interface found.
extends_documentation_fragment:
extends_documentation_fragment:
- inventory_cache
options:
options:
plugin:
description: The name of this plugin, it should always be set to V(community.general.cobbler) for this plugin to recognize it as its own.
type: string
required: true
choices: [ 'cobbler', 'community.general.cobbler' ]
choices: ['cobbler', 'community.general.cobbler']
url:
description: URL to cobbler.
type: string
@ -84,14 +84,14 @@ DOCUMENTATION = '''
- By default the networking hostname is used if defined, otherwise the DNS name of the management or first non-static interface.
- If set to V(system), the cobbler system name is used.
type: str
choices: [ 'hostname', 'system' ]
choices: ['hostname', 'system']
default: hostname
version_added: 7.1.0
group_by:
description: Keys to group hosts by.
type: list
elements: string
default: [ 'mgmt_classes', 'owners', 'status' ]
default: ['mgmt_classes', 'owners', 'status']
group:
description: Group to place all hosts into.
default: cobbler
@ -114,18 +114,18 @@ DOCUMENTATION = '''
- "Set to V(normal) to gather only system-level variables."
- "Set to V(as_rendered) to gather all variables as rolled up by Cobbler."
type: string
choices: [ 'normal', 'as_rendered' ]
choices: ['normal', 'as_rendered']
default: normal
version_added: 10.7.0
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
# my.cobbler.yml
plugin: community.general.cobbler
url: http://cobbler/cobbler_api
user: ansible-tester
password: secure
'''
"""
import socket

View file

@ -7,19 +7,19 @@
from __future__ import annotations
DOCUMENTATION = '''
name: gitlab_runners
author:
DOCUMENTATION = r"""
name: gitlab_runners
author:
- Stefan Heitmüller (@morph027) <stefan.heitmueller@gmx.com>
short_description: Ansible dynamic inventory plugin for GitLab runners.
requirements:
short_description: Ansible dynamic inventory plugin for GitLab runners.
requirements:
- python-gitlab > 1.8.0
extends_documentation_fragment:
extends_documentation_fragment:
- constructed
description:
description:
- Reads inventories from the GitLab API.
- Uses a YAML configuration file gitlab_runners.[yml|yaml].
options:
options:
plugin:
description: The name of this plugin, it should always be set to 'gitlab_runners' for this plugin to recognize it as its own.
type: str
@ -54,9 +54,9 @@ DOCUMENTATION = '''
description: Toggle to (not) include all available nodes metadata
type: bool
default: true
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
---
# gitlab_runners.yml
plugin: community.general.gitlab_runners
@ -79,7 +79,7 @@ keyed_groups:
# hint: labels containing special characters will be converted to safe names
- key: 'tag_list'
prefix: tag
'''
"""
from ansible.errors import AnsibleError, AnsibleParserError
from ansible.plugins.inventory import BaseInventoryPlugin, Constructable

View file

@ -6,19 +6,19 @@
from __future__ import annotations
DOCUMENTATION = '''
name: icinga2
short_description: Icinga2 inventory source
version_added: 3.7.0
author:
DOCUMENTATION = r"""
name: icinga2
short_description: Icinga2 inventory source
version_added: 3.7.0
author:
- Cliff Hults (@BongoEADGC6) <cliff.hults@gmail.com>
description:
description:
- Get inventory hosts from the Icinga2 API.
- "Uses a configuration file as an inventory source, it must end in
C(.icinga2.yml) or C(.icinga2.yaml)."
extends_documentation_fragment:
extends_documentation_fragment:
- constructed
options:
options:
strict:
version_added: 4.4.0
compose:
@ -68,9 +68,9 @@ DOCUMENTATION = '''
type: boolean
default: true
version_added: 8.4.0
'''
"""
EXAMPLES = r'''
EXAMPLES = r"""
# my.icinga2.yml
plugin: community.general.icinga2
url: http://localhost:5665
@ -93,7 +93,7 @@ compose:
# set 'ansible_user' and 'ansible_port' from icinga2 host vars
ansible_user: icinga2_attributes.vars.ansible_user
ansible_port: icinga2_attributes.vars.ansible_port | default(22)
'''
"""
import json

View file

@ -6,7 +6,7 @@
from __future__ import annotations
DOCUMENTATION = r'''
DOCUMENTATION = r"""
name: iocage
short_description: iocage inventory source
version_added: 10.2.0
@ -110,9 +110,9 @@ notes:
expects to find the O(hooks_results) items in the path
C(/iocage/iocage/jails/<name>/root). If you mount the C(poolname) to a
different path the easiest remedy is to create a symlink.
'''
"""
EXAMPLES = r'''
EXAMPLES = r"""
---
# file name must end with iocage.yaml or iocage.yml
plugin: community.general.iocage
@ -182,7 +182,7 @@ compose:
ansible_host: iocage_hooks.0
groups:
test: inventory_hostname.startswith('test')
'''
"""
import re
import os

View file

@ -5,23 +5,23 @@
from __future__ import annotations
DOCUMENTATION = r'''
name: linode
author:
DOCUMENTATION = r"""
name: linode
author:
- Luke Murphy (@decentral1se)
short_description: Ansible dynamic inventory plugin for Linode.
requirements:
short_description: Ansible dynamic inventory plugin for Linode.
requirements:
- linode_api4 >= 2.0.0
description:
description:
- Reads inventories from the Linode API v4.
- Uses a YAML configuration file that ends with linode.(yml|yaml).
- Linode labels are used by default as the hostnames.
- The default inventory groups are built from groups (deprecated by
Linode) and not tags.
extends_documentation_fragment:
extends_documentation_fragment:
- constructed
- inventory_cache
options:
options:
cache:
version_added: 4.5.0
cache_plugin:
@ -75,9 +75,9 @@ DOCUMENTATION = r'''
version_added: 2.0.0
keyed_groups:
version_added: 2.0.0
'''
"""
EXAMPLES = r'''
EXAMPLES = r"""
---
# Minimal example. `LINODE_ACCESS_TOKEN` is exposed in environment.
plugin: community.general.linode
@ -124,7 +124,7 @@ access_token: foobar
ip_style: api
compose:
ansible_host: "ipv4 | community.general.json_query('[?public==`false`].address') | first"
'''
"""
from ansible.errors import AnsibleError
from ansible.plugins.inventory import BaseInventoryPlugin, Constructable, Cacheable

View file

@ -5,23 +5,23 @@
from __future__ import annotations
DOCUMENTATION = r'''
name: lxd
short_description: Returns Ansible inventory from lxd host
description:
DOCUMENTATION = r"""
name: lxd
short_description: Returns Ansible inventory from lxd host
description:
- Get inventory from the lxd.
- Uses a YAML configuration file that ends with 'lxd.(yml|yaml)'.
version_added: "3.0.0"
author: "Frank Dornheim (@conloos)"
requirements:
version_added: "3.0.0"
author: "Frank Dornheim (@conloos)"
requirements:
- ipaddress
- lxd >= 4.0
options:
options:
plugin:
description: Token that ensures this is a source file for the 'lxd' plugin.
type: string
required: true
choices: [ 'community.general.lxd' ]
choices: ['community.general.lxd']
url:
description:
- The unix domain socket path or the https URL for the lxd server.
@ -32,13 +32,13 @@ DOCUMENTATION = r'''
client_key:
description:
- The client certificate key file path.
aliases: [ key_file ]
aliases: [key_file]
default: $HOME/.config/lxc/client.key
type: path
client_cert:
description:
- The client certificate file path.
aliases: [ cert_file ]
aliases: [cert_file]
default: $HOME/.config/lxc/client.crt
type: path
server_cert:
@ -68,7 +68,7 @@ DOCUMENTATION = r'''
description: Filter the instance according to the current status.
type: str
default: none
choices: [ 'STOPPED', 'STARTING', 'RUNNING', 'none' ]
choices: ['STOPPED', 'STARTING', 'RUNNING', 'none']
project:
description: Filter the instance according to the given project.
type: str
@ -80,7 +80,7 @@ DOCUMENTATION = r'''
- The first version of the inventory only supported containers.
type: str
default: container
choices: [ 'virtual-machine', 'container', 'both' ]
choices: ['virtual-machine', 'container', 'both']
version_added: 4.2.0
prefered_instance_network_interface:
description:
@ -98,15 +98,15 @@ DOCUMENTATION = r'''
- Specify V(inet) for IPv4 and V(inet6) for IPv6.
type: str
default: inet
choices: [ 'inet', 'inet6' ]
choices: ['inet', 'inet6']
groupby:
description:
- Create groups by the following keywords C(location), C(network_range), C(os), C(pattern), C(profile), C(release), C(type), C(vlanid).
- See example for syntax.
type: dict
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
---
# simple lxd.yml
plugin: community.general.lxd
@ -165,7 +165,7 @@ groupby:
projectInternals:
type: project
attribute: internals
'''
"""
import json
import re

View file

@ -5,18 +5,18 @@
from __future__ import annotations
DOCUMENTATION = '''
author: Unknown (!UNKNOWN)
name: nmap
short_description: Uses nmap to find hosts to target
description:
DOCUMENTATION = r"""
author: Unknown (!UNKNOWN)
name: nmap
short_description: Uses nmap to find hosts to target
description:
- Uses a YAML configuration file with a valid YAML extension.
extends_documentation_fragment:
extends_documentation_fragment:
- constructed
- inventory_cache
requirements:
requirements:
- nmap CLI installed
options:
options:
plugin:
description: token that ensures this is a source file for the 'nmap' plugin.
type: string
@ -96,11 +96,11 @@ DOCUMENTATION = '''
type: boolean
default: true
version_added: 7.4.0
notes:
notes:
- At least one of O(ipv4) or O(ipv6) is required to be V(true); both can be V(true), but they cannot both be V(false).
- 'TODO: add OS fingerprinting'
'''
EXAMPLES = '''
"""
EXAMPLES = r"""
---
# inventory.config file in YAML format
plugin: community.general.nmap
@ -122,7 +122,7 @@ exclude: 192.168.0.1, web.example.com
port: 22, 443
groups:
web_servers: "ports | selectattr('port', 'equalto', '443')"
'''
"""
import os
import re

View file

@ -5,14 +5,14 @@
from __future__ import annotations
DOCUMENTATION = r'''
name: online
author:
DOCUMENTATION = r"""
name: online
author:
- Remy Leone (@remyleone)
short_description: Scaleway (previously Online SAS or Online.net) inventory source
description:
short_description: Scaleway (previously Online SAS or Online.net) inventory source
description:
- Get inventory hosts from Scaleway (previously Online SAS or Online.net).
options:
options:
plugin:
description: token that ensures this is a source file for the 'online' plugin.
type: string
@ -45,9 +45,9 @@ DOCUMENTATION = r'''
- location
- offer
- rpn
'''
"""
EXAMPLES = r'''
EXAMPLES = r"""
# online_inventory.yml file in YAML format
# Example command line: ansible-inventory --list -i online_inventory.yml
@ -58,7 +58,7 @@ groups:
- location
- offer
- rpn
'''
"""
import json
from sys import version as python_version

View file

@ -6,25 +6,25 @@
from __future__ import annotations
DOCUMENTATION = r'''
name: opennebula
author:
DOCUMENTATION = r"""
name: opennebula
author:
- Kristian Feldsam (@feldsam)
short_description: OpenNebula inventory source
version_added: "3.8.0"
extends_documentation_fragment:
short_description: OpenNebula inventory source
version_added: "3.8.0"
extends_documentation_fragment:
- constructed
description:
description:
- Get inventory hosts from OpenNebula cloud.
- Uses an YAML configuration file ending with either C(opennebula.yml) or C(opennebula.yaml)
to set parameter values.
- Uses O(api_authfile), C(~/.one/one_auth), or E(ONE_AUTH) pointing to a OpenNebula credentials file.
options:
options:
plugin:
description: Token that ensures this is a source file for the 'opennebula' plugin.
type: string
required: true
choices: [ community.general.opennebula ]
choices: [community.general.opennebula]
api_url:
description:
- URL of the OpenNebula RPC server.
@ -74,9 +74,9 @@ DOCUMENTATION = r'''
description: Create host groups by vm labels
type: bool
default: true
'''
"""
EXAMPLES = r'''
EXAMPLES = r"""
# inventory_opennebula.yml file in YAML format
# Example command line: ansible-inventory --list -i inventory_opennebula.yml
@ -84,7 +84,7 @@ EXAMPLES = r'''
plugin: community.general.opennebula
api_url: https://opennebula:2633/RPC2
filter_by_label: Cache
'''
"""
try:
import pyone

View file

@ -6,16 +6,16 @@
from __future__ import annotations
DOCUMENTATION = r'''
name: scaleway
author:
DOCUMENTATION = r"""
name: scaleway
author:
- Remy Leone (@remyleone)
short_description: Scaleway inventory source
description:
short_description: Scaleway inventory source
description:
- Get inventory hosts from Scaleway.
requirements:
requirements:
- PyYAML
options:
options:
plugin:
description: Token that ensures this is a source file for the 'scaleway' plugin.
required: true
@ -70,9 +70,9 @@ DOCUMENTATION = r'''
L(Scaleway API, https://developer.scaleway.com/#servers-server-get)
can be used.'
type: dict
'''
"""
EXAMPLES = r'''
EXAMPLES = r"""
# scaleway_inventory.yml file in YAML format
# Example command line: ansible-inventory --list -i scaleway_inventory.yml
@ -110,7 +110,7 @@ variables:
ansible_host: public_ip.address
ansible_connection: "'ssh'"
ansible_user: "'admin'"
'''
"""
import os
import json

View file

@ -5,20 +5,20 @@
from __future__ import annotations
DOCUMENTATION = '''
author: Unknown (!UNKNOWN)
name: virtualbox
short_description: virtualbox inventory source
description:
DOCUMENTATION = r"""
author: Unknown (!UNKNOWN)
name: virtualbox
short_description: virtualbox inventory source
description:
- Get inventory hosts from the local virtualbox installation.
- Uses a YAML configuration file that ends with virtualbox.(yml|yaml) or vbox.(yml|yaml).
- The inventory_hostname is always the 'Name' of the virtualbox instance.
- Groups can be assigned to the VMs using C(VBoxManage). Multiple groups can be assigned by using V(/) as a delimeter.
- A separate parameter, O(enable_advanced_group_parsing) is exposed to change grouping behaviour. See the parameter documentation for details.
extends_documentation_fragment:
extends_documentation_fragment:
- constructed
- inventory_cache
options:
options:
plugin:
description: token that ensures this is a source file for the 'virtualbox' plugin
type: string
@ -52,9 +52,9 @@ DOCUMENTATION = '''
default: false
type: bool
version_added: 9.2.0
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
---
# file must be named vbox.yaml or vbox.yml
plugin: community.general.virtualbox
@ -69,7 +69,7 @@ compose:
plugin: community.general.virtualbox
groups:
container: "'minis' in (inventory_hostname)"
'''
"""
import os

View file

@ -39,8 +39,30 @@ options:
- V(CAA) has been added in community.general 6.3.0.
type: str
default: 'A'
choices: [A, ALL, AAAA, CAA, CNAME, DNAME, DNSKEY, DS, HINFO, LOC, MX, NAPTR, NS, NSEC3PARAM, PTR, RP, RRSIG, SOA, SPF,
SRV, SSHFP, TLSA, TXT]
choices:
- A
- ALL
- AAAA
- CAA
- CNAME
- DNAME
- DNSKEY
- DS
- HINFO
- LOC
- MX
- NAPTR
- NS
- NSEC3PARAM
- PTR
- RP
- RRSIG
- SOA
- SPF
- SRV
- SSHFP
- TLSA
- TXT
flat:
description: If 0 each record is returned as a dictionary, otherwise a string.
type: int

View file

@ -6,14 +6,14 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
name: a_module
short_description: Test whether a given string refers to an existing module or action plugin
version_added: 4.0.0
author: Felix Fontein (@felixfontein)
description:
name: a_module
short_description: Test whether a given string refers to an existing module or action plugin
version_added: 4.0.0
author: Felix Fontein (@felixfontein)
description:
- Test whether a given string refers to an existing module or action plugin.
- This can be useful in roles, which can use this to ensure that required modules are present ahead of time.
options:
options:
_input:
description: A string denoting a fully qualified collection name (FQCN) of a module or action plugin.
type: string
@ -34,7 +34,7 @@ EXAMPLES = '''
'''
RETURN = '''
_value:
_value:
description: Whether the module or action plugin denoted by the input exists.
type: boolean
'''

View file

@ -6,12 +6,12 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
name: ansible_type
short_description: Validate input type
version_added: "9.2.0"
author: Vladimir Botka (@vbotka)
description: This test validates input type.
options:
name: ansible_type
short_description: Validate input type
version_added: "9.2.0"
author: Vladimir Botka (@vbotka)
description: This test validates input type.
options:
_input:
description: Input data.
type: raw
@ -27,10 +27,10 @@ DOCUMENTATION = '''
'''
EXAMPLES = '''
# Substitution converts str to AnsibleUnicode or _AnsibleTaggedStr
# ----------------------------------------------------------------
---
# String. AnsibleUnicode or _AnsibleTaggedStr.
dtype:
- AnsibleUnicode
@ -39,6 +39,7 @@ data: "abc"
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true
---
# String. AnsibleUnicode/_AnsibleTaggedStr alias str.
alias: {"AnsibleUnicode": "str", "_AnsibleTaggedStr": "str"}
dtype: str
@ -46,6 +47,7 @@ data: "abc"
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true
---
# List. All items are AnsibleUnicode/_AnsibleTaggedStr.
dtype:
- list[AnsibleUnicode]
@ -54,6 +56,7 @@ data: ["a", "b", "c"]
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true
---
# Dictionary. All keys and values are AnsibleUnicode/_AnsibleTaggedStr.
dtype:
- dict[AnsibleUnicode, AnsibleUnicode]
@ -65,41 +68,49 @@ result: '{{ data is community.general.ansible_type(dtype) }}'
# No substitution and no alias. Type of strings is str
# ----------------------------------------------------
---
# String
dtype: str
result: '{{ "abc" is community.general.ansible_type(dtype) }}'
# result => true
---
# Integer
dtype: int
result: '{{ 123 is community.general.ansible_type(dtype) }}'
# result => true
---
# Float
dtype: float
result: '{{ 123.45 is community.general.ansible_type(dtype) }}'
# result => true
---
# Boolean
dtype: bool
result: '{{ true is community.general.ansible_type(dtype) }}'
# result => true
---
# List. All items are strings.
dtype: list[str]
result: '{{ ["a", "b", "c"] is community.general.ansible_type(dtype) }}'
# result => true
---
# List of dictionaries.
dtype: list[dict]
result: '{{ [{"a": 1}, {"b": 2}] is community.general.ansible_type(dtype) }}'
# result => true
---
# Dictionary. All keys are strings. All values are integers.
dtype: dict[str, int]
result: '{{ {"a": 1} is community.general.ansible_type(dtype) }}'
# result => true
---
# Dictionary. All keys are strings. All values are integers.
dtype: dict[str, int]
result: '{{ {"a": 1, "b": 2} is community.general.ansible_type(dtype) }}'
@ -108,6 +119,7 @@ result: '{{ {"a": 1, "b": 2} is community.general.ansible_type(dtype) }}'
# Type of strings is AnsibleUnicode, _AnsibleTaggedStr, or str
# ------------------------------------------------------------
---
# Dictionary. The keys are integers or strings. All values are strings.
alias:
AnsibleUnicode: str
@ -118,6 +130,7 @@ data: {1: 'a', 'b': 'b'}
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true
---
# Dictionary. All keys are integers. All values are keys.
alias:
AnsibleUnicode: str
@ -128,6 +141,7 @@ data: {1: 'a', 2: 'b'}
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true
---
# Dictionary. All keys are strings. Multiple types values.
alias:
AnsibleUnicode: str
@ -135,10 +149,11 @@ alias:
_AnsibleTaggedInt: int
_AnsibleTaggedFloat: float
dtype: dict[str, bool|dict|float|int|list|str]
data: {'a': 1, 'b': 1.1, 'c': 'abc', 'd': True, 'e': ['x', 'y', 'z'], 'f': {'x': 1, 'y': 2}}
data: {'a': 1, 'b': 1.1, 'c': 'abc', 'd': true, 'e': ['x', 'y', 'z'], 'f': {'x': 1, 'y': 2}}
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true
---
# List. Multiple types items.
alias:
AnsibleUnicode: str
@ -146,25 +161,28 @@ alias:
_AnsibleTaggedInt: int
_AnsibleTaggedFloat: float
dtype: list[bool|dict|float|int|list|str]
data: [1, 2, 1.1, 'abc', True, ['x', 'y', 'z'], {'x': 1, 'y': 2}]
data: [1, 2, 1.1, 'abc', true, ['x', 'y', 'z'], {'x': 1, 'y': 2}]
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true
# Option dtype is list
# --------------------
---
# AnsibleUnicode, _AnsibleTaggedStr, or str
dtype: ['AnsibleUnicode', '_AnsibleTaggedStr', 'str']
data: abc
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true
---
# float or int
dtype: ['float', 'int', "_AnsibleTaggedInt", "_AnsibleTaggedFloat"]
data: 123
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true
---
# float or int
dtype: ['float', 'int', "_AnsibleTaggedInt", "_AnsibleTaggedFloat"]
data: 123.45
@ -174,6 +192,7 @@ result: '{{ data is community.general.ansible_type(dtype) }}'
# Multiple alias
# --------------
---
# int alias number
alias:
int: number
@ -185,6 +204,7 @@ data: 123
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true
---
# float alias number
alias:
int: number
@ -198,7 +218,7 @@ result: '{{ data is community.general.ansible_type(dtype, alias) }}'
'''
RETURN = '''
_value:
_value:
description: Whether the data type is valid.
type: bool
'''

View file

@ -17,13 +17,13 @@ else:
DOCUMENTATION = '''
name: fqdn_valid
short_description: Validates fully-qualified domain names against RFC 1123
version_added: 8.1.0
author: Vladimir Botka (@vbotka)
requirements:
name: fqdn_valid
short_description: Validates fully-qualified domain names against RFC 1123
version_added: 8.1.0
author: Vladimir Botka (@vbotka)
requirements:
- fqdn>=1.5.1 (PyPI)
description:
description:
- This test validates Fully Qualified Domain Names (FQDNs)
conforming to the Internet Engineering Task Force specification
RFC 1123 and RFC 952.
@ -37,7 +37,7 @@ DOCUMENTATION = '''
test is not intended to achieve functional parity with CA
issuance.
- Single label names are allowed by default (O(min_labels=1)).
options:
options:
_input:
description: Name of the host.
type: str
@ -69,7 +69,7 @@ EXAMPLES = '''
'''
RETURN = '''
_value:
_value:
description: Whether the name is valid.
type: bool
'''

View file

@ -17,4 +17,5 @@ plugins/modules/parted.py validate-modules:parameter-state-invalid-choice
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
plugins/modules/udm_user.py import-3.11 # Uses deprecated stdlib library 'crypt'
plugins/modules/xfconf.py validate-modules:return-syntax-error
plugins/test/ansible_type.py yamllint:unparsable-with-libyaml
tests/unit/plugins/modules/test_gio_mime.yaml no-smart-quotes

View file

@ -18,4 +18,5 @@ plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
plugins/modules/udm_user.py import-3.11 # Uses deprecated stdlib library 'crypt'
plugins/modules/udm_user.py import-3.12 # Uses deprecated stdlib library 'crypt'
plugins/modules/xfconf.py validate-modules:return-syntax-error
plugins/test/ansible_type.py yamllint:unparsable-with-libyaml
tests/unit/plugins/modules/test_gio_mime.yaml no-smart-quotes