Nota

Este módulo es parte de ansible-base e incluido en todas las instalaciones de Ansible. En la mayoría de los casos, puede usar el nombre corto del módulo include_vars incluso sin especificar el collections: palabra clave. A pesar de eso, le recomendamos que utilice el FQCN para facilitar la vinculación a la documentación del módulo y evitar conflictos con otras colecciones que puedan tener el mismo nombre de módulo.

Nuevo en la versión 1.4: de ansible.builtin

  • Sinopsis
  • Parámetros
  • Notas
  • Ver también
  • Ejemplos de
  • Valores devueltos

Sinopsis

  • Carga variables YAML / JSON de forma dinámica desde un archivo o directorio, de forma recursiva, durante el tiempo de ejecución de la tarea.
  • Si carga un directorio, los archivos se ordenan alfabéticamente antes de cargarse.
  • Este módulo también es compatible con destinos de Windows.
  • Para asignar variables incluidas a un host diferente a inventory_hostname, usar delegate_to y establecer delegate_facts=yes.

Nota

Este módulo tiene un correspondiente complemento de acción.

Parámetros

Parámetro Opciones / Valores predeterminados Comentarios
profundidadentero agregado en 2.2 de ansible.builtin Defecto:
0
Cuando usas dir, este módulo, de forma predeterminada, recorrerá de forma recursiva cada subdirectorio y cargará las variables. Al establecer explícitamente la profundidad, este módulo solo llegará tan profundo como la profundidad.
dirsendero agregado en 2.2 de ansible.builtin El nombre del directorio desde el cual se deben cargar las variables.Si la ruta es relativa y la tarea está dentro de un rol, se verá dentro del subdirectorio vars / del rol.Si la ruta es relativa y no dentro de un rol, se analizará como relativo. al libro de jugadas.
extensioneslista / elementos =string agregado en 2.3 de ansible.builtin Defecto:
[“json”, “yaml”, “yml”]
Lista de extensiones de archivo para leer al usar dir.
expedientesendero agregado en 2.2 de ansible.builtin El nombre del archivo desde el cual se deben cargar las variables. Si la ruta es relativa, buscará el archivo en el subdirectorio vars / de un rol o relativo al libro de jugadas.
files_matchingstring agregado en 2.2 de ansible.builtin Limite los archivos que se cargan dentro de cualquier directorio a esta expresión regular.
forma librestring Este módulo le permite especificar la opción ‘archivo’ directamente sin ninguna otra opción. No hay una opción de ‘forma libre’, esto es solo un indicador, vea el ejemplo a continuación.
ignore_fileslista / elementos =string agregado en 2.2 de ansible.builtin Lista de nombres de archivos para ignorar.
ignore_unknown_extensionsbooleano agregado en 2.7 de ansible.builtin
    Opciones:

  • no
Ignore las extensiones de archivo desconocidas dentro del directorio. Esto permite a los usuarios especificar un directorio que contiene archivos vars que se entremezclan con tipos de extensión de archivos que no son vars (por ejemplo, un directorio con un README y archivos vars).
nombrestring agregado en 2.2 de ansible.builtin El nombre de una variable a la que se asignan las variables incluidas. Si se omite (null) se convertirán en vars de nivel superior.

Notas

Nota

  • Este módulo también es compatible con destinos de Windows.

Ver también

Ver también

ansible.builtin.set_fact

La documentación oficial sobre el ansible.builtin.set_fact módulo.

Controlar dónde se ejecutan las tareas: delegación y acciones locales

Más información relacionada con la delegación de tareas.

Ejemplos de

-name: Include vars of stuff.yaml into the 'stuff' variable (2.2).
  include_vars:file: stuff.yaml
    name: stuff

-name: Conditionally decide to load in variables into 'plans' when x is 0, otherwise do not. (2.2)
  include_vars:file: contingency_plan.yaml
    name: plans
  when: x == 0

-name: Load a variable file based on the OS type, or a default if not found. Using free-form to specify the file.
  include_vars:" lookup('first_found', params) "vars:params:files:-'ansible_distribution.yaml'-'ansible_os_family.yaml'- default.yaml
      paths:-'vars'-name: Bare include (free-form)
  include_vars: myvars.yaml

-name: Include all .json and .jsn files in vars/all and all nested directories (2.3)
  include_vars:dir: vars/all
    extensions:-'json'-'jsn'-name: Include all default extension files in vars/all and all nested directories and save the output in test. (2.2)
  include_vars:dir: vars/all
    name: test

-name: Include default extension files in vars/services (2.2)
  include_vars:dir: vars/services
    depth:1-name: Include only files matching bastion.yaml (2.2)
  include_vars:dir: vars
    files_matching: bastion.yaml

-name: Include all .yaml files except bastion.yaml (2.3)
  include_vars:dir: vars
    ignore_files:-'bastion.yaml'extensions:-'yaml'-name: Ignore warnings raised for files with unknown extensions while loading (2.7)
  include_vars:dir: vars
    ignore_unknown_extensions:Trueextensions:-''-'yaml'-'yml'-'json'

Valores devueltos

Los valores de retorno comunes están documentados aquí, los siguientes son los campos exclusivos de este módulo:

Llave Devuelto Descripción
ansible_included_var_fileslista / elementos =stringagregado en 2.4 de ansible.builtin éxito Una lista de archivos que se incluyeron correctamente
Muestra:[‘/path/to/file.json’, ‘/path/to/file.yaml’]

Autores

  • Allen Sanabria (@linuxdynasty)