2016-07-15 2 views
2

실행중인 시스템의 호스트 이름에 특정 문자열이 들어있는 경우에만 다른 역할에 의존하는 가능한 역할을 만들려고합니다. 예를 들어 그대로 시스템의 호스트 이름이 문구 "호스트 이름을"포함 된 경우위험한 상황에서 대/소문자 구분을 무시합니까?

dependencies: 
- { role: example-role, when: "'hostname' in ansible_hostname" } 

는 역할이 실행됩니다. 그러나 건물에있는 대부분의 시스템에는 대문자 인 호스트 이름이 있습니다. 예를 들어 호스트 이름에 "호스트 이름"이 포함될 수 있습니다. 이 경우 위의 진술은 작동하지 않습니다. 어떻게하면이 작업을 할 수 있습니까? (줄을 복제하고 "대문자로 호스트 이름"을 넣는 것) 문자를 무시할 수 있습니까?

답변

4

문자열을 소문자로 변환하고 확인하십시오. 이렇게 :

dependencies: 
- { role: example-role, when: "'hostname'|lower in ansible_hostname|lower" } 
+0

어떻게 입력이 소문자인지 확인 하시겠습니까? –

+0

그게 "아래쪽"이 무엇입니까? –

+0

알았어 ... 이제는 다음과 같이''hostname ''옆에'| lower'를 바로 적용해야했습니다 : hostname '| lower in an anonymous_hostname | lower " –

관련 문제