fish functions for Amazon workflows
piranha
is an expressive DSL for describing your AWS infrastructure, and an intuitive framework for reducing complexity in your Cloud Operations.
Experimental workflow for managing AWS on the commandline.
These should be available in your $PATH
. If you add additional dependencies, please indicate them in dependencies.list
, which will be checked at startup.
Most of what makes this work is a pile of fish functions. Not having fish would make it awkward to use.
Since the service we're using is AWS, having the AWS Command Line Interface is important.
The responses from Amazon's API tend to be blobs of JSON. jq is used by several functions to manipulate these blobs.
Run fish update.fish
to sync the configurations defined here with AWS.
Run fish, and add the functions
directory to your $fish_function_path
set fish_function_path /path/to/repository/functions $fish_function_path
All functions under functions
can be modified and executed trivially.
IAM-related settings go here.
A list of users is expected at iam/user.list
, and a list of groups at iam/group.list
. Any users or groups listed in these files will be created if they don't already exist.
Any JSON documents found under iam/<user|group>/<username|groupname>/
will be assumed to be IAM polices of the corresponding type. These will be uploaded with a name matching the filename (without extension), and will overwrite any conflicting policies.
A list of buckets is expected at s3/bucket.list
. They will be created if they don't already exist.