awless is a powerful, innovative and small surface command line interface (CLI) to manage Amazon Web Services.
awless stands out by providing the following features:
- small and hierarchical set of commands
- create and revert fully-fledged infrastructures through a new simple and powerful templating language (see
- local log of all your cloud modifications done through
- exploration of your cloud infrastructure and resources relations, even offline using a local graph storage
- greater output’s readability with numerous machine and human friendly formats
- ensure smart defaults & security best practices
- connect easily using awless’ smart SSH to your private & public instances
Choose one of the following options:
- On macOS, use homebrew:
brew tap wallix/awless; brew install awless
curl https://raw.githubusercontent.com/wallix/awless/master/getawless.sh | bash
- Download the latest
awlessbinaries (Windows/Linux/macOS) from Github
- If you have Golang already installed, install from the source with:
go get -u github.com/wallix/awless
Note that the video above is in APNG and requires a recent browser.
- Explore a resource given only a name (or id/arn) showing its properties, relations, dependencies, etc.:
- Aliasing of resources through their natural name so you don’t have to always use cryptic ids that are impossible to remember
- 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 ...
- Easy reporting of all the CLI template executions:
- Revert of executed templates and resources creation:
- Create instances with a specific community bare distribution independently of the AWS region:
awless create instance distro=debian ...
- Leveraging AWS
userdatato provision instance on creation given remote (i.e http) or local scripts:
awless create instance ... userdata=http://...
- 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 --latest-id
- Switch AWS accounts (i.e. profile) and regions easily with
- Inspectors are small CLI utilities to run analysis on your cloud resources graphs:
- Manual sync mode to fetch & store resources locally. Then query & inspect your cloud offline:
- CLI autocompletion for Unix/Linux’s bash and zsh
- 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.:
- Output formats either human (Markdown-compatible tables) or machine readable (csv, tsv, json, …):
- Listing filters via resources properties or resources tags:
Take the tour at Getting Started (wiki).
Or read the introductory blog post about awless.
- Simplified user management for AWS
- InfoWorld: Production-grade deployment of WordPress
- Easy create & tear down of a multi-AZ CockroachDB cluster
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.
awless uses triplestore another project developped at WALLIX.