是否可以根据某些条件(即另一个变量的值)更改角色变量的默认值?
细节
我有两个相关的命令变量,env
和composer_opts
.
如果两者都保留为默认值 (env = "prod"
和composer_opts = "--no-dev"
),一切正常。
如果我更改env
为dev
,另一个默认值会破坏我的命令,所以我总是需要同时设置两者。是否可以通过使用自定义脚本/ if 设置条件默认值来避免这种情况?
重要提示:我不想总是composer_opts
根据值设置env
值。我只想在尚未设置的情况下设置它(即动态默认值)。
伪代码
我想做这样的事情(以下代码无效,只是伪代码来表达我的需要)
---
# defaults/main.yml
env: prod
composer_opts:
when: "{{env}}" = 'prod'
'--no-dev --optimize-autoloader --no-interaction'
when: "{{env}}" = 'dev'
''