ec2stack/templates/securitygroups.xml (57 lines of code) (raw):
{% extends "response.xml" %}
{% block response_content %}
<securityGroupInfo>
{% for securitygroup in response.securitygroup %}
<item>
<ownerId>{{ securitygroup.account }}</ownerId>
<groupId>{{ securitygroup.id }}</groupId>
<groupName>{{ securitygroup.name }}</groupName>
<groupDescription>{{ securitygroup.description }}</groupDescription>
<ipPermissions>
{% for rule in securitygroup.ingressrule %}
<item>
<ipProtocol>{{ rule.protocol }}</ipProtocol>
{% if rule.startport %}
<fromPort>{{ rule.startport }}</fromPort>
{% elif 'icmptype' in rule %}
<fromPort>{{ rule.icmptype }}</fromPort>
{% endif %}
{% if 'endport' in rule %}
<toPort>{{ rule.endport }}</toPort>
{% elif 'icmpcode' in rule %}
<toPort>{{ rule.icmpcode }}</toPort>
{% endif %}
<ipRanges>
<item>
<cidrIp>{{ rule.cidr }}</cidrIp>
</item>
</ipRanges>
</item>
{% endfor %}
</ipPermissions>
<ipPermissionsEgress>
{% for rule in securitygroup.egressrule %}
<item>
<ipProtocol>{{ rule.protocol }}</ipProtocol>
{% if rule.startport %}
<fromPort>{{ rule.startport }}</fromPort>
{% elif 'icmptype' in rule %}
<fromPort>{{ rule.icmptype }}</fromPort>
{% endif %}
{% if 'endport' in rule %}
<toPort>{{ rule.endport }}</toPort>
{% elif 'icmpcode' in rule %}
<toPort>{{ rule.icmpcode }}</toPort>
{% endif %}
<ipRanges>
<item>
<cidrIp>{{ rule.cidr }}</cidrIp>
</item>
</ipRanges>
</item>
{% endfor %}
</ipPermissionsEgress>
</item>
{% endfor %}
</securityGroupInfo>
{% endblock %}