The AWS Command Line Interface (CLI) is a unified tool to manage your AWS services.
nb: See http://embedyoutube.org/ for embedding of youtube vids in markdown.
# Add this to your ~/.aws/cli/alias file | |
# | |
# rit == (R)unning (I)nstances by (T)ag | |
# (Name and Value) | |
# | |
# Allows users to filter their AWS instances, which are running, by Tag Name / Value and see a summarised view. | |
# | |
# Pre-requisite - Expects one tag to be 'Name' | |
# | |
# e.g. With 1 Tag Match the Instance tagged with "branch" of "develop" |
The AWS Command Line Interface (CLI) is a unified tool to manage your AWS services.
nb: See http://embedyoutube.org/ for embedding of youtube vids in markdown.
#!/usr/bin/env bash | |
# diff file at given path to committed version. | |
# Use colordiff, if installed | |
# e.g. gdiff my-file.c | |
PREFERRED_DIFFER="colordiff" | |
command -v ${PREFERRED_DIFFER} >/dev/null 2>&1 || PREFERRED_DIFFER="diff" | |
if [[ -z "${1}" ]]; then |
# Use jq to grab the various scripts from package.json and expose them as a make targets | |
# Based on the awesome script from https://gist.github.com/kvz/79554af7f2d1b1379536 | |
# (but with jq... for something different) | |
# can use autocomplete (make <TAB><TAB> ) | |
TARGETS:=$(shell jq -r ".scripts | keys | .[]" package.json | sed 's/:/-/g') | |
define npm_script_targets | |
$$(TARGETS): | |
npm run $(subst -,:,$(MAKECMDGOALS)) | |
.PHONY: $$(TARGETS) |
# HELP - will output the help for each task in the Makefile | |
# In sorted order. | |
# The width of the first column can be determined by the `width` value passed to awk | |
# | |
# thanks to https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html for the initial version. | |
# | |
help: ## This help. | |
@grep -E -h "^[a-zA-Z_-]+:.*?## " $(MAKEFILE_LIST) \ | |
| sort \ | |
| awk -v width=36 'BEGIN {FS = ":.*?## "} {printf "\033[36m%-*s\033[0m %s\n", width, $$1, $$2}' |
## Dump a prettified version of given var, with a column width of 40, | |
##e.g. | |
## | |
## MY_STACK - micks-stack | |
## MY_BUCKET - micks-bucket | |
## nb: 033 is yellow | |
## | |
define dump_var | |
@echo $(1) $(2) | awk -v width=40 '{printf "\033[33m%-*s\033[0m - %s\n", width, $$1, $$2}' | |
endef |
# apologies, forgotten the book I got this from... but very useful :O | |
# see origin function at https://www.gnu.org/software/make/manual/html_node/Origin-Function.html | |
dump-var-origin: ## useful for debugging | |
@$(foreach V,$(sort $(.VARIABLES)), \ | |
$(if $(filter-out environ% default automatic, \ | |
$(origin $V)), $(info $V=$($V) ($(value $V))))) | |
# Usage - make dump-var-origin |
cloudformation-templates: ## Find all Cloudformation Templates e.g. for yamlint, cfnlint, cfnnag, etc... | |
@find -E $(CURDIR) \ | |
-regex ".*(yaml|yml|json|template)" \ | |
-not -path "*/node_modules/*" \ | |
-exec grep -il AWSTemplate {} \; \ | |
| grep -v ".aws-sam" |