nephophobia 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. data/lib/nephophobia.rb +1 -0
  2. data/lib/nephophobia/client.rb +8 -0
  3. data/lib/nephophobia/compute.rb +11 -15
  4. data/lib/nephophobia/credential.rb +80 -0
  5. data/lib/nephophobia/image.rb +6 -7
  6. data/lib/nephophobia/project.rb +3 -3
  7. data/lib/nephophobia/user.rb +0 -17
  8. data/lib/nephophobia/version.rb +1 -1
  9. data/test/cassettes/compute_all.yml +58 -4
  10. data/test/cassettes/compute_all_with_filter.yml +57 -3
  11. data/test/cassettes/compute_create.yml +31 -4
  12. data/test/cassettes/compute_create_with_optional_params.yml +31 -4
  13. data/test/cassettes/compute_destroy.yml +59 -3
  14. data/test/cassettes/compute_find.yml +81 -0
  15. data/test/cassettes/compute_reboot.yml +57 -3
  16. data/test/cassettes/credential_all.yml +98 -0
  17. data/test/cassettes/credential_all_without_keys.yml +28 -0
  18. data/test/cassettes/credential_create.yml +71 -0
  19. data/test/cassettes/credential_destroy.yml +71 -0
  20. data/test/cassettes/image_all.yml +4 -4
  21. data/test/cassettes/image_all_with_filter.yml +27 -0
  22. data/test/cassettes/image_find.yml +31 -4
  23. data/test/cassettes/project_add_member.yml +84 -3
  24. data/test/cassettes/project_all.yml +4 -114
  25. data/test/cassettes/project_all_with_user_name.yml +190 -0
  26. data/test/cassettes/project_create.yml +85 -4
  27. data/test/cassettes/project_destroy.yml +84 -3
  28. data/test/cassettes/project_find.yml +4 -4
  29. data/test/cassettes/project_find_with_invalid_project_name.yml +3 -3
  30. data/test/cassettes/project_member.yml +136 -0
  31. data/test/cassettes/project_members.yml +58 -4
  32. data/test/cassettes/project_members_with_invalid_project_name.yml +3 -3
  33. data/test/cassettes/project_remove_member.yml +84 -3
  34. data/test/cassettes/role_all.yml +112 -4
  35. data/test/cassettes/role_all_with_project_name.yml +111 -3
  36. data/test/cassettes/role_all_without_roles.yml +109 -0
  37. data/test/cassettes/role_create.yml +84 -3
  38. data/test/cassettes/role_create_with_project_name.yml +84 -3
  39. data/test/cassettes/role_create_with_project_name_and_role_name.yml +84 -3
  40. data/test/cassettes/role_destroy.yml +84 -3
  41. data/test/cassettes/role_destroy_with_project_name.yml +60 -6
  42. data/test/cassettes/role_destroy_with_project_name_and_role_name.yml +60 -6
  43. data/test/cassettes/user_create.yml +31 -4
  44. data/test/cassettes/user_destroy.yml +30 -3
  45. data/test/cassettes/user_find.yml +58 -4
  46. data/test/cassettes/user_find_with_invalid_user_name.yml +3 -3
  47. data/test/cassettes/user_register.yml +67 -13
  48. data/test/cassettes/{user_register_assert.yml → user_register_asserts.yml} +10 -10
  49. data/test/lib/hashify_test.rb +3 -3
  50. data/test/lib/nephophobia/compute_test.rb +85 -69
  51. data/test/lib/nephophobia/credential_test.rb +91 -0
  52. data/test/lib/nephophobia/image_test.rb +29 -29
  53. data/test/lib/nephophobia/project_test.rb +115 -51
  54. data/test/lib/nephophobia/role_test.rb +151 -42
  55. data/test/lib/nephophobia/user_test.rb +48 -28
  56. data/test/test_helper.rb +9 -8
  57. metadata +21 -22
  58. data/test/cassettes/compute_all_with_string_into_int_error.yml +0 -28
  59. data/test/cassettes/image_all_with_string_into_int_error.yml +0 -28
  60. data/test/cassettes/project_all_with_string_into_int_error.yml +0 -55
  61. data/test/cassettes/project_all_with_with_user_name.yml +0 -136
  62. data/test/cassettes/project_members_with_no_members.yml +0 -28
  63. data/test/cassettes/project_members_with_string_into_int_error.yml +0 -28
  64. data/test/cassettes/role_all_with_no_roles.yml +0 -28
  65. data/test/cassettes/role_all_with_string_into_int_error.yml +0 -28
  66. data/test/cassettes/user_credentials.yml +0 -30
data/lib/nephophobia.rb CHANGED
@@ -3,6 +3,7 @@ require "hashify"
3
3
  require "date"
4
4
  require "nephophobia/client"
5
5
  require "nephophobia/compute"
6
+ require "nephophobia/credential"
6
7
  require "nephophobia/image"
7
8
  require "nephophobia/project"
8
9
  require "nephophobia/role"
@@ -63,6 +63,14 @@ module Nephophobia
63
63
  @compute ||= Nephophobia::Compute.new self
64
64
  end
65
65
 
66
+ ##
67
+ # Provide a simple interface to the EC2 Credential resources.
68
+
69
+ def credential
70
+ @path = "/services/Cloud"
71
+ @compute ||= Nephophobia::Credential.new self
72
+ end
73
+
66
74
  ##
67
75
  # Provide a simple interface to the EC2 Image resources.
68
76
 
@@ -60,11 +60,7 @@ module Nephophobia
60
60
  # }
61
61
 
62
62
  def create image_id, params = {}
63
- filter = {
64
- "ImageId" => image_id
65
- }.merge params
66
-
67
- response = @client.action "RunInstances", filter
63
+ response = @client.action "RunInstances", { "ImageId" => image_id }.merge(params)
68
64
 
69
65
  ComputeData.new response.body['RunInstancesResponse']
70
66
  end
