diff --git a/awsapi-setup/setup/cloudstack-aws-api-register b/awsapi-setup/setup/cloudstack-aws-api-register deleted file mode 100644 index 83425b61b2a..00000000000 --- a/awsapi-setup/setup/cloudstack-aws-api-register +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/python - -import base64 -import hmac -import os -import sys -import urllib2 -import urllib -import httplib -from datetime import datetime -from optparse import OptionParser -from urlparse import urlparse - -try: - from hashlib import sha1 as sha -except ImportError: - import sha - -def get_signature(key, url, query): - netloc, path = urlparse(url)[1:3] - return urllib.quote_plus(base64.b64encode( - hmac.new(key, '\n'.join(['GET', netloc, path, query]), sha).digest())) - -def get_url(url, api_key, secret_key, action, query): - amzn_string = 'AWSAccessKeyId=' + api_key + '&Action=' + action + '&SignatureMethod=HmacSHA1' - amzn_string += '&SignatureVersion=2&Timestamp='+ datetime.now().isoformat()[:19] +'Z&Version=2010-11-15' - query = amzn_string + '&' + query - url = url + '?' + query + '&Signature=' + get_signature(secret_key, url, query) - try: - urllib2.urlopen(url) - if action == 'SetCertificate': - print 'User registration is successful!' - return True - except urllib2.HTTPError, e: - print 'User registration failed with http error code:' , e.code - return False - except urllib2.URLError, e: - print 'User registration failed with error: ' , e.reason - return False - - -def register(url, api_key, secret_key, cert): - # Register API keys - query = 'accesskey=' + api_key + '&secretkey=' + secret_key - result = get_url(url, api_key, secret_key, 'SetUserKeys', query) - - if result == True: - # Tie Certifcate to API keys - query = 'cert=' + urllib.quote_plus(cert) - get_url(url, api_key, secret_key, 'SetCertificate', query) - - -def get_opts(): - parser = OptionParser() - parser.add_option('-a', '--apikey') - parser.add_option('-s', '--secretkey') - parser.add_option('-c', '--cert', help='Name of a file containing an X.509 certificate') - parser.add_option('-u', '--url', help='CloudStack AWSAPI URL, eg. http://cloudstack.host:8080/awsapi') - (options, args) = parser.parse_args() - if None in [options.apikey, options.secretkey, options.cert, options.url]: - print 'Error: Missing argument\n' - parser.print_help() - sys.exit(1) - return options - -def validate_opts(options): - if not os.path.isfile(options.cert): - print 'Error reading file: ' + options.cert - sys.exit(1) - f = open(options.cert) - options.cert = f.read() - return options - -if __name__ == '__main__': - opts = validate_opts(get_opts()) - register(opts.url, opts.apikey, opts.secretkey, opts.cert)