问题标签 [ansible-template]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ansible - 如果键存在,则在 Ansible 中剥离 json 对象
假设我有一个这样的 json 对象:
有没有办法去除在 ansible playbook 中定义的“跳过”的任何对象的 json?所以我会
ansible - Jinja2模板中“项目存在于列表中”时打印字符串
我正在尝试使用从列表中确定的值填充 nsswitch.conf。该列表是字符串:
如果字符串在列表中,我想在模板中输出一些东西。
仅当我的列表包含特定元素时,如何编写字符串?
ansible - 如何在 Ansbile 中传递变量?
无法找出在 Ansible 2.3.1.0 中未拾取变量的原因。
文件结构:
group_vars/test1.yml
:
content of host_vars/test1
:
内容roles/install/tasks/main.yml
:
结果是:
期望输出:
ansible - Ansible iterate over hosts in inventory group set by variable
I have the next snippet in my role template:
And it works well.
But when I try to parametrize inventory group name like this:
I get an exception like:
Here, cluster_name - is a simple string variable defined in defaults section.
Is it possible to parametrize it at all?
Thanks in advance!
ansible - 如何创建动态文件?
我正在尝试重命名 Linux 上的以太网接口。每个名为 enp0s* 的接口都必须是 eth*。首先,我为重命名创建了 udev 规则。效果很好。其次,我必须为每个接口('etc/sysconfig/network-scripts/ifcfg-eth*')创建新的配置文件。我不知道,如何创建循环以在每个接口中放置参数。somneone 可以帮助我吗?
这是我的剧本的摘录:
ansible - 在 Ansible 中,如何根据变量值使用不同的模板替换?
我有一个 system.d 服务脚本的模板,我使用 Ansible playbook 填充了该模板。
模板包括表达式
其中,上面的environment_name是运行 playbook 时 Ansible 中存在的变量。剧本有这个指令:
我想在 JAVA_OPTS 中添加与内存相关的参数,例如:
如果environment_name=DEV,则添加到 JAVA_OPTS '-Xmx=2000Mb -Xms=1000Mb',如果environment_name=PROD,则添加 '-Xmx=20000Mb -Xms=10000Mb'* 等(我有几个环境)。
我如何在模板或调用脚本中对此类替换进行编码?
configuration - 当语句ansible中来自循环的变量
我正在尝试在 when 语句中使用变量,并且 ansible 会弹出这样的警告
我首先使用一个循环:
在 anaconda_env file.yml 我有这个:
在另一种情况下,我尝试了“{{ item.name}}.rc == 1”,但我遇到了同样的问题。知道如何避免这个 Wanring 消息。
我在这里找到了问题,但没有解决方案 https://github.com/ansible/ansible/issues/27225
ansible - ansible传递给映射变量
我有一个可靠的 tomcat 角色
默认值/main.yml
我有另一个角色(应用程序),它使用 tomcat 角色作为依赖项,如下所示
默认值/main.yml
元/main.yml
当我在目标上运行应用程序角色时,我希望将应用程序角色 (ISO-8859-1) 中定义的 URIEncoding 值传递给 tomcat 角色并覆盖 uriencoding 的 tomcat 角色默认值。
我无法将值传递给 tomcat 角色' {{ tomcat_http.URIEncoding }}
。我尝试过的一些选项
要么我收到语法错误,要么就是不起作用。如果有人对如何将值传递给映射变量有任何想法,请告诉我。
ansible - Ansible/Jinja2 如何将列表格式化为我的配置文件的字段?
我有以下内容,请记住,我不知道这个传入变量中有多少 ips,但为了简单起见,我从 2 开始。
我正在尝试使用带有 Ansible 的模板将它们格式化为文件。
我使用 Jinja2 中的什么语法使主机 ips 看起来像上面的目标行?我知道我必须肯定地迭代。
ansible - 在 Ansible 中使用带有模板的 Vars 中的 Dict
我正在尝试为确定的一组操作系统任务的每次迭代使用具有不同变量集的模板。例如,在其中一项任务中,我想为 postgres 设置特定值:
在 role/vars/main.yaml 中,我定义了:
不过,我收到以下错误:
当我尝试在另一个上下文中使用相同的变量时,它工作正常:
我尝试按照这个问题的答案进行操作,但我仍然卡住了。
我的下一步是使用变量来调用 vars 中的变量,例如: