ansible.builtin.validate_argument_spec 模块 – 验证角色参数规范。

注意

此模块是 ansible-core 的一部分,并包含在所有 Ansible 安装中。 在大多数情况下,即使不指定 collections 关键字,您也可以使用简短的模块名称 validate_argument_spec 。 但是,我们建议您使用完全限定的集合名称 (FQCN) ansible.builtin.validate_argument_spec,以便轻松链接到模块文档,并避免与其他可能具有相同模块名称的集合冲突。

ansible-core 2.11 中的新功能

概要

  • 此模块使用定义的参数规范验证角色参数。

注意

此模块具有相应的 action 插件

参数

参数

注释

argument_spec

字符串 / 必需

类似 AnsibleModule argument_spec 的字典。

请参阅 规范格式options 参数。

provided_arguments

字符串

一个字典,其中包含将根据 argument_spec 验证的参数。

属性

属性

支持

描述

action

支持: 完整

表示它具有对应的 action 插件,因此部分选项可以在控制器上执行

async

支持:

支持与 async 关键字一起使用

become

支持:

可以与 become 关键字一起使用

bypass_host_loop

支持:

强制执行一个不针对每个主机执行的“全局”任务,这会绕过每个主机的模板、串行、节流和其他循环注意事项

条件的工作方式与使用 run_once 相同,使用的变量将来自第一个可用的主机

此操作在锁定步骤策略之外无法正常工作

check_mode

支持: 完整

可以在 check_mode 中运行并返回更改状态预测而不修改目标,如果不支持,则会跳过此操作。

connection

支持:

使用目标配置的连接信息在其上执行代码

delegation

支持:

可以与 delegate_to 和相关关键字结合使用

diff_mode

支持:

在 diff 模式下,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息

platform

平台: 全部

可以对其进行操作的目标操作系统/系列

说明

注意

  • 如果角色包含参数规范,则无需显式调用此模块。

示例

- name: verify vars needed for this task file are present when included
  ansible.builtin.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
  ansible.builtin.validate_argument_spec:
    argument_spec: "{{ (lookup('ansible.builtin.file', 'myargspec.yml') | from_yaml )['specname']['options'] }}"


- name: verify vars needed for next include and not from inside it, also with params i'll only define there
  block:
    - ansible.builtin.validate_argument_spec:
        argument_spec: "{{ lookup('ansible.builtin.file', 'nakedoptions.yml') }}"
        provided_arguments:
          but: "that i can define on the include itself, like in it's `vars:` keyword"

    - name: the include itself
      vars:
        stuff: knows
        but: nobuts!

返回值

常见的返回值记录在此处,以下是此模块独有的字段

描述

argument_errors

列表 / 元素=字符串

参数验证错误的列表。

已返回: 失败

示例: ["错误消息 1", "错误消息 2"]

argument_spec_data

字典

来自 ‘argument_spec’ 参数的数据字典。

已返回: 失败

示例: {"some_arg": {"type": "str"}, "some_other_arg": {"required": true, "type": "int"}}

validate_args_context

字典

一个包含有关 validate_args_spec 使用位置的信息的字典

已返回: 始终

示例: {"argument_spec_name": "main", "name": "my_role", "path": "/home/user/roles/my_role/", "type": "role"}

作者

  • Ansible Core 团队