나는 (hostname, ip_address) 모든 쌍을 가능한 작업의 일부로 열거하는 간단한 구성 파일을 만들려고합니다.불가능한 템플릿을위한 데이터 구조 만들기
{"webservers":{"web0":"1.2.3.4","web1":"1.2.3.5"},{"caches":{"cache0":"1.2.3.6"}}}
그러나, 나는 돈 '과 같은 데이터 구조를 방출 할
def grouped_hosts():
ret = {}
for group in groups:
ret[group] = {}
for host in groups[group]:
ret[group][host] = hostvars[host]['ansible_eth0']['ipv4']['address']
return json.dumps(ret)
이 같은 (ansible의 글로벌 데이터 구조체 groups
및 hostvars
를 사용하여이) 내가 정말하고 싶은 것입니다 이 데이터 구조를 만들고 jinja2 템플릿에 전달하는 방법을 알고 있습니다. 나는 그 데이터 구조를 만들고 단지 {{ grouped_hosts()|to_nice_json }}
을 넣고 하루를 부를 수 있기를 정말로 원합니다. 그러나 나는 어떻게 쓰고, 어디에 넣을 까, grouped_hosts()
은 기능을합니까?
고마워, 예, 이런 해결책을 직접 사용했습니다. 방금 json 인코더를 다시 구현해야한다는 느낌이 들었습니다. (필자의 문서 구조가 변경됨에 따라이 템플릿을 계속해서 변경해야합니다.) 스 니펫을 가져 주셔서 감사합니다! –