我正在定制 linux users
在我的角色中创造。我需要让我角色的用户自定义 home_directory
, group_name
, name
, password
.
我想知道是否有更灵活的方法来处理默认值。
我知道下面的代码是可能的:
- name: Create default
user:
name: "default_name"
when: my_variable is not defined
- name: Create custom
user:
name: "{{my_variable}}"
when: my_variable is defined
但正如我提到的,有很多可选变量,这创造了很多可能性。
有类似上面的代码吗?
user:
name: "default_name", "{{my_variable}}"
代码应设置
name="default_name"
当my_variable
没有定义。我可以在
defaults/main.yml
上设置所有变量并像这样创建用户:- name: Create user
user:
name: "{{my_variable}}"
但是这些变量在一个非常大的散列中,并且该散列中有一些不能作为默认值的散列。
最佳答案
您可以使用 Jinja 的 default
:
- name: Create user
user:
name: "{{ my_variable | default('default_value') }}"
关于Ansible - 如果 undefined variable ,则使用默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72110203/