Чи можливо змінити значення за замовчуванням змінної ролі відповідно до якоїсь умови (тобто значення іншої змінної)?
Деталі
У мене є дві пов'язані змінні для команди, 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. Це добре виглядає? Чи можете ви відповідно відповісти на своє запитання?