aws-amplify / aws-amplify/amplify-cli

importing cdk packages to overrides produces vague error with stack trace on build (`InvalidOverrideError: Executing overrides failed.`)

Open
#12,312 1 comment 1 reaction 0 assignees View on GitHub
bug extensibility ops-errors p3
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.