diff options
author | spenczar <spenczar@u.northwestern.edu> | 2011-07-01 21:27:14 -0400 |
---|---|---|
committer | spenczar <spenczar@u.northwestern.edu> | 2011-07-01 21:27:14 -0400 |
commit | 0cf99ddaf517bb553b65ea54befa9b70204f1b4b (patch) | |
tree | cf8acb34be6681e70b79df2efe6a8e40a7a3a310 | |
parent | 6878f808bb586e84dfa7d0fbad0db6fe351e9e21 (diff) | |
download | boto-0cf99ddaf517bb553b65ea54befa9b70204f1b4b.tar.gz |
Added modify_instance_groups
-rw-r--r-- | boto/emr/connection.py | 20 | ||||
-rw-r--r-- | boto/emr/emrobject.py | 4 |
2 files changed, 22 insertions, 2 deletions
diff --git a/boto/emr/connection.py b/boto/emr/connection.py index e3938520..f20c44d0 100644 --- a/boto/emr/connection.py +++ b/boto/emr/connection.py @@ -162,8 +162,24 @@ class EmrConnection(AWSQueryConnection): instance_group_args = [self._build_instance_group_args(ig) for ig in instance_groups] params.update(self._build_instance_group_list(instance_group_args)) - return self.get_object( - 'AddInstanceGroups', params, AddInstanceGroupsResponse, verb='POST') + return self.get_object('AddInstanceGroups', params, AddInstanceGroupsResponse, verb='POST') + + def modify_instance_groups(self, new_instance_groups): + """ + Modify the number of nodes and configuration settings in an instance group. + + :type new_instance_groups: list((int, str)) + :param new_instance_groups: A list of tuples holding an integer for the new size and a string for the InstanceGroupId of the instance group to be modified + """ + params = {} + + for k, ig in enumerate(new_instance_groups): + #could be wrong - the example amazon gives uses InstanceRequestCount, + #while the api documentation says InstanceCount + params['InstanceGroups.member.%s.InstanceCount' % k+1 ] = ig[0] + params['InstanceGroups.member.%s.InstanceGroupId' % k+1 ] = ig[1] + + return self.get_object('ModifyInstanceGroups', params, ModifyInstanceGroupsResponse, verb='POST') def run_jobflow(self, name, log_uri, ec2_keyname=None, availability_zone=None, diff --git a/boto/emr/emrobject.py b/boto/emr/emrobject.py index 3e437e3d..3430b987 100644 --- a/boto/emr/emrobject.py +++ b/boto/emr/emrobject.py @@ -47,6 +47,10 @@ class RunJobFlowResponse(EmrObject): class AddInstanceGroupsResponse(EmrObject): Fields = set(['InstanceGroupIds', 'JobFlowId']) + +class ModifyInstanceGroupsResponse(EmrObject): + Fields = set(['RequestId']) + class Arg(EmrObject): def __init__(self, connection=None): |