이번에는 테라폼에서 조건문을 활용해보자
https://github.com/tedilabs/fastcampus-devops/blob/main/2-terraform/07-conditional/main.tf
GitHub - tedilabs/fastcampus-devops: 🚀 패스트캠퍼스 데브옵스 초격차 코스 자료
🚀 패스트캠퍼스 데브옵스 초격차 코스 자료. Contribute to tedilabs/fastcampus-devops development by creating an account on GitHub.
github.com
테라폼에서는 "?", ":"을 이용해서 조건문을 작성할 수 있다.
variable로 "is_john"을 선언했고
locals 블록에서 message는 var.is_john은 참이므로 "Hello John!"이 대입된다.
apply를 해보면 Hello John! 이 잘 출력된다.
만약 is_john에 false를 대입하고 apply를 하면 "Hello!" 가 출력된다.
이렇게 테라폼에서 지원하는 조건문은 expression 상에서만 사용 가능하다,
그러나 리소스 자체도 조건적으로 제어하기 위해 커뮤니티에서 많이 사용하는 트릭이 있다.
이는 바로 count와 조건문을 함께 사용하는 것이다.
variable로는 인터넷 게이트웨이에 대한 변수가 있고 type은 bool에 default는 true이다.
resource를 보면 aws_vpc와 aws_internet_gateway로 인터넷 게이트웨이는 vpc에 종속되는 리소스이다.
따라서 internet_gateway_enabled 변수가 true이면 vpc에 인터넷 게이트웨이가 생성되도록 설정한 것이다.
'AWS > Part 4. Ch02 테라폼을 이용한 인프라 관리' 카테고리의 다른 글
CH02_10. 테라폼 상태 저장소 (Backend) (0) | 2022.06.03 |
---|---|
CH02_09. 테라폼 HCL 반복문(For) (0) | 2022.06.02 |
CH02_07. 테라폼 HCL count와 for_each (0) | 2022.06.02 |
CH02_06. 테라폼 HCL variable & local & output (0) | 2022.06.02 |
CH02_05. 테라폼 HCL module (0) | 2022.06.02 |