aboutsummaryrefslogtreecommitdiff
path: root/src/eclat.conf
blob: ec371e326addd200544f099f432d2a30a38163ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
/* 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;



Return to:

Send suggestions and report system problems to the System administrator.