Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Aws Cli | 13,570 | 2,710 | 299 | 2 days ago | 1,555 | July 06, 2022 | 517 | other | Python | |
Universal Command Line Interface for Amazon Web Services | ||||||||||
Aws Vault | 7,356 | 1 | 4 | 17 hours ago | 78 | March 08, 2022 | 50 | mit | Go | |
A vault for securely storing and accessing AWS credentials in development environments | ||||||||||
Terragrunt | 6,668 | 13 | 3 days ago | 422 | September 14, 2022 | 578 | mit | Go | ||
Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules. | ||||||||||
Aws Sam Cli | 6,241 | 31 | 12 | a day ago | 129 | June 29, 2022 | 364 | apache-2.0 | Python | |
CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM | ||||||||||
Aws Shell | 5,874 | 23 | 1 | 2 years ago | 6 | October 07, 2020 | 89 | apache-2.0 | Python | |
An integrated shell for working with the AWS CLI. | ||||||||||
Dev Setup | 5,802 | 6 months ago | 34 | other | Python | |||||
macOS development environment setup: Easy-to-understand instructions with automated setup scripts for developer tools like Vim, Sublime Text, Bash, iTerm, Python data analysis, Spark, Hadoop MapReduce, AWS, Heroku, JavaScript web development, Android development, common data stores, and dev-based OS X defaults. | ||||||||||
Saws | 4,906 | 8 | a year ago | 9 | April 09, 2017 | 35 | other | Python | ||
A supercharged AWS command line interface (CLI). | ||||||||||
Awless | 4,827 | 1 | a year ago | 20 | December 10, 2018 | 124 | apache-2.0 | Go | ||
A Mighty CLI for AWS | ||||||||||
Eksctl | 4,381 | 2 days ago | 387 | September 19, 2022 | 80 | other | Go | |||
The official CLI for Amazon EKS | ||||||||||
Aws Nuke | 4,344 | 2 | 1 | 3 days ago | 53 | May 18, 2022 | 177 | mit | Go | |
Nuke a whole AWS account and delete all its resources. |
awless
is a powerful, innovative and small surface command line interface (CLI) to manage Amazon Web Services.
awless
stands out by having the following characteristics:
awless
to list/revert past actionsFor more read our FAQ below (how awless
compares to other tools, etc.)
Choose one of the following options:
brew tap wallix/awless; brew install awless
curl
(macOS/Linux), run: curl https://raw.githubusercontent.com/wallix/awless/master/getawless.sh | bash
awless
binaries (Windows/Linux/macOS) from Github
go get -u github.com/wallix/awless
If you have previously used the AWS CLI or aws-shell, you don't need to configure anything! Your config will be automatically loaded (i.e. ~/.aws/{credentials,config}) and awless
will prompt for any missing info (more at our getting started).
Note that the video above is in APNG and requires a recent browser.
Aliasing of resources through their natural name so you don't have to always use cryptic ids that are impossible to remember
awless show
: Explore the properties, relations, dependencies of a specific resource (even offline thanks to the sync) given only a name (or id/arn).
$ awless show jsmith --local
awless list
: 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. Listing filters via resources properties or resources tags.
$ awless list instances --sort uptime --local
$ awless list users --format csv --columns name,created
$ awless list volumes --filter state=use --filter type=gp2
$ awless list volumes --tag-value Purchased
$ awless ls vpcs --tag-key Dept --tag-key Internal --format tsv
$ awless ls instances --tag Env=Production,Dept=Marketing
$ awless ls instances --filter state=running,type=micro --format json
$ awless ls s3objects --filter bucket=pdf-bucket -r us-west-2
$ ...
(see awless ls -h)
awless run
: Create, update and delete complex infrastructures with smart defaults and sound auto-complete through awless templates.
$ awless run ~/templates/my-infra.aws
$ awless run https://raw.githubusercontent.com/wallix/awless-templates/master/linux_bastion.aws
etc.
Hundreds of powerful CRUD CLI one-liners integrated in the awless templating engine:
$ awless create instance -h
$ awless create vpc -h
$ awless attach policy -h
$ ...
(see awless -h)
awless log
: Detailled and easy reporting of all the CLI template executions
awless revert
: Revert of executed templates and resources creation
Create instances straight from a distro name. No need to know the region or AMI ;) (free tier community bare distro only, see awless create instance -h
)
$ awless create instance distro=debian
$ awless create instance distro=coreos
$ awless create instance distro=redhat::7.2 type=t2.micro
$ awless create instance distro=debian:debian:jessie lock=true
$ awless create instance distro=amazonlinux:amzn2
etc.
Leveraging AWS userdata
to provision instance on creation from remote (i.e http) or local scripts: awless create instance ... userdata=/home/john/...
awless ssh
: Clean and simple SSH to public & private instances using only a name
$ awless ssh my-production-instance
$ awless ssh redis-prod --through jump-server
$ awless ssh 34.215.29.221
$ awless ssh db-private --private
$ awless ssh 172.31.77.151 --port 2222 --through my-proxy --through-port 23
$ ...
(see awless ssh -h)
awless switch
: Switch easily between AWS accounts (i.e. profile) and regions
$ awless switch admin eu-west-2
$ awless switch us-west-1
$ awless switch mfa
etc.
awless
transparently syncs cloud resources locally to a graph representation in order for the CLI to leverage data and their relations in other awless commands and in an offline manner (more on the sync)
awless sync
: Explicit and manual command to fetch & store resources locally. Then query & inspect your cloud offline
Output listing formats either human (default display is Markdown-compatible tables) or machine readable (csv, tsv, json, ...): --format
awless inspect
: Leverage experimental and community inspectors which are interface implementation utilities to run analysis on your cloud resources graphs
$ awless inspect -i bucket_sizer
(see awless inspect -h)
awless completion
: CLI autocompletion for Unix/Linux's bash and zsh
Take the tour at Getting Started (wiki) or read the introductory blog post about awless.
More articles:
Here is a compilation of the question we often answer (thanks for asking them so that we can make things clearer!):
There are already some AWS CLIs. What is awless
unique approach?
Three things that differentiates awless
from other AWS CLIs:
Leveraging and combining the points above, awless
lays some strong foundations for plenty of current/future features/characteristic such as:
How do you create infrastructure with awless
?
You build infrastructure using template files
or command one-liners
that get compiled and run through awless
builtin engine. See what the templating language looks like. Learn more about the way templates work
Note that all your actions against the cloud are logged. Templates are revertible/rollbackable.
How does awless
compares to aws-shell
or saws
?
(Points above should also help answering this question)
aws-shell
and saws
are directly mapped to the official AWS CLI. Their only objective is to make you productive and help you manage exhaustively the sheer number of AWS services, options, etc.
awless
addresses this UI/productivity concern differently: small and hierarchical set of commands; favoring enriched listing with relations showing over AWS exhaustive outputting of properties; more useful human/machine formats.
The main point is that the UI/productivity concern is just a feature of awless and not its primary or only one, so there is much more to the tool.
Also aws-shell
and saws
are exhaustive in their support of AWS services. awless
is so far more infrastructure centric, with an emphasis on enriching the information about your real infrastructure. awless
is able to add any new AWS service quickly if that fits and make sense (see wiki on how to add a new AWS service).
How does awless
compares to Terraform?
Terraform is a great product! awless
is much younger than Terraform and Terraform is much broader in scope.
The approach is different though. When creating insfrastructure awless
:
awless
does provide a rollback on any ran template.Does awless
handles state when creating infrastructure (i.e. keep track of the changes)?
Quoting from a logz.io/blog entry: "Terraform is an amazing tool but a major challenge is managing the state file. Whenever you apply changes to your infrastructure, the entire managed body of code and created objects are tracked in the Terraform State file (.tfstate), which can reach hundreds of thousands of lines and must be managed carefully lest you incur large merge conflicts or unwanted resource changes", Ofer Velich.
As for now with awless
, we have taken a different path: awless
does not keep state of your cloud; it is more of an all-or-nothing deployment solution.
Note that awless
logs (through rich and revertable logs) all your actions against the cloud and that you can revert any template ran.
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.