Fix various sanity errors in plugins (#71736)

* Fix various sanity errors in plugins.

* Revert callback_type -> type transform.

* Undo paramiko_ssh 'connection' change, since this discrepancy is hardcoded in the plugin loader.

* Standardize on name and type (for callbacks).

* Fix existing author entries.

* Add 'Unknown (!UNKNOWN)' as author when author is missing.

* These are actually parsed as integers in the code.

* Revert "Add 'Unknown (!UNKNOWN)' as author when author is missing."

This reverts commit 29d1438aca.
pull/72138/head
Felix Fontein 4 years ago committed by GitHub
parent 960e4c0809
commit aff78f4cbc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -5,7 +5,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
become: runas
name: runas
short_description: Run As user
description:
- This become plugins allows your remote/login user to execute commands as another user via the windows runas facility.

@ -5,7 +5,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
become: su
name: su
short_description: Substitute User
description:
- This become plugins allows your remote/login user to execute commands as another user via the su utility.

@ -5,7 +5,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
become: sudo
name: sudo
short_description: Substitute User DO
description:
- This become plugins allows your remote/login user to execute commands as another user via the sudo utility.

@ -7,7 +7,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
cache: jsonfile
name: jsonfile
short_description: JSON formatted files.
description:
- This cache uses JSON formatted, per host, files saved to the filesystem.

@ -7,7 +7,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
cache: memory
name: memory
short_description: RAM backed, non persistent
description:
- RAM backed cache that is not persistent.

@ -6,7 +6,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
callback: default
name: default
type: stdout
short_description: default Ansible screen output
version_added: historical

@ -6,7 +6,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
callback: junit
name: junit
type: aggregate
short_description: write playbook output to a JUnit file.
version_added: historical

@ -7,7 +7,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
callback: minimal
name: minimal
type: stdout
short_description: minimal Ansible screen output
version_added: historical

@ -7,7 +7,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
callback: oneline
name: oneline
type: stdout
short_description: oneline Ansible screen output
version_added: historical

@ -6,8 +6,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
callback: tree
callback_type: notification
name: tree
type: notification
requirements:
- invoked in the command line
short_description: Save host events to files

@ -6,7 +6,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
connection: local
name: local
short_description: execute on controller
description:
- This connection plugin allows ansible to execute tasks on the Ansible 'controller' instead of on a remote host.

@ -6,7 +6,7 @@ __metaclass__ = type
DOCUMENTATION = """
author: Ansible Core Team
connection: paramiko
name: paramiko
short_description: Run tasks via python ssh (paramiko)
description:
- Use the python ssh implementation (Paramiko) to connect to targets

@ -6,7 +6,7 @@ __metaclass__ = type
DOCUMENTATION = """
author: Ansible Core Team
connection: psrp
name: psrp
short_description: Run tasks over Microsoft PowerShell Remoting Protocol
description:
- Run commands or put/fetch on a target via PSRP (WinRM plugin)

@ -8,7 +8,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
connection: ssh
name: ssh
short_description: connect via ssh client binary
description:
- This connection plugin allows ansible to communicate to the target machines via normal ssh command line.

@ -7,7 +7,7 @@ __metaclass__ = type
DOCUMENTATION = """
author: Ansible Core Team
connection: winrm
name: winrm
short_description: Run tasks over Microsoft's WinRM
description:
- Run commands or put/fetch on a target via WinRM

@ -5,7 +5,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
inventory: advanced_host_list
name: advanced_host_list
version_added: "2.4"
short_description: Parses a 'host list' with ranges
description:

@ -6,9 +6,9 @@ __metaclass__ = type
DOCUMENTATION = '''
name: auto
plugin_type: inventory
author:
- Matt Davis <@nitzmahone>
- Matt Davis (@nitzmahone)
version_added: "2.5"
short_description: Loads and executes an inventory plugin specified in a YAML config
description:
- By whitelisting C(auto) inventory plugin, any YAML inventory config file with a

@ -6,7 +6,6 @@ __metaclass__ = type
DOCUMENTATION = '''
name: constructed
plugin_type: inventory
version_added: "2.4"
short_description: Uses Jinja2 to construct vars and groups based on existing inventory.
description:

@ -6,7 +6,6 @@ __metaclass__ = type
DOCUMENTATION = '''
name: generator
plugin_type: inventory
version_added: "2.6"
short_description: Uses Jinja2 to construct hosts and groups from patterns
description:

@ -5,7 +5,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = r'''
inventory: host_list
name: host_list
version_added: "2.4"
short_description: Parses a 'host list' string
description:

@ -4,7 +4,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
inventory: ini
name: ini
version_added: "2.4"
short_description: Uses an Ansible INI file as inventory source.
description:

@ -6,7 +6,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
inventory: script
name: script
version_added: "2.4"
short_description: Executes an inventory script that returns JSON
options:

@ -5,7 +5,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = r'''
inventory: toml
name: toml
version_added: "2.8"
short_description: Uses a specific TOML file as an inventory source.
description:
@ -153,7 +153,7 @@ class InventoryModule(BaseFileInventoryPlugin):
NAME = 'toml'
def _parse_group(self, group, group_data):
if not isinstance(group_data, (MutableMapping, type(None))):
if group_data is not None and not isinstance(group_data, MutableMapping):
self.display.warning("Skipping '%s' as this is not a valid group definition" % group)
return

@ -5,7 +5,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
inventory: yaml
name: yaml
version_added: "2.4"
short_description: Uses a specific YAML file as an inventory source.
description:

@ -4,8 +4,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: config
author: Ansible Core
name: config
author: Ansible Core Team
version_added: "2.5"
short_description: Lookup current Ansible configuration values
description:
@ -53,6 +53,7 @@ RETURN = """
_raw:
description:
- value(s) of the key(s) in the config
type: raw
"""
from ansible import constants as C

@ -5,7 +5,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: csvfile
name: csvfile
author: Jan-Piet Mens (@jpmens) <jpmens(at)gmail.com>
version_added: "1.5"
short_description: read data from a TSV or CSV file
@ -61,6 +61,8 @@ RETURN = """
_raw:
description:
- value(s) stored in file column
type: list
elements: str
"""
import codecs

@ -5,7 +5,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: dict
name: dict
version_added: "1.5"
short_description: returns key/value pair items from dictionaries
description:

@ -5,7 +5,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: env
name: env
author: Jan-Piet Mens (@jpmens) <jpmens(at)gmail.com>
version_added: "0.9"
short_description: Read the value of environment variables

@ -5,8 +5,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: file
author: Daniel Hokka Zakrisson <daniel@hozac.com>
name: file
author: Daniel Hokka Zakrisson (!UNKNOWN) <daniel@hozac.com>
version_added: "0.9"
short_description: read file contents
description:
@ -45,6 +45,8 @@ RETURN = """
_raw:
description:
- content of file(s)
type: list
elements: str
"""
from ansible.errors import AnsibleError, AnsibleParserError

@ -5,8 +5,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: fileglob
author: Michael DeHaan <michael.dehaan@gmail.com>
name: fileglob
author: Michael DeHaan
version_added: "1.4"
short_description: list files matching a pattern
description:
@ -41,6 +41,8 @@ RETURN = """
_list:
description:
- list of files
type: list
elements: path
"""
import os

@ -5,8 +5,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: first_found
author: Seth Vidal <skvidal@fedoraproject.org>
name: first_found
author: Seth Vidal (!UNKNOWN) <skvidal@fedoraproject.org>
version_added: historical
short_description: return first file found from list
description:
@ -99,6 +99,8 @@ RETURN = """
_raw:
description:
- path to file found
type: list
elements: path
"""
import os

@ -5,8 +5,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: indexed_items
author: Michael DeHaan <michael.dehaan@gmail.com>
name: indexed_items
author: Michael DeHaan
version_added: "1.3"
short_description: rewrites lists to return 'indexed items'
description:
@ -31,6 +31,7 @@ RETURN = """
description:
- list with each item.0 giving you the position and item.1 the value
type: list
elements: list
"""
from ansible.errors import AnsibleError

@ -5,8 +5,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: ini
author: Yannig Perre <yannig.perre(at)gmail.com>
name: ini
author: Yannig Perre (!UNKNOWN) <yannig.perre(at)gmail.com>
version_added: "2.0"
short_description: read data from a ini file
description:
@ -56,6 +56,8 @@ RETURN = """
_raw:
description:
- value(s) of the key(s) in the ini file
type: list
elements: str
"""
import os
import re

@ -7,10 +7,10 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: inventory_hostnames
name: inventory_hostnames
author:
- Michael DeHaan <michael.dehaan@gmail.com>
- Steven Dossett <sdossett@panath.com>
- Michael DeHaan
- Steven Dossett (!UNKNOWN) <sdossett@panath.com>
version_added: "1.3"
short_description: list of inventory hosts matching a host pattern
description:

@ -5,8 +5,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: items
author: Michael DeHaan <michael.dehaan@gmail.com>
name: items
author: Michael DeHaan
version_added: historical
short_description: list of items
description:

@ -6,8 +6,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: lines
author: Daniel Hokka Zakrisson <daniel@hozac.com>
name: lines
author: Daniel Hokka Zakrisson (!UNKNOWN) <daniel@hozac.com>
version_added: "0.9"
short_description: read lines from command
description:
@ -37,6 +37,8 @@ RETURN = """
_list:
description:
- lines of stdout from command
type: list
elements: str
"""
import subprocess

@ -7,8 +7,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: list
author: Ansible core team
name: list
author: Ansible Core Team
version_added: "2.0"
short_description: simply returns what it is given.
description:
@ -27,6 +27,8 @@ EXAMPLES = """
RETURN = """
_list:
description: basically the same as you fed in
type: list
elements: raw
"""
from ansible.module_utils.common._collections_compat import Sequence

@ -5,7 +5,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: nested
name: nested
version_added: "1.1"
short_description: composes a list with nested elements of other lists
description:

@ -7,12 +7,12 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: password
name: password
version_added: "1.1"
author:
- Daniel Hokka Zakrisson <daniel@hozac.com>
- Javier Candeira <javier@candeira.com>
- Maykel Moya <mmoya@speedyrails.com>
- Daniel Hokka Zakrisson (!UNKNOWN) <daniel@hozac.com>
- Javier Candeira (!UNKNOWN) <javier@candeira.com>
- Maykel Moya (!UNKNOWN) <mmoya@speedyrails.com>
short_description: retrieve or generate a random password, stored in a file
description:
- Generates a random plaintext password and stores it in a file at a given filepath.
@ -95,6 +95,8 @@ RETURN = """
_raw:
description:
- a password
type: list
elements: str
"""
import os

@ -5,8 +5,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = r"""
lookup: pipe
author: Daniel Hokka Zakrisson <daniel@hozac.com>
name: pipe
author: Daniel Hokka Zakrisson (!UNKNOWN) <daniel@hozac.com>
version_added: "0.9"
short_description: read output from a command
description:
@ -40,6 +40,8 @@ RETURN = r"""
_string:
description:
- stdout from command
type: list
elements: str
"""
import subprocess

@ -5,8 +5,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: random_choice
author: Michael DeHaan <michael.dehaan@gmail.com>
name: random_choice
author: Michael DeHaan
version_added: "1.1"
short_description: return random element from list
description:
@ -30,6 +30,7 @@ RETURN = """
_raw:
description:
- random item
type: raw
"""
import random

@ -5,8 +5,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: sequence
author: Jayson Vantuyl <jayson@aggressive.ly>
name: sequence
author: Jayson Vantuyl (!UNKNOWN) <jayson@aggressive.ly>
version_added: "1.0"
short_description: generate a list based on a number sequence
description:
@ -21,18 +21,18 @@ DOCUMENTATION = """
start:
description: number at which to start the sequence
default: 0
type: number
type: integer
end:
description: number at which to end the sequence, dont use this with count
type: number
type: integer
default: 0
count:
description: number of elements in the sequence, this is not to be used with end
type: number
type: integer
default: 0
stride:
description: increments between sequence numbers, the default is 1 unless the end is less than the start, then it is -1.
type: number
type: integer
format:
description: return a string with the generated number formatted in
"""
@ -74,6 +74,7 @@ RETURN = """
description:
- A list containing generated sequence of items
type: list
elements: str
"""
from re import compile as re_compile, IGNORECASE

@ -5,8 +5,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: subelements
author: Serge van Ginderachter <serge@vanginderachter.be>
name: subelements
author: Serge van Ginderachter (!UNKNOWN) <serge@vanginderachter.be>
version_added: "1.4"
short_description: traverse nested key from a list of dictionaries
description:

@ -6,8 +6,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: template
author: Michael DeHaan <michael.dehaan@gmail.com>
name: template
author: Michael DeHaan
version_added: "0.9"
short_description: retrieve contents of file after templating with Jinja2
description:
@ -55,6 +55,8 @@ EXAMPLES = """
RETURN = """
_raw:
description: file(s) content after templating
type: list
elements: raw
"""
from copy import deepcopy

@ -5,8 +5,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: together
author: Bradley Young <young.bradley@gmail.com>
name: together
author: Bradley Young (!UNKNOWN) <young.bradley@gmail.com>
version_added: '1.3'
short_description: merges lists into synchronized list
description:
@ -32,6 +32,8 @@ EXAMPLES = """
RETURN = """
_list:
description: synchronized list
type: list
elements: list
"""
from ansible.errors import AnsibleError
from ansible.module_utils.six.moves import zip_longest

@ -4,8 +4,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: unvault
author: ansible core team
name: unvault
author: Ansible Core Team
version_added: "2.10"
short_description: read vaulted file(s) contents
description:
@ -26,6 +26,8 @@ RETURN = """
_raw:
description:
- content of file(s) as bytes
type: list
elements: raw
"""
from ansible.errors import AnsibleParserError

@ -5,7 +5,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: url
name: url
author: Brian Coca (@bcoca)
version_added: "1.9"
short_description: return contents from URL
@ -50,7 +50,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_FORCE
ini:
- section: url_lookup
- key: force
key: force
timeout:
description: How long to wait for the server to send data before giving up
type: float
@ -62,7 +62,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_TIMEOUT
ini:
- section: url_lookup
- key: timeout
key: timeout
http_agent:
description: User-Agent to use in the request
type: string
@ -73,7 +73,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_AGENT
ini:
- section: url_lookup
- key: agent
key: agent
force_basic_auth:
description: Force basic authentication
type: boolean
@ -85,7 +85,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_AGENT
ini:
- section: url_lookup
- key: agent
key: agent
follow_redirects:
description: String of urllib2, all/yes, safe, none to determine how redirects are followed, see RedirectHandlerFactory for more information
type: string
@ -97,7 +97,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_FOLLOW_REDIRECTS
ini:
- section: url_lookup
- key: follow_redirects
key: follow_redirects
use_gssapi:
description: Use GSSAPI handler of requests
type: boolean
@ -109,7 +109,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_USE_GSSAPI
ini:
- section: url_lookup
- key: use_gssapi
key: use_gssapi
unix_socket:
description: String of file system path to unix socket file to use when establishing connection to the provided url
type: string
@ -120,7 +120,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_UNIX_SOCKET
ini:
- section: url_lookup
- key: unix_socket
key: unix_socket
ca_path:
description: String of file system path to CA cert bundle to use
type: string
@ -131,7 +131,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_CA_PATH
ini:
- section: url_lookup
- key: ca_path
key: ca_path
unredirected_headers:
description: A list of headers to not attach on a redirected request
type: list
@ -142,7 +142,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_UNREDIR_HEADERS
ini:
- section: url_lookup
- key: unredirected_headers
key: unredirected_headers
"""
EXAMPLES = """
@ -166,6 +166,8 @@ EXAMPLES = """
RETURN = """
_list:
description: list of list of lines or content of url(s)
type: list
elements: str
"""
from ansible.errors import AnsibleError

@ -4,8 +4,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: varnames
author: Ansible Core
name: varnames
author: Ansible Core Team
version_added: "2.8"
short_description: Lookup matching variable names
description:

@ -4,8 +4,8 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
lookup: vars
author: Ansible Core
name: vars
author: Ansible Core Team
version_added: "2.5"
short_description: Lookup templated value of variables
description:
@ -63,6 +63,8 @@ RETURN = """
_value:
description:
- value of the variables requested.
type: list
elements: raw
"""
from ansible.errors import AnsibleError, AnsibleUndefinedVariable

@ -5,7 +5,6 @@ __metaclass__ = type
DOCUMENTATION = '''
name: cmd
plugin_type: shell
version_added: '2.8'
short_description: Windows Command Prompt
description:

@ -6,7 +6,6 @@ __metaclass__ = type
DOCUMENTATION = '''
name: powershell
plugin_type: shell
version_added: historical
short_description: Windows PowerShell
description:

@ -6,7 +6,6 @@ __metaclass__ = type
DOCUMENTATION = '''
name: sh
plugin_type: shell
short_description: "POSIX shell (/bin/sh)"
version_added: historical
description:

@ -16,12 +16,12 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
strategy: debug
name: debug
short_description: Executes tasks in interactive debug session.
description:
- Task execution is 'linear' but controlled by an interactive debug session.
version_added: "2.1"
author: Kishin Yagami
author: Kishin Yagami (!UNKNOWN)
'''
import cmd

@ -19,7 +19,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
strategy: free
name: free
short_description: Executes tasks without waiting for all hosts
description:
- Task execution is as fast as possible per batch as defined by C(serial) (default all).

@ -19,7 +19,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
strategy: host_pinned
name: host_pinned
short_description: Executes tasks on each host without interruption
description:
- Task execution is as fast as possible per host in batch as defined by C(serial) (default all).

@ -19,7 +19,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
strategy: linear
name: linear
short_description: Executes tasks in a linear fashion
description:
- Task execution is in lockstep per host batch as defined by C(serial) (default all).

@ -19,7 +19,7 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
vars: host_group_vars
name: host_group_vars
version_added: "2.4"
short_description: In charge of loading group_vars and host_vars
requirements:

Loading…
Cancel
Save