Bir rol değişkeni varsayılan değerini bazı koşullara (yani başka bir değişkenin değeri) göre değiştirmek mümkün müdür?
ayrıntılar
Bir komut için iki ilişkili değişkenim var envve composer_opts.
Her ikisi de varsayılan olarak bırakılırsa ( env = "prod"ve composer_opts = "--no-dev") her şey yolunda demektir.
Şunu değiştirirsem enviçin devhep hem ayarlamanız gerekir, böylece diğeri için varsayılan, emrime kıracak. Özel bir komut dosyası / if ile koşullu bir varsayılan değer ayarlayarak bundan kaçınmak mümkün müdür?
Önemli: Değeri her zamancomposer_opts değere göre ayarlamak istemiyorum env. Sadece zaten ayarlanmamışsa (yani dinamik bir varsayılan değer) ayarlamak istiyorum.
pseudocode
Böyle bir şey yapmak istiyorum (aşağıdaki kod geçerli değil, sadece ihtiyacımı ifade etmek için sözde kod)
---
# defaults/main.yml
env: prod
composer_opts:
when: "{{env}}" = 'prod'
'--no-dev --optimize-autoloader --no-interaction'
when: "{{env}}" = 'dev'
''
composer_optsolduğunda her zaman boş dizeyeenvayarlanır. Ben koşullu böyle genişletilmesi gerektiğini düşünüyorum:when: "{{env}}" == 'dev' and "{{composer_opts}}" is undefined. İyi görünüyor mu? Sorunuzu buna göre değerlendirebilir misiniz?