aboutsummaryrefslogtreecommitdiff
path: root/src/startinst.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/startinst.c')
-rw-r--r--src/startinst.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/startinst.c b/src/startinst.c
index f2d3ea8..d2b9cad 100644
--- a/src/startinst.c
+++ b/src/startinst.c
@@ -16,21 +16,20 @@
#include "eclat.h"
-int
-eclat_start_instance(CURL *curl, int argc, char **argv)
+static int
+start_stop_instance(CURL *curl, const char *action, int argc, char **argv)
{
int i;
struct ec2_query *q;
char buf[128], *bend, *url;
size_t bs;
CURLcode res;
+
+ if (argc == 0)
+ die(EX_USAGE, "no instance ids");
- q = eclat_query_create(use_ssl ? EC2_QF_HTTPS : 0,
- default_host, "/");
- if (region_name)
- eclat_query_add_param(q, "Placement.AvailabilityZone",
- region_name);
- eclat_query_add_param(q, "Action", "StartInstances");
+ q = eclat_query_create(use_ssl ? EC2_QF_HTTPS : 0, endpoint, "/");
+ eclat_query_add_param(q, "Action", action);
strcpy(buf, "InstanceId.");
bend = buf + strlen(buf);
@@ -61,7 +60,14 @@ eclat_start_instance(CURL *curl, int argc, char **argv)
}
int
+eclat_start_instance(CURL *curl, int argc, char **argv)
+{
+ start_stop_instance(curl, "StartInstances", argc, argv);
+}
+
+int
eclat_stop_instance(CURL *curl, int argc, char **argv)
{
+ start_stop_instance(curl, "StopInstances", argc, argv);
}

Return to:

Send suggestions and report system problems to the System administrator.