gpt4 book ai didi

aws-api-gateway - 如果 aws_api_gateway_integration 是在 Terraform 模块中创建的,我如何在 aws_api_gateway_deployment 资源上填充 depends_on?

转载 作者:行者123 更新时间:2023-12-04 13:19:37 28 4
gpt4 key购买 nike

aws_api_gateway_deployment 的 Terraform 文档中它说:

Note: Depends on having aws_api_gateway_integration inside your rest api (which in turn depends on aws_api_gateway_method). To avoid race conditions you might need to add an explicit depends_on = ["aws_api_gateway_integration.name"].

我的 aws_api_gateway_deployment 资源位于根模块中,但大多数 aws_api_gateway_integration 都是在子模块中创建的(这是我创建的本地模块)。

我的理解是您不能从模块中导出资源。

文件夹结构是:

 - main.tf <-- contains the aws_api_gateway_rest_api and aws_api_gateway_deployment and uses the service_func_lambda module multiple times
- modules/
- service_func_lambda/
- main.tf <-- contains the aws_api_gateway_integration and other bits such as aws_api_gateway_method and aws_api_gateway_resource

如何从调用根模块引用在模块内部创建的 aws_api_gateway_integration

最佳答案

您不能依赖另一个模块中的资源。您可以通过引用该模块的输出来创建对整个模块的隐式依赖。

我认为您可以为此使用null_resource(尽管可能有更好的方法)。像这样创建一个空资源,然后让您的 aws_api_gateway_deployment 依赖它:

resource "null_resource" "depend_on_module" {
triggers {
service_func_lambda_module_output = "${module.service_func_for_lambda.some_output}"
}
}

关于aws-api-gateway - 如果 aws_api_gateway_integration 是在 Terraform 模块中创建的,我如何在 aws_api_gateway_deployment 资源上填充 depends_on?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55281107/

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