--- euca2ools-1.3.1/bin/euca-describe-instances.space 2010-09-04 08:01:51.000000000 -0500
+++ euca2ools-1.3.1/bin/euca-describe-instances 2010-11-18 14:32:09.693527928 -0600
@@ -37,7 +37,7 @@ import getopt
import sys
import os
from euca2ools import Euca2ool, InstanceValidationError, Util, \
- ConnectionFailed
+ ConnectionFailed, print_instances
usage_string = \
"""
@@ -85,35 +85,7 @@ def display_reservations(reservations, i
reservation_string += '%s%s' % (group_delim, group.id)
group_delim = ', '
print 'RESERVATION\t%s' % reservation_string
- for instance in instances:
- if instance:
- instance_string = '%s\t%s\t%s\t%s\t%s' % (instance.id,
- instance.image_id, instance.public_dns_name,
- instance.private_dns_name, instance.state)
- if instance.key_name:
- instance_string += ' \t%s' % instance.key_name
- if instance.ami_launch_index:
- instance_string += ' \t%s' \
- % instance.ami_launch_index
- if instance.product_codes:
- first = True
- for p in instance.product_codes:
- if first:
- instance_string += ' \t%s' % p
- first = False
- else:
- instance_string += ',%s' % p
- if instance.instance_type:
- instance_string += ' \t%s' % instance.instance_type
- if instance.launch_time:
- instance_string += ' \t%s' % instance.launch_time
- if instance.placement:
- instance_string += ' \t%s' % instance.placement
- if instance.kernel:
- instance_string += ' \t%s' % instance.kernel
- if instance.ramdisk:
- instance_string += ' \t%s' % instance.ramdisk
- print 'INSTANCE\t%s' % instance_string
+ print_instances(instances)
def main():
--- euca2ools-1.3.1/bin/euca-run-instances.space 2010-09-04 08:01:51.000000000 -0500
+++ euca2ools-1.3.1/bin/euca-run-instances 2010-11-18 14:35:22.495492578 -0600
@@ -36,7 +36,7 @@
import getopt
import sys
import os
-from euca2ools import Euca2ool, Util, ConnectionFailed
+from euca2ools import Euca2ool, Util, ConnectionFailed, print_instances
usage_string = \
"""
@@ -101,19 +101,7 @@ def display_reservations(reservation):
reservation_string += '%s%s' % (group_delim, group.id)
group_delim = ', '
print 'RESERVATION\t%s' % reservation_string
- for instance in reservation.instances:
- instance_string = '%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s' % (
- instance.id,
- instance.image_id,
- instance.public_dns_name,
- instance.private_dns_name,
- instance.state,
- instance.key_name,
- instance.launch_time,
- instance.kernel,
- instance.ramdisk,
- )
- print 'INSTANCE\t%s' % instance_string
+ print_instances(reservation.instances)
def read_user_data(user_data_filename):
--- euca2ools-1.3.1/euca2ools/euca2ools/__init__.py.space 2010-11-18 14:22:17.869135285 -0600
+++ euca2ools-1.3.1/euca2ools/euca2ools/__init__.py 2010-11-18 14:38:24.345118937 -0600
@@ -1459,3 +1459,23 @@ def parse_config(config, dict, keylist):
dict[keylist[i]] = values[i]
+def print_instances(instances, nil=""):
+ members=( "id", "image_id", "public_dns_name", "private_dns_name",
+ "state", "key_name", "ami_launch_index", "product_codes",
+ "instance_type", "launch_time", "placement", "kernel",
+ "ramdisk" )
+
+ for instance in instances:
+ # in old describe-instances, there was a check for 'if instance:'
+ # I (smoser) have carried this over, but dont know how instance
+ # could be false
+ if not instance: continue
+ items=[ ]
+ for member in members:
+ val = getattr(instance,member,nil)
+ # product_codes is a list
+ if val is None: val = nil
+ if hasattr(val,'__iter__'):
+ val = ','.join(val)
+ items.append(val)
+ print "INSTANCE\t%s" % '\t'.join(items)