Skip to content

Instantly share code, notes, and snippets.

@schuettc
schuettc / getECSClusterIps.sh
Last active April 8, 2024 05:59
ECS Fargate IP Addresses
#!/bin/bash
> taskIps.env
TASK_LIST=$(aws ecs list-tasks --cluster $CLUSTER_NAME)
TASK_ARNS=$(echo "$TASK_LIST" | jq -r '.taskArns[]')
while IFS= read -r TASK_ARN; do
echo "$TASK_ARN"
NETWORK_INTERFACE_ID=$(aws ecs describe-tasks --cluster $CLUSTER_NAME --tasks "$TASK_ARN" --query 'tasks[0].attachments[0].details[?name==`networkInterfaceId`].value' --output text)
@schuettc
schuettc / delete_buckets.py
Created January 3, 2023 01:12
Delete S3 Buckets
import boto3
s3 = boto3.client("s3")
yes_choices = ["yes", "y"]
no_choices = ["no", "n"]
def delete_bucket(bucket_name):
try:
@schuettc
schuettc / snake_to_PascalCase.py
Last active October 10, 2022 02:11
snake_to_PascalCase Python Script
def snake_to_PascalCase(d):
for k, v in d.copy().items():
if isinstance(v, dict):
d.pop(k)
d[k.title().replace("_", "")] = v
snake_to_PascalCase(v)
elif isinstance(v, list):
d.pop(k)
d[k.title().replace("_", "")] = v
for i in v:
@schuettc
schuettc / capitalize_keys.py
Last active May 18, 2022 13:58
Recursively Capitalize Keys - Python
def capitalize_keys(d):
for k, v in d.copy().items():
if isinstance(v, dict):
d.pop(k)
d[f"{k[0].upper() +k[1:]}"] = v
capitalize_keys(v)
else:
d.pop(k)
d[f"{k[0].upper() +k[1:]}"] = v
return d
@schuettc
schuettc / delete_keys.py
Created November 4, 2021 15:57
Bulk Delete S3 Objects by LastModified Date
import boto3
from datetime import datetime, timezone
s3 = boto3.client("s3")
bucket = "INSERT_BUCKET_NAME"
paginator = s3.get_paginator("list_objects_v2")
pages = paginator.paginate(Bucket=bucket)
date_check = datetime(2021, 11, 1)
keys_to_delete = []