Skip to content

Instantly share code, notes, and snippets.

View justinclayton's full-sized avatar

Justin Clayton justinclayton

View GitHub Profile
@justinclayton
justinclayton / taint_module.sh
Created January 19, 2016 18:48
Terraform: taint all resources from one module
#!/bin/bash
module=$1
for resource in `terraform show -module-depth=1 | grep module.${module} | tr -d ':' | sed -e 's/module.${module}.//'`; do
terraform taint -module ${module} ${resource}
done
@justinclayton
justinclayton / add-dns-record.sh
Created July 15, 2015 22:04
CLI to add DNS Records in Route53
#!/bin/bash -eo pipefail
## Allows for creation of "Basic" DNS records in a Route53 hosted zone
function main() {
record_name=$1
record_value=$2
[[ -z $record_name ]] && echo "record_name is: $record_name" && exit 1
[[ -z $record_value ]] && echo "record_value is: $record_value" && exit 1
@justinclayton
justinclayton / hack.tf
Created May 1, 2018 19:02
Terraform: conditionally reference a data source that may or may not exist
variable "yes" { default = true }
data "template_file" "maybe" {
count = "${ var.yes == false ? 0 : 1 }"
template = "YES"
}
output "maybe" {
value = "${ var.yes == false ? "" : element(concat(data.template_file.maybe.*.rendered, list("")), 0) }" # <-- :_(
}
@justinclayton
justinclayton / aws_billing.sh
Created July 26, 2018 16:19
Yesterday's AWS Costs
aws ce get-cost-and-usage \
--granularity DAILY \
--time-period Start=$(date -v-1d +%Y-%m-%d),End=$(date +%Y-%m-%d) \
--metrics UnblendedCost \
| jq -r '.ResultsByTime[].Total.UnblendedCost.Amount' \
| ruby -e 'puts "$#{gets.to_f.round(2)}"'
@justinclayton
justinclayton / create_account.sh
Created December 6, 2018 23:03
Create New AWS Account using AWS Organizations
#!/usr/bin/env bash -eio pipefail
ROOT_ID=$(aws organizations list-roots | jq -r '.Roots[0].Id')
name=$1
email=$2
ou_name=$3
create-account() {
aws organizations create-account --account-name $1 --email $2

Keybase proof

I hereby claim:

  • I am justinclayton on github.
  • I am justinclayton (https://keybase.io/justinclayton) on keybase.
  • I have a public key ASBhfnoIncfKAYyzMnFfzxG_bBFuwKvwtaHLIjyhUvrC7Qo

To claim this, I am signing this object:

# Map prefix to Ctrl-a
unbind C-b
set -g prefix C-a
bind C-a send-prefix
bind r source-file ~/.tmux.conf
# Rename your terminals
#set -g set-titles on
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Ansi 0 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.20784313976764679</real>
#!/usr/bin/env python
# coding=UTF-8
import math, subprocess, re, sys
p = subprocess.Popen(['pmset', '-g', 'batt'], stdout=subprocess.PIPE)
output = p.communicate()[0]
# sample output
# "Now drawing from 'AC Power'\n -InternalBattery-0 (id=4522083)\t47%; charging; 2:00 remaining present: true\n"
# nearest-rank percentile, assumes sorted array
function ceil(valor)
{
return (valor == int(valor)) ? valor : int(valor)+1
}
function p(k, values) {
return values[ceil((k / 100) * length(values))]
}