2017-05-08 5 views
0

새로 만든 인스턴스의 개인 IP를 terraform을 실행하는 로컬 호스트 파일에 인쇄하려고합니다.하지만 terraform은 사용할 수 있지만 terraform은 사용하지 않습니다. local-exec echo 명령에서 이스케이프 문자를 수정할 때마다 오류가 발생합니다. 여기 terraform local-exec를 사용하여 파일을 인쇄 할 때 오류가 발생했습니다.

내가 오류가 발생하고 코드 조각입니다 :

provisioner "local-exec" 
{ 
command = " echo \"[servers]\["${aws_instance.seeds.*.private_ip}"\]\" >> /ec2-ansible/hosts" 
} 
호스트에서

예상 출력 파일 : 나는 점점 오전

[servers] 
ip1 
ip2 
ip3 

오류 :

Failed to load root config module: Error parsing /root/ec2-ansible/main.tf: At 33:1: expected: IDENT | STRING | ASSIGN | LBRACE got: RBRACE
Failed to load root config module: Error parsing /root/ec2-ansible/main.tf: At 29:25: illegal char

좀 도와주세요 아웃.

+1

'[servers]'뒤에'['는 있지만 뒤에 나오는 따옴표에는 백 슬래시가 없습니다. –

답변

0

나는 테라 폼과 무언가를 모두 사용하는 것에 대해 잘못된 방향으로 가고 있다고 생각합니다.

ansible에서, 당신은 등 terraform에서

쉽게 태그, 크기, AMI ID와 사설 IP를, 같은 호스트 정보를 얻을 수 Dynamic Inventory을 사용할 수 있습니다, 당신은 상태 정보를 필요로하고 ansible을 공급하는 경우, 정보를 수집하려면 terraform output을 사용하는 것이 좋습니다.

+1

덕분에 도움이되었습니다. –