validate¶
Collection Note
This module is part of the ansible.utils collection. To install the collection, use:
Added in version1.0.0.
Synopsis¶
- Validate I(data) with provided I(criteria) based on the validation I(engine).
Parameters¶
| Parameter | Defaults / Choices | Comments |
|---|---|---|
| criteria raw required |
The criteria used for validation of value that represents I(data) options. This option represents the second argument passed in the lookup plugin For example C(lookup(config_data, config_criteria, engine='ansible.utils.jsonschema')), in this case the value of C(config_criteria) represents this option. For the type of I(criteria) that represents this value refer to the documentation of individual validate plugins. |
|
| data raw required |
Data that will be validated against I(criteria). This option represents the value that is passed to the lookup plugin as the first argument. For example C(lookup(config_data, config_criteria, engine='ansible.utils.jsonschema')), in this case C(config_data) represents this option. For the type of I(data) that represents this value refer to the documentation of individual validate plugins. |
|
| engine str |
Default: ansible.utils.jsonschema |
The name of the validate plugin to use. This option can be passed in lookup plugin as a key, value pair. For example C(lookup(config_data, config_criteria, engine='ansible.utils.jsonschema')), in this case the value C(ansible.utils.jsonschema) represents the engine to be use for data validation. If the value is not provided the default value that is C(ansible.utils.jsonschema) will be used. The value should be in fully qualified collection name format that is C( |
Notes¶
Note
- For the type of options I(data) and I(criteria) refer to the individual validate plugin documentation that is represented in the value of I(engine) option.
- For additional plugin configuration options refer to the individual validate plugin documentation that is represented by the value of I(engine) option.
- The plugin configuration option can be either passed as C(key=value) pairs within lookup plugin or task or environment variables.
- The precedence the validate plugin configurable option is the variable passed within lookup plugin as C(key=value) pairs followed by task variables followed by environment variables.
Examples¶
- name: set facts for data and criteria
ansible.builtin.set_fact:
data: "{{ lookup('ansible.builtin.file', './validate/data/show_interfaces_iosxr.json') }}"
criteria: "{{ lookup('ansible.builtin.file', './validate/criteria/jsonschema/show_interfaces_iosxr.json') }}"
- name: validate data in json format using jsonschema with lookup plugin by passing plugin configuration variable as key/value pairs
ansible.builtin.set_fact:
data_criteria_checks: "{{ lookup('ansible.utils.validate', data, criteria, engine='ansible.utils.jsonschema', draft='draft7') }}"
- name: validate data in json format using jsonschema with lookup plugin by passing plugin configuration variable as task variable
ansible.builtin.set_fact:
data_criteria_checks: "{{ lookup('ansible.utils.validate', data, criteria, engine='ansible.utils.jsonschema', draft='draft7') }}"
vars:
ansible_validate_jsonschema_draft: draft3
Return Values¶
| Key | Data Type | Description | Returned |
|---|---|---|---|
| _raw | If data is valid returns empty list. If data is invalid returns list of errors in data. |
Authors¶
- Ganesh Nalawade (@ganeshrn)