어떤 조건 (예 : 다른 변수의 값)에 따라 역할 변수 기본값을 변경할 수 있습니까?
세부
나는 명령에 대한 두 개의 관련 변수를 가지고 env
와 composer_opts
.
둘 다 기본값 ( env = "prod"
과 composer_opts = "--no-dev"
) 으로 남아 있으면 모든 것이 정상입니다.
내가 변경하는 경우 env
에 dev
항상 모두를 설정해야하므로, 다른 하나의 기본은, 내 명령을 중단합니다. 사용자 정의 스크립트 / if로 조건부 기본값을 설정하여 이것을 피할 수 있습니까?
중요 : 항상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
실제 값 세트를 덮어 씁니다. 조건부를 다음과 같이 확장해야한다고 생각합니다when: "{{env}}" == 'dev' and "{{composer_opts}}" is undefined
. 좋아 보인다? 그에 따라 질문을 수정할 수 있습니까?