terraform.applying 심볼

terraform.applying 심볼

terraform.applying 심볼을 사용하면 Terraform이 현재 apply 작업을 실행 중인지 판단할 수 있어요. 이 심볼은 Terraform v1.10 이상에서 사용할 수 있어요. apply 작업 중에는 자동으로 true로 설정되고, 그 외의 작업에서는 false로 설정되기 때문에 동작을 조건에 따라 달리 만들 수 있답니다.

출처: 문서

본문

참고: terraform.applying 심볼은 Terraform v1.10 이상에서 사용할 수 있어요.

구성(configuration)에서 terraform.applying 심볼을 사용하면 Terraform이 현재 apply 작업을 실행 중인지 판단할 수 있어요. Terraform은 apply 작업을 실행할 때 terraform.applying을 자동으로 true로 설정하고, 그 외의 작업에서는 false로 설정해요. terraform apply를 실행하는 planning modeterraform.applying에 영향을 주지 않아요. 즉, destroy 모드에서도 terraform.applying은 여전히 true예요.

terraform.applying을 사용하면 apply 작업 중에 Terraform의 동작을 바꿀 수 있어요. 다음 예시에서는 plan 작업을 실행할 때 읽기 전용 자격 증명을 사용하고, apply 작업을 실행할 때는 쓰기 자격 증명을 사용하도록 만들고 있어요.

locals {
  aws_read_role_arn  = "arn:aws:iam::XXXXX:role/terraform-read"
  aws_write_role_arn = "arn:aws:iam::XXXXX:role/terraform-full"

  role_arn = terraform.applying ? local.aws_write_role_arn : local.aws_read_role_arn
}

provider "aws" {
  region = "us-west-2"

  assume_role {
    role_arn     = local.role_arn
  }
}

terraform.applying 심볼은 임시(ephemeral) 값으로, Terraform 작업 중에만 사용할 수 있어요. Terraform은 임시 값을 plan이나 state 파일에 기록하지 않아요. 또한 terraform.applying은 다음의 임시(ephemeral) 컨텍스트에서만 참조할 수 있어요.

더 알아보기 (Learn more)