【发布时间】:2021-01-08 06:14:33
【问题描述】:
我一直在研究这个问题,但找不到解决方案。
我的剧本是:
- hosts: localhost
connection: local
gather_facts: False
vars:
vpc_stack_name: "VPC-CF"
tasks:
- name: Get summary information about a stack
amazon.aws.cloudformation_info:
stack_name: "{{ vpc_stack_name }}"
register: vpc_stack_facts
- debug:
var: "vpc_stack_facts.cloudformation['{{ vpc_stack_name }}'].stack_outputs['VPCID']"
- set_fact:
temp: "{{ vpc_stack_facts.cloudformation['{{ vpc_stack_name }}'].stack_outputs['VPCID'] }}"
我知道嵌入的{{ vpc_stack_name }} 是错误的并且不允许但不知道如何绕过它。
我还没有掌握 Ansible lookups。
提前谢谢你!
【问题讨论】:
-
debug看起来没问题,因为您正在为var属性重建一个 var 名称。对于您的set_fact,您不能嵌套 jinja2 标记,只需使用包含相应值的 var 名称 =>"{{ vpc_stack_facts.cloudformation[vpc_stack_name].stack_outputs['VPCID'] }}"。
标签: variables ansible nested set fact