mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-06-28 03:00:23 -07:00
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:
parent
e8f965fbf8
commit
d032de3b16
22 changed files with 903 additions and 859 deletions
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
'''
|
||||
|
|
|
@ -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
|
||||
'''
|
||||
|
|
|
@ -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
|
||||
'''
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue