From 5ededbb297ceb5b15855e4df68498d43302709bc Mon Sep 17 00:00:00 2001 From: Steve Pulec Date: Sat, 14 Feb 2015 08:57:14 -0500 Subject: [PATCH] Fix security group tags. Closes #301. --- moto/ec2/models.py | 9 +++++---- moto/ec2/responses/security_groups.py | 10 ++++++++++ tests/test_ec2/test_security_groups.py | 20 ++++++++++++++++++-- 3 files changed, 33 insertions(+), 6 deletions(-) diff --git a/moto/ec2/models.py b/moto/ec2/models.py index 7fb89744..e5216bd1 100644 --- a/moto/ec2/models.py +++ b/moto/ec2/models.py @@ -163,7 +163,7 @@ class NetworkInterface(object): group = self.ec2_backend.get_security_group_from_id(group_id) if not group: # Create with specific group ID. - group = SecurityGroup(group_id, group_id, group_id, vpc_id=subnet.vpc_id) + group = SecurityGroup(group.ec2_backend, group_id, group_id, group_id, vpc_id=subnet.vpc_id) self.ec2_backend.groups[subnet.vpc_id][group_id] = group if group: self._group_set.append(group) @@ -1016,8 +1016,9 @@ class SecurityRule(object): return self.unique_representation == other.unique_representation -class SecurityGroup(object): - def __init__(self, group_id, name, description, vpc_id=None): +class SecurityGroup(TaggedEC2Resource): + def __init__(self, ec2_backend, group_id, name, description, vpc_id=None): + self.ec2_backend = ec2_backend self.id = group_id self.name = name self.description = description @@ -1116,7 +1117,7 @@ class SecurityGroupBackend(object): existing_group = self.get_security_group_from_name(name, vpc_id) if existing_group: raise InvalidSecurityGroupDuplicateError(name) - group = SecurityGroup(group_id, name, description, vpc_id=vpc_id) + group = SecurityGroup(self, group_id, name, description, vpc_id=vpc_id) self.groups[vpc_id][group_id] = group return group diff --git a/moto/ec2/responses/security_groups.py b/moto/ec2/responses/security_groups.py index 9da61d90..38fadb88 100644 --- a/moto/ec2/responses/security_groups.py +++ b/moto/ec2/responses/security_groups.py @@ -133,6 +133,16 @@ DESCRIBE_SECURITY_GROUPS_RESPONSE = """