使用consu_kv ansible模块在consu中加载键值对
我们在一个json格式的文件中有键值对使用consu_kv ansible模块在consu中加载键值对,ansible,consul,Ansible,Consul,我们在一个json格式的文件中有键值对 { "app1": [ {"key": "key1","value": "val1"}, {"key": "key2","value": "val2"} ], "app2": [ {"key": "key1","value": "val1"}, {"key": "key2","value": "val2"} ], "app3": [ {"key": "key1","value"
{
"app1":
[
{"key": "key1","value": "val1"},
{"key": "key2","value": "val2"}
],
"app2":
[
{"key": "key1","value": "val1"},
{"key": "key2","value": "val2"}
],
"app3":
[
{"key": "key1","value": "val1"},
{"key": "key2","value": "val2"}
]
}
我想把这些值放在concur集群中。这就是我正在尝试的
- debug: msg='key contains {{key}}'
with_consul_kv:
- 'config/app1/'
register: keys
- name: add a kv pair to the kv store
consul_kv: key=somekey value=somevalue
register: new_key
如果不依赖于JSON结构,可以使用如下格式:
myitems:
- site:
- {"key": "abcUrl","value": "http://prod.abc.url"}
- {"key": "user.url","value": "http://prod.abc.login"}
- {"key": "security.logout.url","value": "http://prod.abc.logout"}
- site:
- {"key": "abcUrl","value": "http://prod.abc.url"}
- {"key": "user.url","value": "http://prod.abc.login"}
- {"key": "security.logout.url","value": "http://prod.abc.logout"}
- site:
- {"key": "abcUrl","value": "http://prod.abc.url"}
- {"key": "user.url","value": "http://prod.abc.login"}
- {"key": "security.logout.url","value": "http://prod.abc.logout"}
- site:
- {"key": "abcUrl","value": "http://prod.abc.url"}
- {"key": "user.url","value": "http://prod.abc.login"}
- {"key": "security.logout.url","value": "http://prod.abc.logout"}
(如果您需要dc[1-4]的内置功能,请将其写在钥匙/关卡上。)
使用此格式,您可以提取如下键/值:
- name: remove a key from the store
debug:
msg: "key is {{ item.1.key }} and the value is {{ item.1.value }}"
with_subelements:
- "{{ myitems }}"
- site
确切的问题是什么?我能够从json文件中读取键值,但无法使用concur_上传到concurmodule@KonstantinSuvorov我已经用模式细节更新了问题。@KonstantinSuvorov你对此有什么建议吗?我仍然不理解你的问题。我看到您获得了所有的
dc1
密钥,下一个任务应该做什么?