| Index: boto/emr/emrobject.py
|
| diff --git a/boto/emr/emrobject.py b/boto/emr/emrobject.py
|
| index 0ffe29285e6a3459169f853bfc1ee4da8fa394cd..3430b987983d915357cef8cb7094d583f01ceed6 100644
|
| --- a/boto/emr/emrobject.py
|
| +++ b/boto/emr/emrobject.py
|
| @@ -1,5 +1,6 @@
|
| # Copyright (c) 2010 Spotify AB
|
| # Copyright (c) 2010 Jeremy Thurgood <firxen+boto@gmail.com>
|
| +# Copyright (c) 2010-2011 Yelp
|
| #
|
| # Permission is hereby granted, free of charge, to any person obtaining a
|
| # copy of this software and associated documentation files (the
|
| @@ -44,6 +45,12 @@ class EmrObject(object):
|
| class RunJobFlowResponse(EmrObject):
|
| Fields = set(['JobFlowId'])
|
|
|
| +class AddInstanceGroupsResponse(EmrObject):
|
| + Fields = set(['InstanceGroupIds', 'JobFlowId'])
|
| +
|
| +class ModifyInstanceGroupsResponse(EmrObject):
|
| + Fields = set(['RequestId'])
|
| +
|
|
|
| class Arg(EmrObject):
|
| def __init__(self, connection=None):
|
| @@ -54,19 +61,37 @@ class Arg(EmrObject):
|
|
|
|
|
| class BootstrapAction(EmrObject):
|
| - Fields = set(['Name',
|
| - 'Args',
|
| - 'Path'])
|
| + Fields = set([
|
| + 'Args',
|
| + 'Name',
|
| + 'Path',
|
| + ])
|
| +
|
| + def startElement(self, name, attrs, connection):
|
| + if name == 'Args':
|
| + self.args = ResultSet([('member', Arg)])
|
| + return self.args
|
| +
|
| +
|
| +class KeyValue(EmrObject):
|
| + Fields = set([
|
| + 'Key',
|
| + 'Value',
|
| + ])
|
|
|
|
|
| class Step(EmrObject):
|
| - Fields = set(['Name',
|
| - 'ActionOnFailure',
|
| - 'CreationDateTime',
|
| - 'StartDateTime',
|
| - 'EndDateTime',
|
| - 'LastStateChangeReason',
|
| - 'State'])
|
| + Fields = set([
|
| + 'ActionOnFailure',
|
| + 'CreationDateTime',
|
| + 'EndDateTime',
|
| + 'Jar',
|
| + 'LastStateChangeReason',
|
| + 'MainClass',
|
| + 'Name',
|
| + 'StartDateTime',
|
| + 'State',
|
| + ])
|
|
|
| def __init__(self, connection=None):
|
| self.connection = connection
|
| @@ -76,49 +101,58 @@ class Step(EmrObject):
|
| if name == 'Args':
|
| self.args = ResultSet([('member', Arg)])
|
| return self.args
|
| + if name == 'Properties':
|
| + self.properties = ResultSet([('member', KeyValue)])
|
| + return self.properties
|
|
|
|
|
| class InstanceGroup(EmrObject):
|
| - Fields = set(['Name',
|
| - 'CreationDateTime',
|
| - 'InstanceRunningCount',
|
| - 'StartDateTime',
|
| - 'ReadyDateTime',
|
| - 'State',
|
| - 'EndDateTime',
|
| - 'InstanceRequestCount',
|
| - 'InstanceType',
|
| - 'Market',
|
| - 'LastStateChangeReason',
|
| - 'InstanceRole',
|
| - 'InstanceGroupId',
|
| - 'LaunchGroup',
|
| - 'SpotPrice'])
|
| + Fields = set([
|
| + 'BidPrice',
|
| + 'CreationDateTime',
|
| + 'EndDateTime',
|
| + 'InstanceGroupId',
|
| + 'InstanceRequestCount',
|
| + 'InstanceRole',
|
| + 'InstanceRunningCount',
|
| + 'InstanceType',
|
| + 'LastStateChangeReason',
|
| + 'LaunchGroup',
|
| + 'Market',
|
| + 'Name',
|
| + 'ReadyDateTime',
|
| + 'StartDateTime',
|
| + 'State',
|
| + ])
|
|
|
|
|
| class JobFlow(EmrObject):
|
| - Fields = set(['CreationDateTime',
|
| - 'StartDateTime',
|
| - 'State',
|
| - 'EndDateTime',
|
| - 'Id',
|
| - 'InstanceCount',
|
| - 'JobFlowId',
|
| - 'LogUri',
|
| - 'MasterPublicDnsName',
|
| - 'MasterInstanceId',
|
| - 'Name',
|
| - 'Placement',
|
| - 'RequestId',
|
| - 'Type',
|
| - 'Value',
|
| - 'AvailabilityZone',
|
| - 'SlaveInstanceType',
|
| - 'MasterInstanceType',
|
| - 'Ec2KeyName',
|
| - 'InstanceCount',
|
| - 'KeepJobFlowAliveWhenNoSteps',
|
| - 'LastStateChangeReason'])
|
| + Fields = set([
|
| + 'AvailabilityZone',
|
| + 'CreationDateTime',
|
| + 'Ec2KeyName',
|
| + 'EndDateTime',
|
| + 'HadoopVersion',
|
| + 'Id',
|
| + 'InstanceCount',
|
| + 'JobFlowId',
|
| + 'KeepJobFlowAliveWhenNoSteps',
|
| + 'LastStateChangeReason',
|
| + 'LogUri',
|
| + 'MasterInstanceId',
|
| + 'MasterInstanceType',
|
| + 'MasterPublicDnsName',
|
| + 'Name',
|
| + 'NormalizedInstanceHours',
|
| + 'ReadyDateTime',
|
| + 'RequestId',
|
| + 'SlaveInstanceType',
|
| + 'StartDateTime',
|
| + 'State',
|
| + 'TerminationProtected',
|
| + 'Type',
|
| + 'Value',
|
| + ])
|
|
|
| def __init__(self, connection=None):
|
| self.connection = connection
|
| @@ -138,4 +172,3 @@ class JobFlow(EmrObject):
|
| return self.bootstrapactions
|
| else:
|
| return None
|
| -
|
|
|