diff options
Diffstat (limited to 'etc')
-rw-r--r-- | etc/Makefile.am | 1 | ||||
-rw-r--r-- | etc/describe-security-groups.fln | 59 |
2 files changed, 60 insertions, 0 deletions
diff --git a/etc/Makefile.am b/etc/Makefile.am index 514993c..3ccb0f4 100644 --- a/etc/Makefile.am +++ b/etc/Makefile.am @@ -24,6 +24,7 @@ FLNFILES=\ describe-instance-attribute.fln\ describe-instance-status.fln\ describe-instances.fln\ + describe-security-groups.fln\ describe-tags.fln\ describe-volumes.fln\ disassociate-address.fln\ diff --git a/etc/describe-security-groups.fln b/etc/describe-security-groups.fln new file mode 100644 index 0000000..55e2921 --- /dev/null +++ b/etc/describe-security-groups.fln @@ -0,0 +1,59 @@ +/* This file is part of Eclat. + Copyright (C) 2012 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 <http://www.gnu.org/licenses/>. */ + +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) { + print(var.ipProtocol,"\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) { + print(var.ipProtocol,"\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"); + } + } + } +}
\ No newline at end of file |