/* Default configuration file for Eclat. * * See eclat.conf(5) or run "info eclat configuration" for a detailed * description. */ # Use this endpoint by default. default-endpoint "ec2.amazonaws.com"; # Declare what endpoints to use for each availability region. # The syntax is: # region REGNAME ENDPOINT; # US East (Northern Virginia) Region region us-east-1 ec2.us-east-1.amazonaws.com; # US West (Oregon) Region region us-west-2 ec2.us-west-2.amazonaws.com; # US West (Northern California) Region region us-west-1 ec2.us-west-1.amazonaws.com; # EU (Ireland) Region region eu-west-1 ec2.eu-west-1.amazonaws.com; # Asia Pacific (Singapore) Region region ap-southeast-1 ec2.ap-southeast-1.amazonaws.com; # Asia Pacific (Tokyo) Region region ap-northeast-1 ec2.ap-northeast-1.amazonaws.com; # South America (Sao Paulo) Region region sa-east-1 ec2.sa-east-1.amazonaws.com; format "DescribeTags" <<\EOT if (.DescribeTagsResponse) { for (var in .DescribeTagsResponse.tagSet.item) { print(var.resourceId,"\t", var.resourceType,"\t", var.key,"\t", var.value,"\n"); } } else if (.Response.Errors) error("Error: ",.Response.Errors.Error.Message,"\n"); else { error("Unrecognized response:\n"); dump(.); } EOT; format "DescribeInstanceStatus" <<\EOT if (.DescribeInstanceStatusResponse.instanceStatusSet) { for (var in .DescribeInstanceStatusResponse.instanceStatusSet.item) { print(var.instanceId,"\t", var.availabilityZone,"\t", var.instanceState.name); if (var.instanceState.name[running]) { print("\t",var.systemStatus.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"); for (event in var.eventsSet.item) { error(var.instanceId,"\t","Event: ", event.description,"\n"); } } } else if (.Response.Errors) error("Error: ",.Response.Errors.Error.Message,"\n"); else { error("Unrecognized response:\n"); dump(.); } EOT; format "StartInstances" <<\EOT if (.StartInstancesResponse) { for (var in .StartInstancesResponse.instancesSet.item) { print(var.instanceId,": ", var.previousState.name," => ", var.currentState.name,"\n"); } } else if (.Response.Errors) error("Error: ",.Response.Errors.Error.Message,"\n"); else { error("Unrecognized response:\n"); dump(.); } EOT; format "StopInstances" <<\EOT if (.StopInstancesResponse) { for (var in .StopInstancesResponse.instancesSet.item) { print(var.instanceId,": ", var.previousState.name," => ", var.currentState.name,"\n"); } } else if (.Response.Errors) error("Error: ",.Response.Errors.Error.Message,"\n"); else { error("Unrecognized response:\n"); dump(.); } 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;