reset cache cf

This commit is contained in:
Jessica Frazelle 2014-10-12 18:22:07 -07:00
parent 18ae52a5a1
commit 0c699d40b8
2 changed files with 47 additions and 0 deletions

View File

@ -0,0 +1,9 @@
FROM python:2.7.8
MAINTAINER Jessica Frazelle <jess@docker.com>
RUN pip install boto
ADD reset-cache.py /bin/reset-cache
RUN chmod +x /bin/reset-cache
CMD [ "reset-cache" ]

View File

@ -0,0 +1,38 @@
#!/usr/local/bin/python
import boto
import os
import sys
access_key = os.getenv("AWS_ACCESS_KEY")
access_secret = os.getenv("AWS_SECRET_KEY")
cloudfront_dist = os.getenv("AWS_CF_DISTRIBUTION_ID")
bucket = os.getenv("AWS_S3_BUCKET")
if access_key == "" or access_key is None:
print "Please set AWS_ACCESS_KEY env variable."
sys.exit(1)
elif access_secret == "" or access_secret is None:
print "Please set AWS_SECRET_KEY env variable."
sys.exit(1)
elif cloudfront_dist == "" or cloudfront_dist is None:
print "Please set AWS_CF_DISTRIBUTION_ID env variable."
sys.exit(1)
elif bucket == "" or bucket is None:
print "Please set AWS_S3_BUCKET env variable."
sys.exit(1)
# get the paths from s3
s3_conn = boto.connect_s3(access_key, access_secret)
docs = s3_conn.get_bucket(bucket)
items = []
for key in docs.list():
items.append(key.name)
cf_conn = boto.connect_cloudfront(access_key, access_secret)
inval_req = cf_conn.create_invalidation_request(cloudfront_dist, items)
print inval_req
sys.exit(0)