diff options
-rw-r--r-- | TODO | 2 | ||||
-rw-r--r-- | doc/Makefile.inc | 1 | ||||
-rw-r--r-- | doc/eclat-mkinst.1 | 5 | ||||
-rw-r--r-- | doc/eclat-reboot.1 | 4 | ||||
-rw-r--r-- | doc/eclat-terminate.1 | 58 | ||||
-rw-r--r-- | etc/Makefile.am | 3 | ||||
-rw-r--r-- | etc/terminate-instances.fln | 23 | ||||
-rw-r--r-- | src/eclat.c | 4 | ||||
-rw-r--r-- | src/eclat.h | 1 | ||||
-rw-r--r-- | src/startstop.c | 14 | ||||
-rw-r--r-- | tests/Makefile.am | 1 | ||||
-rw-r--r-- | tests/terminate-instances.at | 39 | ||||
-rw-r--r-- | tests/testsuite.at | 1 |
13 files changed, 149 insertions, 7 deletions
@@ -151,7 +151,7 @@ RevokeSecurityGroupIngress sg [X] [X] | |||
151 | RunInstances mkinst [X] [X] | 151 | RunInstances mkinst [X] [X] |
152 | StartInstances start [X] [X] | 152 | StartInstances start [X] [X] |
153 | StopInstances stop [X] [X] | 153 | StopInstances stop [X] [X] |
154 | TerminateInstances killinst [ ] [ ] | 154 | TerminateInstances terminate [X] [X] |
155 | UnassignPrivateIpAddresses - [ ] [ ] | 155 | UnassignPrivateIpAddresses - [ ] [ ] |
156 | UnmonitorInstances - [ ] [ ] | 156 | UnmonitorInstances - [ ] [ ] |
157 | 157 | ||
diff --git a/doc/Makefile.inc b/doc/Makefile.inc index 143f579..43b62b3 100644 --- a/doc/Makefile.inc +++ b/doc/Makefile.inc | |||
@@ -61,6 +61,7 @@ MANPAGES1=\ | |||
61 | eclat-sg.1\ | 61 | eclat-sg.1\ |
62 | eclat-start.1\ | 62 | eclat-start.1\ |
63 | eclat-stop.1\ | 63 | eclat-stop.1\ |
64 | eclat-terminate.1\ | ||
64 | ispeek.1 | 65 | ispeek.1 |
65 | 66 | ||
66 | MANPAGES5=\ | 67 | MANPAGES5=\ |
diff --git a/doc/eclat-mkinst.1 b/doc/eclat-mkinst.1 index f934484..4db3c7e 100644 --- a/doc/eclat-mkinst.1 +++ b/doc/eclat-mkinst.1 | |||
@@ -13,7 +13,7 @@ | |||
13 | .\" | 13 | .\" |
14 | .\" You should have received a copy of the GNU General Public License | 14 | .\" You should have received a copy of the GNU General Public License |
15 | .\" along with Eclat. If not, see <http://www.gnu.org/licenses/>. | 15 | .\" along with Eclat. If not, see <http://www.gnu.org/licenses/>. |
16 | .TH ECLAT-MKINST 1 "January 26, 2015" "ECLAT" "Eclat User Reference" | 16 | .TH ECLAT-MKINST 1 "November 17, 2018" "ECLAT" "Eclat User Reference" |
17 | .SH NAME | 17 | .SH NAME |
18 | eclat-mkinst, eclat-run-instances \- launch new EC2 instances | 18 | eclat-mkinst, eclat-run-instances \- launch new EC2 instances |
19 | .SH SYNOPSIS | 19 | .SH SYNOPSIS |
@@ -166,6 +166,7 @@ instance in the same format as the | |||
166 | command | 166 | command |
167 | .SH "SEE ALSO" | 167 | .SH "SEE ALSO" |
168 | .BR eclat (1), | 168 | .BR eclat (1), |
169 | .BR eclat\-terminate (1), | ||
169 | .BR eclat\-lsiattr (1), | 170 | .BR eclat\-lsiattr (1), |
170 | .BR eclat\-lsinst (1), | 171 | .BR eclat\-lsinst (1), |
171 | .BR eclat\-lsistat (1), | 172 | .BR eclat\-lsistat (1), |
@@ -178,7 +179,7 @@ Sergey Poznyakoff | |||
178 | .SH "BUG REPORTS" | 179 | .SH "BUG REPORTS" |
179 | Report bugs to <bug\-eclat@gnu.org.ua>. | 180 | Report bugs to <bug\-eclat@gnu.org.ua>. |
180 | .SH COPYRIGHT | 181 | .SH COPYRIGHT |
181 | Copyright \(co 2012-2015 Sergey Poznyakoff | 182 | Copyright \(co 2012-2018 Sergey Poznyakoff |
182 | .br | 183 | .br |
183 | .na | 184 | .na |
184 | License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> | 185 | License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> |
diff --git a/doc/eclat-reboot.1 b/doc/eclat-reboot.1 index 1addd87..d234808 100644 --- a/doc/eclat-reboot.1 +++ b/doc/eclat-reboot.1 | |||
@@ -13,7 +13,7 @@ | |||
13 | .\" | 13 | .\" |
14 | .\" You should have received a copy of the GNU General Public License | 14 | .\" You should have received a copy of the GNU General Public License |
15 | .\" along with Eclat. If not, see <http://www.gnu.org/licenses/>. | 15 | .\" along with Eclat. If not, see <http://www.gnu.org/licenses/>. |
16 | .TH ECLAT-REBOOT 1 "January 26, 2015" "ECLAT" "Eclat User Reference" | 16 | .TH ECLAT-REBOOT 1 "November 17, 2018" "ECLAT" "Eclat User Reference" |
17 | .SH NAME | 17 | .SH NAME |
18 | eclat-reboot, eclat-reboot-instances \- reboot EC2 instances | 18 | eclat-reboot, eclat-reboot-instances \- reboot EC2 instances |
19 | .SH SYNOPSIS | 19 | .SH SYNOPSIS |
@@ -29,7 +29,7 @@ The command | |||
29 | .B reboot | 29 | .B reboot |
30 | reboots running Amazon EBS-backed instances. | 30 | reboots running Amazon EBS-backed instances. |
31 | .SH OUTPUT | 31 | .SH OUTPUT |
32 | The default output format lists o each line the instance ID, its | 32 | The default output format lists on each line the instance ID, its |
33 | previous and current states, separated by single horizontal tab | 33 | previous and current states, separated by single horizontal tab |
34 | characters. | 34 | characters. |
35 | .SH "SEE ALSO" | 35 | .SH "SEE ALSO" |
diff --git a/doc/eclat-terminate.1 b/doc/eclat-terminate.1 new file mode 100644 index 0000000..a70a1ee --- /dev/null +++ b/doc/eclat-terminate.1 | |||
@@ -0,0 +1,58 @@ | |||
1 | .\" This file is part of Eclat -*- nroff -*- | ||
2 | .\" Copyright (C) 2012-2018 Sergey Poznyakoff | ||
3 | .\" | ||
4 | .\" Eclat is free software; you can redistribute it and/or modify | ||
5 | .\" it under the terms of the GNU General Public License as published by | ||
6 | .\" the Free Software Foundation; either version 3, or (at your option) | ||
7 | .\" any later version. | ||
8 | .\" | ||
9 | .\" Eclat is distributed in the hope that it will be useful, | ||
10 | .\" but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | .\" GNU General Public License for more details. | ||
13 | .\" | ||
14 | .\" You should have received a copy of the GNU General Public License | ||
15 | .\" along with Eclat. If not, see <http://www.gnu.org/licenses/>. | ||
16 | .TH ECLAT-TERMINATE 1 "November 17, 2018" "ECLAT" "Eclat User Reference" | ||
17 | .SH NAME | ||
18 | eclat-terminate, eclat-terminate-instances \- terminate EC2 instances | ||
19 | .SH SYNOPSIS | ||
20 | .nh | ||
21 | .na | ||
22 | \fBeclat terminate\fR \fIID\fR [\fIID\fR...] | ||
23 | .PP | ||
24 | \fBeclat terminate\fR \fB\-\-help\fR | ||
25 | .ad | ||
26 | .hy | ||
27 | .SH DESCRIPTION | ||
28 | Terminates the listed Amazon EBS-backed instances. | ||
29 | .SH OUTPUT | ||
30 | The default output format lists on each line the instance ID, its | ||
31 | previous and current states, separated by single horizontal tab | ||
32 | characters. | ||
33 | .SH "SEE ALSO" | ||
34 | .BR eclat (1), | ||
35 | .BR eclat\-mkinst (1), | ||
36 | .BR eclat\-start (1), | ||
37 | .BR eclat\-stop (1). | ||
38 | .SH AUTHORS | ||
39 | Sergey Poznyakoff | ||
40 | .SH "BUG REPORTS" | ||
41 | Report bugs to <bug\-eclat@gnu.org.ua>. | ||
42 | .SH COPYRIGHT | ||
43 | Copyright \(co 2012-2018 Sergey Poznyakoff | ||
44 | .br | ||
45 | .na | ||
46 | License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> | ||
47 | .br | ||
48 | .ad | ||
49 | This is free software: you are free to change and redistribute it. | ||
50 | There is NO WARRANTY, to the extent permitted by law. | ||
51 | .\" Local variables: | ||
52 | .\" eval: (add-hook 'write-file-hooks 'time-stamp) | ||
53 | .\" time-stamp-start: ".TH [A-Z_][A-Z0-9_.\\-]* [0-9] \"" | ||
54 | .\" time-stamp-format: "%:B %:d, %:y" | ||
55 | .\" time-stamp-end: "\"" | ||
56 | .\" time-stamp-line-limit: 20 | ||
57 | .\" end: | ||
58 | |||
diff --git a/etc/Makefile.am b/etc/Makefile.am index 21b958b..2376583 100644 --- a/etc/Makefile.am +++ b/etc/Makefile.am | |||
@@ -81,7 +81,8 @@ FLNFILES=\ | |||
81 | run-instances.fln\ | 81 | run-instances.fln\ |
82 | sg.fln\ | 82 | sg.fln\ |
83 | start-instances.fln\ | 83 | start-instances.fln\ |
84 | stop-instances.fln | 84 | stop-instances.fln\ |
85 | terminate-instances.fln | ||
85 | 86 | ||
86 | EXTRA_DIST=$(FLNFILES) default.fln eclat.cfin | 87 | EXTRA_DIST=$(FLNFILES) default.fln eclat.cfin |
87 | 88 | ||
diff --git a/etc/terminate-instances.fln b/etc/terminate-instances.fln new file mode 100644 index 0000000..12995c3 --- /dev/null +++ b/etc/terminate-instances.fln | |||
@@ -0,0 +1,23 @@ | |||
1 | /* This file is part of Eclat. | ||
2 | Copyright (C) 2012-2018 Sergey Poznyakoff. | ||
3 | |||
4 | Eclat is free software; you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation; either version 3, or (at your option) | ||
7 | any later version. | ||
8 | |||
9 | Eclat is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with Eclat. If not, see <http://www.gnu.org/licenses/>. */ | ||
16 | |||
17 | if (.TerminateInstancesResponse) { | ||
18 | for (var in .TerminateInstancesResponse.instancesSet.item) { | ||
19 | print(var.instanceId,": ", | ||
20 | var.previousState.name," => ", | ||
21 | var.currentState.name,"\n"); | ||
22 | } | ||
23 | } | ||
diff --git a/src/eclat.c b/src/eclat.c index 12b4dd1..26a8f9f 100644 --- a/src/eclat.c +++ b/src/eclat.c | |||
@@ -90,6 +90,9 @@ struct eclat_command cmdtab[] = { | |||
90 | CMD_MOD }, | 90 | CMD_MOD }, |
91 | { "reboot", "reboot-instances", "RebootInstances", eclat_reboot_instance, | 91 | { "reboot", "reboot-instances", "RebootInstances", eclat_reboot_instance, |
92 | CMD_MOD }, | 92 | CMD_MOD }, |
93 | { "terminate", "terminate-instances", "TerminateInstances", | ||
94 | eclat_terminate_instances, CMD_MOD|CMD_DESTR }, | ||
95 | |||
93 | { "lsaddr", "describe-addresses", "DescribeAddresses", | 96 | { "lsaddr", "describe-addresses", "DescribeAddresses", |
94 | eclat_describe_addresses }, | 97 | eclat_describe_addresses }, |
95 | { "lstag", "describe-tags", "DescribeTags", eclat_describe_tags }, | 98 | { "lstag", "describe-tags", "DescribeTags", eclat_describe_tags }, |
@@ -205,6 +208,7 @@ struct eclat_command cmdtab[] = { | |||
205 | { "disasrtab", "disassociate-route-table", "DisassociateRouteTable", | 208 | { "disasrtab", "disassociate-route-table", "DisassociateRouteTable", |
206 | eclat_disassociate_route_table, CMD_MOD }, | 209 | eclat_disassociate_route_table, CMD_MOD }, |
207 | { "route", NULL, NULL, eclat_route }, | 210 | { "route", NULL, NULL, eclat_route }, |
211 | |||
208 | }; | 212 | }; |
209 | size_t cmdcnt = sizeof(cmdtab) / sizeof(cmdtab[0]); | 213 | size_t cmdcnt = sizeof(cmdtab) / sizeof(cmdtab[0]); |
210 | 214 | ||
diff --git a/src/eclat.h b/src/eclat.h index 21e89e1..1948234 100644 --- a/src/eclat.h +++ b/src/eclat.h | |||
@@ -126,6 +126,7 @@ int eclat_trace_fun(CURL *handle, curl_infotype type, | |||
126 | int eclat_start_instance(eclat_command_env_t *env, int argc, char **argv); | 126 | int eclat_start_instance(eclat_command_env_t *env, int argc, char **argv); |
127 | int eclat_stop_instance(eclat_command_env_t *env, int argc, char **argv); | 127 | int eclat_stop_instance(eclat_command_env_t *env, int argc, char **argv); |
128 | int eclat_reboot_instance(eclat_command_env_t *env, int argc, char **argv); | 128 | int eclat_reboot_instance(eclat_command_env_t *env, int argc, char **argv); |
129 | int eclat_terminate_instances(eclat_command_env_t *env, int argc, char **argv); | ||
129 | int eclat_describe_tags(eclat_command_env_t *env, int argc, char **argv); | 130 | int eclat_describe_tags(eclat_command_env_t *env, int argc, char **argv); |
130 | int eclat_describe_instance_status(eclat_command_env_t *env, int argc, char **argv); | 131 | int eclat_describe_instance_status(eclat_command_env_t *env, int argc, char **argv); |
131 | int eclat_describe_instances(eclat_command_env_t *env, int argc, char **argv); | 132 | int eclat_describe_instan |