configure AWS responsibly using profile names.
Project description
caws
configure AWS responsibly using profile names and environment vars.
rather than changing your AWS SDK credentials with aws configure
, AWS suggests
setting the ENV var AWS_DEFAULT_PROFILE to a [profile] in your ~/.aws/credentials.
when set, this ENV var will over-ride the profile set with aws configure
.
caws will write to an rc file setting AWS_DEFAULT_PROFILE to the given profile name.
if you do not have the rc file caws will create it for you.
you'll need to add . .cawsrc
to your RC file (using bash: .bashrc or .bash_profile)
add new profiles using $ aws configure --profile newname
one benefit of using AWS_DEFAULT_PROFILE method instead of aws configure
is the
ability to add which AWS profile you're currently using to your command prompt.
dependencies
python3
aws cli
usage
change AWS_DEFAULT_PROFILE to profilename
$ caws profilename
change AWS_DEFAULT_PROFILE to profilename and also update ~/.aws/credentials and ~/.aws/config
$ caws profilename --withcreds
show help and exit
$ caws -h
example bash usage
because python cannot source files on the parent process, caws has the unfortunate inability to update the ENV var it is updating.
therefore, a thin bash helper function can be used to run caws in the background:
kaws() {
eval "caws $1 > /dev/null"
. ~/.cawsrc
}
example PS1 with colored path parts!
function color_path() {
ROYGBIV=('\e[31m' '\e[38;5;208m' '\e[93m' '\e[92m' '\e[36m' '\e[94m' '\e[95m' '\e[97m' '\e[93m' '\e[38;5;208m' '\e[91m' '\e[95m' '\e[96m' '\e[34m' '\e[92m')
explode_path=$(pwd)
exploded=$(echo $explode_path | tr "/" "\n")
final=""
sep="/"
x=0
for part in $exploded
do
final+="${ROYGBIV[$x]}$sep$part\e[0m"
x=$(expr $x + 1)
done
printf $final
}
parse_git_branch() {
local b=$(git symbolic-ref HEAD 2> /dev/null)
if [ "${b#refs/heads/}" != "" ]
then
printf " \e[38;5;208m(${b#refs/heads/})\e[0m"
fi
}
PS1='\[\033[45m\]\u\[\033[0;96m\] aws:\[\033[92m\]$AWS_DEFAULT_PROFILE`parse_git_branch` \[\033[37m\]- `color_path`\[\033[37m\]\n$ \[\033[0m\]'
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file caws-0.1.7.tar.gz
.
File metadata
- Download URL: caws-0.1.7.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75accd1172ef69ed8786ed8ff04dfcbe85c8f347a23b09e655bf97398e521c04 |
|
MD5 | 5189460749fe4fd337982fb6253d7538 |
|
BLAKE2b-256 | 71c7d47cd8dcc490653538f5b2f73a3f1792846c270328daf45afc363f9ab709 |
File details
Details for the file caws-0.1.7-py3-none-any.whl
.
File metadata
- Download URL: caws-0.1.7-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73938b4d7fd5ed34310a50cbb7a20d88fa692d5798ca57d63dd858d648cc1006 |
|
MD5 | a726d9288426a2ea278b4d95ba149d72 |
|
BLAKE2b-256 | 096b6442257beb04b46dd0b4ee4729c59821e53797e5cda30d3f2f3ac9c692b3 |