Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何使用数据源查找使用terraform的AWS负载平衡器的ARN?_Amazon Web Services_Terraform_Terraform Provider Aws - Fatal编程技术网

Amazon web services 如何使用数据源查找使用terraform的AWS负载平衡器的ARN?

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

这是给AWS LB的

这是我提出的代码示例,让我们想象一下我得到了这个LB:

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"
  }
}