Я создаю VPC и подсети, в которые добавляю теги.
Позже я создаю кластер EKS, который добавляет свои собственные теги, и, если я снова apply
, теги перезаписываются.
Мне нужен любой метод, чтобы прочитать текущие теги, а затем объединить их с моими пользовательскими тегами.Проблема в том, что если ресурсы VPC создаются впервые, я не могу запросить, существуют ли какие-либо теги.
Вот мое определение подсетей
resource "aws_subnet" "k8s" {
count = "${var.create_vpc && length(var.k8s_subnets) > 0 ? length(var.k8s_subnets) : 0}"
vpc_id = "${local.vpc_id}"
cidr_block = "${var.k8s_subnets[count.index]}"
availability_zone = "${element(var.azs, count.index)}"
tags = "${merge(map("Name", format("subnet-%s-${var.k8s_subnet_suffix}-%s", var.name, element(var.azs, count.index))), var.tags, var.k8s_subnet_tags)}"
}
Это тег, который добавляет EKS.:
kubernetes.io/cluster/eks-cluster : shared
Я застрял с этим видом ... который идет первым, курица или яйцо?Любая идея или предложение?
- Отредактировано
что-то вроде self.tags может быть решением, но, к сожалению, это невозможно:
Синтаксис self.ATTRIBUTE толькоразрешено и допустимо в пределах провайдеров.
, и это показывает ошибку:
Error: resource 'aws_subnet.k8s' config: cannot contain self-reference self.tags