TheEdgeOfRage
TheEdgeOfRage

Reputation: 842

Create CloudFormation stack without resources

I am using Terraform for most of my infrastructure, but at the same time I'm using the serverless framework to define some Lambda functions. Serverless uses CloudFormation under the hood where I need access to some ARNs for resources created by Terraform.

My idea was to create a CloudFormation stack in Terraform and export all of the value that I need, but it complains that it cannot create a stack without any resources. I don't want to define any resources in CloudFormation, only the outputs, so I though maybe there is a way to define some dummy resource, but I couldn't find any.

Is there a way to work around this issue? If not, I'm also open to other suggestions for getting parameters passed from Terraform to CloudFormation.

Upvotes: 11

Views: 13124

Answers (3)

aadiupa
aadiupa

Reputation: 31

You can use create AWS SSM parameter using Terraform and reference them in your serverless framework. That would do the job easily.

https://www.serverless.com/blog/definitive-guide-terraform-serverless/

Upvotes: 0

lexicore
lexicore

Reputation: 43709

You can use AWS::CloudFormation::WaitConditionHandle for this. Example:

Resources:
  NullResource:
    Type: AWS::CloudFormation::WaitConditionHandle

Upvotes: 25

Marcin
Marcin

Reputation: 238967

The Resource section is required, but you can create non-resource type of resource.

For example, minimalist template with only a non-resource would be:

Conditions:

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

Resources:

  NonResource:
    Type: Custom::NonResource
    Condition: Never

Outputs:
  
  MyOutput:
    Value: some-value
  

Upvotes: 13

Related Questions