[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