local

locals {
  tags = merge(
    var.tags1,
    var.tags2,
  )

  instance_ids = concat(aws_instance.blue.*.id, aws_instance.green.*.id)

  max_subnet_length = max(
    length(var.public_subnets),
    length(var.private_subnets)
  )
}

현재 **실행 파일에서 사용되는 지역 변수**이다. 주로 특정 값들을 연산하여 하나의 변수로 합칠 때 사용한다.


data

data "aws_iam_user" "foo" {
  user_name = "foo_name"
}

resource "aws_iam_user" "bar" {
  name = "bar_name"
  path = data.aws_iam_user.foo.path
}

**이미 있는 리소스**에서 **정보를 가져와서 변수로 저장할 때 사용**한다.

filter {
    name   = "name"
    values = ["amzn2-ami-hvm*"]
  }

위처럼 filter를 지정해서 갖고 오고 싶은 key(name), value(values)를 설정할 수 있다.