在Consul中保存键/值对中的列表

时间:2015-08-06 16:57:47

标签: ansible consul

我认为这可能适用于任何键/值存储类型,但我主要使用Consul进行存储。我需要一种方法来保存键值的列表。但是,元素周围的引号被剥离。

我已经尝试过所有这些,问题是我需要它们作为有效列表返回,以便我可以通过Ansible运行它w / with_flattened

curl -X PUT -d '['ui','dashboard']' http://localhost:8500/v1/kv/deploylist
curl -X PUT -d '[\'ui\',\'dashboard']' http://localhost:8500/v1/kv/deploylist

Ansible任务:

- debug: msg="{{ deploylist_vars.value | map(attribute='Value') | first }}"
  register: module_id

# Output 
"msg": "[ui,dashboard]"

我需要遍历列表并执行进一步的操作。但是,我似乎无法正确解析这些元素。

- debug: msg="{{ item }}"
  with_flattened:
    - "{{ module_id }}"

1 个答案:

答案 0 :(得分:3)

这些报价看起来都不对。我希望你想要一些像JUT一样的PUT,可能是["ui","dashboard"]。以下内容应该让bash / zsh通过:

curl -X PUT -d '["ui","dashboard"]' http://localhost:8500/v1/kv/deploylist

你可以在单引号中进一步做一些反斜杠转义,但不要在没有一点小心的情况下添加更多的单引号。