从Ansible中的字典中检索值[重复]

问题描述 投票:0回答:1

我在数据结构中有以下值:

kafka_topic:
     topic:
     - "DATA.APP_TOPIC"
     partitions:
     - "1"
     replication-factor:
     - "1"

我正在检索topic值并将其传递给命令模块:

- name: Topic Name
  set_fact:
     topic_name: "{{ kafka_topic.topic }}"

- name: Create Topic with Specific Configuration
  command: "{{ kafka_bin_dir }}/{{ kafka_config_script }}
            --zookeeper {{ prefix }}-kafka-{{ Kafka_node }}.{{ DNSDomain}}:{{ zookeeper_port }}
            --entity-type topics
            --alter
            --entity-name {{ topic_name }}
            --add-config
            {{ item.topic_property }}={{ item.value }}"
  with_items: "{{ app_kafka_topic_properties_dicts }}"

但是,传递给命令模块的实际值是[uDATA.APP_TOPIC]

如何确保将值DATA.APP_TOPIC传递给command模块?

ansible
1个回答
1
投票

解决方案很简单。我刚刚返回了kafka_topic.topic列表的第一个元素。

- name: Topic Name
  set_fact:
     topic_name: "{{ kafka_topic.topic[0] }}"

这会返回与整个列表相反的元素。

© www.soinside.com 2019 - 2024. All rights reserved.