8.4. 인벤토리 파일에서 변수를 선언하는 규칙

문자열 변수의 값은 따옴표로 선언됩니다. 예를 들면 다음과 같습니다.

pg_database='awx'
pg_username='awx'
pg_password='<password>'

:vars 섹션에 선언되면 INI 값이 문자열로 해석됩니다. 예를 들어, var=FALSE 는 skopeo 와 같은 문자열을 만듭니다. 호스트 행과 달리 :vars 섹션은 행당 하나의 항목만 허용하므로 = 이후의 모든 항목은 항목의 값이어야 합니다. 호스트 행은 행당 여러 key=value 매개변수를 허용합니다. 따라서 공백이 구분자가 아닌 값의 일부임을 나타내는 방법이 필요합니다. 공백이 포함된 값을 인용할 수 있습니다(단일 또는 이중). 자세한 내용은 Python shlex 구문 분석 규칙을 참조하십시오.

INI 인벤토리에 설정된 변수 값이 특정 유형이어야 하는 경우(예: 문자열 또는 부울 값) 항상 작업에서 필터를 사용하여 유형을 지정합니다. 변수를 사용할 때 INI 인벤토리에 설정된 유형에 의존하지 마십시오.

참고

인벤토리 소스에 YAML 형식을 사용하여 실제 변수 유형에 대한 혼동을 방지하는 것이 좋습니다. YAML 인벤토리 플러그인은 변수 값을 일관되고 올바르게 처리합니다.

Ansible 인벤토리 파일의 매개 변수 값에 #, { 또는 }와 같은 특수 문자가 포함된 경우 값을 두 번 이스케이프해야 합니다(단일 및 이중 인용 표시로 값을 묶습니다).

예를 들어 mypasswordwith#hashsigns 를 변수 pg_password 의 값으로 사용하려면 Ansible 호스트 인벤토리 파일에서 pg_password='mypasswordwith#hashsigns"' 로 선언합니다.