Apakah mungkin untuk mengubah nilai default variabel peran sesuai dengan beberapa kondisi (yaitu nilai variabel lain)?
Detail
Saya memiliki dua variabel terkait untuk suatu perintah, envdan composer_opts.
Jika keduanya dibiarkan secara default ( env = "prod"dan composer_opts = "--no-dev") semuanya ok.
Jika saya mengubah envke dev, default untuk yang lain akan melanggar perintah saya, jadi saya selalu perlu mengatur keduanya. Apakah mungkin untuk menghindari ini dengan menetapkan nilai standar bersyarat dengan skrip khusus / jika?
Penting: Saya tidak ingin selalu menetapkan composer_optsnilai sesuai dengan envnilainya. Saya ingin mengaturnya hanya jika belum disetel (yaitu nilai default dinamis).
Kodesemu
Saya ingin melakukan sesuatu seperti ini (kode berikut ini tidak valid, hanya pseudocode untuk mengekspresikan kebutuhan saya)
---
# defaults/main.yml
env: prod
composer_opts:
when: "{{env}}" = 'prod'
'--no-dev --optimize-autoloader --no-interaction'
when: "{{env}}" = 'dev'
''
composer_optske string kosong ketikaenv"dev", menimpa nilai yang ditetapkan. Saya pikir bersyarat harus diperpanjang seperti ini:when: "{{env}}" == 'dev' and "{{composer_opts}}" is undefined. Apakah terlihat bagus? Bisakah Anda udpate pertanyaan Anda sesuai?