Is it possible to change a role variable default value according to some condition (i.e. the value of another variable)?
Details
I have two related variables for a command, env
and composer_opts
.
If both are left at default (env = "prod"
and composer_opts = "--no-dev"
) everything is ok.
If I change env
to dev
, the default for the other one will break my command, so I always need to set both. Would it be possible to avoid this by setting a conditional default value with a custom script / if?
Important: I don't want to always set the composer_opts
value according to the env
value. I want to set it only if it's not already set (i.e. a dynamic default value).
Pseudocode
I would like to do something like this (following code is not valid, just pseudocode to express my need)
---
# defaults/main.yml
env: prod
composer_opts:
when: "{{env}}" = 'prod'
'--no-dev --optimize-autoloader --no-interaction'
when: "{{env}}" = 'dev'
''