awsenv
Small binary that loads Amazon (AWS) environment variables for a profile
About awsenv
awsenv
AWS environment config loader.
awsenv is a small binary that loads AWS environment variables for an
AWS profile from ~/.aws/credentials - useful if you're regularly
switching credentials and using tools like
Vagrant. In addition to
aws_access_key_id and aws_secret_access_key, it will also
optionally load settings for aws_keyname and aws_keypath.
Installation
# install Go from https://golang.org/dl/
export GOPATH=$HOME/go
go get -u github.com/soniah/awsenv
This will automatically download, compile and install the awsenv executable
to $GOPATH/bin.
Usage
Import variables into your environment by eval-ing a backticked call to awsenv.
eval `awsenv profile-name`
For example, if you had the following credential files:
% cat ~/.aws/credentials
[example1]
aws_access_key_id = DEADBEEFDEADBEEF
aws_secret_access_key = DEADBEEFDEADBEEF1vzfgefDEADBEEFDEADBEEF
% cat /var/tmp/credentials
[example2]
aws_access_key_id = DEADBEEFDEADBEEF
aws_secret_access_key = DEADBEEFDEADBEEF1vzfgefDEADBEEFDEADBEEF
aws_keyname = 'example2_key'
aws_keypath = "~/.ssh/example2.pem"
The following shell commands would import AWS variables into your environment:
% eval `awsenv example1`
% env | grep AWS
AWS_ACCESS_KEY_ID=DEADBEEFDEADBEEF
AWS_SECRET_ACCESS_KEY=DEADBEEFDEADBEEF1vzfgefDEADBEEFDEADBEEF
% eval `awsenv example2 -f /var/tmp/credentials -v`
AWS_ACCESS_KEY_ID=DEADBEEFDEADBEEF
AWS_SECRET_ACCESS_KEY=DEADBEEFDEADBEEF1vzfgefDEADBEEFDEADBEEF
AWS_KEYNAME=example2_key
AWS_KEYPATH=/Users/sonia/.ssh/example2.pem
Vagrant Example
In a Vagrantfile you could do:
override.ssh.username = "ubuntu"
aws.keypair_name = ENV['AWS_KEYNAME']
override.ssh.private_key_path = ENV['AWS_KEYPATH']
Flags
The accepted flags can be displayed using -h:
% awsenv -h
Usage:
awsenv [OPTIONS] Profile
Application Options:
-v, --verbose Verbose output
-f, --filename= Credentials file (~/.aws/credentials)
Help Options:
-h, --help Show this help message
Arguments:
Profile
Contributions
Contributions are welcome; here is an example workflow using hub.
go get github.com/soniah/awsenvcd $GOPATH/src/github.com/soniah/awsenvhub forkgit co -b dev(and write some code)git push -u <your-github-username> devhub pull-request
Frequently Asked Questions
What is awsenv?
awsenv is a Software Packages library for the Go programming language. Small binary that loads Amazon (AWS) environment variables for a profile
How do I install awsenv?
Install awsenv with the Go module system using `go get soniah/awsenv`. Check the repository for the current installation instructions.
What category does awsenv belong to?
awsenv is listed under Software Packages, specifically DevOps Tools.