awless
is a powerful, innovative and small surface command line interface (CLI) to manage Amazon Web Services.
Twitter | Wiki | Changelog
Why awless
awless
stands out by providing the following features:
- small and hierarchichal set of commands
- greater output's readability with numerous machine and human friendly formats
- exploration of your cloud infrastructure and resources relations, even offline
- create and revert fully-fledged infrastructures through a new simple and powerful templating language (see
awless
templates (wiki))
- local log of all your cloud modifications done through
awless
- connect easily through smart SSH to your private & public instances
- ensure smart defaults & security best practices
Install
Choose one of the following options:
- On macOS, use homebrew:
brew tap wallix/awless; brew install awless
- With
curl
(macOS/Linux), run: curl https://raw.githubusercontent.com/wallix/awless/master/getawless.sh | bash
- Download the latest
awless
binaries (Windows/Linux/macOS) from Github
- If you have Golang already installed, install from the source with:
go get -u github.com/wallix/awless
Main Features
Note that this video is in APNG. On Chrome, you need an extension to view it.
- Clear and easy listing of multi-region cloud resources (subnets, instances, users, buckets, records, etc.) on AWS EC2, IAM, S3, RDS, AutoScaling, SNS, SQS, Route53, CloudWatch, CloudFormation, Lambda, etc.:
awless list
- Output formats either human (Markdown-compatible tables) or machine readable (csv, tsv, json, ...):
--format
- Listing filters via resource properties or resources tags:
--filter property=val
, --tag Key=Value
- Explore a resource given only a name (or id/arn) showing its properties, relations, dependencies, etc.:
awless show
- Creation, update and deletion of complex infrastructures with smart defaults and sound autocomplete through awless templates:
awless run my-awless-templates/create_my_infra.txt
- Powerful CRUD CLI one-liner (integrated in the awless templating engine) with:
awless create instance ...
, awless create vpc ...
, awless attach policy ...
- Leveraging AWS
userdata
to provision instance on creation given remote (i.e http) or local scripts: awless create instance ... userdata=http://...
- Easy reporting of all the CLI template executions:
awless log
- Revert of executed templates and resources creation:
awless revert
- Clean and simple SSH to public & private instances using only a name:
awless ssh my-production-instance
, awless ssh redis-prod --through jump-server
- Resolve public images dynamically (i.e. independant of the region specific AMI id):
awless search images canonical:ubuntu:xenial --id-only
- Aliasing of resources through their natural name so you don't have to always use cryptic ids that are impossible to remember
- Inspectors are small CLI utilities to run analysis on your cloud resources graphs:
awless inspect
- Manual sync mode to fetch & store resources locally. Then query & inspect your cloud offline:
awless sync
- CLI autocompletion for Unix/Linux's bash and zsh
awless completion
Getting started
Take the tour at Getting Started (wiki).
Or read the introductory blog post about awless.
About
awless
is an open source project created by Henri Binsztok, Quentin Bourgerie, Simon Caplette and François-Xavier Aguessy at WALLIX.
awless
is released under the Apache License and sponsored by Wallix.
Disclaimer: Awless allows for easy resource creation with your cloud provider;
we will not be responsible for any cloud costs incurred (even if you create a
million instances using awless templates).
Contributors are welcome! Please head to Contributing (wiki) to learn more.
Note that awless
uses triplestore another project developped at WALLIX.