Skip to content

Instantly share code, notes, and snippets.

View dazza-codes's full-sized avatar

Darren Weber dazza-codes

View GitHub Profile
@dazza-codes
dazza-codes / get_aws_iam.sh
Created December 6, 2022 02:21
Get AWS IAM Role Documents
#!/usr/bin/env bash
mkdir -p iam_roles
if [ ! -f roles.json ]; then
aws iam list-roles --output json > iam_roles/roles.json
fi
roles=$(jq '.Roles[].RoleName' iam_roles/roles.json | sed -n 's/"//gp')
@dazza-codes
dazza-codes / get_aws_endpoints.sh
Created December 6, 2022 02:17
Get AWS Load Balancers and API Gateway Endpoints
#!/usr/bin/env bash
# shellcheck disable=SC1090
source ~/bin/aws_profile.sh
aws-profile org-main-e1
aws elbv2 describe-load-balancers | jq -r '.LoadBalancers[].DNSName'
# shellcheck disable=SC2086
aws apigateway get-rest-apis | jq -r '.items[] | "https://\(.id).execute-api.'${AWS_DEFAULT_REGION}'.amazonaws.com/\(.tags.STAGE)"'
@dazza-codes
dazza-codes / pandas_csv_to_sql.py
Created December 6, 2022 01:22
Pandas CSV to SQL
#!/usr/bin/env python
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite://', echo=True)
df = pd.read_csv("/tmp/input.csv")
df.to_sql('input', con=engine)

Run Docker with AWS Credentials

#!/usr/bin/env bash

IMAGE=your-image
CMD='/bin/sh'

AWS_ACCESS_KEY_ID=$(aws --profile default configure get aws_access_key_id)
AWS_SECRET_ACCESS_KEY=$(aws --profile default configure get aws_secret_access_key)
@dazza-codes
dazza-codes / docker_clean.sh
Created December 6, 2022 00:55
Docker Clean
#!/usr/bin/env bash
#===============================================================================
#
# FILE: docker_clean.sh
#
# USAGE: ./docker_clean.sh
#
# DESCRIPTION:
#
@dazza-codes
dazza-codes / bash_date_manipulation.sh
Created December 6, 2022 00:52
Bash date manipulation
#!/usr/bin/env bash
hour_trunc12 () {
hr=$1
echo "12 * ($hr / 12)" | bc
}
# # 00 hours
# echo $(hour_trunc12 0) #> 0
# echo $(hour_trunc12 11) #> 0
@dazza-codes
dazza-codes / aws_vpc_checks.sh
Created December 6, 2022 00:42
AWS VPC Checks
#!/usr/bin/env bash
vpc="$VPC_ID"
region="$AWS_DEFAULT_REGION"
aws ec2 describe-vpc-peering-connections --region $region --filters 'Name=requester-vpc-info.vpc-id,Values='$vpc | grep VpcPeeringConnectionId
aws ec2 describe-nat-gateways --region $region --filter 'Name=vpc-id,Values='$vpc | grep NatGatewayId
aws ec2 describe-instances --region $region --filters 'Name=vpc-id,Values='$vpc | grep InstanceId
aws ec2 describe-vpn-gateways --region $region --filters 'Name=attachment.vpc-id,Values='$vpc | grep VpnGatewayId
aws ec2 describe-network-interfaces --region $region --filters 'Name=vpc-id,Values='$vpc | grep NetworkInterfaceId
@dazza-codes
dazza-codes / python_history.py
Created December 6, 2022 00:39
Python History
#!/usr/bin/env python3
import readline
print('\n'.join([str(readline.get_history_item(i + 1)) for i in range(readline.get_current_history_length())]))
@dazza-codes
dazza-codes / git_functions.md
Created December 6, 2022 00:38
Useful git commands and functions

Git Macro Functions

#### Cutting a release with a log of recent pull requests merged to master
git_release_commits () {
  git pull
  git fetch -p
  git log --oneline --decorate | grep 'Merge pull request' | head -n25
}