Mi requisito es que quiero incluir dinámicamente un archivo variable en mi secuencia de comandos de Ansible. Puedo hacer eso poniendo siguiente en mi tarea ansible:
- name: Include vars file include_vars: vars/dev.yml - name: Some other task cp: copy something Lo anterior funciona si mantengo dev.yml en mi directorio vars. Ahora en realidad no quiero poner dev.yml en el directorio, quiero extraerlo de S3 y luego usar la variable en él. Algo como abajo-
- name: Get dev file s3: bucket: bucket_name object: object_name dest: "dest_directory" ## Here I want the destination to be vars/dev.yml mode: get aws_access_key: "{{ s3.aws_access_key }}" aws_access_key: "{{ s3.aws_secret_key }}" - name: Include vars file include_vars: vars/dev.yml - name: Some other task that uses vars in dev.yml template: render some template using vars in dev.yml and copy to serverLo anterior en realidad no funcionará. ¿Cómo hago esto?
Gracias Konstantin Suvorov por la ayuda. Solo necesitaba agregar delegate_to en mi tarea.
- name: Get dev file s3: bucket: bucket_name object: object_name dest: vars/dev.yml mode: get aws_access_key: "{{ s3.aws_access_key }}" aws_access_key: "{{ s3.aws_secret_key }}" delegate_to: localhost - name: Include vars file include_vars: vars/dev.yml