创建API网关资源时出错,报错具有相同父级的另一个资源已经具有此名称



我正在创建一个名为"lang":

的API网关资源
resource "aws_api_gateway_resource" "lang" {
path_part   = "lang"
parent_id   = aws_api_gateway_resource.api.id
rest_api_id = aws_api_gateway_rest_api.root_api.id
}

成功创建API后,当后续运行terraform apply时,我得到这个错误:

Error: Error creating API Gateway Resource: ConflictException: Another resource with the same parent already has this name: lang

上面的资源块绝对是唯一使用该名称的。我在谷歌上搜索了足够多的信息,发现terraform在抱怨一种叫做"语言"的资源。已经存在且不能重新创建。我不知道的是如何先把它毁掉。

我试着把这个添加到我的脚本:

resource "aws_api_gateway_deployment" "deployment" {
rest_api_id   = aws_api_gateway_rest_api.root_api.id
stage_name    = var.envName

triggers = {
redeployment = sha1(jsonencode(aws_api_gateway_rest_api.root_api.body))
}
lifecycle {
create_before_destroy = true
}
}

…没用。

create_before_destroy属性不应该从本质上破坏API并导致它被重新创建或仅仅是阶段吗?

如何更改"语言"?如果资源块不能完成它?在我看来,这似乎是一个基本的循环问题。

令人恼火的是,这是一个深夜的打字错误…

我(故意)复制粘贴了resource "aws_api_gateway_resource" "lang"块,并在浏览和更新所有副本时忘记了重命名副本。

相关内容

  • 没有找到相关文章

最新更新