Adding tags to AutoScalingGroups

This commit is contained in:
Miles O'Connell 2015-10-06 09:21:26 -07:00
parent 123d1e3965
commit 3c38a551b2
3 changed files with 20 additions and 1 deletions

View File

@ -113,7 +113,8 @@ class FakeAutoScalingGroup(object):
def __init__(self, name, availability_zones, desired_capacity, max_size,
min_size, launch_config_name, vpc_zone_identifier,
default_cooldown, health_check_period, health_check_type,
load_balancers, placement_group, termination_policies, autoscaling_backend):
load_balancers, placement_group, termination_policies,
autoscaling_backend, tags):
self.autoscaling_backend = autoscaling_backend
self.name = name
self.availability_zones = availability_zones
@ -133,6 +134,7 @@ class FakeAutoScalingGroup(object):
self.instance_states = []
self.set_desired_capacity(desired_capacity)
self.tags = tags if tags else []
@classmethod
def create_from_cloudformation_json(cls, resource_name, cloudformation_json, region_name):

View File

@ -60,6 +60,7 @@ class AutoScalingResponse(BaseResponse):
load_balancers=self._get_multi_param('LoadBalancerNames.member'),
placement_group=self._get_param('PlacementGroup'),
termination_policies=self._get_multi_param('TerminationPolicies.member'),
tags=self._get_multi_param('Tags.member'),
)
template = self.response_template(CREATE_AUTOSCALING_GROUP_TEMPLATE)
return template.render()
@ -85,6 +86,7 @@ class AutoScalingResponse(BaseResponse):
load_balancers=self._get_multi_param('LoadBalancerNames.member'),
placement_group=self._get_param('PlacementGroup'),
termination_policies=self._get_multi_param('TerminationPolicies.member'),
tags=self._get_multi_param('Tags.member'),
)
template = self.response_template(UPDATE_AUTOSCALING_GROUP_TEMPLATE)
return template.render()

View File

@ -32,6 +32,13 @@ def test_create_autoscaling_group():
placement_group="test_placement",
vpc_zone_identifier='subnet-1234abcd',
termination_policies=["OldestInstance", "NewestInstance"],
tags=[{
'ResourceId': 'tester_group',
'ResourceType': 'auto-scaling-group',
'Key': 'test_key',
'Value': 'test_value',
'PropagateAtLaunch': True,
}],
)
conn.create_auto_scaling_group(group)
@ -50,6 +57,13 @@ def test_create_autoscaling_group():
list(group.load_balancers).should.equal(["test_lb"])
group.placement_group.should.equal("test_placement")
list(group.termination_policies).should.equal(["OldestInstance", "NewestInstance"])
list(group.tags).should.equal([{
'ResourceId': 'tester_group',
'ResourceType': 'auto-scaling-group',
'Key': 'test_key',
'Value': 'test_value',
'PropagateAtLaunch': True,
}])
@mock_autoscaling
@ -88,6 +102,7 @@ def test_create_autoscaling_groups_defaults():
list(group.load_balancers).should.equal([])
group.placement_group.should.equal(None)
list(group.termination_policies).should.equal([])
list(group.tags).should.equal([])
@mock_autoscaling