Чи можливо змінити значення за замовчуванням змінної ролі відповідно до якоїсь умови (тобто значення іншої змінної)?
Деталі
У мене є дві пов'язані змінні для команди, env
і composer_opts
.
Якщо обидва залишені за замовчуванням ( env = "prod"
і composer_opts = "--no-dev"
), все нормально.
Якщо я перейду env
до dev
, за замовчуванням для іншого буде порушена моя команда, тому мені завжди потрібно встановити обидва. Чи можна було б цього уникнути, встановивши умовне значення за замовчуванням за допомогою спеціального сценарію / якщо?
Важливо: я не хочу завжди встановлювати composer_opts
значення відповідно до env
значення. Я хочу встановити його лише в тому випадку, якщо воно вже не встановлено (тобто динамічне значення за замовчуванням).
Псевдокод
Я хотів би зробити щось подібне (наступний код недійсний, просто псевдокод, щоб висловити свою потребу)
---
# defaults/main.yml
env: prod
composer_opts:
when: "{{env}}" = 'prod'
'--no-dev --optimize-autoloader --no-interaction'
when: "{{env}}" = 'dev'
''
composer_opts
порожній рядок, колиenv
це "dev", перезаписуючи будь-який фактичний набір значень. Я думаю , що умовне повинен бути продовжений так:when: "{{env}}" == 'dev' and "{{composer_opts}}" is undefined
. Це добре виглядає? Чи можете ви відповідно відповісти на своє запитання?