Tool to download all Amazon example templates
Templates are saved in templates/cloudformation-examples which is ignored by git. Its probably time we're exposed to a bit more template diversity. Change-Id: I667c4f08fced353201ab9234a51526bcbeb0761b
This commit is contained in:
parent
879d813efc
commit
66ef27527d
2
.gitignore
vendored
2
.gitignore
vendored
@ -10,3 +10,5 @@ heat-test.db
|
||||
.venv
|
||||
AUTHORS
|
||||
ChangeLog
|
||||
templates/cloudformation-examples
|
||||
|
||||
|
48
tools/fetch-cloudformation-examples
Executable file
48
tools/fetch-cloudformation-examples
Executable file
@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import httplib
|
||||
import os
|
||||
import sys
|
||||
import shutil
|
||||
import xml.etree.ElementTree as xml
|
||||
|
||||
basepath = os.path.abspath(os.path.join(sys.argv[0],
|
||||
os.path.pardir,
|
||||
os.path.pardir,
|
||||
'templates',
|
||||
'cloudformation-examples'))
|
||||
|
||||
bucket = 'cloudformation-templates-us-east-1'
|
||||
|
||||
def main():
|
||||
conn = httplib.HTTPConnection('s3.amazonaws.com')
|
||||
conn.request('GET', '/%s/' % bucket)
|
||||
resp = conn.getresponse()
|
||||
|
||||
tree = xml.parse(resp)
|
||||
rootElement = tree.getroot()
|
||||
|
||||
if os.path.exists(basepath):
|
||||
print 'Deleting %s' % basepath
|
||||
shutil.rmtree(basepath)
|
||||
|
||||
os.makedirs(basepath)
|
||||
print 'Creating %s' % basepath
|
||||
|
||||
for entry in rootElement.iter('{http://s3.amazonaws.com/doc/2006-03-01/}Key'):
|
||||
key = entry.text
|
||||
if key.endswith('.html'):
|
||||
continue
|
||||
filename = os.path.join(basepath, key)
|
||||
|
||||
print 'Writing to %s' % filename
|
||||
conn.request('GET', '/%s/%s' % (bucket, key))
|
||||
resp = conn.getresponse()
|
||||
contents = resp.read()
|
||||
|
||||
f = open(filename, 'w')
|
||||
f.write(contents)
|
||||
f.close()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Loading…
x
Reference in New Issue
Block a user