Командные задачи AWS CLI в плейбуках Ansible отлично работают в командной строке, если учетные данные AWS указаны как переменные среды в соответствии с требованиями Boto. Дополнительную информацию можно найти здесь Environment Переменные. Но они не запускаются в Tower, потому что он экспортирует другой набор env. вары:
AWS_ACCESS_KEY
AWS_SECRET_KEY
Чтобы они работали в Башне, просто добавьте в определение задачи следующее:
environment:
AWS_ACCESS_KEY_ID: "{{ lookup('env','AWS_ACCESS_KEY') }}"
AWS_SECRET_ACCESS_KEY: "{{ lookup('env','AWS_SECRET_KEY') }}"
например эта задача:
- name: Describe instances
command: aws ec2 describe-instances --region us-east-1
преобразуется в:
- name: Describe instances
command: aws ec2 describe-instances --region us-east-1
environment:
AWS_ACCESS_KEY_ID: "{{ lookup('env','AWS_ACCESS_KEY') }}"
AWS_SECRET_ACCESS_KEY: "{{ lookup('env','AWS_SECRET_KEY') }}"
ПРИМЕЧАНИЕ. Это вводит только env.var. под конкретную задачу - не весь playbook! Таким образом, вам нужно изменить таким образом каждую задачу AWS CLI.
get_facts
) могут быть очень полезны. - person tedder42   schedule 12.11.2015vars
, чтобы сделать его менее СУХИМ. Я не имею никакого отношения к рассматриваемому блогу, но мне это помогло. - person mrlabbe   schedule 04.11.2016