aboutsummaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
Diffstat (limited to 'etc')
-rw-r--r--etc/Makefile.am1
-rw-r--r--etc/describe-security-groups.fln59
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

Return to:

Send suggestions and report system problems to the System administrator.