Ansible中用Jinja2处理dns变量生成通配符cname的实现方法
Ansible 域名转通配符CNAME正确Jinja2写法
核心实现逻辑为拆分域名后剔除首段,拼接通配符前缀即可,正确表达式如下:
"{{ '*.' ~ (es_admin_hostname.split('.')[1:] | join('.')) }}"
修正后的完整测试剧本:
- hosts: elastic-search-servers gather_facts: true vars: es_admin_hostname: test.develop123.com tasks: - name: 生成通配符CNAME set_fact: cname: "{{ '*.' ~ (es_admin_hostname.split('.')[1:] | join('.')) }}" - name: 打印结果 debug: msg: "{{ cname }} is dns name"
执行后输出的cname值即为*.develop123.com,支持多段域名自动适配,比如输入xyz.abc.pqr.com会自动输出*.abc.pqr.com。
内容的提问来源于stack exchange,提问作者Devaraju
相关产品推荐
相关产品推荐

