Lifecycle — managing resource lifecycle.
1. create_before_destroy:
1resource "aws_instance" "web" {2 ami = "ami-xxx"3 instance_type = "t3.micro"4 lifecycle {5 create_before_destroy = true6 }7}
2. prevent_destroy:
1resource "aws_db_instance" "main" {2 engine = "postgres"3 instance_class = "db.t3.micro"4 lifecycle {5 prevent_destroy = true6 }7}
3. ignore_changes:
1resource "aws_instance" "web" {2 ami = "ami-xxx"3 instance_type = "t3.micro"4 lifecycle {5 ignore_changes = [tags["LastModified"]]6 }7}
4. replace_triggered_by:
1resource "aws_instance" "web" {2 ami = var.ami_id3 instance_type = "t3.micro"4 lifecycle {5 replace_triggered_by = [aws_security_group.web]6 }7}