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, env
dan composer_opts
.
Jika keduanya dibiarkan secara default ( env = "prod"
dan composer_opts = "--no-dev"
) semuanya ok.
Jika saya mengubah env
ke 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_opts
nilai sesuai dengan env
nilainya. 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_opts
ke 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?