Amazon web services 如何使用数据源查找使用terraform的AWS负载平衡器的ARN?
这是给AWS LB的 这是我提出的代码示例,让我们想象一下我得到了这个LB:Amazon web services 如何使用数据源查找使用terraform的AWS负载平衡器的ARN?,amazon-web-services,terraform,terraform-provider-aws,Amazon Web Services,Terraform,Terraform Provider Aws,这是给AWS LB的 这是我提出的代码示例,让我们想象一下我得到了这个LB: resource "aws_lb" "test" { name = "test-lb-tf" internal = false load_balancer_type = "network" subnets = aws_subnet.public.*.id
resource "aws_lb" "test" {
name = "test-lb-tf"
internal = false
load_balancer_type = "network"
subnets = aws_subnet.public.*.id
enable_deletion_protection = true
tags = {
Environment = "Dev"
}
}
然后我可以通过这种方式启用Shield:
resource "aws_shield_protection" "example" {
name = "example"
resource_arn = aws_lb.test.id
tags = {
Environment = "Dev"
}
}
问题显然是,我的infra中的AWS上有一个现有的负载平衡器,但我的tf状态已完全删除,因此我需要使用数据源AWS或其他东西来检索(导出)其arn,而不是重新创建它。如果您丢失了状态文件,您可以将现有资源重新创建到tf中。这比在TF控制下为丢失的每一个资源使用一个数据源要好得多 但无论如何,要使用,您可以:
如果您丢失了状态文件,您可以将现有资源重新创建到TF中。这比在TF控制下为丢失的每一个资源使用一个数据源要好得多 但无论如何,要使用,您可以:
进展如何?当我看到一个新问题时,问题仍然存在?接受答案!进展如何?当我看到一个新问题时,问题仍然存在?接受答案!
data "aws_lb" "test" {
name = "test-lb-tf"
}
resource "aws_shield_protection" "example" {
name = "example"
resource_arn = data.aws_lb.test.id
tags = {
Environment = "Dev"
}
}