Ansible:使用变量构建命令
Ansible: Build Command with variables
我想构建一个 ansible 剧本,此时我需要一些帮助。
我有我的默认值:
variables:
module1: true
module2: false
module3: true
module4: true
我现在需要找出哪个模块密钥具有真值并将密钥名称放入我的命令中
- name: Install Packages
command: {{ item }}
with_items:
- ./configure
输出应该是这样的:
- name: Install Packages
command: {{ item }}
with_items:
- ./configure --module1 **--no**-module2 --module3 --module4
如何获取所有这些模块并构建我的配置命令?
谢谢!
下图
- hosts: localhost
gather_facts: no
vars:
command: ""
my_variables:
module1: true
module2: false
module3: true
module4: true
tasks:
- set_fact:
command: "{{ command ~ item.value|ternary(' --' ~ item.key,
' **--no**-' ~ item.key) }}"
loop: "{{ my_variables|dict2items }}"
- debug:
var: command
给出(删节):
"command": " --module4 --module3 **--no**-module2 --module1"
备注:
- dict2items 适用于 ansible 版本 >= 2.6
我想构建一个 ansible 剧本,此时我需要一些帮助。
我有我的默认值:
variables:
module1: true
module2: false
module3: true
module4: true
我现在需要找出哪个模块密钥具有真值并将密钥名称放入我的命令中
- name: Install Packages
command: {{ item }}
with_items:
- ./configure
输出应该是这样的:
- name: Install Packages
command: {{ item }}
with_items:
- ./configure --module1 **--no**-module2 --module3 --module4
如何获取所有这些模块并构建我的配置命令?
谢谢!
下图
- hosts: localhost
gather_facts: no
vars:
command: ""
my_variables:
module1: true
module2: false
module3: true
module4: true
tasks:
- set_fact:
command: "{{ command ~ item.value|ternary(' --' ~ item.key,
' **--no**-' ~ item.key) }}"
loop: "{{ my_variables|dict2items }}"
- debug:
var: command
给出(删节):
"command": " --module4 --module3 **--no**-module2 --module1"
备注:
- dict2items 适用于 ansible 版本 >= 2.6