Вставьте Ansible Facts из создания экземпляра AWS в команду curl для регистрации приложения IIS. - PullRequest
0 голосов
/ 01 ноября 2018

Я хочу создать экземпляр в 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 }}",
         }
       }'
...