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.
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.
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.
To get automatic Tab completion of the commands, options and flags, put complete -C yawsi yawsi
somewhere
in your ~/.bashrc
.
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
You will need go 1.12+
installed:
$ make build BINARY_NAME=yawsi
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.
See LICENSE
.