반응형
출력 변수
출력 변수(output values)
를 사용하면 리소스에 대한 데이터를 내보낼 수 있으며 child module(자식 모듈)에서 root module(루트 모듈)로 데이터를 공유할때 필요합니다.- 내보낸 데이터를 사용하여 다른 인프라의 구성에 활용하거나 데이터 소스로 사용할 수 있습니다.
- output 선언은 모든 구성파일의 모든 위치에서 가능하지만,
outputs.tf
에 선언 할 것을 권장합니다. - output values는 루트 모듈의 상태 파일에 저장됩니다.
terraform output
는 output에 query하는 명령입니다.
출력 변수 선언
Output Blocks
description은 선택사항이지만 작성할 것을 권장합니다.
terraform의 표현식의 결과를 value로 사용할 수도 있습니다.
output "vpc_id" { description = "ID of project VPC" value = module.vpc.vpc_id } output "lb_url" { description = "URL of load balancer" value = "http://${module.elb_http.this_elb_dns_name}/" } output "db_password" { description = "Database administrator password" value = aws_db_instance.database.password sensitive = true }
sensitive
output이 password와 같은 민감한 값을 가리킬때 사용합니다.
sensitive를 plan, apply, destory 단계에서 console 출력이
<sensitive>
로 변경됩니다.하지만 output으로 출력하는 경우, JSON 형식으로 출력하는 경우, 루트 모듈에서 자식모듈의 출력을 사용하는 경우 등에서는
sensitive로 가려지지 않습니다.
반응형
'IaC > Terraform' 카테고리의 다른 글
[Terraform] 의존성(dependency) 관리 (0) | 2022.09.05 |
---|---|
[Terraform] data source (0) | 2022.09.04 |
[Terraform] Variable 입력 변수 (0) | 2022.09.03 |
[Terraform] Error: Incompatible provider version (0) | 2022.08.23 |
[Terraform] Provider, Resource, Data Source, Variable, Output, Locals, Module (0) | 2022.08.11 |