|
| 1 | +#!/usr/bin/python |
| 2 | + |
| 3 | +import sys |
| 4 | +sys.path.insert(0, "../config/") |
| 5 | +import urllib2 |
| 6 | +import urllib |
| 7 | +import hashlib |
| 8 | +import hmac |
| 9 | +import base64 |
| 10 | +import urlparse |
| 11 | +import linecache |
| 12 | +import url_config |
| 13 | +import user_config |
| 14 | + |
| 15 | +def get_sig_request(params, secretkey, baseurl): |
| 16 | + request_str='&'.join(['='.join([k,urllib.quote_plus(params[k])]) for k in params.keys()]) |
| 17 | + sig_str='&'.join(['='.join([k.lower(),urllib.quote_plus(params[k].lower().replace('+','%20'))])for k in sorted(params.iterkeys())]) |
| 18 | + sig=urllib.quote_plus(base64.encodestring(hmac.new(secretkey,sig_str,hashlib.sha1).digest()).strip()) |
| 19 | + return baseurl+request_str+'&signature='+sig |
| 20 | + |
| 21 | + |
| 22 | +baseurl = url_config.db_url |
| 23 | +apikey = user_config.apikey |
| 24 | +secretkey = user_config.secretkey |
| 25 | + |
| 26 | + |
| 27 | +import string |
| 28 | +import random |
| 29 | +def id_generator(size=6, chars=string.ascii_uppercase + string.digits): |
| 30 | + return ''.join(random.choice(chars) for _ in range(size)) |
| 31 | + |
| 32 | +instancename=id_generator() |
| 33 | +storagesize='50' # 10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250,260,270,280,290,300 (GB) |
| 34 | +perfclass='2x2' # 0.37X0.5, 1X1, 1X2, 2X2, 2X4, 4X4, 4X8, 8X8, 8X16, 8X32, 12X16, 12X32 (vCoreXGB) |
| 35 | +maintenanceweekday='sun' # sunday |
| 36 | +parametergroupid='21' # 21 = mysql5.6.24_default1_small, 22 = mysql5.6.25_default_medium, 23 = mysql5.6.24_default1_large |
| 37 | +dbmastername='root' # mysql admin account |
| 38 | +dbmasterpassword='admin12345' # mysql admin password |
| 39 | +dbname='sakila' # mysql database name |
| 40 | +dbengineversion='5.6.24' # mysql version |
| 41 | +usageplantype='hourly' # billing period = hourly, monthly |
| 42 | +zone='kr-2' # kr-0 (Seoul-M), kr-1 (Central-A), kr-2 (Central-B) |
| 43 | + |
| 44 | + |
| 45 | +if apikey != "": |
| 46 | + request={} |
| 47 | + request['command']='createInstance' |
| 48 | + request['instancename']=instancename |
| 49 | + request['perfclass']=perfclass |
| 50 | + request['storagesize']=storagesize |
| 51 | + request['maintenanceweekday']=maintenanceweekday |
| 52 | + request['parametergroupid']=parametergroupid |
| 53 | + request['dbmastername']=dbmastername |
| 54 | + request['dbmasterpassword']=dbmasterpassword |
| 55 | + request['dbname']=dbname |
| 56 | + request['dbengineversion']=dbengineversion |
| 57 | + request['usageplantype']=usageplantype |
| 58 | + request['zone']=zone |
| 59 | + request['response']='xml' |
| 60 | + request['apikey']=apikey |
| 61 | + |
| 62 | + req_url=get_sig_request(request, secretkey, baseurl) |
| 63 | + print "Request URL = %s\n" % req_url |
| 64 | + #res=urllib2.urlopen(final_req) |
| 65 | + #print res.read() |
| 66 | + #res.close() |
| 67 | +else: |
| 68 | + print "" |
| 69 | + |
0 commit comments