Skip to content

validate

Collection Note

This module is part of the ansible.utils collection. To install the collection, use:

ansible-galaxy collection install ansible.utils
Added in version 1.0.0.

Synopsis

  • Validate data with provided criteria based on the validation engine.

Parameters

Parameter Defaults / Choices Comments
criteria
raw
required
The criteria used for validation of I(data). For the type of criteria refer to the documentation of individual validate plugins.
data
raw
required
Data that will be validated against I(criteria). For the type of data refer to the documentation of individual validate plugins.
engine
str
Default: ansible.utils.jsonschema
The name of the validate plugin to use. The engine value should follow the fully qualified collection name format, that is ...

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 task or environment variables.
  • The precedence of the validate plugin configurable option is task variables followed by the 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 with jsonschema engine (by passing task vars as configurable plugin options)
  ansible.utils.validate:
    data: "{{ data }}"
    criteria: "{{ criteria }}"
    engine: ansible.utils.jsonschema
  vars:
    ansible_jsonschema_draft: draft7

- name: validate configuration with config plugin (see config plugin for criteria examples)
  ansible.utils.validate:
    data: "{{ lookup('ansible.builtin.file', './backup/eos.config') }}"
    criteria: "{{ lookup('ansible.builtin.file', './validate/criteria/config/eos_config_rules.yaml') }}"
    engine: ansible.utils.config

Return Values

Key Data Type Description Returned
errors list The list of errors in I(data) based on the I(criteria). when I(data) value is invalid
msg str The msg indicates if the I(data) is valid as per the I(criteria). In case data is valid return success message B(all checks passed). In case data is invalid return error message B(Validation errors were found) along with more information on error is available. always

Authors

  • Bradley Thornton (@cidrblock)
  • Ganesh Nalawade (@ganeshrn)