2017-05-02 4 views
0

재고 파일 소속의 템플릿 파일에 그룹의 변수를 액세스 :역할은 다른 그룹에

[1] 
IP 

[2] 
IP 

[1:vars] 
foo=test 

가 어떻게 역할 foo 변수 그룹에서 실행되는 액세스 할 수 있습니다를 [2]? 변수에서 온

답변

3

첫째, 당신은 인벤토리 파일 한 자리에 호스트 그룹의 이름을, 그래서 고칠 수 :

: 다음

[group1] 
IP1 

[group2] 
IP2 

[group1:vars] 
foo=test 

를 사용하여 다음과 같은 구조를 group1에 대해 정의 된 변수에 액세스, group2에 대해 실행하는 경우

- debug: 
    var: hostvars[groups['group1'][0]]['foo'] 

일반적으로 나는 이러한 참조를 피하려고 노력할 것입니다.

+0

참조/샘플과 같이 하나의 숫자가있는 호스트 그룹을 지정했습니다. –

1

그것은 중요하지 않습니다는 (재고, 플레이 북, 엑스트라), 당신은 같은 이름으로 액세스 : 같은 이름의 변수가 여러 위치에 정의되어있는 경우

- debug: 
    msg: "{{ foo }}" 

의 우선 순위가 더 높은 것 (docs 참조).