Skip to content
/ aws Public

A collection of bash shell scripts for automating various tasks with Amazon Web Services using the AWS CLI and jq.


Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation


A collection of bash shell scripts for automating various tasks with Amazon Web Services using the AWS CLI and jq.

Build Status

Table of contents


Why does this project exist?

This repository is intended to make some of the more difficult DevOps tasks commonly required to maintain complex hosting infrastructure in AWS simple, quick and easy. This is my attempt to automate and expedite difficult, repetitive, tedious and time consuming processes into a simple shell script that gets the job done as cleanly as possible. These scripts were developed out of frustration in clicking around on the same things over and over again in the web console every day, week, month when they could easly be done in seconds in a script that uses the AWS CLI. I've tried to keep everything applicable to as many use cases across regions and across as many different AWS accounts as possible. I run many of these scripts myself, mostly on a Mac or in Linux and do periodic usability and bug checking, making updates for any changes to the CLI. I hope this collection of tools helps you too, and if you use these please hit the Star/Fork button and if you have any suggestions please open an Issue or PR!

Getting Started

What is the AWS Command Line Interface?

The AWS CLI is an open source tool built on top of the AWS SDK for Python (Boto) that provides commands for interacting with AWS services.

Installing the AWS Command Line Interface


  • Python 2 version 2.6.5+ or Python 3 version 3.3+
  • macOS, Linux, or Unix

If you already have pip and a supported version of Python, you can install the AWS CLI with the following command:

$ pip install awscli --upgrade --user

Configuring the AWS CLI

For general use, the aws configure command is the fastest way to set up your AWS CLI installation.

$ aws configure

The AWS CLI will prompt you for four pieces of information. AWS Access Key ID and AWS Secret Access Key are your account credentials.

Named Profiles

The AWS CLI supports named profiles stored in the config and credentials files. You can configure additional profiles by using aws configure with the --profile option or by adding entries to the config and credentials files.

$ aws configure --profile example

What is jq?

jq is a lightweight and flexible command-line JSON processor.

Installing jq

OS X: Use Homebrew to install jq:

$ brew install jq

Linux: jq is in the official Amazon Linux AMI, Debian and Ubuntu repositories.

Amazon Linux AMI, RHEL, CentOS:

$ sudo yum install jq


$ sudo apt-get install jq

Tools included in this repo:







elastic beanstalk

Elastic Beanstalk











other tools

Other Tools

Bugs and feature requests

Have a bug or a feature request? The issue tracker is the preferred channel for bug reports, feature requests and submitting pull requests. If your problem or idea is not addressed yet, please open a new issue.


Shawn Woodford

Copyright and License

Code and Documentation Copyright 2012-2018 Shawn Woodford. Code released under the Apache License 2.0.