Skip to content

Instantly share code, notes, and snippets.

@joshuarobinson
Created September 13, 2021 14:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joshuarobinson/ac708fc9b20e798026235e4828fc6ca5 to your computer and use it in GitHub Desktop.
Save joshuarobinson/ac708fc9b20e798026235e4828fc6ca5 to your computer and use it in GitHub Desktop.
#!/usr/bin/python3
import boto3
import sys
# Hard-coded endpoint override, update this for your use.
FB_DATAVIP='10.62.64.200'
if len(sys.argv) != 3:
print("Usage: {} bucketname key".format(sys.argv[0]))
sys.exit(1)
bucketname = sys.argv[1]
key = sys.argv[2]
s3 = boto3.resource('s3', endpoint_url='http://' + FB_DATAVIP)
kwargs = {'Bucket' : bucketname, 'Prefix' : key}
pageresponse = s3.meta.client.get_paginator('list_object_versions').paginate(**kwargs)
for pageobject in pageresponse:
if 'DeleteMarkers' in pageobject.keys() and pageobject['DeleteMarkers'][0]['Key'] == key:
print("Undeleting s3://{}/{}".format(bucketname, key))
s3.ObjectVersion(bucketname, key, pageobject['DeleteMarkers'][0]['VersionId']).delete()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment