I am receiving an error that I am unable to deploy because my root stack exceeded 500 resources, and splitstack is not working as expected. Is there anything else I can try?
the error is:
Error: The CloudFormation template is invalid: Template format error: Number of resources, 537, is greater than maximum allowed, 500
The plugin is executing, but not working correctly. It is creating stacks, but still leaving the root stack in excess of 500
Packaging hamlethub for stage dev (us-east-1)
Creating Swagger file…
[serverless-plugin-split-stacks]: Summary: 215 resources migrated into 14 nested stacks
[serverless-plugin-split-stacks]: ├─ (root): 536
[serverless-plugin-split-stacks]: │ ├─ Outputs: 31
[serverless-plugin-split-stacks]: │ └─ Parameters: 0 (References: 618)
[serverless-plugin-split-stacks]: ├─ APINestedStack: 98
[serverless-plugin-split-stacks]: │ ├─ Outputs: 78
[serverless-plugin-split-stacks]: │ └─ Parameters: 0 (References: 194)
[serverless-plugin-split-stacks]: ├─ AddAssetNestedStack: 1
[serverless-plugin-split-stacks]: │ ├─ Outputs: 0
[serverless-plugin-split-stacks]: │ └─ Parameters: 1 (References: 0)
[serverless-plugin-split-stacks]: ├─ AlarmsNestedStack: 2
[serverless-plugin-split-stacks]: │ ├─ Outputs: 0
[serverless-plugin-split-stacks]: │ └─ Parameters: 1 (References: 0)
[serverless-plugin-split-stacks]: ├─ ApproveSuggestionNestedStack: 1
[serverless-plugin-split-stacks]: │ ├─ Outputs: 0
[serverless-plugin-split-stacks]: │ └─ Parameters: 1 (References: 0)
[serverless-plugin-split-stacks]: ├─ CropImageNestedStack: 1
[serverless-plugin-split-stacks]: │ ├─ Outputs: 0
[serverless-plugin-split-stacks]: │ └─ Parameters: 1 (References: 0)
[serverless-plugin-split-stacks]: ├─ DeleteUserNestedStack: 1
[serverless-plugin-split-stacks]: │ ├─ Outputs: 0
[serverless-plugin-split-stacks]: │ └─ Parameters: 1 (References: 0)
[serverless-plugin-split-stacks]: ├─ ManageSuggestionsNestedStack: 1
[serverless-plugin-split-stacks]: │ ├─ Outputs: 0
[serverless-plugin-split-stacks]: │ └─ Parameters: 1 (References: 0)
[serverless-plugin-split-stacks]: ├─ PermissionsNestedStack: 99
[serverless-plugin-split-stacks]: │ ├─ Outputs: 0
[serverless-plugin-split-stacks]: │ └─ Parameters: 102 (References: 0)
[serverless-plugin-split-stacks]: ├─ PoliciesNestedStack: 3
[serverless-plugin-split-stacks]: │ ├─ Outputs: 0
[serverless-plugin-split-stacks]: │ └─ Parameters: 1 (References: 0)
[serverless-plugin-split-stacks]: ├─ RepostAssetNestedStack: 1
[serverless-plugin-split-stacks]: │ ├─ Outputs: 0
[serverless-plugin-split-stacks]: │ └─ Parameters: 1 (References: 0)
[serverless-plugin-split-stacks]: ├─ SearchHubNestedStack: 2
[serverless-plugin-split-stacks]: │ ├─ Outputs: 0
[serverless-plugin-split-stacks]: │ └─ Parameters: 1 (References: 0)
[serverless-plugin-split-stacks]: ├─ SubscribeHubNestedStack: 1
[serverless-plugin-split-stacks]: │ ├─ Outputs: 0
[serverless-plugin-split-stacks]: │ └─ Parameters: 1 (References: 0)
[serverless-plugin-split-stacks]: ├─ SubscriptionsNestedStack: 3
[serverless-plugin-split-stacks]: │ ├─ Outputs: 0
[serverless-plugin-split-stacks]: │ └─ Parameters: 1 (References: 0)
[serverless-plugin-split-stacks]: └─ UnsubscribeHubNestedStack: 1
[serverless-plugin-split-stacks]: ├─ Outputs: 0
[serverless-plugin-split-stacks]: └─ Parameters: 1 (References: 0)
Service packaged (217s)
I have tried many different ways to use the plugin. This is the latest which produced the output above:
splitStacks:
perFunction: true
perType: true
maxStackResources: 200
nestedStacks:
CustomResourcesStack:
resources:
- ElastiCacheSubnetGroup
- ElastiCacheCluster
- GatewayResponseDefault4XX
- SesTemplate
- CognitoUserPool
- CognitoUserPoolClient
- ApiGatewayAuthorizer
- CognitoIdentityPool
- CognitoIdentityPoolRoles
- CognitoAuthRole
- GoogleUserPoolIdentityProvider
DMSStack:
resources:
- DmsMigrationDocdbToOpensearch
- DmsOpenSearchEndpoint
- DmsDocumentDbEndpoint
- MyDmsReplicationSubnetGroup
- DmsInstance
OpenSearchStack:
resources:
- OpenSearchDomain
- OpenSearchRole
SchedulerStack:
resources:
- SchedulerRole
- JobScheduleGroup
- AssetsScheduleGroup
- AssetIndexesScheduleGroup
S3Stack:
resources:
- TemplatesBucket
- ImagesBucket
- BucketPolicy
- RealtorsBucket
- RealtorsBucketPolicy
ElastiCacheStack:
resources:
- ElastiCacheSubnetGroup
- ElastiCacheCluster
ApiGatewayStack:
resources:
- GatewayResponseDefault4XX
- ApiGatewayAuthorizer
SESStack:
resources:
- SesTemplate
- NewsletterConfigurationSet
- NewsletterConfigurationSetEventDestination
CognitoStack:
resources:
- CognitoUserPool
- CognitoUserPoolClient
- CognitoIdentityPool
- CognitoIdentityPoolRoles
- CognitoAuthRole
- GoogleUserPoolIdentityProvider
- FacebookUserPoolIdentityProvider
EC2Stack:
resources:
- EC2Tunnel
DocDBStack:
resources:
- DBClusterParameterGroup
- DBCluster
- DBInstance
- DBSubnetGroup
VPCStack:
resources:
- PubPrivateVPC
- PublicSubnet1
- PrivateSubnet1
- PrivateSubnet2
- InternetGateway
- GatewayToInternet
- PublicRouteTable
- PublicRoute
- PublicSubnet1RouteTableAssociation
- NatGateway
- NatPublicIP
- PrivateRouteTable
- PrivateRoute
- PrivateSubnet1RouteTableAssociation
- PrivateSubnet2RouteTableAssociation
- PrivateRouteTableSES
- PublicRouteTableSES
- PrivateRouteSES
- PrivateSubnet1RouteTableAssociationSES
- SESEndpoint
- VpcEndpointSecurityGroup
- VpcEndpointLambdaSecurityGroup
SQSStack:
resources:
- NewsletterHubsQueue
- NewsletterUsersQueue
- NewsletterFeedbackQueue
- TemplateJobsQueue
- PostponedAssetsQueue
- NewAssetsQueue
- NewsletterFeedbackQueuePolicy
SNSStack:
resources:
- CloudWatchTopic
- EmailSubscriptionAdmin
- EmailSubscriptionDev
- NewsletterFeedbackTopic
- FeedbackTopicSubscription
CloudWatchStack:
resources:
- DbCPUMetricAlarm
- DbConnectionsMetricAlarm