2.0.1 • Published 7 years ago

aws-profile-switcher v2.0.1

Weekly downloads
13
License
MIT
Repository
github
Last release
7 years ago

AWS Profile Switcher

npm Build Status NPM Downloads Dependency Status GitHub issues XO code style Known Vulnerabilities

A simple command line utility that allows you to switch your default aws profile found at ~/.aws/credentials.

Let me know via GitHub if you notice any issues on a given OS. I'm open to any suggestions.

Install: npm install -g aws-profile-switcher

Usage: switcher <command> [options]


  Commands:

    list|ls               Lists available AWS profiles from [~/.aws/credentials]
    current|c             List the current default profile
    switch|sw [options]   Switches the default profile to a different, user-specified profile

  Global Options:

    -h, --help     output usage information
    -V, --version  output the version number 
  
  Switch Command Options:
  
    -p, --profile  <optional>  The name of the profile to make the default profile
    -i, --index    <optional>  The index of the profile to make the default profile (from list command)

*The alias for the 'current' command was 'curr' previous to v1.0.0

Examples

Given the following ~/.aws/credentials file. (This is not a sequence of commands. Assume each is done in a separate environment on the file below)

[default]
aws_access_key_id = PROFILE_2_ID
aws_secret_access_key = PROFILE_2_SECRET

[profile1]
aws_access_key_id = PROFILE_1_ID
aws_secret_access_key = PROFILE_1_SECRET

[profile2]
aws_access_key_id = PROFILE_2_ID
aws_secret_access_key = PROFILE_2_SECRET

[profile3]
aws_access_key_id = PROFILE_3_ID
aws_secret_access_key = PROFILE_3_SECRET
Command: switcher ls

Output:
	> Available profiles:
	> 1: profile1
	> 2: profile2
	> 3: profile3
	
Changes to file: <none>
Command: switcher curr

Output:
	> Current profile: profile2
	
Changes to file: <none>
Command: switcher sw

Output:
	> 1: profile1
	> 2: profile2
	> 3: profile3
	> prompt: index:
Input: 3
Output: Switching default aws profile to profile3

Changes to file:
	  [default]
	- aws_access_key_id = PROFILE_2_ID
	- aws_secret_access_key = PROFILE_2_SECRET
	  [default]
	+ aws_access_key_id = PROFILE_3_ID
	+ aws_secret_access_key = PROFILE_3_SECRET
Command: switcher sw -p profile1

Output: Switching default aws profile to profile1

Changes to file:
	  [default]
	- aws_access_key_id = PROFILE_2_ID
	- aws_secret_access_key = PROFILE_2_SECRET
	  [default]
	+ aws_access_key_id = PROFILE_1_ID
	+ aws_secret_access_key = PROFILE_1_SECRET
Command: switcher sw -i 3

Output: Switching default aws profile to profile3

Changes to file:
	  [default]
	- aws_access_key_id = PROFILE_2_ID
	- aws_secret_access_key = PROFILE_2_SECRET
	  [default]
	+ aws_access_key_id = PROFILE_3_ID
	+ aws_secret_access_key = PROFILE_3_SECRET

DISCLAIMER:

Yes, I'm aware of the built-in profile functionality that AWS CLI has. This little tool was written for many reasons:

  • Some AWS CLI wrappers don't have --profile as an option, so the export/set command is the only option
  • switcher sw is less characters and easier to remember than exports/set AWS_DEFAULT_PROFILE=profile1 (although a bash alias/function could shorten the # of characters)
  • BUT switcher sw lists out the profiles so that you don't have to remember the names
  • AND more people know how to install an npm package than how to update their ~/.bash_profile file correctly, most likely
  • Changing a profile applies to all shell instances for as long as it is set
2.0.1

7 years ago

2.0.0

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago

0.0.7

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago