Search code examples
amazon-web-servicesaws-cli

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


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.


Solution

  • 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.