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


The following commit has been merged in the master branch:
commit 5c8edccf89812f3c079f06ea14a1c234a17c2d9d
Author: Garrett Holmstrom <gholms at fedoraproject.org>
Date:   Thu Feb 28 17:48:44 2013 -0800

    Implement DescribeAutoScalingInstances
    
    Fixes TOOLS-210

diff --git a/bin/kilo-describe-auto-scaling-instances b/bin/kilo-describe-auto-scaling-instances
new file mode 100755
index 0000000..0c1d26f
--- /dev/null
+++ b/bin/kilo-describe-auto-scaling-instances
@@ -0,0 +1,6 @@
+#!/usr/bin/python -tt
+
+import euca2ools.commands.autoscaling.describeautoscalinginstances
+
+if __name__ == '__main__':
+    euca2ools.commands.autoscaling.describeautoscalinginstances.DescribeAutoScalingInstances.run()
diff --git a/euca2ools/commands/euare/listaccesskeys.py b/euca2ools/commands/autoscaling/describeautoscalinginstances.py
similarity index 53%
copy from euca2ools/commands/euare/listaccesskeys.py
copy to euca2ools/commands/autoscaling/describeautoscalinginstances.py
index c6fdda6..1317822 100644
--- a/euca2ools/commands/euare/listaccesskeys.py
+++ b/euca2ools/commands/autoscaling/describeautoscalinginstances.py
@@ -1,6 +1,6 @@
 # Software License Agreement (BSD License)
 #
-# Copyright (c) 2009-2013, 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
@@ -28,30 +28,38 @@
 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 # POSSIBILITY OF SUCH DAMAGE.
 
+import argparse
+from euca2ools.commands.autoscaling import AutoScalingRequest
 from requestbuilder import Arg
+from requestbuilder.mixins import TabifyingCommand
 from requestbuilder.response import PaginatedResponse
-from . import EuareRequest, AS_ACCOUNT
 
-
-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)'),
-            AS_ACCOUNT]
-    LIST_MARKERS = ['AccessKeyMetadata']
+class DescribeAutoScalingInstances(AutoScalingRequest, TabifyingCommand):
+    DESCRIPTION = 'Describe instances in auto-scaling groups'
+    ARGS = [Arg('InstanceIds.member', metavar='INSTANCE', nargs='*',
+                help='limit results to specific instances'),
+            Arg('--show-long', action='store_true', route_to=None,
+                help=argparse.SUPPRESS)]  # doesn't actually do anything, but
+                                          # people will use it out of habit
+    LIST_MARKERS = ['AutoScalingInstances']
 
     def main(self):
-        return PaginatedResponse(self, (None,), ('AccessKeyMetadata',))
+        return PaginatedResponse(self, (None,), ('AutoScalingInstances',))
 
     def prepare_for_page(self, page):
-        # Pages are defined by markers
-        self.params['Marker'] = page
+        # Pages are defined by NextToken
+        self.params['NextToken'] = page
 
     def get_next_page(self, response):
-        if response.get('IsTruncated') == 'true':
-            return response['Marker']
+        return response.get('NextToken') or None
 
     def print_result(self, result):
-        for accesskey in result.get('AccessKeyMetadata', []):
-            print accesskey.get('AccessKeyId')
-            print accesskey.get('Status')
+        for instance in result.get('AutoScalingInstances', []):
+            bits = ['INSTANCE']
+            bits.append(instance.get('InstanceId'))
+            bits.append(instance.get('AutoScalingGroupName'))
+            bits.append(instance.get('AvailabilityZone'))
+            bits.append(instance.get('LifecycleState'))
+            bits.append(instance.get('HealthStatus'))
+            bits.append(instance.get('LaunchConfigurationName'))
+            print self.tabify(bits)

-- 
managing cloud instances for Eucalyptus



More information about the pkg-eucalyptus-commits mailing list