Skip to content

Instantly share code, notes, and snippets.

View seventhskye's full-sized avatar

Seventh Skye Limited seventhskye

View GitHub Profile
@seventhskye
seventhskye / s3_object_acl.py
Created September 16, 2016 09:37
A script to iterate through a bucket and change object acl's.
#!/usr/bin/env python
import boto3
client = boto3.client('s3')
bucket = 'your-bucket'
prefix = 'a-path-in-s3'
NextContinuationToken = True
while NextContinuationToken:
if NextContinuationToken == True:
@seventhskye
seventhskye / delete_all_objects.py
Last active February 14, 2023 12:08
A script to delete all objects, versions and delete markers from an s3 bucket.
#!/usr/bin/env python
import boto3
client = boto3.client('s3')
Bucket = 'a-bucket'
Prefix = 'a-prefix' # leave blank to delete the entire contents
IsTruncated = True
MaxKeys = 1000
KeyMarker = None
@seventhskye
seventhskye / associate_eip_address.py
Created September 28, 2016 13:23
Script to update an EC2 instance with an elastic IP.
#!/usr/bin/env python
import boto3
import requests
def main(argv):
instance_id = requests.get('http://169.254.169.254/latest/meta-data/instance-id').text
allocation_id = argv[1]
client = boto3.client('ec2')
response = client.associate_address(InstanceId=instance_id,AllocationId=allocation_id)
@seventhskye
seventhskye / lambda_cron.py
Last active October 6, 2016 13:34
A lambda function to perform cron tasks, this one deletes cloudformation stacks. Fill in REGEX with a regular expression for the CF stack name you wish to delete.
import sys
import boto3
import re
def lambda_handler(event, context):
cloudformation = boto3.client('cloudformation')
stacks = cloudformation.describe_stacks()['Stacks']
for s in stacks:
if re.match(REGEX, s['StackName'], flags=0):
@seventhskye
seventhskye / aws-cloudwatch-event
Created July 13, 2017 11:42
A CloudWatch event JSON string for testing within lambda functions.
{
"Records": [
{
"EventSource": "aws:sns",
"EventVersion": "1.0",
"EventSubscriptionArn": "arn:aws:sns:eu-west-1:000000000000:cloudwatch-alarms:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"Sns": {
"Type": "Notification",
"MessageId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"TopicArn": "arn:aws:sns:eu-west-1:000000000000:cloudwatch-alarms",