DigitalAnsible视图注册变量
我正在尝试用Ansible将数字海洋水滴抛向空中。这应该允许我把所有这些都做好,并将基础设施作为代码。我已经尝试过动态清单插件,但它不是我现在想要的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
- 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。