Yet Another AWS Command Line Interface
This is yawsi
- a hobby project to implement a very minimal
subset of functionalities usually offered by AWS command line clients. It also has a set
of commands directly exposing certain "workflow" scenarios that you would need to
look up the AWS CLI manual for.
Top reasons why you may be interested
I think the commands I am most excited about are and perhaps worth your time are:
Some of the sub-commands provide an fuzzy interactive interface making use of
go-fuzzyfinder which is another feature I really like.
The command yawsi vpc list-nacl-entries also has the capability
to generate Terraform code for AWS network ACL entries given an AWS network acl ID.
I found this to be really useful when importing existing AWS NACL resources into Terraform.
For a list of all the commands/sub-commands, please see docs.
Install
Binary releases are available from the releases page.
Please download the ZIP corresponding to your OS/architecture, unzip the file and place the binary somewhere
on your system which is added to the system path.
Bash completion
To get automatic Tab completion of the commands, options and flags, put complete -C yawsi yawsi
somewhere
in your ~/.bashrc
.
Specifying AWS profile
Specify the AWS profile via the AWS_PROFILE
environment variable. You may also need to specify
the AWS_REGION
environment variable explicitly. See here to learn more and other
options.
Example setup:
1. Create ~/.aws/credentials of the form:
[profile_name]
aws_access_key_id=
aws_secret_access_key=
..
2. Create ~/.aws/config of the form:
[profile profile_name]
region=ap-southeast-2/us-east-1
Building the binary
You will need go 1.12+
installed:
$ make build BINARY_NAME=yawsi
Building DEB packages
Building on your host system is supported, but you will need
fpm installed:
$ make build-deb DEB_PACKAGE_DESCRIPTION="Yet another AWS CLI" DEB_PACKAGE_NAME=yawsi BINARY_NAME=yawsi HOST_BUILD=yes
Or if you have docker
installed and configured to be usable as
normal user:
$ make build-deb DEB_PACKAGE_DESCRIPTION="Yet another AWS CLI" DEB_PACKAGE_NAME=yawsi BINARY_NAME=yawsi
In both cases, the resulting DEB package is in artifacts
directory.
License
See LICENSE
.