gpt4 book ai didi

amazon-web-services - Terraform 读取现有资源的详细信息

转载 作者:行者123 更新时间:2023-12-04 16:29:34 30 4
gpt4 key购买 nike

我在 terraform 中遇到一个问题,我想阅读通过 AWS Web 控制台创建的某些现有资源 (r1) 的详细信息。
我正在通过 terraform 在新资源 (r2) 上创建这些细节。

问题是它试图破坏和重新创建不需要的资源,因为它会失败。当我执行 terraform apply 时,我如何设法不破坏和重新创建 r1。

这是我的做法:

主文件

resource "aws_lb" "r1"{

}

...

resource "aws_api_gateway_integration" "r2" {

type = "HTTP"
uri = "${aws_lb.r1.dns_name}}/o/v1/multi/get/m/content"
}

首先我导入该资源
 terraform import aws_lb.r1 {my_arn}

接下来我应用地形
terraform apply

错误
 aws_lb.r1: Error deleting LB: ResourceInUse: Load balancer 'my_arn' cannot be deleted because it is currently associated with another service

最佳答案

import声明是 meant for taking control over existing resources in your Terraform setup .

如果您的唯一目的是获取有关现有资源的信息(在您的 Terraform 控件之外),data sources专为这种需求而设计:

data "aws_lb" "r1" {
name = "lb_foo"
arn = "some_specific_arn" #you can use any selector you wish to query the correct LB
}

resource "aws_api_gateway_integration" "r2" {
type = "HTTP"
uri = "${data.aws_lb.r1.dns_name}/o/v1/multi/get/m/content"
}

关于amazon-web-services - Terraform 读取现有资源的详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53514465/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com