我有一个剧本,在Ansible Tower中创建一个目录。
我有一个调查问卷,其中有多项选择选项来选择该文件夹的权限。
剧本是:
- name: Create a directory
hosts: localhost
become_user: root
tasks:
- name: Create directory
file:
path: /test
state: directory
mode: u={{ user_perm }},g={{ group_perm }},o={{ other_perm }}
owner: 'root'
group: 'root'
当我在Ansible Tower中执行模板时,我必须通过多项选择在调查中指定参数:r
,w
,x
。我的意图是我可以组合这些变量:rw
,r
,rx
。
在多项选择中指定参数后,Tower显示的摘要:
user_perm:
- r
group_perm:
- r
- w
other_perm:
- x
和错误信息:
mode: u=['r'], "gid": 0, "group": "root", "mode";" 0750", "msg";" mode必须是八进制或符号形式">
我应该改变剧本处理变量的方式吗?
因为与您的示例匹配的有效权限集应该是
mode: u=r,g=rw,o=x
你可以简单地加入你的列表:
mode: >-
u={{ user_perm | join -}}
,g={{ group_perm | join -}}
,o={{ other_perm | join }}