Cloudformation Outputs limits ( 60 )


#1

As our app is growing, we have a project that is now producing greater than 60 outputs in the appname-env-ApiGateway-XXXXXXXXXXX cloudformation script. As our result, we can no longer deploy because of an AWS limitation on the number of outputs. Is there a suggested solution on how to get around this AWS limitation within JETS?


#2

Bummer that the CloudFormation outputs limit is preventing deploys.

Will have to dig into removing this limitation.

Here’s the approach that I would probably take. Jets would automatically detect the outputs limit being reached. When needed, Jets would paginate demo-dev-api-gateway.yml to demo-dev-api-gateway-1.yml, demo-dev-api-gateway-2.yml, etc. The API Gateway itself would probably be still in the “parent” demo-dev-api-gateway.yml template. Then Jets would pass the additional nested child stacks to the controller templates like demo-dev-app-posts_controller.yml, etc. This would keep template outputs under the 60 limit.

Unsure when will dig into this. Will consider PRs.


#3

Cool, as mentioned before I’m no ruby guy but I’ll give it a go at a PR. Dead in the water without it. Thanks for the quick response.


#4

Done in https://github.com/tongueroo/jets/pull/357 Released in v2.1.2

Liked aspects of the Paged approach also. May revisit the implementation later.


#5

@tongueroo Dood, you are awesome…thanks so much for doing this. I’m guessing you saw my poor attempt at the emergency update I did on 1.9.32 to get my deployments going again. I was never really happy with my approach but between needing a quick fix and literally just learning ruby for this and trying to understand the Jets codebase I took what I could get. :slight_smile: I was going to try and redo everything on 2.x in the next week or so but now I don’t have to!!!
One day I’d love to show you what we are building!!!


#6

Yup. Was hacking on it at the airport and saw the WIP PR the next day. Liked aspects of the approach.

Would be interested in that.