在 Consul 中以 key/value 对保存列表
Save list in key/value pair in Consul
我想这可能适用于任何 key/value 存储类型,但我主要使用 Consul 进行存储。我需要一种将列表保存在键值中的方法。但是,元素周围的引号被删除。
我都试过了,问题是我需要它们 return 作为有效列表,这样我就可以 运行 通过 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 }}"
这些引用看起来都不太正确。我希望您想要一些 JSON 之类的 PUT,可能 ["ui","dashboard"]
。以下应该让 bash/zsh 通过:
curl -X PUT -d '["ui","dashboard"]' http://localhost:8500/v1/kv/deploylist
您可以进一步在单引号内进行一些反斜杠转义,但不要随意添加更多单引号。
我想这可能适用于任何 key/value 存储类型,但我主要使用 Consul 进行存储。我需要一种将列表保存在键值中的方法。但是,元素周围的引号被删除。
我都试过了,问题是我需要它们 return 作为有效列表,这样我就可以 运行 通过 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 }}"
这些引用看起来都不太正确。我希望您想要一些 JSON 之类的 PUT,可能 ["ui","dashboard"]
。以下应该让 bash/zsh 通过:
curl -X PUT -d '["ui","dashboard"]' http://localhost:8500/v1/kv/deploylist
您可以进一步在单引号内进行一些反斜杠转义,但不要随意添加更多单引号。