/* This file is part of Eclat. Copyright (C) 2012-2015 Sergey Poznyakoff. Eclat is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. Eclat is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Eclat. If not, see . */ if (.DescribeSecurityGroupsResponse.securityGroupInfo) { for (grp in .DescribeSecurityGroupsResponse.securityGroupInfo.item) { print("Group ", grp.groupId,"\t", grp.groupName, "\t", grp.groupDescription, "\n"); print("VPC ID: ", grp.vpcId, "\n"); for (var in grp.tagSet.item) { print("TAG ", var.key, "\t", var.value, "\n"); } print("Incoming:\n"); for (var in grp.ipPermissions.item) { for (range in var.ipRanges.item) { if (var.ipProtocol == "-1") print("all"); else print(var.ipProtocol); print("\t",range.cidrIp,"\t",var.fromPort); if (var.fromPort != var.toPort) print("-",var.toPort); print("\n"); } for (usr in var.groups.item) { print("user ", usr.userId, ", group ", usr.groupId, " (", usr.groupName, ")\t", var.fromPort); if (var.fromPort != var.toPort) print("-",var.toPort); print("\n"); } } print("Outgoing:\n"); for (var in grp.ipPermissionsEgress.item) { for (range in var.ipRanges.item) { if (var.ipProtocol == "-1") print("all"); else print(var.ipProtocol); print("\t",range.cidrIp,"\t",var.fromPort); if (var.fromPort != var.toPort) print("-",var.toPort); print("\n"); } for (usr in var.groups.item) { print("user ", usr.userId, ", group ", usr.groupId, " (", usr.groupName, ")\t", var.fromPort); if (var.fromPort != var.toPort) print("-",var.toPort); print("\n"); } } } }