无需资源即可创建 CloudFormation 堆栈

The*_*age 4 amazon-web-services aws-cloudformation terraform serverless-framework

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

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

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

lex*_*ore 20

您可以为此使用AWS::CloudFormation::WaitConditionHandle 。例子:

Resources:
  NullResource:
    Type: AWS::CloudFormation::WaitConditionHandle
Run Code Online (Sandbox Code Playgroud)


Mar*_*cin 6

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

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

Conditions:

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

Resources:

  NonResource:
    Type: Custom::NonResource
    Condition: Never

Outputs:
  
  MyOutput:
    Value: some-value
  
Run Code Online (Sandbox Code Playgroud)