Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env python
# a quick script to export all instances from all regions to csv
import os
import boto3
from botocore.exceptions import ClientError
from datetime import datetime, timedelta
import logging
import sys
import csv
#!/usr/bin/env python
"""
A quick script to get temporary aws access keys.
expects AWS_MFA_ARN to exist in the aws default credential
export AWS_MFA_ARN="arn:aws:iam::123456789:mfa/me"
"""
#!/bin/bash
function get_classic_elb_backend_counts(){
region=${2:-us-west-2}
aws --profile $1 --region $region elb describe-load-balancers | \
jq -r --arg profile "$1" --arg region "$region" '.LoadBalancerDescriptions[] | [$profile, $region, .LoadBalancerName, (.Instances|length)] | @csv'
}
function aws_regions(){
aws ec2 describe-regions | jq -r '.Regions[].RegionName'
#!/usr/bin/env python
import csv
import os
import boto3
from botocore.exceptions import ClientError
from datetime import datetime, timedelta
import logging
import sys
#import aws_pricing_api
#!/usr/bin/env python
import json
import requests
url = 'https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/index.json'
resp = requests.get(url=url)
data = json.loads(resp.text)
hourlyTermCode = 'JRTCKXETXF'
rateCode = '6YS6EN2CT7'
products = data['products']
@garyellis
garyellis / terra-py.py
Created April 6, 2018 03:44
POC of basic python terraform wrapper scripting
#!/usr/bin/env python
import sh
from sh import terraform, Command
go_getter = Command("go-getter")
from sh import ErrorReturnCode
import yaml
import logging
import re
import os
@garyellis
garyellis / secrets_env.py
Created April 6, 2018 07:42
POC decrypting gpg files into a temporary shell environment context
#!/usr/bin/env python
import gnupg
# from dotenv import dotenv_values
import sh
import shlex
import os
from pprint import pprint
@garyellis
garyellis / ansible-node-report-output.json
Created June 24, 2018 17:07
ansible linux report development
[
{
"command": "uptime -s",
"name": "uptime_since",
"result": [
"2018-04-16 02:40:37"
]
},
{
"command": "hostname",
@garyellis
garyellis / jobseeder.yaml
Last active February 22, 2019 21:49
basic stress test rancher ui project pod retrieval
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: jobseeder
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: jobseeder
# export AWS_SERIAL_NUMBER=<your-mfa-arn>
declare -A iam_roles
iam_roles[dev]="arn:aws:iam::<account>:role/<assume-role-name>"
iam_roles[qa]="arn:aws:iam::<account>:role/<assume-role-name>"
function _aws_sts_get_session_token(){
unset AWS_SESSION_TOKEN AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY
set -x