terraform query 명령

terraform query 명령

terraform query 명령은 tfquery.hcl 파일에 정의된 조건에 따라 기존 인프라에서 리소스를 조회해서 Terraform 워크스페이스로 가져올 수 있게 해 주는 명령이에요. 대량의 기존 리소스를 빠르게 파악하고 import 구성을 생성할 때 유용해요.

출처: 문서

본문

사용법 (Usage)

$ terraform query [flags] [options]

설명 (Description)

terraform query 명령을 실행하면 Terraform은 현재 구성 디렉터리에서 .tfquery.hcl 확장자를 가진 파일을 찾아요. 그런 다음 쿼리 파일에 정의된 list 블록과 일치하는 원격 인프라의 리소스를 조회하고 결과를 터미널에 출력해요. 또한 -generate-config-out 플래그를 추가해서 리소스를 import하는 데 사용할 수 있는 구성을 생성할 수도 있어요. 자세한 내용은 Import resources in bulk 문서를 참고해 주세요.

플래그 (Flags)

  • -var '<INPUT-VARIABLE>=<VALUE>': tfquery.hcl 구성에 정의된 입력 변수의 값을 설정하는 키-값 쌍을 지정함. 추가 입력 변수를 설정하려면 이 플래그를 두 번 이상 사용할 수 있어요.
    • 데이터 타입: String.
    • 예시: Set input variables
  • -var-file=<FILENAME>: 기본 terraform.tfvars*.auto.tfvars 파일에 더해서 입력 변수 값이 들어 있는 파일을 지정함.
    • 데이터 타입: Filename
    • 예시: Set input variables

옵션 (Options)

  • -generate-config-out=<PATH/TO/OUTPUT>: Terraform이 결과에 대한 importresource 블록을 생성해서 가져올 수 있도록 지시함. Terraform은 구성을 새 파일에 작성해요. 파일은 이미 존재해서는 안 돼요. -json 옵션과 함께 사용하면 Terraform은 파일에 쓰는 대신 JSON 출력의 일부로 구성을 생성해요.
    • 데이터 타입: Path
    • 예시: Generate import configuration
  • -json: Terraform이 결과를 콘솔에 JSON 형식으로 출력하도록 지시함.
    • 데이터 타입: Boolean
    • 예시: Generate import configuration
  • -no-color: Terraform이 단색(모노크롬) 결과를 출력함.
    • 데이터 타입: Boolean

예시 (Examples)

다음 예시들은 일반적인 사용 사례에서 명령을 어떻게 쓰는지 보여 줘요.

입력 변수 설정 (Set input variables)

다음 명령은 env 입력 변수의 값을 prod로 설정해요.

$ terraform query -var 'env=prod'

이에 대응하는 tfquery.hcl 구성:

list "aws_instance" "instances" {
  provider = aws
}

variable "env" {
  type = string
  default = "test"
}

다음 명령은 my-vars.tfvars에 정의된 변수 값을 불러와요.

$ terraform query -var-file=my-vars.tfvars

import 구성 생성 (Generate import configuration)

다음 명령은 쿼리 결과에 대한 importresource 블록을 to-import 디렉터리의 파일로 생성해요.

$ terraform query -generate-config=to-import/file.tf

다음 명령은 쿼리 결과에 대한 importresource 블록을 JSON으로 출력해요.

$ terraform query -generate-config=file.tf -json

더 알아보기 (Learn more)

  • Import resources in bulk 문서
  • terraform import 명령
  • tfquery.hcl 파일 형식 문서
  • Terraform CLI 명령 목록