Có thể thay đổi một giá trị mặc định của biến vai trò theo một số điều kiện (tức là giá trị của một biến khác)?
Chi tiết
Tôi có hai biến liên quan cho một lệnh env
và composer_opts
.
Nếu cả hai được để mặc định ( env = "prod"
và composer_opts = "--no-dev"
), mọi thứ đều ổn.
Nếu tôi thay đổi env
thành dev
, mặc định cho cái khác sẽ phá vỡ lệnh của tôi, vì vậy tôi luôn cần đặt cả hai. Có thể tránh điều này bằng cách đặt giá trị mặc định có điều kiện với tập lệnh tùy chỉnh / nếu?
Quan trọng: Tôi không muốn luôn đặt composer_opts
giá trị theo env
giá trị. Tôi chỉ muốn đặt nó nếu nó chưa được đặt (tức là giá trị mặc định động).
Mã giả
Tôi muốn làm một cái gì đó như thế này (mã sau đây không hợp lệ, chỉ là mã giả để thể hiện nhu cầu của tôi)
---
# defaults/main.yml
env: prod
composer_opts:
when: "{{env}}" = 'prod'
'--no-dev --optimize-autoloader --no-interaction'
when: "{{env}}" = 'dev'
''
composer_opts
chuỗi trống khienv
"dev", ghi đè bất kỳ giá trị thực nào được đặt. Tôi nghĩ rằng điều kiện nên được mở rộng như thế này :when: "{{env}}" == 'dev' and "{{composer_opts}}" is undefined
. Nó có vẻ tốt không? Bạn có thể udpate câu hỏi của bạn cho phù hợp?