Skip to content

Instantly share code, notes, and snippets.

View seansummers's full-sized avatar
:octocat:
South Bend, IN

Sean Summers seansummers

:octocat:
South Bend, IN
View GitHub Profile
@seansummers
seansummers / convert.json
Created March 29, 2018 17:39 — forked from ssummer3/convert.json
Contentful Stuffs
{
"universityarchives": "5561",
"reservesmicrotextandmediadesk": "5557",
"medievalinstitutelibrary": "5558",
"circulationservicedesk": "1483",
"engineeringlibrary": "5566",
"architecturelibrary": "5563",
"kelloggkroclibrary": "5567",
"mahaffeybusinesslibrary": "5564",
"chemistryphysicslibrary": "5565",
@seansummers
seansummers / create_and_attach_volume.yaml
Created March 29, 2018 17:40 — forked from ssummer3/create_and_attach_volume.yaml
AWS: Create and Attach a Volume to an EC2 Instance
AWSTemplateFormatVersion: '2010-09-09'
Description: Create a Volume from scratch and attach it to an instance.
Metadata:
AWS::CloudFormation::Interface:
@seansummers
seansummers / ec2.yml
Created March 29, 2018 17:40 — forked from ssummer3/ec2.yml
AWS LIBND
AWSTemplateFormatVersion: '2010-09-09'
Description: Template to create libnd EC2
Conditions:
HasNetworkInterfaceId: !Not [!Equals [!Ref NetworkInterfaceId, '']]
HasPrivateIpAddress: !Not [!Equals [!Ref PrivateIpAddress, '']]
Parameters:
AMI:
ConstraintDescription: must be an AMI available in the EC2 instance's region
Default: ami-6869aa05
Description: Base AMI
"""Attempt to remove a VPC by removing the minimum resources required first.
Defaults to removing all default vpcs in all regions.
"""
import logging
import boto3
logging.basicConfig(level = logging.INFO)
@seansummers
seansummers / 01_export_aws_managed_policies.py
Created June 5, 2018 21:23 — forked from gene1wood/aws_iam_managed_policies_2019-02-12.json
Script to export all AWS IAM managed policies
import boto3
import json
client = boto3.client('iam')
paginator = client.get_paginator('list_policies')
response_iterator = paginator.paginate(Scope='AWS')
managed_policies = []
for response in response_iterator:
for policy in response['Policies']:
@seansummers
seansummers / inventory-global.template.yml
Last active September 15, 2023 11:21
AWS Configuration Tracking
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Global assets needed for Inventory Discovery
Metadata:
AWS::CloudFormation::Interface:
@seansummers
seansummers / camel_snakes.py
Created July 24, 2018 17:08
Python Camel Snake Conversion
from itertools import tee
try:
from itertools import zip_longest
except ImportError:
from itertools import izip_longest as zip_longest
def snake_parts_from_camel(name):
parts = tee(name, 2)
next(parts[1])
# ----------------------
# Git Aliases, mostly from https://jonsuh.com/blog/git-command-line-shortcuts/
# ----------------------
alias ga='git add'
alias gaa='git add .'
alias gaaa='git add --all'
alias gau='git add --update'
alias gb='git branch'
alias gbd='git branch --delete '
alias gc='git commit'
@seansummers
seansummers / update-api-keys.sh
Created December 3, 2018 15:36
AWS cli tools
#! /bin/bash -xe
# This script requires `jq` and optionally `awsume`
awsume --session-name ssummers-update-api-keys # or whatever method to assume an mfa session
AWS_EXPIRING_ACCESS_KEY=$(aws configure get aws_access_key_id)
AWS_USER=$(aws sts get-caller-identity --query Arn --output text | awk -F/ '/:user/ {print $2}')
if [[ $(aws iam list-access-keys --user-name ${AWS_USER} --query '*[]|length(@)') -ne 1 ]]
then
@seansummers
seansummers / create_ami.py
Last active February 19, 2021 22:39
Lambda Gists
import secrets
import boto3
import cfnresponse
ec2 = boto3.resource('ec2')
def create_ami(instance_id, ami_name, description):
instance = ec2.Instance(instance_id)