[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:18 UTC 2013
The following commit has been merged in the master branch:
commit 4fa6282fec1c6f9cb23f4d4cf875f6eec0118c44
Author: Garrett Holmstrom <gholms at fedoraproject.org>
Date: Tue Feb 19 14:29:22 2013 -0800
Port ListAccessKeys
diff --git a/bin/euare-userlistkeys b/bin/euare-userlistkeys
index d26907b..8fd0cd6 100755
--- a/bin/euare-userlistkeys
+++ b/bin/euare-userlistkeys
@@ -1,7 +1,6 @@
-#!/usr/bin/python
+#!/usr/bin/python -tt
import euca2ools.commands.euare.listaccesskeys
if __name__ == '__main__':
- r = euca2ools.commands.euare.listaccesskeys.ListAccessKeys()
- r.main_cli()
+ euca2ools.commands.euare.listaccesskeys.ListAccessKeys.run()
diff --git a/euca2ools/commands/euare/listaccesskeys.py b/euca2ools/commands/euare/listaccesskeys.py
index 9575134..bcc483d 100644
--- a/euca2ools/commands/euare/listaccesskeys.py
+++ b/euca2ools/commands/euare/listaccesskeys.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,61 +27,31 @@
# 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
+from requestbuilder import Arg
+from requestbuilder.response import PaginatedResponse
+from . import EuareRequest, DELEGATE
-class ListAccessKeys(AWSQueryRequest):
- ServiceClass = euca2ools.commands.euare.Euare
+class ListAccessKeys(EuareRequest):
+ DESCRIPTION = "List a user's access keys"
+ ARGS = [Arg('-u', '--user-name', dest='UserName', metavar='USER',
+ help='user to list keys for (default: current user)'),
+ DELEGATE]
+ LIST_MARKERS = ['AccessKeyMetadata']
- Description = """ListAccessKeys"""
- Params = [Param(
- name='UserName',
- short_name='u',
- long_name='user-name',
- ptype='string',
- optional=True,
- doc=""" Name of the User. """,
- ), Param(
- name='Marker',
- short_name='m',
- long_name='marker',
- ptype='string',
- optional=True,
- doc=""" Use this only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. """ ,
- ), Param(
- name='MaxItems',
- short_name=None,
- long_name='max-items',
- ptype='integer',
- optional=True,
- doc=""" Use this only when paginating results to indicate the maximum number of keys you want in the response. If there are additional keys beyond the maximum you specify, the IsTruncated response element is true. """ ,
- ), 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 main(self):
+ return PaginatedResponse(self, (None,), ('AccessKeyMetadata',))
- def cli_formatter(self, data):
- for key in data.AccessKeyMetadata:
- print key['AccessKeyId']
- print key['Status']
+ def prepare_for_page(self, page):
+ # Pages are defined by markers
+ self.params['Marker'] = page
- def main(self, **args):
- self.list_markers.append('AccessKeyMetadata')
- self.item_markers.append('member')
- return self.send(**args)
+ def get_next_page(self, response):
+ if response.get('IsTruncated') == 'true':
+ return response['Marker']
- def main_cli(self):
- euca2ools.utils.print_version_if_necessary()
- self.do_cli()
+ def print_result(self, result):
+ for accesskey in result.get('AccessKeyMetadata', []):
+ print accesskey.get('AccessKeyId')
+ print accesskey.get('Status')
--
managing cloud instances for Eucalyptus
More information about the pkg-eucalyptus-commits
mailing list