0

我有以下代码

 app_key:   "{{ lookup('credstash', 'aws/project/'+app_name+'/'+app_env+'/app_key') | default('not-set') }}"

并且期望能够根据查找失败并找不到密钥来设置默认值,然后稍后在我的剧本中生成并存储一个密钥。

但是,我发现该插件引发了一个异常,这使得整个剧本运行失败。显然这不是我想要的(为非生产分支预存储应用程序密钥)

(参见 credstash 代码:您可以在此处找到 credstash 插件代码https://github.com/ansible/ansible/blob/ec701c4b82e570371af7c3999ffb587d870a5b37/lib/ansible/plugins/lookup/credstash.py

我有哪些选择?

4

1 回答 1

2

我有哪些选择?

例如(我不知道你在什么任务中定义app_key,所以我set_fact在下面的第二个任务中使用):

- set_fact:
    app_key_candidate: "{{ lookup('credstash', 'aws/project/'+app_name+'/'+app_env+'/app_key')"
  ignore_errors: true

- set_fact:
    app_key: "{{ app_key_candidate | default('not-set') }}" 
于 2017-10-04T20:57:57.257 回答