How do I set the name of the default profile in AWS CLI?

Amazon Web-ServicesAws Cli

Amazon Web-Services Problem Overview


When I give the command aws config list, I get the following output for the default profile:

      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None

However, when I give the command for a named profile, I get a profile name

$ aws configure list --profile MyProfile
      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                MyProfile           manual    --profile

I have tried aws configure set profile Default to name the default profile as Default by reading the 'set' CLI command, I also tried aws configure set StoreAs Default because I thought that's what's the variable is named after I read this page. I want to do this because I want have two profiles and I want to switch between profiles using the AWS_DEFAULT_PROFILE environment variable.

Amazon Web-Services Solutions


Solution 1 - Amazon Web-Services

I have multiple profiles too, I use AWS_DEFAULT_PROFILE to switch back and forth. However, I've named each profile something descriptive, like aws-engineering and aws-production. Then, I can use set AWS_DEFAULT_PROFILE=aws-engineering and I'm good to go.

I have no DEFAULT profile specified in my ~/.aws/config, this was intentional so that I always explicitly have to choose which environment I'm working on.

Solution 2 - Amazon Web-Services

Setting the AWS_DEFAULT_PROFILE environment variable at the command line should specify the profile.

See: <https://stackoverflow.com/q/35660499/55075>

For example:

Linux, macOS, or Unix
export AWS_DEFAULT_PROFILE=user2

Note: To unset, run: unset AWS_DEFAULT_PROFILE.

To make the change persistent, add above line into your ~/.bashrc user's file.

Note: You can also use AWS_PROFILE. See: Named Profiles.

Windows
set AWS_DEFAULT_PROFILE=user2

Source: User Guide » Configuring the AWS CLI » Named Profiles.

See also: A New and Standardized Way to Manage Credentials in the AWS SDKs.

Solution 3 - Amazon Web-Services

You just switch to the profile you want (for ex: in Linux use: export AWS_DEFAULT_PROFILE=MyProfile) and then switch back to the default profile using export AWS_DEFAULT_PROFILE=default. 'default' is the profile name given to your first profile when you create it.

Solution 4 - Amazon Web-Services

in Windows if you want to make sure the change of profile persists in new command line session better to use setx

setx AWS_DEFAULT_PROFILE profle_name

Remember to to close the command prompt and open a new one

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTheRookierLearnerView Question on Stackoverflow
Solution 1 - Amazon Web-ServicesijustneedanswersView Answer on Stackoverflow
Solution 2 - Amazon Web-ServiceskenorbView Answer on Stackoverflow
Solution 3 - Amazon Web-ServicesTheRookierLearnerView Answer on Stackoverflow
Solution 4 - Amazon Web-ServicesSubrata FouzdarView Answer on Stackoverflow