[pkg-eucalyptus-commits] [SCM] managing cloud instances for Eucalyptus branch, master, updated. 3.0.0-alpha3-257-g1da8e3a
Garrett Holmstrom
gholms at fedoraproject.org
Sun Jun 16 02:30:09 UTC 2013
The following commit has been merged in the master branch:
commit 25c88ba944b69cc4ece9e39bf81c889186eef99e
Author: Garrett Holmstrom <gholms at fedoraproject.org>
Date: Mon Feb 18 17:20:05 2013 -0800
Port CreateSigningCertificate
diff --git a/bin/euare-usercreatecert b/bin/euare-usercreatecert
index a2bacdd..7c3db64 100755
--- a/bin/euare-usercreatecert
+++ b/bin/euare-usercreatecert
@@ -1,7 +1,6 @@
-#!/usr/bin/python
+#!/usr/bin/python -tt
import euca2ools.commands.euare.createsigningcertificate
if __name__ == '__main__':
- r = euca2ools.commands.euare.createsigningcertificate.CreateSigningCertificate()
- r.main_cli()
+ euca2ools.commands.euare.createsigningcertificate.CreateSigningCertificate.run()
diff --git a/euca2ools/commands/euare/createsigningcertificate.py b/euca2ools/commands/euare/createsigningcertificate.py
index 6aa1e09..df6e11b 100644
--- a/euca2ools/commands/euare/createsigningcertificate.py
+++ b/euca2ools/commands/euare/createsigningcertificate.py
@@ -1,6 +1,6 @@
# Software License Agreement (BSD License)
#
-# Copyright (c) 2009-2011, Eucalyptus Systems, Inc.
+# Copyright (c) 2009-2013, Eucalyptus Systems, Inc.
# All rights reserved.
#
# Redistribution and use of this software in source and binary forms, with or
@@ -27,45 +27,35 @@
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-#
-# Author: Neil Soman neil at eucalyptus.com
-# Mitch Garnaat mgarnaat at eucalyptus.com
-
-from boto.roboto.awsqueryrequest import AWSQueryRequest
-from boto.roboto.param import Param
-import euca2ools.commands.euare
-import euca2ools.utils
-
-
-class CreateSigningCertificate(AWSQueryRequest):
-
- ServiceClass = euca2ools.commands.euare.Euare
-
- Description = """CreateSigningCertificate"""
- Params = [Param(
- name='UserName',
- short_name='u',
- long_name='user-name',
- ptype='string',
- optional=True,
- doc=""" Name of the User the signing certificate is for. """,
- ), Param(
- name='DelegateAccount',
- short_name=None,
- long_name='delegate',
- ptype='string',
- optional=True,
- doc=""" [Eucalyptus extension] Process this command as if the administrator of the specified account had run it. This option is only usable by cloud administrators. """,
- )]
-
- def cli_formatter(self, data):
- print data.Certificate['CertificateId']
- print data.Certificate['CertificateBody']
- print data.Certificate['PrivateKey']
-
- def main(self, **args):
- return self.send(**args)
- def main_cli(self):
- euca2ools.utils.print_version_if_necessary()
- self.do_cli()
+from requestbuilder import Arg
+from . import EuareRequest, DELEGATE
+
+
+class CreateSigningCertificate(EuareRequest):
+ DESCRIPTION = '[Eucalyptus only] Create a new signing certificate'
+ ARGS = [Arg('-u', '--user-name', dest='UserName', metavar='USER',
+ required=True,
+ help='user to create the signing certificate for (required)'),
+ Arg('--out', metavar='FILE', route_to=None,
+ help='file to write the certificate to (default: stdout)'),
+ Arg('--keyout', metavar='FILE', route_to=None,
+ help='file to write the private key to (default: stdout)'),
+ DELEGATE]
+
+ def postprocess(self, result):
+ if self.args['out']:
+ with open(self.args['out'], 'w') as certfile:
+ certfile.write(result['Certificate']['CertificateBody'])
+ if self.args['keyout']:
+ old_umask = os.umask(0o077)
+ with open(self.args['keyout'], 'w') as keyfile:
+ keyfile.write(result['Certificate']['PrivateKey'])
+ os.umask(old_umask)
+
+ def print_result(self, result):
+ print result['Certificate']['CertificateId']
+ if not self.args['out']:
+ print result['Certificate']['CertificateBody']
+ if not self.args['keyout']:
+ print result['Certificate']['PrivateKey']
--
managing cloud instances for Eucalyptus
More information about the pkg-eucalyptus-commits
mailing list