back to home

wallix / awless

A Mighty CLI for AWS

4,982 stars
259 forks
119 issues
GoShellHTML

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing wallix/awless in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/wallix/awless)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

is a powerful, innovative and small surface command line interface (CLI) to manage Amazon Web Services. Twitter | Wiki | Changelog Why awless stands out by having the following characteristics: • small and hierarchical set of commands • a simple/powerful text templating language to create and **revert** fully-fledged infrastructures • wrapping/composing AWS API calls when necessary to enrich behaviour. Ex: ensure smart defaults, security best practices, etc. • local log of all your cloud modifications done through to list/revert past actions • sync to a local graph storage of your cloud representation • exploration of your cloud infrastructure and resources interrelations, **even offline** using the local graph storage • clearer and flexible terminal output's with: numerous formats (machine/human friendly), enriched resources's properties/relations when feasible • connect easily using awless' **smart SSH** to your private & public instances For more read our FAQ below (how compares to other tools, etc.) Install Choose one of the following options: • On macOS, use homebrew: • With (macOS/Linux), run: • Download the latest binaries (Windows/Linux/macOS) from Github • If you have Golang already installed, install from the source with: 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 will prompt for any missing info (more at our getting started). Main features 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 • : 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 • : 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) • : 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) • : Detailled and easy reporting of all the CLI template executions • : 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 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 to provision instance on creation from remote (i.e http) or local scripts: • : 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) • : 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. • 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) • : 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, ...): • : 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) • : CLI autocompletion for Unix/Linux's bash and zsh Getting started Take the tour at Getting Started (wiki) or read the introductory blog post about awless. More articles: • Simplified Multi-Factor Authentication for AWS • Simplified user management for AWS • InfoWorld: Production-grade deployment of WordPress • Easy create & tear down of a multi-AZ CockroachDB cluster • Deploy Vuls.io to an AWS instance and scan for vulnerabilities Awards • Top 50 Developer Tools of 2017 • InfoWorld Bossie Awards 2017 FAQ 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 unique approach?** Three things that differentiates from other AWS CLIs: • It has its own **compiled and very simple templating language** to build AWS infrastructures. • Commands are made of _VERB + ENTITY [+ param=value]_ and are actually valid lines of the template language. • It transparently syncs to a local graph a representation of the cloud resources and their relations. Leveraging and combining the points above, lays some strong foundations for plenty o…