amplify-cli
amplify-cli copied to clipboard
Exported Amplify backend is not fully building in Cdk deployment
How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
v16.19.1
Amplify CLI Version
11.0.3
What operating system are you using?
Amazon Linux 2 (running in docker on Ubuntu WSL2)
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No
Describe the bug
In /app03/amp, using amplify init
, I generated a new amplify backend for dev env. I generated the backend for flutter, so the amplifyconfiguration.dart file etc was generated. I see 2 IAM roles, 1 S3 bucket, with 3 files (1 zip, 3 json files), 1 cloudformation stack, and the generated backend project in amplify console.
In /app03/cdkapp, I generated a new cdk project with cdk init app --language=typescript --generate-only
.
I export the backend using amplify export --out ../cdkapp/lib
.
I delete the existing backend using amplify delete
.
I update the cdk project to generate the exported amplify backend. I run cdk deploy
.
I see 2 IAM roles, 1 S3 bucket (empty), 1 cloudformation stack. I see no project in the amplify console.
Expected behavior
To have the same number of files in the associated S3 bucket which is generated, and to see the project generated in the amplify console.
Reproduction steps
-
cd /app03
-
mkdir amp
-
mkdir cdkapp
-
cd amp
-
amplify init
- Choose access token access
- Input token values
- Choose app type "flutter"
-
cd ../cdkapp
-
cdk init app --language=typescript --generate-only
-
npm i
-
cdk bootstrap
-
cd ..\amp
-
amplify export --out ../cdkapp/lib
-
amplify delete
-
cd ..\cdkapp
-
npm i @aws-amplify/cdk-exported-backend
-
npm i lodash
- Update bin/cdkapp.ts to have content
#!/usr/bin/env node
import 'source-map-support/register';
import * as cdk from 'aws-cdk-lib';
import { AmplifyExportedBackend } from '@aws-amplify/cdk-exported-backend'
import * as path from 'path' // To resolve the path to your exported Amplify backend assets
const app = new cdk.App();
const amplifyBackend = new AmplifyExportedBackend(app, "amplifyExportedBackend", {
amplifyEnvironment: "dev", // Specify your Amplify environment
path: path.resolve(__dirname, '../lib/amplify-export-app04')
})
-
cdk deploy
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.
Hey @PadraicPairceir , I was able to reproduce the issue. making as bug. The CDK appears to be creating the backend resources but not the Amplify project on console.
@ykethan Great, thanks for the update.
I'm looking forward to this update as well, thank you! Will it be possible to associate a frontend app with the exported backend using the same CDK stack? I'd like to use something like this after the backend is ready:
const amplifyApp = new amplify.App(this, 'amplifyapp', {
sourceCodeProvider: new amplify.CodeCommitSourceCodeProvider({
repository: repo,
}),
customRules: [
{
source:
'</^[^.]+$|.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|woff2|ttf|map|json|webp)$)([^.]+$)/>',
target: '/index.html',
status: amplify.RedirectStatus.REWRITE,
},
],
environmentVariables: {
REGION: this.region,
},
});
amplifyApp.addBranch('main');
amplifyApp.addBranch('dev');
@mmitchan Yes, I'll need to consider this also. My other problem is how to get the generated config file (amplifyconfiguration.dart in the flutter case), to point to the cdk generated resource details.
Ok. If you have any questions about my use case please let me know, I'm happy share if helps push this through.
Hey folks, we've reclassified this issue as a feature-request to improve this experience when we export an Amplify project to connect to a new/existing Amplify project
Thank you for the update.
Hello. is there any update to this?
Any updates on this ? this is holding back our adoption of amplify
hello guys any update on this. Bumping this up.
me too!