首页 文章

是否可以更改Terraform API网关域名资源上的标记信息?

提问于
浏览
0

我正在创建一个指向CloudFront分配并点击API网关 endpoints 的Route53 URL . 我让Terraform定义工作,所有部署都正确 . 但是,我需要向CloudFront分配添加标签 .

以下是相关的Terraform代码:

resource "aws_api_gateway_domain_name" "api-gateway-domain" {
    domain_name = "${var.domain_name}"
    certificate_arn = "${var.arn}
    count        = "${var.count}"
}


resource "aws_route53_record" "route53" {
    zone_id = "${data.aws_route53_zone.route53-zone.zone_id}"
    name    = "${var.domain_name}"
    type    = "A"
    alias {
      name                   = "${aws_api_gateway_domain_name.api-gateway-domain.cloudfront_domain_name}"
      zone_id                = "${aws_api_gateway_domain_name.api-gateway-domain.cloudfront_zone_id}"
      evaluate_target_health = true
    }
    count   = "${var.count}"
}

我想知道我是否可以做类似 "${aws_api_gateway_domain_name.api-gateway-domain.cloudfront_domain_name.id.tags}" = { TAGS = "foobar" } 之类的事情 .

这可能吗?或者我是否必须手动设置CloudFront分配以将Route53 URL指向?

1 回答

  • 1

    你不能 .

    API网关创建的CloudFront分配对您来说完全不可见;你无法看到它,也无法改变它 . 真的,事实上他们甚至告诉你's what it is and then give you some information such as the 934376 is incredibly confusing. It'与他们说"Instance store-backed AMIs are stored by S3"时的情况相同 - 但你没有任何访问实际S3对象的权限 .

    此外,不 - 您不需要创建自己的CloudFront分配;但是,您应该能够将Route53记录指向显示在API网关的“自定义域名”部分中的CloudFront目标域名 .

    route53_recordapi_gateway_domain_name都不支持Tag块;可能是由于AWS不支持它们上的标签(我知道 - 很疯狂,考虑到AWS总是说你应该标记所有内容,但之后不提供选项) .

    所以你只需要能够标记这些资源的SOL;不幸的是,这不是你最后一次遇到这个问题 .

相关问题