ansible.builtin.validate_argument_spec – Validate role argument specs.
Note
This module is part of ansible-core
and included in all Ansible
installations. In most cases, you can use the short
module name
validate_argument_spec
even without specifying the collections:
keyword.
However, we recommend you use the FQCN for easy linking to the
module documentation and to avoid conflicting with other collections that may have
the same module name.
New in version 2.11: of ansible.builtin
Synopsis
This module validates role arguments with a defined argument specification.
Note
This module has a corresponding action plugin.
Parameters
Parameter |
Comments |
---|---|
A dictionary like AnsibleModule argument_spec |
|
A dictionary of the arguments that will be validated according to argument_spec |
Examples
- name: verify vars needed for this task file are present when included
validate_argument_spec:
argument_spec: '{{required_data}}'
vars:
required_data:
# unlike spec file, just put the options in directly
stuff:
description: stuff
type: str
choices: ['who', 'knows', 'what']
default: what
but:
description: i guess we need one
type: str
required: true
- name: verify vars needed for this task file are present when included, with spec from a spec file
validate_argument_spec:
argument_spec: "{{lookup('file', 'myargspec.yml')['specname']['options']}}"
- name: verify vars needed for next include and not from inside it, also with params i'll only define there
block:
- validate_argument_spec:
argument_spec: "{{lookup('file', 'nakedoptions.yml'}}"
provided_arguments:
but: "that i can define on the include itself, like in it's C(vars:) keyword"
- name: the include itself
vars:
stuff: knows
but: nobuts!
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
A list of arg validation errors. Returned: failure Sample: [“error message 1”, “error message 2”] |
|
A dict of the data from the ‘argument_spec’ arg. Returned: failure Sample: {“some_arg”: {“type”: “str”}, “some_other_arg”: {“required”: true, “type”: “int”}} |
|
A dict of info about where validate_args_spec was used Returned: always Sample: {“argument_spec_name”: “main”, “name”: “my_role”, “path”: “/home/user/roles/my_role/”, “type”: “role”} |
Authors
Ansible Core Team