Я хочу создать экземпляр в AWS, а затем зарегистрировать Ansible факты об этом экземпляре в приложении, работающем в WIndows IIS. Мне не повезло получить модуль win_uri для подключения через winrm, а модуль uri хочет подключаться только через SSH. Я хотел бы использовать curl и модули shell / command с добавленными фактами Ansible. Возможно ли это?
Как мне отформатировать {{ansible_fact1-4}} переменные, которые будут вставлены в команду curl?
Кроме того, я хотел бы видеть STDOUT из приложения, используя команду отладки или подобное.
Playbook будет выглядеть примерно так:
Любая помощь со второй частью этого playbook приветствуется.
--- # Playbook to create an ec2 instance and register facts into an application over https on Windows IIS
- hosts: localhost
vars_files:
- files/ec2_provision_vars.yml
tasks:
- name: aws ec2 ami creation
ec2:
key_name: "{{ key_name }}"
group_id: "{{ group_id }}"
instance_type: "{{ instance_type }}"
image: "{{ image }}"
instance_tags: "{{ instance_tags }}"
wait: true
region: "{{ region }}"
vpc_subnet_id: "{{ vpc_subnet_id }}"
instance_profile_name: "{{ instance_profile_name }}"
register: ec2
wait: yes
- name: register ansible facts in my app
shell:
curl --request POST \
--url 'https://myapp.org' \
--header 'Authorization: {{ session_token }}' \
--header 'Content-Type: application/json' \
--data '{
"main" : {
"var1":"{{ ansible_fact1 }}",
"var2":"{{ ansible_fact2 }}",
"var3":"{{ ansible_fact3 }}",
"var4":"{{ ansible_fact4 }}",
}
}'