Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DigitalAnsible视图注册变量_Ansible_Digital Ocean - Fatal编程技术网

DigitalAnsible视图注册变量

DigitalAnsible视图注册变量,ansible,digital-ocean,Ansible,Digital Ocean,我正在尝试用Ansible将数字海洋水滴抛向空中。这应该允许我把所有这些都做好,并将基础设施作为代码。我已经尝试过动态清单插件,但它不是我现在想要的 - name: Add droplet digital_ocean: > state=present command=droplet name={{ item.key }} size_id=512mb region_id=ams2 image_id={{ item.value.image_i

我正在尝试用Ansible将数字海洋水滴抛向空中。这应该允许我把所有这些都做好,并将基础设施作为代码。我已经尝试过动态清单插件,但它不是我现在想要的

- name: Add droplet
  digital_ocean: >
    state=present
    command=droplet
    name={{ item.key }}
    size_id=512mb
    region_id=ams2
    image_id={{ item.value.image_id }}
    ssh_key_ids={{ my_ssh_key.ssh_key.id }}
    unique_name=yes
  with_dict: "{{ droplets_up }}"
  register: my_droplet

- debug: msg="Droplet ID is {{ my_droplet.droplet.id }}"
不要担心所有的变量-液滴按预期出现,但是调试步骤失败:

致命:[localhost]:失败!=>{“failed”:true,“msg”:"字段“args”有一个无效值,该值似乎包含一个未定义的变量。错误是:“dict object”没有属性“droplet”\n\n错误似乎出现在“/Users/jerry/free\u code/d-ocean/ansible/roles/dropletctl/tasks/main.yml”:第23行第3列,但可能\n位于文件的其他位置,具体取决于语法问题em.\n\n出现问题的行似乎是:\n\n\n-debug:msg=\“Droplet ID是{{my\u Droplet.Droplet.ID}}\”\n^这里\n我们可能是错误的,但这一行看起来可能是缺少引号的问题。当模板表达式启动值时,\n始终引用括号。例如:\n\n带有\u项:\n-{foo}\n\n应写为:\n\n和\u项:\n-\“{{foo}}\”\n}


但是,如果我在详细模式下运行play,我可以看到变量应该存在。Ansible Module文档页面上使用了一个类似的示例,因此我认为它应该可以工作。

为了关闭此功能,“深入”调试输出的详细输出的方法如下:

- name: Print droplets variable
  debug:
    msg: "{{ my_droplet.results | map(attribute='droplet.<variable you'd like to print>') | list }}"
-名称:打印变量
调试:
msg:{{my_droplet.results | map(attribute='droplet。