aboutsummaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2015-11-19 13:26:52 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2015-11-19 13:30:24 +0200
commit858fef585e97f210378ca40b2287a78ced74c0de (patch)
tree2bd6eec8bf30899fb9b88b01a502a04ce3bee08a /etc
parenta32c2acdae16394613be0fe01fa5c439a0f247d0 (diff)
downloadeclat-858fef585e97f210378ca40b2287a78ced74c0de.tar.gz
eclat-858fef585e97f210378ca40b2287a78ced74c0de.tar.bz2
New commands: assocrtab, mkrtab, rmrtab, lsrtab, disasrtab, route
These implement the following EC2 actions: AssociateRouteTable, CreateRoute, CreateRouteTable, DeleteRoute, DeleteRouteTable, DescribeRouteTables, DisassociateRouteTable, ReplaceRoute. * TODO: Update. * etc/Makefile.am: Add new formats. * etc/associate-route-table.fln: New file. * etc/create-route-table.fln: New file. * etc/create-route.fln: New file. * etc/delete-route-table.fln: New file. * etc/delete-route.fln: New file. * etc/describe-route-tables.fln: New file. * etc/disassociate-route-table.fln: New file. * etc/replace-route.fln: New file. * etc/route.fln: New file. * src/Makefile.am: Add routetable.c * src/routetable.c: New file. * src/eclat.c (cmdtab): Register new subcommands. * src/eclat.h (ECLAT_DEBCAT_DUMP): New category. Add new protos. * src/io.c (write_callback): Enable XML dump if dump debug category is set.
Diffstat (limited to 'etc')
-rw-r--r--etc/Makefile.am9
-rw-r--r--etc/associate-route-table.fln19
-rw-r--r--etc/create-route-table.fln28
-rw-r--r--etc/create-route.fln22
-rw-r--r--etc/delete-route-table.fln22
-rw-r--r--etc/delete-route.fln22
-rw-r--r--etc/describe-route-tables.fln41
-rw-r--r--etc/disassociate-route-table.fln20
-rw-r--r--etc/replace-route.fln22
-rw-r--r--etc/route.fln33
10 files changed, 238 insertions, 0 deletions
diff --git a/etc/Makefile.am b/etc/Makefile.am
index dfb87cc..07e1d5b 100644
--- a/etc/Makefile.am
+++ b/etc/Makefile.am
@@ -21,10 +21,13 @@ FLNFILES=\
attach-internet-gateway.fln\
attach-volume.fln\
associate-address.fln\
+ associate-route-table.fln\
copy-image.fln\
copy-snapshot.fln\
create-image.fln\
create-internet-gateway.fln\
+ create-route.fln\
+ create-route-table.fln\
create-security-group.fln\
create-snapshot.fln\
create-subnet.fln\
@@ -32,6 +35,8 @@ FLNFILES=\
create-volume.fln\
create-vpc.fln\
delete-internet-gateway.fln\
+ delete-route.fln\
+ delete-route-table.fln\
delete-security-group.fln\
delete-subnet.fln\
delete-snapshot.fln\
@@ -48,6 +53,7 @@ FLNFILES=\
describe-instance-status.fln\
describe-instances.fln\
describe-regions.fln\
+ describe-route-tables.fln\
describe-security-groups.fln\
describe-snapshot-attribute.fln\
describe-snapshots.fln\
@@ -59,6 +65,7 @@ FLNFILES=\
detach-internet-gateway.fln\
detach-volume.fln\
disassociate-address.fln\
+ disassociate-route-table.fln\
get-console-output.fln\
lsattr.fln\
modify-image-attribute.fln\
@@ -68,6 +75,8 @@ FLNFILES=\
modify-vpc-attribute.fln\
reboot-instances.fln\
release-address.fln\
+ replace-route.fln\
+ route.fln\
reset-snapshot-attribute.fln\
run-instances.fln\
sg.fln\
diff --git a/etc/associate-route-table.fln b/etc/associate-route-table.fln
new file mode 100644
index 0000000..2bb2557
--- /dev/null
+++ b/etc/associate-route-table.fln
@@ -0,0 +1,19 @@
+/* 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 <http://www.gnu.org/licenses/>. */
+
+if (.AssociateRouteTableResponse.associationId) {
+ print(last, "\n");
+}
diff --git a/etc/create-route-table.fln b/etc/create-route-table.fln
new file mode 100644
index 0000000..a669c0d
--- /dev/null
+++ b/etc/create-route-table.fln
@@ -0,0 +1,28 @@
+/* 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 <http://www.gnu.org/licenses/>. */
+
+if (.CreateRouteTableResponse.routeTable) {
+ let tab = .CreateRouteTableResponse.routeTable;
+ if (empty(tab.routeSet)) {
+ print(tab.routeTableId, "\t", tab.vpcId, "\n");
+ } else {
+ for (rs in tab.routeSet.item) {
+ print(tab.routeTableId, "\t", tab.vpcId, "\t",
+ rs.destinationCidrBlock, "\t", rs.gatewayId, "\t",
+ rs.state, "\n");
+ }
+ }
+}
diff --git a/etc/create-route.fln b/etc/create-route.fln
new file mode 100644
index 0000000..70e8bed
--- /dev/null
+++ b/etc/create-route.fln
@@ -0,0 +1,22 @@
+/* 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 <http://www.gnu.org/licenses/>. */
+
+if (.CreateRouteResponse.return) {
+ if (!.CreateRouteResponse.return[true]) {
+ error("Return: ",.CreateRouteResponse.return,"\n");
+ exit(1);
+ }
+}
diff --git a/etc/delete-route-table.fln b/etc/delete-route-table.fln
new file mode 100644
index 0000000..4b20b7d
--- /dev/null
+++ b/etc/delete-route-table.fln
@@ -0,0 +1,22 @@
+/* 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 <http://www.gnu.org/licenses/>. */
+
+if (.DeleteRouteTableResponse.return) {
+ if (!.DeleteRouteTableResponse.return[true]) {
+ error("Return: ",.DeleteRouteTableResponse.return,"\n");
+ exit(1);
+ }
+}
diff --git a/etc/delete-route.fln b/etc/delete-route.fln
new file mode 100644
index 0000000..666b425
--- /dev/null
+++ b/etc/delete-route.fln
@@ -0,0 +1,22 @@
+/* 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 <http://www.gnu.org/licenses/>. */
+
+if (.DeleteRouteResponse.return) {
+ if (!.DeleteRouteResponse.return[true]) {
+ error("Return: ",.DeleteRouteResponse.return,"\n");
+ exit(1);
+ }
+}
diff --git a/etc/describe-route-tables.fln b/etc/describe-route-tables.fln
new file mode 100644
index 0000000..5004416
--- /dev/null
+++ b/etc/describe-route-tables.fln
@@ -0,0 +1,41 @@
+/* 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 <http://www.gnu.org/licenses/>. */
+
+if (.DescribeRouteTablesResponse.routeTableSet) {
+ let rts = .DescribeRouteTablesResponse.routeTableSet;
+ for (routetab in rts.item) {
+ for (route in routetab.routeSet.item) {
+ print(routetab.routeTableId, "\t", routetab.vpcId, "\t",
+ "R", "\t",
+ route.destinationCidrBlock, "\t",
+ route.gatewayId, "\t",
+ route.state, "\t",
+ route.origin, "\n");
+ }
+ }
+ for (routetab in rts.item) {
+ for (assoc in routetab.associationSet.item) {
+ if (assoc.subnetId) {
+ print(routetab.routeTableId, "\t", routetab.vpcId, "\t",
+ "A", "\t",
+ assoc.routeTableAssociationId, "\t",
+ assoc.routeTableId, "\t",
+ assoc.subnetId, "\t",
+ assoc.main, "\n");
+ }
+ }
+ }
+}
diff --git a/etc/disassociate-route-table.fln b/etc/disassociate-route-table.fln
new file mode 100644
index 0000000..bab6087
--- /dev/null
+++ b/etc/disassociate-route-table.fln
@@ -0,0 +1,20 @@
+/* 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 <http://www.gnu.org/licenses/>. */
+
+if (.DisassociateRouteTableResponse.return) {
+ if (!.DisassociateRouteTableResponse.return[true])
+ error("Return: ",.DisassociateRouteTableResponse.return,"\n");
+}
diff --git a/etc/replace-route.fln b/etc/replace-route.fln
new file mode 100644
index 0000000..95aea1e
--- /dev/null
+++ b/etc/replace-route.fln
@@ -0,0 +1,22 @@
+/* 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 <http://www.gnu.org/licenses/>. */
+
+if (.ReplaceRouteResponse.return) {
+ if (!.ReplaceRouteResponse.return[true]) {
+ error("Return: ",.ReplaceRouteResponse.return,"\n");
+ exit(1);
+ }
+}
diff --git a/etc/route.fln b/etc/route.fln
new file mode 100644
index 0000000..e5f0983
--- /dev/null
+++ b/etc/route.fln
@@ -0,0 +1,33 @@
+/* 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 <http://www.gnu.org/licenses/>. */
+
+if (.CreateRouteResponse.return) {
+ if (!.CreateRouteResponse.return[true]) {
+ error("Return: ",.CreateRouteResponse.return,"\n");
+ exit(1);
+ }
+} else if (.DeleteRouteResponse.return) {
+ if (!.DeleteRouteResponse.return[true]) {
+ error("Return: ",.DeleteRouteResponse.return,"\n");
+ exit(1);
+ }
+} else if (.ReplaceRouteResponse.return) {
+ if (!.ReplaceRouteResponse.return[true]) {
+ error("Return: ",.ReplaceRouteResponse.return,"\n");
+ exit(1);
+ }
+}
+

Return to:

Send suggestions and report system problems to the System administrator.