-1

我有以下代码:

- name: "Get output from ec2.py"
  shell: python convinventory/ec2.py
  register: ec2_py_output
- set_fact:
    EC2_MY_AP_HOST: "{{(ec2_py_output.stdout | from_json ).myIPs[0]}}"
- set_fact:
    EC2_MY_AP_DATA: "{{ (ec2_py_output.stdout | from_json)._meta.hostvars. }}-{{EC2_IFX_AP_HOST}} "    //Need to know the syntax on this line

我确认EC2_MY_AP_HOST返回一个字符串 ip10.0.1.2

我收到的 json 结构python convinventory/ec2.py如下:

{
  "_meta": {
    "hostvars": {
      "10.0.1.2": {

    < need to access this data in EC2_MY_AP_DATA > 
}
} } }

访问这些数据的正确方法是什么?

4

1 回答 1

0

要回答您的问题:

- set_fact:
    EC2_MY_AP_DATA: "{{ (ec2_py_output.stdout | from_json)._meta.hostvars[EC2_MY_AP_HOST] }}"

但我的猜测是你走错了路,你试图用这段代码解决的任务有不同的解决方案。

于 2017-09-22T06:33:38.210 回答