簡體   English   中英

AWS VPC 端點服務:如何 append 委托人

[英]AWS VPC Endpoint Service: How to append Principals

我正在嘗試創建一個 AWS VPC 端點服務 (PrivateLink),我可以在其中將委托人添加到那些已經存在的服務中。 這是我當前的代碼

resource "aws_vpc_endpoint_service" "privatelink" {
  provider                   = aws.customer
  acceptance_required        = true
  network_load_balancer_arns = ["${aws_lb.nlb.arn}"]
}

resource "aws_vpc_endpoint_service_allowed_principal" "addition" {
  provider                = aws.customer
  vpc_endpoint_service_id = aws_vpc_endpoint_service.privatelink.id
  principal_arn           = var.consumer_principal_arn
}

這對於變量中指定的一個 Principal 非常有效,但是當我使用不同的 Principal 再次運行它時會覆蓋現有的 Principal。 我想要的是將append零個或多個 Principals 添加到現有 Principals 列表中,每次我執行 terraform apply 例如,我第一次運行它時,我指定了 Principal X。我再次運行它時,指定了 Principal Y。現在允許的 Principals 列表是 X 和 Y。

您需要為每個額外的 ARN 創建多個aws_vpc_endpoint_service_allowed_principal資源。 這樣你就可以在未來撤銷委托人而不破壞其他現有的關聯。 當然,您可以為每個循環使用並創建aws_vpc_endpoint_service_allowed_principal資源,其中包含計數和主體 ARN 列表。 但是,如果您從列表中刪除一個委托人,則將重新創建從列表中刪除的委托人之后的所有委托人的關聯,並且需要再次接受這些關聯。

您無法編輯現有資源定義來添加另一個主體。 Terraform 將其視為對名為“addition”的資源的更新,並改為執行更新。 相反,您需要添加另一個aws_vpc_endpoint_service_allowed_principal資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM