gpt4 book ai didi

variables - 在 Ansible 中的 var 中使用 var(查找)-aws_ssm 插件

转载 作者:行者123 更新时间:2023-12-02 03:06:39 25 4
gpt4 key购买 nike

我正在尝试在 Ansible (2.7.10) 的 var 声明中使用 var

我正在使用 aws_ssm 查找插件 ( https://docs.ansible.com/ansible/latest/plugins/lookup/aws_ssm.html )

工作示例(硬编码值):

var: "{{ lookup('aws_ssm', '/path/server00', region='eu-west-3') }}"

我想为服务器名称和 AWS 区域使用变量,但我的所有尝试都出错了。

到目前为止我已经尝试过:

var: "{{ lookup('aws_ssm', '/path/{{ server }}', region={{ region }}) }}"
var: "{{ lookup('aws_ssm', '/path/{{ server }}', region= + region) }}"
    - name: xxx
debug: msg="{{ lookup('aws_ssm', '/path/{{ server }}', region='{{ region }}' ) }}"
register: var

还没有成功,感谢您的帮助,

最佳答案

您永远不会嵌套 {{...}} 模板表达式。如果您已经在模板表达式中,则可以只按名称引用变量。例如:

var: "{{ lookup('aws_ssm', '/path/' + server, region=region) }}"

(假设定义了变量 serverregion。)

您还可以利用 Python 字符串格式化语法。以下都会给你相同的结果:

  • '/path/' + 服务器
  • '/path/%s' %(服务器)
  • '/path/{}'.format(服务器)

您可以使用 Jinja ~ 连接运算符代替 +,它的作用有点像 + 但强制参数为字符串。所以虽然这是一个错误:

  • '一些字符串' + 1

这将导致文本some string1:

  • '一些字符串' ~ 1

关于variables - 在 Ansible 中的 var 中使用 var(查找)-aws_ssm 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58879307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com