首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不可用的json_query -在语法上挣扎

不可用的json_query -在语法上挣扎
EN

Stack Overflow用户
提问于 2018-08-13 10:14:34
回答 1查看 3.2K关注 0票数 0

我读过这个问题这一个以及相关的不可信文件

我仍然不知道该使用什么正确的语法。我正在尝试以下几点:

代码语言:javascript
复制
# Find all of the load-balancers reference
- name: Gather facts about all load-balancers
  elb_application_lb_facts:
  register: load_balancers

# Get the load-balancer we want
- name: Find the correct load-balancer
  set_fact:
    load_balancer_dns: "{{ load_balancer_dns }}"
    elb_zone_id: "{{ elb_zone_id }}"
  with_items: "{{ load_balancers | json_query(lb_query) }}"
  vars:
    lb_query: "load_balancers[?load_balancer_name=='{{load_balancer_name}}'].{load_balancer_dns: dns_name, elb_zone_id: canonical_hosted_zone_id}"

这总是导致错误(在第二个任务中):The task includes an option with an undefined variable. The error was: 'load_balancer_dns' is undefined

来自elb_application_lb_facts的JSON输出确实包含dns_namecanonical_hosted_zone_id键,它们与load_balancer_name (不是嵌套在某个地方)处于同一级别。

有谁能帮我解决这个问题的语法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-13 10:45:45

设置该事实时需要包括"item“,因为您正在循环"with_items":

代码语言:javascript
复制
# Get the load-balancer we want
- name: Find the correct load-balancer
  set_fact:
    load_balancer_dns: "{{ item.load_balancer_dns }}"
    elb_zone_id: "{{ item.elb_zone_id }}"
  with_items: "{{ load_balancers | json_query(lb_query) }}"
  vars:
    lb_query: "load_balancers[?load_balancer_name=='simple-application-load-balancer'].{load_balancer_dns: dns_name, elb_zone_id: canonical_hosted_zone_id}"

这里有文档:items#with-items

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51819974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档