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 through 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.
- 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:
- Explore a resource given only a name (or id/arn) showing its properties, relations, dependencies, etc.:
- 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
userdatato 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:
- 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 ...
- 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
- 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:
- Manual sync mode to fetch & store resources locally. Then query & inspect your cloud offline:
- CLI autocompletion for Unix/Linux’s bash and zsh
Take the tour at Getting Started (wiki).
Or read the introductory blog post about awless.
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.