By using AWS re:Post, you agree to the Terms of Use

error exec CDK from BuildSpec


Hi All,

In My BuildProject/BuildSpec (in my STG Account), I run this command :

- cdk deploy --require-approval never

it gives me this error :

mystackName failed: Error: Need to perform AWS calls for account xxxxxxxx(DEV_ACCOUNT_ID), but the current credentials are for yyyyyy (STG_ACCOUNT_ID)

It worked fine for another branch but when I put the name of another branch it gives me that error, not sure what happens?

Thank you.

1 Answer
Accepted Answer

Check you code that defines the stack and env. I am betting that you have defined the Dev account as the env to deploy the stack to but are running cdk deploy in your staging account.

For example

import 'source-map-support/register';
import { App } from 'aws-cdk-lib';
import { WorkspacesStack } from '../lib/workspaces-stack';

const app = new App();
const sharedStack = new WorkspacesStack(app, 'WorkspacesStack', {
  env: {
    account: '123456789012' <<< I am betting that you have your DEV Account ID there but trying to deploy to your staging account.
    region: 'us-east-1',

If your intent to just be able to take your cdk and run those commands in any account. Then you will want to use new process.env.CDK_DEFAULT_ACCOUNT as detailed in the CDK Environment docs

MyDevStack(app, 'dev', { 
  env: { 
    account: process.env.CDK_DEFAULT_ACCOUNT, 
    region: process.env.CDK_DEFAULT_REGION 

Otherwise if you are looking to build a pipeline you will want to look at bootstrapping with using the --trust parameter and CDK Pipelines

answered 7 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions