首页 > 解决方案 > 创建没有资源的 CloudFormation 堆栈

问题描述

我的大部分基础设施都使用 Terraform,但同时我使用无服务器框架来定义一些 Lambda 函数。Serverless 在后台使用 CloudFormation,我需要访问一些 ARN 以获取 Terraform 创建的资源。

我的想法是在 Terraform 中创建一个 CloudFormation 堆栈并导出我需要的所有值,但它抱怨它无法在没有任何资源的情况下创建堆栈。我不想在 CloudFormation 中定义任何资源,只定义输出,所以我虽然可能有一种方法可以定义一些虚拟资源,但我找不到任何资源。

有没有办法解决这个问题?如果没有,我也愿意接受其他有关将参数从 Terraform 传递到 CloudFormation 的建议。

标签: amazon-web-servicesterraformamazon-cloudformationserverless-framework

解决方案


资源部分是必需的,但您可以创建非资源类型的资源。

例如,只有非资源的极简模板将是:

Conditions:

  Never:
    !Equals [ "A", "B" ]

Resources:

  NonResource:
    Type: Custom::NonResource
    Condition: Never

Outputs:
  
  MyOutput:
    Value: some-value
  

推荐阅读