[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:04 UTC 2013
The following commit has been merged in the master branch:
commit d3a1caafd5579105f1f2629860fb81a8950e216a
Author: Garrett Holmstrom <gholms at fedoraproject.org>
Date: Mon Feb 11 17:32:28 2013 -0800
Implement walrus-listbuckets
diff --git a/bin/walrus-listbuckets b/bin/walrus-listbuckets
new file mode 100755
index 0000000..197b273
--- /dev/null
+++ b/bin/walrus-listbuckets
@@ -0,0 +1,6 @@
+#!/usr/bin/python -tt
+
+import euca2ools.commands.walrus.listallmybuckets
+
+if __name__ == '__main__':
+ euca2ools.commands.walrus.listallmybuckets.ListAllMyBuckets.run()
diff --git a/bin/euca-bundle-vol b/euca2ools/commands/walrus/__init__.py
old mode 100755
new mode 100644
similarity index 68%
copy from bin/euca-bundle-vol
copy to euca2ools/commands/walrus/__init__.py
index 08a7fa4..7cf9025
--- a/bin/euca-bundle-vol
+++ b/euca2ools/commands/walrus/__init__.py
@@ -1,9 +1,6 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
# Software License Agreement (BSD License)
#
-# Copyright (c) 2009-2011, Eucalyptus Systems, Inc.
+# Copyright (c) 2013, Eucalyptus Systems, Inc.
# All rights reserved.
#
# Redistribution and use of this software in source and binary forms, with or
@@ -30,13 +27,22 @@
# 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
-import euca2ools.commands.bundle.bundlevol
+from requestbuilder import Arg, SERVICE
+import requestbuilder.auth
+import requestbuilder.request
+import requestbuilder.service
+from requestbuilder.xmlparse import parse_aws_xml
+from .. import Euca2oolsRequest
+
+class Walrus(requestbuilder.service.BaseService):
+ NAME = 's3'
+ DESCRIPTION = 'Object storage service'
+ AUTH_CLASS = requestbuilder.auth.S3RestAuth
+ URL_ENVVAR = 'S3_URL'
-if __name__ == '__main__':
- cmd = euca2ools.commands.bundle.bundlevol.BundleVol()
- cmd.main_cli()
+class WalrusRequest(Euca2oolsRequest):
+ SERVICE_CLASS = Walrus
+ ARGS = [Arg('-U', '--url', dest='url', metavar='URL', route_to=SERVICE,
+ help='storage service endpoint URL')]
diff --git a/euca2ools/commands/walrus/listallmybuckets.py b/euca2ools/commands/walrus/listallmybuckets.py
new file mode 100644
index 0000000..08e00d6
--- /dev/null
+++ b/euca2ools/commands/walrus/listallmybuckets.py
@@ -0,0 +1,69 @@
+# Software License Agreement (BSD License)
+#
+# Copyright (c) 2013, Eucalyptus Systems, Inc.
+# All rights reserved.
+#
+# Redistribution and use of this software in source and binary forms, with or
+# without modification, are permitted provided that the following conditions
+# are met:
+#
+# Redistributions of source code must retain the above
+# copyright notice, this list of conditions and the
+# following disclaimer.
+#
+# Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the
+# following disclaimer in the documentation and/or other
+# materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# 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.
+
+from requestbuilder import Arg
+from requestbuilder.mixins import TabifyingCommand
+from requestbuilder.xmlparse import parse_listdelimited_aws_xml
+from . import WalrusRequest
+
+class ListAllMyBuckets(WalrusRequest, TabifyingCommand):
+ DESCRIPTION = 'List all buckets owned by your account'
+ ARGS = [Arg('-l', dest='long_output', action='store_true', route_to=None,
+ help='list in long format, with creation dates and owner info'),
+ Arg('-n', dest='numeric_output', action='store_true', route_to=None,
+ help=('display account IDs numerically in long (-l) output. '
+ 'This option turns on the -l option.'))]
+
+ def configure(self):
+ WalrusRequest.configure(self)
+ if self.args['numeric_output']:
+ self.args['long_output'] = True
+
+ def preprocess(self):
+ self.method = 'GET'
+ self.path = ''
+
+ def parse_response(self, response):
+ response_dict = self.log_and_parse_response(response,
+ parse_listdelimited_aws_xml, list_markers=('Buckets',))
+ return response_dict['ListAllMyBucketsResult']
+
+ def print_result(self, result):
+ if self.args['numeric_output'] or 'DisplayName' not in result['Owner']:
+ owner = result.get('Owner', {}).get('ID')
+ else:
+ owner = result.get('Owner', {}).get('DisplayName')
+
+ for bucket in result.get('Buckets', []):
+ if self.args['long_output']:
+ print self.tabify((owner, bucket.get('CreationDate'),
+ bucket.get('Name')))
+ else:
+ print bucket.get('Name')
--
managing cloud instances for Eucalyptus
More information about the pkg-eucalyptus-commits
mailing list