def currentEgressRule()

in SecurityGroups/config/code/index.py [0:0]


def currentEgressRule(sg):
    sg_response = client.describe_security_groups(GroupIds=[sg])
    print (sg_response)
    current_egress_rule_list = []
    for permission_set in sg_response['SecurityGroups'][0]['IpPermissionsEgress']:
        protocol = permission_set["IpProtocol"]
        from_port = permission_set.get("FromPort")
        to_port = permission_set.get("ToPort")
        cidrs = tuple(
            ip_range["CidrIp"]
            for ip_range in permission_set.get("IpRanges", [])
        )
        ipv6_cidrs = tuple(
            ip_range["CidrIpv6"]
            for ip_range in permission_set.get("Ipv6Ranges", [])
        )
        other_security_groups = tuple(
            extract_other_security_group(group)
            for group in permission_set.get("UserIdGroupPairs", [])
        )
        prefix_list_id = tuple(
            extract_prefix_list_id(group)
            for group in permission_set.get("PrefixListIds", [])
        )
        current_egress_rule_list.append(
            SgRuleIngress(
                cidrs,
                ipv6_cidrs,
                from_port,
                to_port,
                protocol,
                other_security_groups,
                list(prefix_list_id)
            )
        )
    return (current_egress_rule_list)