É possível alterar o valor padrão da variável de função de acordo com alguma condição (ou seja, o valor de outra variável)?
Detalhes
Eu tenho duas variáveis relacionadas para um comando enve composer_opts.
Se ambos forem deixados no padrão ( env = "prod"e composer_opts = "--no-dev") tudo está ok.
Se eu mudar envpara dev, o padrão para o outro interromperá meu comando, portanto, sempre preciso definir os dois. Seria possível evitar isso definindo um valor padrão condicional com um script personalizado / if?
Importante: não quero sempre definir o composer_optsvalor de acordo com o envvalor. Quero defini-lo apenas se ainda não estiver definido (ou seja, um valor padrão dinâmico).
Pseudo-código
Gostaria de fazer algo assim (o código a seguir não é válido, apenas pseudocódigo para expressar minha necessidade)
---
# defaults/main.yml
env: prod
composer_opts:
when: "{{env}}" = 'prod'
'--no-dev --optimize-autoloader --no-interaction'
when: "{{env}}" = 'dev'
''
composer_optscomo string vazia quandoenvfor "dev", substituindo qualquer valor real definido. Eu acho que a condicional deve ser alargado como este:when: "{{env}}" == 'dev' and "{{composer_opts}}" is undefined. Parece bom? Você pode atualizar sua pergunta de acordo?