将AWS实例创建中的Ansible Facts注入curl命令中以进行IIS应用程序注册。

时间:2018-11-01 14:32:20

标签: ansible ansible-facts

我想在AWS中创建一个实例,然后在Windows Indows IIS上运行的应用程序中注册有关该实例的Ansible事实。我没有运气让win_uri模块通过winrm完成连接,而uri模块只想通过SSH连接。我想使用curl和注入了Ansible事实的shell /命令模块。这可能吗?

我如何格式化{{ansible_fact1-4}}变量以注入curl命令? 另外,我希望使用debug命令或类似命令从应用程序中看到STDOUT。

剧本看起来像这样。

感谢您对本手册第二部分的任何帮助。

    --- # 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 }}",
         }
       }'

0 个答案:

没有答案