我在数据结构中有以下值:
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
模块?
解决方案很简单。我刚刚返回了kafka_topic.topic
列表的第一个元素。
- name: Topic Name
set_fact:
topic_name: "{{ kafka_topic.topic[0] }}"
这会返回与整个列表相反的元素。