728x90
수명주기
terraform에서 resource를 선언할 때 블럭 내부에 배치하여 수명주기를 설정할 수 있다. 인수로는 다음 목록들을 입력할 수 있다.
- create_before_destroy (bool)
- 리소스 수정 시 수정된 리소스를 먼저 생성. 이후 기존 리소스 삭제
resource "local_file" "abc" { content = "lifecycle" lifecycle { create_before_destroy = true } }
- prevent_destroy (bool)
- 해당 리소스를 삭제하려할 때 거부
resource "local_file" "abc" { content = "lifecycle" lifecycle { prevent_destroy = true } }
- ignore_changes (list)
- 리소스 요소에 선언된 인수의 변경 사항을 테라폼 실행 시 무시
resource "local_file" "abc" { content = "lifecycle" lifecycle { ignore_changes = [ content ] } }
- precondition
- 리소스 요소에 선언된 인수의 조건 검증
resource "local_file" "abc" { content = "lifecycle" lifecycle { precondition { condition = var.file_name == "test.txt" error_message = "file name is not 'test.txt'" } } }
- postcondition
- plan, apply 이후의 결과를 속성 값으로 검증
resource "local_file" "abc" { content = "lifecycle" lifecycle { postcondition { condition = self.content != "" error_message = "content is empty!" } } }
'DevOps > Terraform' 카테고리의 다른 글
Terraform import 사용법 (0) | 2023.09.02 |
---|---|
The architecture 'x86_64' of the specified instance type does not match the architecture 'arm64' of the specified AMI (0) | 2023.07.30 |
moved block (0) | 2023.07.10 |