Skip to content

AWS CloudFormation limit of 200 maximum allowed resources #2387

Description

@jordanmack

This is a Bug Report

Description

  • What went wrong?

After upgrading my project from 0.5.6 to 1.0.0 I attempted to deploy and received this error:

Template format error: Number of resources, 202, is greater than maximum allowed, 200

  • What did you expect should have happened?

I expect that this should have worked since there is no limitation on AWS that should forbid this, and it was working on 0.5.6. Serverless should break up the template resources automatically to make this possible.

With the current method you are forced to break up the service, which should not be necessary. This causes problems with general project structure, custom domain mapping, and shared dependencies.

  • What was the config you used?

The example config below will generate the error by creating 65 endpoints.

service: test

provider:
  name: aws
  runtime: nodejs4.3

functions:
  hello:
    handler: handler.hello
    events:
      - http:
          path: e00
          method: get
          cors: true
      - http:
          path: e01
          method: get
          cors: true
      - http:
          path: e02
          method: get
          cors: true
      - http:
          path: e03
          method: get
          cors: true
      - http:
          path: e04
          method: get
          cors: true
      - http:
          path: e05
          method: get
          cors: true
      - http:
          path: e06
          method: get
          cors: true
      - http:
          path: e07
          method: get
          cors: true
      - http:
          path: e08
          method: get
          cors: true
      - http:
          path: e09
          method: get
          cors: true
      - http:
          path: e10
          method: get
          cors: true
      - http:
          path: e11
          method: get
          cors: true
      - http:
          path: e12
          method: get
          cors: true
      - http:
          path: e13
          method: get
          cors: true
      - http:
          path: e14
          method: get
          cors: true
      - http:
          path: e15
          method: get
          cors: true
      - http:
          path: e16
          method: get
          cors: true
      - http:
          path: e17
          method: get
          cors: true
      - http:
          path: e18
          method: get
          cors: true
      - http:
          path: e19
          method: get
          cors: true
      - http:
          path: e20
          method: get
          cors: true
      - http:
          path: e21
          method: get
          cors: true
      - http:
          path: e22
          method: get
          cors: true
      - http:
          path: e23
          method: get
          cors: true
      - http:
          path: e24
          method: get
          cors: true
      - http:
          path: e25
          method: get
          cors: true
      - http:
          path: e26
          method: get
          cors: true
      - http:
          path: e27
          method: get
          cors: true
      - http:
          path: e28
          method: get
          cors: true
      - http:
          path: e29
          method: get
          cors: true
      - http:
          path: e30
          method: get
          cors: true
      - http:
          path: e31
          method: get
          cors: true
      - http:
          path: e32
          method: get
          cors: true
      - http:
          path: e33
          method: get
          cors: true
      - http:
          path: e34
          method: get
          cors: true
      - http:
          path: e35
          method: get
          cors: true
      - http:
          path: e36
          method: get
          cors: true
      - http:
          path: e37
          method: get
          cors: true
      - http:
          path: e38
          method: get
          cors: true
      - http:
          path: e39
          method: get
          cors: true
      - http:
          path: e40
          method: get
          cors: true
      - http:
          path: e41
          method: get
          cors: true
      - http:
          path: e42
          method: get
          cors: true
      - http:
          path: e43
          method: get
          cors: true
      - http:
          path: e44
          method: get
          cors: true
      - http:
          path: e45
          method: get
          cors: true
      - http:
          path: e46
          method: get
          cors: true
      - http:
          path: e47
          method: get
          cors: true
      - http:
          path: e48
          method: get
          cors: true
      - http:
          path: e49
          method: get
          cors: true
      - http:
          path: e50
          method: get
          cors: true
      - http:
          path: e51
          method: get
          cors: true
      - http:
          path: e52
          method: get
          cors: true
      - http:
          path: e53
          method: get
          cors: true
      - http:
          path: e54
          method: get
          cors: true
      - http:
          path: e55
          method: get
          cors: true
      - http:
          path: e56
          method: get
          cors: true
      - http:
          path: e57
          method: get
          cors: true
      - http:
          path: e58
          method: get
          cors: true
      - http:
          path: e59
          method: get
          cors: true
      - http:
          path: e60
          method: get
          cors: true
      - http:
          path: e61
          method: get
          cors: true
      - http:
          path: e62
          method: get
          cors: true
      - http:
          path: e63
          method: get
          cors: true
      - http:
          path: e64
          method: get
          cors: true
  • What stacktrace or error message from your provider did you see?

Template format error: Number of resources, 214, is greater than maximum allowed, 200

another possible error

Template may not exceed 460800 bytes in size.

Additional Data

  • _Serverless Framework Version you're using_: 1.0.2
  • _Operating System_: Windows 10 x64
  • _Stack Trace_: N/A
  • _Provider Error messages_: See above

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions