명령줄에서 ansible_user를 재정의하는 방법은 무엇입니까?

명령줄에서 ansible_user를 재정의하는 방법은 무엇입니까?

group_vars/all.yml기본 원격 사용자를 정의한 후 :

ansible_user: blackknight

그러나 어떤 경우에는 명령줄에서 이를 재정의하고 싶습니다.

% ansible-playbook -u kingarthur test.yml

test.yml간단한 디버깅 매뉴얼입니다

- hosts: localhost
  tasks:
    - debug: var=ansible_user

언제 실행되는지 알려줍니다 "ansible_user": "blackknight".

비표준을 가지도록 변수나 플레이북을 변경하되 ansible_user여전히 명령줄에서 지정할 수 있도록 허용하려면 어떻게 해야 합니까(그래서 명령줄 옵션이 변수의 기본값보다 우선 적용됩니까?)

답변1

~에서문서:

명령줄에서 -e 추가 변수를 사용하세요.

다른 모든 범주의 다른 모든 설정을 재정의하려면 추가 변수를 사용하거나 --extra-vars명령 -e줄에서 사용할 수 있습니다. 전달된 값은 -e명령줄 옵션이 아닌 변수이며, 구성 설정, 명령줄 옵션, 플레이북 키워드 및 다른 곳에 설정된 변수를 재정의합니다. 예를 들어 이 작업은 다음 brian과 같이 연결됩니다 carol.

ansible -u carol -e 'ansible_user=brian' -a whoami all

지정된 변수 이름과 값을 사용해야 합니다 --extra-vars.

관련 정보