@@ -76,11 +72,11 @@ module Nephophobia
76
72
  # +instance_id+: A String representing the ID of the instance.
77
73
 
78
74
  def destroy instance_id
79
- filter = {
75
+ params = {
80
76
  "InstanceId.1" => instance_id
81
77
  }
82
78
 
83
- response = @client.action "TerminateInstances", filter
79
+ response = @client.action "TerminateInstances", params
84
80
 
85
81
  ResponseData.new response.body['TerminateInstancesResponse']
86
82
  end
@@ -91,11 +87,11 @@ module Nephophobia
91
87
  # +instance_id+: A String representing the ID of the instance.
92
88
 
93
89
  def find instance_id
94
- filter = {
90
+ params = {
95
91
  "InstanceId.1" => instance_id
96
92
  }
97
93
 
98
- response = @client.action "DescribeInstances", filter
94
+ response = @client.action "DescribeInstances", params
99
95
 
100
96
  ComputeData.new response.body['DescribeInstancesResponse']['reservationSet']['item']
101
97
  end
@@ -107,11 +103,11 @@ module Nephophobia
107
103
  # +instance_id+: A String representing the ID of the instance.
108
104
 
109
105
  def reboot instance_id
110
- filter = {
106
+ params = {
111
107
  "InstanceId.1" => instance_id
112
108
  }
113
109
 
114
- response = @client.action "RebootInstances", filter
110
+ response = @client.action "RebootInstances", params
115
111
 
116
112
  ResponseData.new response.body['RebootInstancesResponse']
117
113
  end
@@ -123,11 +119,11 @@ module Nephophobia
123
119
  # +instance_id+: A String representing the ID of the instance.
124
120
 
125
121
  def start instance_id
126
- filter = {
122
+ params = {
127
123
  "InstanceId.1" => instance_id
128
124
  }
129
125
 
130
- response = @client.action "StopInstances", filter
126
+ response = @client.action "StopInstances", params
131
127
 
132
128
  ResponseData.new response.body
133
129
  end
@@ -139,11 +135,11 @@ module Nephophobia
139
135
  # +instance_id+: A String representing the ID of the instance.
140
136
 
141
137
  def stop instance_id
142
- filter = {
138
+ params = {
143
139
  "InstanceId.1" => instance_id
144
140
  }
145
141
 
146
- response = @client.action "StartInstances", filter
142
+ response = @client.action "StartInstances", params
147
143
 
148
144
  ResponseData.new response.body
149
145
  end
@@ -0,0 +1,80 @@
1
+ module Nephophobia
2
+ class CredentialData
3
+ attr_reader :fingerprint, :material, :name
4
+
5
+ def initialize hash
6
+ @material = hash['keyMaterial']
7
+ @name = hash['keyName']
8
+ @fingerprint = hash['keyFingerprint']
9
+ end
10
+ end
11
+
12
+ class Credential
13
+ def initialize client
14
+ @client = client
15
+ end
16
+
17
+ ##
18
+ # Returns information about key pairs that +@client+ owns.
19
+
20
+ def all
21
+ response = @client.action "DescribeKeyPairs", {}
22
+
23
+ key_set = response.body['DescribeKeyPairsResponse']['keySet']
24
+ key_set && Nephophobia.coerce(key_set['item']).collect do |data|
25
+ CredentialData.new data
26
+ end
27
+ end
28
+
29
+ ##
30
+ # Create a key pair with the given 'key_name'.
31
+ # Returns information about the new key.
32
+ #
33
+ # +key_name+: A String containing a unique name for the key pair.
34
+
35
+ def create key_name
36
+ params = {
37
+ "KeyName" => key_name
38
+ }
39
+
40
+ response = @client.action "CreateKeyPair", params
41
+
42
+ CredentialData.new response.body['CreateKeyPairResponse']
43
+ end
44
+
45
+ ##
46
+ # Deletes the key pair for the given 'key_name'.
47
+ # Returns a response to the state change.
48
+ #
49
+ # +key_name+: A String containing a unique name for the key pair.
50
+
51
+ def destroy key_name
52
+ params = {
53
+ "KeyName" => key_name
54
+ }
55
+
56
+ response = @client.action "DeleteKeyPair", params
57
+
58
+ ResponseData.new response.body['DeleteKeyPairResponse']
59
+ end
60
+
61
+ ##
62
+ # Returns the credentials for a given 'user_name' for the specified 'project_name'.
63
+ #
64
+ # +user_name+: A String containing a nova user_name.
65
+ # +project_name+: A String containing a nova project_name name.
66
+ #
67
+ # TODO: Determine why it fails in Nova when a user is in more than one project.
68
+
69
+ #def download user_name, project_name
70
+ # params = {
71
+ # "Name" => user_name,
72
+ # "Project" => project_name
73
+ # }
74
+
75
+ # response = @client.action "GenerateX509ForUser", params
76
+
77
+ # Base64.decode64 response.body['GenerateX509ForUserResponse']['file']
78
+ #end
79
+ end
80
+ end
@@ -38,8 +38,7 @@ module Nephophobia
38
38
  def all filter = {}
39
39
  response = @client.action "DescribeImages", filter
40
40
 
41
- item = response.body['DescribeImagesResponse']['imagesSet']['item']
42
- Nephophobia.coerce(item).collect do |data|
41
+ item = response.body['DescribeImagesResponse']['imagesSet']['item'].collect do |data|
43
42
  ImageData.new data
44
43
  end
45
44
  end
@@ -50,11 +49,11 @@ module Nephophobia
50
49
  # +image_id+: A String representing the ID of the image.
51
50
 
52
51
  def find image_id
53
- filter = {
52
+ params = {
54
53
  "ImageId.1" => image_id
55
54
  }
56
55
 
57
- response = @client.action "DescribeImages", filter
56
+ response = @client.action "DescribeImages", params
58
57
 
59
58
  ImageData.new response.body['DescribeImagesResponse']['imagesSet']['item']
60
59
  end
@@ -62,9 +61,9 @@ module Nephophobia
62
61
  ##
63
62
  # Return information about all public images.
64
63
 
65
- def public
64
+ def runnable
66
65
  all.select do |image|
67
- public? image
66
+ runnable? image
68
67
  end
69
68
  end
70
69
 
@@ -72,7 +71,7 @@ module Nephophobia
72
71
  ##
73
72
  # Images which do not have a valid kernel_id are not runnable.
74
73
 
75
- def public? image
74
+ def runnable? image
76
75
  image.is_public == "true" &&
77
76
  image.kernel_id != "true" &&
78
77
  image.image_type == "machine"
@@ -24,7 +24,7 @@ module Nephophobia
24
24
  end
25
25
 
26
26
  ##
27
- # Adds the given 'user_name' to the specified "project_name".
27
+ # Adds the given 'user_name' to the specified 'project_name'.
28
28
  # Returns a response to the state change.
29
29
  #
30
30
  # +user_name+: A String representing a nova user_name.
@@ -60,12 +60,12 @@ module Nephophobia
60
60
  # +user_name+: A String representing a nova user_name.
61
61
 
62
62
  def create project_name, user_name
63
- filter = {
63
+ params = {
64
64
  "Name" => project_name,
65
65
  "ManagerUser" => user_name
66
66
  }
67
67
 
68
- response = @client.action "RegisterProject", filter
68
+ response = @client.action "RegisterProject", params
69
69
 
70
70
  ProjectData.new response.body['RegisterProjectResponse']
71
71
  end
@@ -26,23 +26,6 @@ module Nephophobia
26
26
  UserData.new response.body['RegisterUserResponse']
27
27
  end
28
28
 
29
- ##
30
- # Returns the credentials for a given 'user_name' for the specified 'project_name'.
31
- #
32
- # +user_name+: A String representing a nova user_name.
33
- # +project_name+: A String representing a nova project_name name.
34
-
35
- def credentials user_name, project_name
36
- params = {
37
- "name" => user_name,
38
- "project" => project_name
39
- }
40
-
41
- response = @client.action "GenerateX509ForUser", params
42
-
43
- Base64.decode64 response.body['GenerateX509ForUserResponse']['file']
44
- end
45
-
46
29
  ##
47
30
  # Removes the given 'user_name'.
48
31
  # Returns a response to the state change.
@@ -1,3 +1,3 @@
1
1
  module Nephophobia
2
- VERSION = "0.0.9"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -2,7 +2,7 @@
2
2
  - !ruby/struct:VCR::HTTPInteraction
3
3
  request: !ruby/struct:VCR::Request
4
4
  method: :get
5
- uri: http://10.1.170.32:8773/services/Cloud?AWSAccessKeyId=9dd4add8-ca15-42fd-8874-9a3d294ba459%3Avcr_project&Action=DescribeInstances&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=1999-12-31T19%3A59%3A59Z&Version=2010-11-15&Signature=nID%2FklL49GvkGCWyNYv6YoqAv8QNrZqKjUph8lwzLJc%3D
5
+ uri: http://10.3.170.32:8773/services/Cloud?AWSAccessKeyId=beeb1bd0-c920-4352-b078-5f297a0899a0%3Asandbox&Action=RunInstances&ImageId=ami-00000002&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=1999-12-31T19%3A59%3A59Z&Version=2010-11-15&Signature=dvPNbClu44bc4nKLl6ikjJ98zeok9OZmuXEZVhi4XJE%3D
6
6
  body:
7
7
  headers:
8
8
  accept:
@@ -19,10 +19,64 @@
19
19
  content-type:
20
20
  - text/xml
21
21
  content-length:
22
- - "1496"
22
+ - "779"
23
23
  date:
24
- - Tue, 15 Mar 2011 07:07:42 GMT
24
+ - Wed, 20 Apr 2011 00:19:55 GMT
25
25
  connection:
26
26
  - keep-alive
27
- body: <?xml version="1.0" ?><DescribeInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2010-11-15/"><requestId>Z5X9BMPM9DDECG6UQ5X3</requestId><reservationSet><item><ownerId>vcr_project</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-x90t5kkp</reservationId><instancesSet><item><displayDescription/><displayName>Server 1189</displayName><keyName/><instanceId>i-000004a5</instanceId><instanceState><code>0</code><name>networking</name></instanceState><publicDnsName/><imageId>ami-usc3oydl</imageId><productCodesSet/><privateDnsName/><dnsName/><launchTime>2011-03-15 07:05:27</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>vcr_project</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-jdnji9e6</reservationId><instancesSet><item><displayDescription>test description</displayDescription><displayName>testserver1</displayName><keyName/><instanceId>i-000004a6</instanceId><instanceState><code>0</code><name>networking</name></instanceState><publicDnsName/><imageId>ami-usc3oydl</imageId><productCodesSet/><privateDnsName/><dnsName/><launchTime>2011-03-15 07:07:03</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item></reservationSet></DescribeInstancesResponse>
27
+ body: <?xml version="1.0" ?><RunInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2010-11-15/"><requestId>WCLKMKYDEULQEATQO-Z6</requestId><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-bg51qqzt</reservationId><instancesSet><item><displayDescription/><displayName>Server 235</displayName><keyName/><instanceId>i-000000eb</instanceId><instanceState><code>0</code><name>scheduling</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName/><dnsName/><launchTime>2011-04-20T00:19:55Z</launchTime><placement><availabilityZone>unknown zone</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></RunInstancesResponse>
28
+ http_version: "1.1"
29
+ - !ruby/struct:VCR::HTTPInteraction
30
+ request: !ruby/struct:VCR::Request
31
+ method: :get
32
+ uri: http://10.3.170.32:8773/services/Cloud?AWSAccessKeyId=beeb1bd0-c920-4352-b078-5f297a0899a0%3Asandbox&Action=DescribeInstances&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=1999-12-31T19%3A59%3A59Z&Version=2010-11-15&Signature=M1I0C4ryEsA%2F3QsM6i1iYTt9lS591gjby2kXGt0lC50%3D
33
+ body:
34
+ headers:
35
+ accept:
36
+ - application/xml
37
+ connection:
38
+ - keep-alive
39
+ keep-alive:
40
+ - 30
41
+ response: !ruby/struct:VCR::Response
42
+ status: !ruby/struct:VCR::ResponseStatus
43
+ code: 200
44
+ message: OK
45
+ headers:
46
+ content-type:
47
+ - text/xml
48
+ content-length:
49
+ - "38973"
50
+ date:
51
+ - Wed, 20 Apr 2011 00:19:56 GMT
52
+ connection:
53
+ - keep-alive
54
+ body: <?xml version="1.0" ?><DescribeInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2010-11-15/"><requestId>JIE84UJPLA-P8T7QG5CG</requestId><reservationSet><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-08jhi11t</reservationId><instancesSet><item><displayDescription/><displayName>Server 42</displayName><keyName>default</keyName><instanceId>i-0000002a</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.23</privateDnsName><dnsName>10.3.172.23</dnsName><launchTime>2011-04-12T17:08:23Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 43</displayName><keyName>default</keyName><instanceId>i-0000002b</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.24</privateDnsName><dnsName>10.3.172.24</dnsName><launchTime>2011-04-12T17:08:23Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>1</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 44</displayName><keyName>default</keyName><instanceId>i-0000002c</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.25</privateDnsName><dnsName>10.3.172.25</dnsName><launchTime>2011-04-12T17:08:23Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>2</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 45</displayName><keyName>default</keyName><instanceId>i-0000002d</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.26</privateDnsName><dnsName>10.3.172.26</dnsName><launchTime>2011-04-12T17:08:23Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>3</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 46</displayName><keyName>default</keyName><instanceId>i-0000002e</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.27</privateDnsName><dnsName>10.3.172.27</dnsName><launchTime>2011-04-12T17:08:24Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>4</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-lenyqs62</reservationId><instancesSet><item><displayDescription/><displayName>Server 201</displayName><keyName/><instanceId>i-000000c9</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000001</imageId><productCodesSet/><privateDnsName>10.3.172.42</privateDnsName><dnsName>10.3.172.42</dnsName><launchTime>2011-04-15T20:33:40Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-8spekg06</reservationId><instancesSet><item><displayDescription/><displayName>Server 74</displayName><keyName/><instanceId>i-0000004a</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000001</imageId><productCodesSet/><privateDnsName>10.3.172.41</privateDnsName><dnsName>10.3.172.41</dnsName><launchTime>2011-04-13T04:32:35Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-tfnyia6u</reservationId><instancesSet><item><displayDescription>Pete plays with vcap.</displayDescription><displayName>test-vcap</displayName><keyName/><instanceId>i-00000056</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000001</imageId><productCodesSet/><privateDnsName>10.3.172.45</privateDnsName><dnsName>10.3.172.45</dnsName><launchTime>2011-04-14T00:56:12Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-twian2mh</reservationId><instancesSet><item><displayDescription/><displayName>Server 30</displayName><keyName>default</keyName><instanceId>i-0000001e</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName>10.3.170.129</publicDnsName><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.9</privateDnsName><dnsName>10.3.170.129</dnsName><launchTime>2011-04-11T21:34:26Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-h4sogrbb</reservationId><instancesSet><item><displayDescription/><displayName>Server 70</displayName><keyName/><instanceId>i-00000046</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000001</imageId><productCodesSet/><privateDnsName>10.3.172.36</privateDnsName><dnsName>10.3.172.36</dnsName><launchTime>2011-04-13T04:21:56Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-bx3z7zkr</reservationId><instancesSet><item><displayDescription/><displayName>Server 29</displayName><keyName>default</keyName><instanceId>i-0000001d</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.14</privateDnsName><dnsName>10.3.172.14</dnsName><launchTime>2011-04-11T21:24:42Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>web</groupId></item><item><groupId>default</groupId></item></groupSet><reservationId>r-mmaks38m</reservationId><instancesSet><item><displayDescription/><displayName>Server 227</displayName><keyName>pete</keyName><instanceId>i-000000e3</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.32</privateDnsName><dnsName>10.3.172.32</dnsName><launchTime>2011-04-19T00:15:30Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.large</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-0nf10yoh</reservationId><instancesSet><item><displayDescription/><displayName>Server 23</displayName><keyName/><instanceId>i-00000017</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.8</privateDnsName><dnsName>10.3.172.8</dnsName><launchTime>2011-04-11T20:59:31Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>web</groupId></item><item><groupId>default</groupId></item><item><groupId>rservices</groupId></item></groupSet><reservationId>r-elui2zs0</reservationId><instancesSet><item><displayDescription/><displayName>Server 79</displayName><keyName>default</keyName><instanceId>i-0000004f</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.40</privateDnsName><dnsName>10.3.172.40</dnsName><launchTime>2011-04-13T16:38:41Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item><item><groupId>rservices</groupId></item></groupSet><reservationId>r-91k92bdw</reservationId><instancesSet><item><displayDescription/><displayName>Server 85</displayName><keyName>default</keyName><instanceId>i-00000055</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.44</privateDnsName><dnsName>10.3.172.44</dnsName><launchTime>2011-04-14T00:49:06Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-zlyh5gjr</reservationId><instancesSet><item><displayDescription/><displayName>Server 223</displayName><keyName>kbringard</keyName><instanceId>i-000000df</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.47</privateDnsName><dnsName>10.3.172.47</dnsName><launchTime>2011-04-18T20:24:26Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-cla6flm1</reservationId><instancesSet><item><displayDescription/><displayName>Server 229</displayName><keyName/><instanceId>i-000000e5</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.49</privateDnsName><dnsName>10.3.172.49</dnsName><launchTime>2011-04-19T23:41:17Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-3799gln0</reservationId><instancesSet><item><displayDescription/><displayName>Server 61</displayName><keyName/><instanceId>i-0000003d</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.31</privateDnsName><dnsName>10.3.172.31</dnsName><launchTime>2011-04-12T21:18:43Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-1tjl5pvb</reservationId><instancesSet><item><displayDescription/><displayName>Server 67</displayName><keyName/><instanceId>i-00000043</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000001</imageId><productCodesSet/><privateDnsName>10.3.172.37</privateDnsName><dnsName>10.3.172.37</dnsName><launchTime>2011-04-13T04:11:37Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-bg51qqzt</reservationId><instancesSet><item><displayDescription/><displayName>Server 235</displayName><keyName/><instanceId>i-000000eb</instanceId><instanceState><code>0</code><name>scheduling</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName/><dnsName/><launchTime>2011-04-20T00:19:55Z</launchTime><placement><availabilityZone>unknown zone</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-dutc9h79</reservationId><instancesSet><item><displayDescription/><displayName>Server 69</displayName><keyName/><instanceId>i-00000045</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000001</imageId><productCodesSet/><privateDnsName>10.3.172.38</privateDnsName><dnsName>10.3.172.38</dnsName><launchTime>2011-04-13T04:18:26Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-0uz5v10g</reservationId><instancesSet><item><displayDescription/><displayName>Server 35</displayName><keyName>default</keyName><instanceId>i-00000023</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.16</privateDnsName><dnsName>10.3.172.16</dnsName><launchTime>2011-04-12T17:02:41Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>3</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item><item><groupId>rservices</groupId></item></groupSet><reservationId>r-hk68xncv</reservationId><instancesSet><item><displayDescription/><displayName>Server 82</displayName><keyName>default</keyName><instanceId>i-00000052</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.43</privateDnsName><dnsName>10.3.172.43</dnsName><launchTime>2011-04-13T19:49:44Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-ofuu6gpg</reservationId><instancesSet><item><displayDescription/><displayName>Server 228</displayName><keyName/><instanceId>i-000000e4</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.46</privateDnsName><dnsName>10.3.172.46</dnsName><launchTime>2011-04-19T23:40:48Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>web</groupId></item><item><groupId>default</groupId></item><item><groupId>rservices</groupId></item></groupSet><reservationId>r-hqhbfvwd</reservationId><instancesSet><item><displayDescription/><displayName>Server 78</displayName><keyName>default</keyName><instanceId>i-0000004e</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.39</privateDnsName><dnsName>10.3.172.39</dnsName><launchTime>2011-04-13T16:28:21Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-20hulbje</reservationId><instancesSet><item><displayDescription/><displayName>Server 40</displayName><keyName>default</keyName><instanceId>i-00000028</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.21</privateDnsName><dnsName>10.3.172.21</dnsName><launchTime>2011-04-12T17:06:00Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>3</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-i19cwzwo</reservationId><instancesSet><item><displayDescription/><displayName>Server 212</displayName><keyName>default</keyName><instanceId>i-000000d4</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000010</imageId><productCodesSet/><privateDnsName>10.3.172.67</privateDnsName><dnsName>10.3.172.67</dnsName><launchTime>2011-04-18T16:32:33Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 213</displayName><keyName>default</keyName><instanceId>i-000000d5</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000010</imageId><productCodesSet/><privateDnsName>10.3.172.68</privateDnsName><dnsName>10.3.172.68</dnsName><launchTime>2011-04-18T16:32:33Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>1</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 214</displayName><keyName>default</keyName><instanceId>i-000000d6</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000010</imageId><productCodesSet/><privateDnsName>10.3.172.69</privateDnsName><dnsName>10.3.172.69</dnsName><launchTime>2011-04-18T16:32:34Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>2</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 215</displayName><keyName>default</keyName><instanceId>i-000000d7</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000010</imageId><productCodesSet/><privateDnsName>10.3.172.70</privateDnsName><dnsName>10.3.172.70</dnsName><launchTime>2011-04-18T16:32:34Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>3</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 216</displayName><keyName>default</keyName><instanceId>i-000000d8</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000010</imageId><productCodesSet/><privateDnsName>10.3.172.71</privateDnsName><dnsName>10.3.172.71</dnsName><launchTime>2011-04-18T16:32:34Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>4</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 217</displayName><keyName>default</keyName><instanceId>i-000000d9</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000010</imageId><productCodesSet/><privateDnsName>10.3.172.72</privateDnsName><dnsName>10.3.172.72</dnsName><launchTime>2011-04-18T16:32:34Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>5</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-z05ws9dt</reservationId><instancesSet><item><displayDescription/><displayName>Server 63</displayName><keyName/><instanceId>i-0000003f</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000006</imageId><productCodesSet/><privateDnsName>10.3.172.33</privateDnsName><dnsName>10.3.172.33</dnsName><launchTime>2011-04-12T21:39:31Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-n5arkiww</reservationId><instancesSet><item><displayDescription/><displayName>Server 64</displayName><keyName/><instanceId>i-00000040</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000001</imageId><productCodesSet/><privateDnsName>10.3.172.34</privateDnsName><dnsName>10.3.172.34</dnsName><launchTime>2011-04-13T04:02:33Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-xtu1rum0</reservationId><instancesSet><item><displayDescription/><displayName>Server 60</displayName><keyName/><instanceId>i-0000003c</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000001</imageId><productCodesSet/><privateDnsName>10.3.172.11</privateDnsName><dnsName>10.3.172.11</dnsName><launchTime>2011-04-12T21:09:28Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-7swlj35k</reservationId><instancesSet><item><displayDescription/><displayName>Server 149</displayName><keyName/><instanceId>i-00000095</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.48</privateDnsName><dnsName>10.3.172.48</dnsName><launchTime>2011-04-15T14:09:43Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 150</displayName><keyName/><instanceId>i-00000096</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.52</privateDnsName><dnsName>10.3.172.52</dnsName><launchTime>2011-04-15T14:09:43Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>1</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 151</displayName><keyName/><instanceId>i-00000097</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.53</privateDnsName><dnsName>10.3.172.53</dnsName><launchTime>2011-04-15T14:09:43Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>2</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 152</displayName><keyName/><instanceId>i-00000098</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.54</privateDnsName><dnsName>10.3.172.54</dnsName><launchTime>2011-04-15T14:09:44Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>3</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 153</displayName><keyName/><instanceId>i-00000099</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.56</privateDnsName><dnsName>10.3.172.56</dnsName><launchTime>2011-04-15T14:09:44Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>4</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 154</displayName><keyName/><instanceId>i-0000009a</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.57</privateDnsName><dnsName>10.3.172.57</dnsName><launchTime>2011-04-15T14:09:44Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>5</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-717vhfbn</reservationId><instancesSet><item><displayDescription/><displayName>Server 230</displayName><keyName/><instanceId>i-000000e6</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.50</privateDnsName><dnsName>10.3.172.50</dnsName><launchTime>2011-04-19T23:42:31Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-7zv75i6p</reservationId><instancesSet><item><displayDescription/><displayName>Server 48</displayName><keyName>default</keyName><instanceId>i-00000030</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.12</privateDnsName><dnsName>10.3.172.12</dnsName><launchTime>2011-04-12T19:42:00Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 49</displayName><keyName>default</keyName><instanceId>i-00000031</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.15</privateDnsName><dnsName>10.3.172.15</dnsName><launchTime>2011-04-12T19:42:00Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>1</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 50</displayName><keyName>default</keyName><instanceId>i-00000032</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.18</privateDnsName><dnsName>10.3.172.18</dnsName><launchTime>2011-04-12T19:42:01Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>2</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 51</displayName><keyName>default</keyName><instanceId>i-00000033</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.17</privateDnsName><dnsName>10.3.172.17</dnsName><launchTime>2011-04-12T19:42:01Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>3</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 53</displayName><keyName>default</keyName><instanceId>i-00000035</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.28</privateDnsName><dnsName>10.3.172.28</dnsName><launchTime>2011-04-12T19:42:01Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>5</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 54</displayName><keyName>default</keyName><instanceId>i-00000036</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.29</privateDnsName><dnsName>10.3.172.29</dnsName><launchTime>2011-04-12T19:42:02Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>6</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 55</displayName><keyName>default</keyName><instanceId>i-00000037</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.19</privateDnsName><dnsName>10.3.172.19</dnsName><launchTime>2011-04-12T19:42:02Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>7</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 56</displayName><keyName>default</keyName><instanceId>i-00000038</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.30</privateDnsName><dnsName>10.3.172.30</dnsName><launchTime>2011-04-12T19:42:02Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>8</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 57</displayName><keyName>default</keyName><instanceId>i-00000039</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.20</privateDnsName><dnsName>10.3.172.20</dnsName><launchTime>2011-04-12T19:42:02Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>9</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-cj4czujm</reservationId><instancesSet><item><displayDescription/><displayName>Server 179</displayName><keyName/><instanceId>i-000000b3</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.60</privateDnsName><dnsName>10.3.172.60</dnsName><launchTime>2011-04-15T15:16:41Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 180</displayName><keyName/><instanceId>i-000000b4</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.62</privateDnsName><dnsName>10.3.172.62</dnsName><launchTime>2011-04-15T15:16:41Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>1</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 181</displayName><keyName/><instanceId>i-000000b5</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.59</privateDnsName><dnsName>10.3.172.59</dnsName><launchTime>2011-04-15T15:16:42Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>2</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 182</displayName><keyName/><instanceId>i-000000b6</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.61</privateDnsName><dnsName>10.3.172.61</dnsName><launchTime>2011-04-15T15:16:42Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>3</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 183</displayName><keyName/><instanceId>i-000000b7</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.66</privateDnsName><dnsName>10.3.172.66</dnsName><launchTime>2011-04-15T15:16:42Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>4</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 184</displayName><keyName/><instanceId>i-000000b8</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.63</privateDnsName><dnsName>10.3.172.63</dnsName><launchTime>2011-04-15T15:16:42Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>5</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>rservices</groupId></item></groupSet><reservationId>r-m0atgvj1</reservationId><instancesSet><item><displayDescription/><displayName>Server 81</displayName><keyName>default</keyName><instanceId>i-00000051</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.13</privateDnsName><dnsName>10.3.172.13</dnsName><launchTime>2011-04-13T19:47:47Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-3jh9uf9s</reservationId><instancesSet><item><displayDescription/><displayName>Server 76</displayName><keyName>default</keyName><instanceId>i-0000004c</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName>10.3.172.22</privateDnsName><dnsName>10.3.172.22</dnsName><launchTime>2011-04-13T16:07:54Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-y34hwsdx</reservationId><instancesSet><item><displayDescription/><displayName>Server 109</displayName><keyName>default</keyName><instanceId>i-0000006d</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-0000000b</imageId><productCodesSet/><privateDnsName>10.3.172.55</privateDnsName><dnsName>10.3.172.55</dnsName><launchTime>2011-04-14T21:39:09Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>2</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 111</displayName><keyName>default</keyName><instanceId>i-0000006f</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-0000000b</imageId><productCodesSet/><privateDnsName>10.3.172.64</privateDnsName><dnsName>10.3.172.64</dnsName><launchTime>2011-04-14T21:39:09Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>4</amiLaunchIndex><instanceType>m1.small</instanceType></item><item><displayDescription/><displayName>Server 112</displayName><keyName>default</keyName><instanceId>i-00000070</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-0000000b</imageId><productCodesSet/><privateDnsName>10.3.172.65</privateDnsName><dnsName>10.3.172.65</dnsName><launchTime>2011-04-14T21:39:10Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>5</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-640dxgzr</reservationId><instancesSet><item><displayDescription/><displayName>Server 77</displayName><keyName>default</keyName><instanceId>i-0000004d</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.35</privateDnsName><dnsName>10.3.172.35</dnsName><launchTime>2011-04-13T16:13:17Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item><item><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-d1n2zyuo</reservationId><instancesSet><item><displayDescription/><displayName>Server 83</displayName><keyName>default</keyName><instanceId>i-00000053</instanceId><instanceState><code>1</code><name>running</name></instanceState><publicDnsName/><imageId>ami-00000009</imageId><productCodesSet/><privateDnsName>10.3.172.10</privateDnsName><dnsName>10.3.172.10</dnsName><launchTime>2011-04-13T21:39:18Z</launchTime><placement><availabilityZone>nova</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></item></reservationSet></DescribeInstancesResponse>
55
+ http_version: "1.1"
56
+ - !ruby/struct:VCR::HTTPInteraction
57
+ request: !ruby/struct:VCR::Request
58
+ method: :get
59
+ uri: http://10.3.170.32:8773/services/Cloud?AWSAccessKeyId=beeb1bd0-c920-4352-b078-5f297a0899a0%3Asandbox&Action=TerminateInstances&InstanceId.1=i-000000eb&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=1999-12-31T19%3A59%3A59Z&Version=2010-11-15&Signature=uyky9AdbqeTA%2BQ6rYi7OEC0CWLHhYwfTgfXwjww5ufw%3D
60
+ body:
61
+ headers:
62
+ accept:
63
+ - application/xml
64
+ connection:
65
+ - keep-alive
66
+ keep-alive:
67
+ - 30
68
+ response: !ruby/struct:VCR::Response
69
+ status: !ruby/struct:VCR::ResponseStatus
70
+ code: 200
71
+ message: OK
72
+ headers:
73
+ content-type:
74
+ - text/xml
75
+ content-length:
76
+ - "192"
77
+ date:
78
+ - Wed, 20 Apr 2011 00:19:57 GMT
79
+ connection:
80
+ - keep-alive
81
+ body: <?xml version="1.0" ?><TerminateInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2010-11-15/"><requestId>RWTALHNRYXLFC-N7K-7X</requestId><return>true</return></TerminateInstancesResponse>
28
82
  http_version: "1.1"
@@ -2,7 +2,34 @@
2
2
  - !ruby/struct:VCR::HTTPInteraction
3
3
  request: !ruby/struct:VCR::Request
4
4
  method: :get
5
- uri: http://10.1.170.32:8773/services/Cloud?AWSAccessKeyId=9dd4add8-ca15-42fd-8874-9a3d294ba459%3Avcr_project&Action=DescribeInstances&Filter.1.Name=instance-type&Filter.1.Value.1=m1.small&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=1999-12-31T19%3A59%3A59Z&Version=2010-11-15&Signature=y6HWMUnV8uqUtrKHiflQWCROJo%2FojgY3qIhTIHBUElQ%3D
5
+ uri: http://10.3.170.32:8773/services/Cloud?AWSAccessKeyId=beeb1bd0-c920-4352-b078-5f297a0899a0%3Asandbox&Action=RunInstances&ImageId=ami-00000002&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=1999-12-31T19%3A59%3A59Z&Version=2010-11-15&Signature=dvPNbClu44bc4nKLl6ikjJ98zeok9OZmuXEZVhi4XJE%3D
6
+ body:
7
+ headers:
8
+ accept:
9
+ - application/xml
10
+ connection:
11
+ - keep-alive
12
+ keep-alive:
13
+ - 30
14
+ response: !ruby/struct:VCR::Response
15
+ status: !ruby/struct:VCR::ResponseStatus
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ content-type:
20
+ - text/xml
21
+ content-length:
22
+ - "779"
23
+ date:
24
+ - Wed, 20 Apr 2011 00:08:22 GMT
25
+ connection:
26
+ - keep-alive
27
+ body: <?xml version="1.0" ?><RunInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2010-11-15/"><requestId>NVYQLLK4MMKNDLJYCQSQ</requestId><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-xs2lezaq</reservationId><instancesSet><item><displayDescription/><displayName>Server 232</displayName><keyName/><instanceId>i-000000e8</instanceId><instanceState><code>0</code><name>scheduling</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName/><dnsName/><launchTime>2011-04-20T00:08:22Z</launchTime><placement><availabilityZone>unknown zone</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></RunInstancesResponse>
28
+ http_version: "1.1"
29
+ - !ruby/struct:VCR::HTTPInteraction
30
+ request: !ruby/struct:VCR::Request
31
+ method: :get
32
+ uri: http://10.3.170.32:8773/services/Cloud?AWSAccessKeyId=beeb1bd0-c920-4352-b078-5f297a0899a0%3Asandbox&Action=DescribeInstances&Filter.1.Name=instance-type&Filter.1.Value.1=m1.small&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=1999-12-31T19%3A59%3A59Z&Version=2010-11-15&Signature=H7nSd%2FmQdDMLVZgwK%2BcfHT35FAatQ6ysO1wceQYtEiw%3D
6
33
  body:
7
34
  headers:
8
35
  accept:
@@ -21,10 +48,37 @@
21
48
  content-length:
22
49
  - "223"
23
50
  date:
24
- - Tue, 15 Mar 2011 07:08:12 GMT
51
+ - Wed, 20 Apr 2011 00:08:22 GMT
25
52
  connection:
26
53
  - keep-alive
27
54
  body: |-
28
55
  <?xml version="1.0"?>
29
- <Response><Errors><Error><Code>UnknownError</Code><Message>An unknown error has occurred. Please try your request again.</Message></Error></Errors><RequestID>HBD56VDFYVODQ8BNFFX4</RequestID></Response>
56
+ <Response><Errors><Error><Code>UnknownError</Code><Message>An unknown error has occurred. Please try your request again.</Message></Error></Errors><RequestID>VMHQ4EK16Y3XMXE9PYHB</RequestID></Response>
57
+ http_version: "1.1"
58
+ - !ruby/struct:VCR::HTTPInteraction
59
+ request: !ruby/struct:VCR::Request
60
+ method: :get
61
+ uri: http://10.3.170.32:8773/services/Cloud?AWSAccessKeyId=beeb1bd0-c920-4352-b078-5f297a0899a0%3Asandbox&Action=TerminateInstances&InstanceId.1=i-000000e8&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=1999-12-31T19%3A59%3A59Z&Version=2010-11-15&Signature=wr9Iw9fe%2F7%2Fve1utl9F%2FpTch6jNme3ma%2BLfcYDNLaW4%3D
62
+ body:
63
+ headers:
64
+ accept:
65
+ - application/xml
66
+ connection:
67
+ - keep-alive
68
+ keep-alive:
69
+ - 30
70
+ response: !ruby/struct:VCR::Response
71
+ status: !ruby/struct:VCR::ResponseStatus
72
+ code: 200
73
+ message: OK
74
+ headers:
75
+ content-type:
76
+ - text/xml
77
+ content-length:
78
+ - "192"
79
+ date:
80
+ - Wed, 20 Apr 2011 00:08:23 GMT
81
+ connection:
82
+ - keep-alive
83
+ body: <?xml version="1.0" ?><TerminateInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2010-11-15/"><requestId>XI-062EJV4CSXAWUSBS6</requestId><return>true</return></TerminateInstancesResponse>
30
84
  http_version: "1.1"
@@ -2,7 +2,7 @@
2
2
  - !ruby/struct:VCR::HTTPInteraction
3
3
  request: !ruby/struct:VCR::Request
4
4
  method: :get
5
- uri: http://10.1.170.32:8773/services/Cloud?AWSAccessKeyId=9dd4add8-ca15-42fd-8874-9a3d294ba459%3Avcr_project&Action=RunInstances&ImageId=ami-usc3oydl&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=1999-12-31T19%3A59%3A59Z&Version=2010-11-15&Signature=4VK3USWpbkefKe%2FlaZET%2BqouqDKTXlit%2BzBolkJyI9o%3D
5
+ uri: http://10.3.170.32:8773/services/Cloud?AWSAccessKeyId=beeb1bd0-c920-4352-b078-5f297a0899a0%3Asandbox&Action=RunInstances&ImageId=ami-00000002&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=1999-12-31T19%3A59%3A59Z&Version=2010-11-15&Signature=dvPNbClu44bc4nKLl6ikjJ98zeok9OZmuXEZVhi4XJE%3D
6
6
  body:
7
7
  headers:
8
8
  accept:
@@ -19,10 +19,37 @@
19
19
  content-type:
20
20
  - text/xml
21
21
  content-length:
22
- - "776"
22
+ - "779"
23
23
  date:
24
- - Tue, 15 Mar 2011 07:05:27 GMT
24
+ - Wed, 20 Apr 2011 00:15:01 GMT
25
25
  connection:
26
26
  - keep-alive
27
- body: <?xml version="1.0" ?><RunInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2010-11-15/"><requestId>Z5BQ34TEO12SU5KVZVGY</requestId><ownerId>vcr_project</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-x90t5kkp</reservationId><instancesSet><item><displayDescription/><displayName>Server 1189</displayName><keyName/><instanceId>i-000004a5</instanceId><instanceState><code/><name>scheduling</name></instanceState><publicDnsName/><imageId>ami-usc3oydl</imageId><productCodesSet/><privateDnsName/><dnsName/><launchTime>2011-03-15 07:05:27</launchTime><placement><availabilityZone>unknown zone</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></RunInstancesResponse>
27
+ body: <?xml version="1.0" ?><RunInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2010-11-15/"><requestId>18A4KOTRY6UIAOZZMJ3V</requestId><ownerId>sandbox</ownerId><groupSet><item><groupId>default</groupId></item></groupSet><reservationId>r-95it37tr</reservationId><instancesSet><item><displayDescription/><displayName>Server 233</displayName><keyName/><instanceId>i-000000e9</instanceId><instanceState><code>0</code><name>scheduling</name></instanceState><publicDnsName/><imageId>ami-00000002</imageId><productCodesSet/><privateDnsName/><dnsName/><launchTime>2011-04-20T00:15:01Z</launchTime><placement><availabilityZone>unknown zone</availabilityZone></placement><amiLaunchIndex>0</amiLaunchIndex><instanceType>m1.small</instanceType></item></instancesSet></RunInstancesResponse>
28
+ http_version: "1.1"
29
+ - !ruby/struct:VCR::HTTPInteraction
30
+ request: !ruby/struct:VCR::Request
31
+ method: :get
32
+ uri: http://10.3.170.32:8773/services/Cloud?AWSAccessKeyId=beeb1bd0-c920-4352-b078-5f297a0899a0%3Asandbox&Action=TerminateInstances&InstanceId.1=i-000000e9&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=1999-12-31T19%3A59%3A59Z&Version=2010-11-15&Signature=q%2BEuQ2QY2vS3RoTgigP5A%2Bzqs%2BaZClcosQfHFWOrXZg%3D
33
+ body:
34
+ headers:
35
+ accept:
36
+ - application/xml
37
+ connection:
38
+ - keep-alive
39
+ keep-alive:
40
+ - 30
41
+ response: !ruby/struct:VCR::Response
42
+ status: !ruby/struct:VCR::ResponseStatus
43
+ code: 200
44
+ message: OK
45
+ headers:
46
+ content-type:
47
+ - text/xml
48
+ content-length:
49
+ - "192"
50
+ date:
51
+ - Wed, 20 Apr 2011 00:15:01 GMT
52
+ connection:
53
+ - keep-alive
54
+ body: <?xml version="1.0" ?><TerminateInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2010-11-15/"><requestId>7SLGLPDSJJ4G75OQ5ION</requestId><return>true</return></TerminateInstancesResponse>
28
55
  http_version: "1.1"