aws-amplify / aws-amplify/amplify-cli
importing cdk packages to overrides produces vague error with stack trace on build (`InvalidOverrideError: Executing overrides failed.`)
- Dominant language
- TypeScript
- Stars
- 2.9k
- Forks
- 825
- Avg merge
- 11d 23h
- Merged PRs (30d)
- 2
Description
### How did you install the Amplify CLI?
pnpm
### If applicable, what version of Node.js are you using?
18
### Amplify CLI Version
11.0.3
### What operating system are you using?
mac
### Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
n/a
### Describe the bug
importing a CDK package like the example below leads to a vague error with a stack trace
```ts
import * as cdk from 'aws-cdk-lib'
import { AmplifyApiGraphQlResourceStackTemplate } from '@aws-amplify/cli-extensibility-helper'
export function override(resources: AmplifyApiGraphQlResourceStackTemplate) {
new cdk.CfnOutput(resources.api.rootstack, 'MyCustomOutput', {
value: 'my-output',
})
}
```
```
🛑 InvalidOverrideError: Executing overrides failed.
at GraphQLTransform.applyOverride (/snapshot/repo/build/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js:121:23)
at GraphQLTransform.transform (/snapshot/repo/build/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js:265:18)
at _buildProject (/snapshot/repo/build/node_modules/@aws-amplify/amplify-category-api/lib/graphql-transformer/transform-graphql-schema-v2.js:157:39)
at async buildAPIProject (/snapshot/repo/build/node_modules/@aws-amplify/amplify-category-api/lib/graphql-transformer/transform-graphql-schema-v2.js:126:26)
at async transformGraphQLSchemaV2 (/snapshot/repo/build/node_modules/@aws-amplify/amplify-category-api/lib/graphql-transformer/transform-graphql-schema-v2.js:109:31)
at async transformCategoryStack (/snapshot/repo/build/node_modules/@aws-amplify/amplify-category-api/lib/index.js:277:17)
at async transformResourceWithOverrides (/snapshot/repo/build/node_modules/@aws-amplify/amplify-provider-awscloudformation/lib/override-manager/transform-resource.js:87:9)
at async Object.run (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/commands/build.js:27:13)
at async Object.executeAmplifyCommand (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/index.js:189:9)
at async executePluginModuleCommand (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/execution-manager.js:135:5)
at async executeCommand (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/execution-manager.js:33:9)
at async Object.run (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/index.js:117:5)
🛑 There was an error building the resource
```
with `--debug`
```
⠼ Building resource api/a12289[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.CfnResource#addDependsOn is deprecated.
use addDependency
This API will be removed in the next major release.
🛑 InvalidOverrideError: Executing overrides failed.
at GraphQLTransform.applyOverride (/snapshot/repo/build/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js:121:23)
at GraphQLTransform.transform (/snapshot/repo/build/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js:265:18)
at _buildProject (/snapshot/repo/build/node_modules/@aws-amplify/amplify-category-api/lib/graphql-transformer/transform-graphql-schema-v2.js:157:39)
at async buildAPIProject (/snapshot/repo/build/node_modules/@aws-amplify/amplify-category-api/lib/graphql-transformer/transform-graphql-schema-v2.js:126:26)
at async transformGraphQLSchemaV2 (/snapshot/repo/build/node_modules/@aws-amplify/amplify-category-api/lib/graphql-transformer/transform-graphql-schema-v2.js:109:31)
at async transformCategoryStack (/snapshot/repo/build/node_modules/@aws-amplify/amplify-category-api/lib/index.js:277:17)
at async transformResourceWithOverrides (/snapshot/repo/build/node_modules/@aws-amplify/amplify-provider-awscloudformation/lib/override-manager/transform-resource.js:87:9)
at async Object.run (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/commands/build.js:27:13)
at async Object.executeAmplifyCommand (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/index.js:189:9)
at async executePluginModuleCommand (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/execution-manager.js:135:5)
at async executeCommand (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/execution-manager.js:33:9)
at async Object.run (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/index.js:117:5)
🛑 There was an error building the resource
```
with auth override
```ts
➜ amplify build
🛑 InvalidOverrideError: Executing overrides failed.
at AmplifyAuthTransform.applyOverride (/snapshot/repo/build/node_modules/@aws-amplify/amplify-category-auth/lib/provider-utils/awscloudformation/auth-stack-builder/auth-stack-transform.js:73:27)
at async AmplifyAuthTransform.transform (/snapshot/repo/build/node_modules/@aws-amplify/amplify-category-auth/lib/provider-utils/awscloudformation/auth-stack-builder/auth-stack-transform.js:345:9)
at async transformCategoryStack (/snapshot/repo/build/node_modules/@aws-amplify/amplify-category-auth/lib/index.js:62:13)
at async transformResourceWithOverrides (/snapshot/repo/build/node_modules/@aws-amplify/amplify-provider-awscloudformation/lib/override-manager/transform-resource.js:87:9)
at async Object.run (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/commands/build.js:27:13)
at async Object.executeAmplifyCommand (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/index.js:189:9)
at async executePluginModuleCommand (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/execution-manager.js:135:5)
at async executeCommand (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/execution-manager.js:33:9)
at async Object.run (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/index.js:117:5)
🛑 There was an error building the resource
```
### Expected behavior
build or fail with clearer guidance
### Reproduction steps
1. `amplify init -y`
2. `amplify add api` > GraphQL
3. `amplify override api`
4. paste override from description
5. `amplify build`
6. observe error
### Project Identifier
_No response_
### Log output
```
# Put your logs below this line
```
### Additional information
_No response_
### Before submitting, please confirm:
- [X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
- [X] I have removed any sensitive information from my code snippets and submission.
Contributor guide
Research direction
Start by reproducing the failure with the six listed Amplify commands and the CDK override. Trace GraphQLTransform.applyOverride and AmplifyAuthTransform.applyOverride, the entry points shown in the stack traces, to identify what error information is exposed. Done means builds either succeed or report clearer guidance for the invalid override.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- api, backend, cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100