[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:12 UTC 2013


The following commit has been merged in the master branch:
commit 0bb60143dfe73c981f26b3f6c402691b0ff4a99d
Author: Garrett Holmstrom <gholms at fedoraproject.org>
Date:   Mon Feb 18 22:05:54 2013 -0800

    Port GetUser

diff --git a/bin/euare-usergetattributes b/bin/euare-usergetattributes
index 4f92c9c..02893f0 100755
--- a/bin/euare-usergetattributes
+++ b/bin/euare-usergetattributes
@@ -1,7 +1,6 @@
-#!/usr/bin/python
+#!/usr/bin/python -tt
 
 import euca2ools.commands.euare.getuser
 
 if __name__ == '__main__':
-    r = euca2ools.commands.euare.getuser.GetUser()
-    r.main_cli()
+    euca2ools.commands.euare.getuser.GetUser.run()
diff --git a/euca2ools/commands/euare/getuser.py b/euca2ools/commands/euare/getuser.py
index 3d725c5..e9f3536 100644
--- a/euca2ools/commands/euare/getuser.py
+++ b/euca2ools/commands/euare/getuser.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,55 +27,24 @@
 # 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 GetUser(AWSQueryRequest):
-
-    ServiceClass = euca2ools.commands.euare.Euare
-
-    Description = """GetUser"""
-    Params = [Param(
-        name='UserName',
-        short_name='u',
-        long_name='user-name',
-        ptype='string',
-        optional=True,
-        doc=""" Name of the User to get information about.  This parameter is optional. If it is not included, it defaults to the User making the request. """ ,
-        ), Param(
-        name='ShowExtra',
-        short_name=None,
-        long_name='show-extra',
-        ptype='boolean',
-        optional=True,
-        doc=""" [Eucalyptus extension] Display the extra user attributes. """,
-        ), 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.User['Arn']
-        print data.User['UserId']
-        if 'Enabled' in data.User:
-            print data.User['Enabled']
-            print data.User['RegStatus']
-            print data.User['PasswordExpiration']
-
-    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 GetUser(EuareRequest):
+    DESCRIPTION = "Display a user's ARN and GUID"
+    ARGS = [Arg('-u', '--user-name', dest='UserName', metavar='USER',
+                help='''name of the user to show info about (default: current
+                        user)'''),
+            Arg('--show-extra', dest='ShowExtra', action='store_const',
+                const='true', help='also display additional user info'),
+            DELEGATE]
+
+    def print_result(self, result):
+        print result['User']['Arn']
+        print result['User']['UserId']
+        if self.args['ShowExtra'] == 'true':
+            for attr in ('CreateDate', 'Enabled', 'RegStatus',
+                         'PasswordExpiration'):
+                print result['User'].get(attr, '')

-- 
managing cloud instances for Eucalyptus



More information about the pkg-eucalyptus-commits mailing list