Bash 명령의 Terraform 구문 분석 결과
유효한 JSON의 입력 문자열이 필요하기 때문에 Terraform 설명서가 지나치게 복잡하고 혼란스럽다는 것을 알았습니다. 다행스럽게도 이것은 쉘에서 채찍질하는 것이 그리 어렵지 않습니다.
참고: 많은 자습서에서 jq 도구 사용을 제안하지만 이는 특히 Terraform이 임의의 유닉스 컨테이너에서 실행되는 경우 복잡성을 더할 뿐입니다. 따라서 표준 도구만 사용하려고 합니다.
JSON에서 사용자 이름을 생성하는 Bash 스크립트는 다음과 같습니다.
#!/bin/env bash
username=`whoami`
echo "{\"value\": \"$username\"}"
이 whoami.sh를 호출하고 프로젝트의 최상위 디렉토리에 저장합니다.
결과는 다음과 같습니다.
{"value": "poweruser"}
다음은 Terraform입니다.
data "external" "username" {
program = ["bash","whoami.sh"]
query = {
p_env = "whoami"
}
}
코드를 사용하려면 다음을 변수로 사용하십시오.
username = data.external.username.result.value
이것이 작동하는 방식은 "데이터", "외부", 이름, "사용자 이름"이 있는 terraform의 맨 윗줄을 보면 알 수 있습니다.
마지막으로 "result.value"는 json 출력을 구문 분석할 때 Terraform에서 하드 코딩됩니다.
이것은 약간 적은 노력으로 사소한 셸 명령에서 Terraform으로 데이터를 가져오는 데 도움이 됩니다. 전반적으로 나는 이것이 상당히 혼란 스럽다는 것을 알았습니다.
시간이 주어지면 이 게시물을 편집하고 완전한 작업 Terrform 코드를 추가하겠습니다.
Reference
이 문제에 관하여(Bash 명령의 Terraform 구문 분석 결과), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/frederickollinger/terraform-parsing-results-of-a-bash-command-2e88텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)