aws-amplify / aws-amplify/amplify-cli

Amplify CLI does not support environments from a region that is different than the selected profile region

Open
#3,551 3 comments 0 reactions 0 assignees View on GitHub
feature-request p4 platform-config
Dominant language
TypeScript
Stars
2.9k
Forks
825
Avg merge
11d 23h
Merged PRs (30d)
2

Description

>**Note**: If your issue/bug is regarding the AWS Amplify Console service, please log it in the
[Amplify Console GitHub Issue Tracker](https://github.com/aws-amplify/amplify-console/issues)

**Describe the bug**
My aws profile is configured to use us-east-2
```✗ cat ~/.aws/config
[default]
region=us-east-2
```

I have a project in us-west-2 and when I run the pull command provided by the Amplify Console I get the following
```
✗ amplify pull --appId [APPID] --envName dev

For more information on AWS Profiles, see:
https://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html

? Do you want to use an AWS profile? Yes
? Please choose the profile you want to use default
Amplify AppID: [APPID] not found. Please ensure your local profile matches the AWS account or region in which the Amplify app exists.
NotFoundException: App [APPID] not found.
at Object.extractError (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/protocol/json.js:51:27)
at Request.extractError (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/protocol/rest_json.js:55:8)
at Request.callListeners (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
at Request.emit (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
at Request.emit (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:683:14)
at Request.transition (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request. (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:38:9)
at Request. (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:685:12) {
message: 'App [APPID] not found.',
code: 'NotFoundException',
time: 2020-03-02T18:49:59.908Z,
requestId: '70b99829-6170-417c-bafe-3d1577163c7a',
statusCode: 404,
retryable: false,
retryDelay: 6.698733271413482
}
```

Error message is pretty clear ```Please ensure your local profile matches the AWS account or region in which the Amplify app exists.```
So I change my ~/.aws/config to work around this, pull works successfully.
I reset my ~/.aws/config because the team-provider.json explicitly states the project region, and I expect the CLI to respect/use that region.
```
{
"dev": {
"awscloudformation": {
...
"Region": "us-west-2",
...
},
...
}
}
```

Next I run amplify pull to make sure I have the latest information locally and receive the following
```
✗ amplify pull

Pre-pull status:

Current Environment: dev

| Category | Resource name | Operation | Provider plugin |
| -------- | --------------------------------------- | --------- | ----------------- |
[REMOVED]

✖ There was an error pulling the backend environment dev.
Stack with id amplify-[project-name]-dev-163907 does not exist
ValidationError: Stack with id amplify-roninfleetview-dev-163907 does not exist
at Request.extractError (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/protocol/query.js:50:29)
at Request.callListeners (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
at Request.emit (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
at Request.emit (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:683:14)
at Request.transition (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request. (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:38:9)
at Request. (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/request.js:685:12)
at Request.callListeners (/Users/anatonie/.nvm/versions/node/v12.10.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/sequential_executor.js:116:18)
```

**Amplify CLI Version**
You can use `amplify -v` to check the amplify cli version on your system
```
amplify -v
4.13.4
```

**Expected behavior**
The initial behavior is understandable/expected (and has an error message) as it is similar behavior to the aws-cli, but I'd expect support for a ```--region``` parameter as an escape hatch like the aws-cli.
```amplify pull --appId [APPID] --envName dev --region us-west-2```

Subsequent commands (like the pull example above) I would expect the CLI to use the region in the config when it runs.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: macOS Mojave 10.14.6
- Node Version. You can use `node -v` to check the node version on your system
```
✗ node -v
v12.10.0
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.