aboutsummaryrefslogtreecommitdiff
path: root/src/eclat.conf
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2012-09-27 15:01:01 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2012-09-27 15:04:42 +0300
commitff8594b8cc916ba665961bd1e4e956810057f0ea (patch)
tree140e903f09d53ee87ab6e0f564d70ddf21402c69 /src/eclat.conf
parent0c8a7ab953a86426a13aa0eccaf2b2c46f8271c0 (diff)
downloadeclat-ff8594b8cc916ba665961bd1e4e956810057f0ea.tar.gz
eclat-ff8594b8cc916ba665961bd1e4e956810057f0ea.tar.bz2
Implement describe-instances and some bugfixes.
* configure.ac: Change bug-reporting email. * grecs: Upgrade. * lib/forlan.c (eval_comp0): Set root. * lib/xmltree.c (eclat_partial_tree_end_handler): Set type to grecs_node_block for empty blocks. * src/Makefile.am: Add new files. * src/eclat.c: Rewrite and simplify command name matcher. Implement describe-instances. * src/eclat.conf (DescribeInstances): New format. * src/eclat.h (eclat_describe_instances): New proto.
Diffstat (limited to 'src/eclat.conf')
-rw-r--r--src/eclat.conf68
1 files changed, 66 insertions, 2 deletions
diff --git a/src/eclat.conf b/src/eclat.conf
index 88cd959..ec371e3 100644
--- a/src/eclat.conf
+++ b/src/eclat.conf
@@ -50,8 +50,11 @@ if (.DescribeInstanceStatusResponse.instanceStatusSet) {
var.instanceState.name);
if (var.instanceState.name[running]) {
print("\t",var.systemStatus.status);
- for (detail in var.systemStatus.details.item.*) {
- print("\t",detail.name,"=",detail.status);
+ for (detail in var.systemStatus.details.item) {
+ print("\tSys.",detail.name,"=",detail.status);
+ }
+ for (detail in var.instanceStatus.details.item) {
+ print("\tInst.",detail.name,"=",detail.status);
}
}
print("\n");
@@ -97,5 +100,66 @@ else {
}
EOT;
+format "DescribeInstances" <<\EOT
+if (.DescribeInstancesResponse.reservationSet) {
+ for (var in .DescribeInstancesResponse.reservationSet.item) {
+ print("Reservation ID: ", var.reservationId, "\n");
+ print("Owner ID: ", var.ownerId, "\n");
+ if (var.groupSet) {
+ print("Groups:\n");
+ for (grp in var.groupSet.item)
+ print("\t", grp.groupId,"\t", grp.groupName, "\n");
+ }
+ if (var.instancesSet) {
+ // print("Instances:\n");
+ for (inst in var.instancesSet.item) {
+ print("\nInstance: ", inst.instanceId, "\n");
+ print("\tImage ID: ", inst.imageId, "\n");
+ print("\tState: ", inst.instanceState.name, "\n");
+ print("\tKernel ID: ", inst.kernelId, "\n");
+ print("\tArchitecture: ", inst.architecture, "\n");
+ print("\tPrivate DNS: ", inst.privateDnsName, "\n");
+ print("\tPublic DNS: ", inst.dnsName, "\n");
+ print("\tKey: ", inst.keyName, "\n");
+ print("\tType: ", inst.instanceType, "\n");
+ print("\tLaunch Time: ", inst.launchTime, "\n");
+ print("\tAvailability Zone: ", inst.placement.availabilityZone, "\n");
+ print("\tGroup Name: ", inst.placement.groupName, "\n");
+ print("\tTenancy: ", inst.placement.tenancy, "\n");
+ print("\tPrivate IP: ", inst.privateIpAddress, "\n");
+ print("\tPublic IP: ", inst.ipAddress, "\n");
+ if (inst.groupSet.item) {
+ print("\tGroups:\n");
+ for (grp in inst.groupSet.item)
+ print("\t\t", inst.groupSet.item.groupId, " -- ", inst.groupSet.item.groupName, "\n");
+ }
+ print("\tRoot Device Type: ", inst.rootDeviceType, "\n");
+ print("\tRoot Device Name: ", inst.rootDeviceName, "\n");
+ print("\tDevice mapping:\n");
+ for (dev in inst.blockDeviceMapping.item) {
+ print("\t\t", dev.deviceName, " ", dev.ebs.volumeId, " ",
+ dev.ebs.status, " ", dev.ebs.attachTime, " ",
+ dev.ebs.deleteOnTermination, "\n");
+ }
+ print("\tVirtualization: ", inst.virtualizationType, "\n");
+ print("\tTag Set:\n");
+ for (tag in inst.tagSet.item) {
+ print("\t\t", tag.key, "=", tag.value, "\n");
+ }
+ print("\tHypervisor: ", inst.hypervisor, "\n");
+ // FIXME: networkInterfaceSet
+ print("\tEBS Optimized: ", inst.ebsOptimized, "\n");
+ print("End of instance\n\n");
+ }
+ }
+ }
+} else if (.Response.Errors)
+ error("Error: ",.Response.Errors.Error.Message,"\n");
+else {
+ error("Unrecognized response:\n");
+ dump(.);
+}
+EOT;
+

Return to:

Send suggestions and report system problems to the System administrator.