如何使用 ansibleregex_replace
移动单词 .
我有foo_jenkins
,想获得secret/foo
hashicorp_vault_role_name : foo_jenkins
- name: "Create policy Jenkins"
hashivault_policy_set:
name: "{{hashicorp_vault_role_name}}"
rules: >
path "{{ hashicorp_vault_role_name|regex_replace('?', '?') }}/*" {
capabilities = ["list"]
}
从您提供的信息来看,以下内容应该会让您继续前进:
{{ hashicorp_vault_role_name | regex_replace('(.*)_jenkins', 'secret/\1') }}
基本上,取hashicorp_vault_role_name
的值,匹配任何内容,后跟_jenkins
捕获表达式的第一部分,并替换为secret/
,后跟上一个捕获。
如果你需要稍微改变一下逻辑,或者你有其他相同类型的操作要执行,我建议你花一些时间学习正则表达式。