capistrano-elb-autoscaling 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +26 -0
  3. data/.rspec +1 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +20 -0
  6. data/README.md +97 -0
  7. data/Rakefile +5 -0
  8. data/elbas.gemspec +31 -0
  9. data/lib/elbas/aws/ami.rb +71 -0
  10. data/lib/elbas/aws/autoscale_group.rb +52 -0
  11. data/lib/elbas/aws/base.rb +39 -0
  12. data/lib/elbas/aws/instance.rb +29 -0
  13. data/lib/elbas/aws/instance_collection.rb +35 -0
  14. data/lib/elbas/aws/launch_template.rb +39 -0
  15. data/lib/elbas/aws/snapshot.rb +21 -0
  16. data/lib/elbas/aws/taggable.rb +18 -0
  17. data/lib/elbas/capistrano.rb +34 -0
  18. data/lib/elbas/errors/no_launch_template.rb +6 -0
  19. data/lib/elbas/logger.rb +38 -0
  20. data/lib/elbas/retryable.rb +41 -0
  21. data/lib/elbas/tasks/elbas.rake +38 -0
  22. data/lib/elbas/version.rb +3 -0
  23. data/lib/elbas.rb +21 -0
  24. data/spec/aws/ami_spec.rb +140 -0
  25. data/spec/aws/autoscale_group_spec.rb +67 -0
  26. data/spec/aws/instance_collection_spec.rb +38 -0
  27. data/spec/aws/instance_spec.rb +30 -0
  28. data/spec/aws/launch_template_spec.rb +52 -0
  29. data/spec/aws/taggable_spec.rb +53 -0
  30. data/spec/capistrano_spec.rb +77 -0
  31. data/spec/spec_helper.rb +27 -0
  32. data/spec/support/stubs/CreateImage.200.xml +4 -0
  33. data/spec/support/stubs/CreateLaunchConfiguration.200.xml +5 -0
  34. data/spec/support/stubs/CreateLaunchTemplateVersion.200.xml +16 -0
  35. data/spec/support/stubs/CreateTags.200.xml +5 -0
  36. data/spec/support/stubs/DeleteLaunchConfiguration.200.xml +5 -0
  37. data/spec/support/stubs/DeleteSnapshot.200.xml +4 -0
  38. data/spec/support/stubs/DeregisterImage.200.xml +4 -0
  39. data/spec/support/stubs/DescribeAutoScalingGroups.200.xml +60 -0
  40. data/spec/support/stubs/DescribeImages.200.xml +70 -0
  41. data/spec/support/stubs/DescribeInstances.200.xml +231 -0
  42. data/spec/support/stubs/DescribeInstances_Empty.200.xml +17 -0
  43. data/spec/support/stubs/DescribeInstances_MultipleReservations.200.xml +243 -0
  44. data/spec/support/stubs/DescribeInstances_MultipleRunning.200.xml +338 -0
  45. data/spec/support/stubs/DescribeLaunchConfigurations.200.xml +29 -0
  46. data/spec/support/stubs/DescribeSnapshots.200.xml +18 -0
  47. data/spec/support/stubs/DescribeTags.200.xml +17 -0
  48. data/spec/support/stubs/UpdateAutoScalingGroup.200.xml +5 -0
  49. data/spec/support/stubs/security-credentials.200.json +9 -0
  50. metadata +243 -0
@@ -0,0 +1,70 @@
1
+ <DescribeImagesResponse xmlns="http://ec2.amazonaws.com/doc/2014-10-01/">
2
+ <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId>
3
+ <imagesSet>
4
+ <item>
5
+ <imageId>ami-1234567890</imageId>
6
+ <imageLocation>amazon/getting-started</imageLocation>
7
+ <imageState>available</imageState>
8
+ <imageOwnerId>123456789012</imageOwnerId>
9
+ <isPublic>true</isPublic>
10
+ <architecture>i386</architecture>
11
+ <imageType>machine</imageType>
12
+ <kernelId>aki-1a2b3c4d</kernelId>
13
+ <ramdiskId>ari-1a2b3c4d</ramdiskId>
14
+ <imageOwnerAlias>amazon</imageOwnerAlias>
15
+ <name>getting-started</name>
16
+ <description>Image Description</description>
17
+ <rootDeviceType>ebs</rootDeviceType>
18
+ <rootDeviceName>/dev/sda</rootDeviceName>
19
+ <blockDeviceMapping>
20
+ <item>
21
+ <deviceName>/dev/sda1</deviceName>
22
+ <ebs>
23
+ <snapshotId>snap-1a2b3c4d</snapshotId>
24
+ <volumeSize>15</volumeSize>
25
+ <deleteOnTermination>false</deleteOnTermination>
26
+ <volumeType>standard</volumeType>
27
+ </ebs>
28
+ </item>
29
+ </blockDeviceMapping>
30
+ <virtualizationType>paravirtual</virtualizationType>
31
+ <tagSet>
32
+ <item>
33
+ <key>ELBAS-Deploy-id</key>
34
+ <value>test</value>
35
+ </item>
36
+ </tagSet>
37
+ <hypervisor>xen</hypervisor>
38
+ </item>
39
+ <item>
40
+ <imageId>ami-999</imageId>
41
+ <imageLocation>amazon/getting-started</imageLocation>
42
+ <imageState>available</imageState>
43
+ <imageOwnerId>123456789012</imageOwnerId>
44
+ <isPublic>true</isPublic>
45
+ <architecture>i386</architecture>
46
+ <imageType>machine</imageType>
47
+ <kernelId>aki-1a2b3c4d</kernelId>
48
+ <ramdiskId>ari-1a2b3c4d</ramdiskId>
49
+ <imageOwnerAlias>amazon</imageOwnerAlias>
50
+ <name>getting-started</name>
51
+ <description>Image Description</description>
52
+ <rootDeviceType>ebs</rootDeviceType>
53
+ <rootDeviceName>/dev/sda</rootDeviceName>
54
+ <blockDeviceMapping>
55
+ <item>
56
+ <deviceName>/dev/sda1</deviceName>
57
+ <ebs>
58
+ <snapshotId>snap-1a2b3c4d</snapshotId>
59
+ <volumeSize>15</volumeSize>
60
+ <deleteOnTermination>false</deleteOnTermination>
61
+ <volumeType>standard</volumeType>
62
+ </ebs>
63
+ </item>
64
+ </blockDeviceMapping>
65
+ <virtualizationType>paravirtual</virtualizationType>
66
+ <tagSet/>
67
+ <hypervisor>xen</hypervisor>
68
+ </item>
69
+ </imagesSet>
70
+ </DescribeImagesResponse>
@@ -0,0 +1,231 @@
1
+ <DescribeInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2014-10-01/">
2
+ <requestId>fdcdcab1-ae5c-489e-9c33-4637c5dda355</requestId>
3
+ <reservationSet>
4
+ <item>
5
+ <reservationId>r-1a2b3c4d</reservationId>
6
+ <ownerId>123456789012</ownerId>
7
+ <groupSet>
8
+ <item>
9
+ <groupId>sg-1a2b3c4d</groupId>
10
+ <groupName>my-security-group</groupName>
11
+ </item>
12
+ </groupSet>
13
+ <instancesSet>
14
+ <item>
15
+ <instanceId>i-1234567890</instanceId>
16
+ <imageId>ami-1a2b3c4d</imageId>
17
+ <instanceState>
18
+ <code>16</code>
19
+ <name>running</name>
20
+ </instanceState>
21
+ <privateDnsName/>
22
+ <dnsName>ec2-1234567890.amazonaws.com</dnsName>
23
+ <reason/>
24
+ <keyName>my-key-pair</keyName>
25
+ <amiLaunchIndex>0</amiLaunchIndex>
26
+ <productCodes/>
27
+ <instanceType>c1.medium</instanceType>
28
+ <launchTime>Y2035-02-09T23:17:13Z+0000</launchTime>
29
+ <placement>
30
+ <availabilityZone>us-west-2a</availabilityZone>
31
+ <groupName/>
32
+ <tenancy>default</tenancy>
33
+ </placement>
34
+ <platform>windows</platform>
35
+ <monitoring>
36
+ <state>disabled</state>
37
+ </monitoring>
38
+ <subnetId>subnet-1a2b3c4d</subnetId>
39
+ <vpcId>vpc-1a2b3c4d</vpcId>
40
+ <privateIpAddress>10.0.0.12</privateIpAddress>
41
+ <ipAddress>46.51.219.63</ipAddress>
42
+ <sourceDestCheck>true</sourceDestCheck>
43
+ <groupSet>
44
+ <item>
45
+ <groupId>sg-1a2b3c4d</groupId>
46
+ <groupName>my-security-group</groupName>
47
+ </item>
48
+ </groupSet>
49
+ <architecture>x86_64</architecture>
50
+ <rootDeviceType>ebs</rootDeviceType>
51
+ <rootDeviceName>/dev/sda1</rootDeviceName>
52
+ <blockDeviceMapping>
53
+ <item>
54
+ <deviceName>/dev/sda1</deviceName>
55
+ <ebs>
56
+ <volumeId>vol-1a2b3c4d</volumeId>
57
+ <status>attached</status>
58
+ <attachTime>2035-02-09T23:17:13Z</attachTime>
59
+ <deleteOnTermination>true</deleteOnTermination>
60
+ </ebs>
61
+ </item>
62
+ </blockDeviceMapping>
63
+ <virtualizationType>hvm</virtualizationType>
64
+ <clientToken>ABCDE1234567890123</clientToken>
65
+ <tagSet>
66
+ <item>
67
+ <key>Name</key>
68
+ <value>Windows Instance</value>
69
+ </item>
70
+ </tagSet>
71
+ <hypervisor>xen</hypervisor>
72
+ <networkInterfaceSet>
73
+ <item>
74
+ <networkInterfaceId>eni-1a2b3c4d</networkInterfaceId>
75
+ <subnetId>subnet-1a2b3c4d</subnetId>
76
+ <vpcId>vpc-1a2b3c4d</vpcId>
77
+ <description>Primary network interface</description>
78
+ <ownerId>123456789012</ownerId>
79
+ <status>in-use</status>
80
+ <macAddress>1b:2b:3c:4d:5e:6f</macAddress>
81
+ <privateIpAddress>10.0.0.12</privateIpAddress>
82
+ <sourceDestCheck>true</sourceDestCheck>
83
+ <groupSet>
84
+ <item>
85
+ <groupId>sg-1a2b3c4d</groupId>
86
+ <groupName>my-security-group</groupName>
87
+ </item>
88
+ </groupSet>
89
+ <attachment>
90
+ <attachmentId>eni-attach-1a2b3c4d</attachmentId>
91
+ <deviceIndex>0</deviceIndex>
92
+ <status>attached</status>
93
+ <attachTime>2035-02-09T23:17:13Z</attachTime>
94
+ <deleteOnTermination>true</deleteOnTermination>
95
+ </attachment>
96
+ <association>
97
+ <publicIp>198.51.100.63</publicIp>
98
+ <ipOwnerId>123456789012</ipOwnerId>
99
+ </association>
100
+ <privateIpAddressesSet>
101
+ <item>
102
+ <privateIpAddress>10.0.0.12</privateIpAddress>
103
+ <primary>true</primary>
104
+ <association>
105
+ <publicIp>198.51.100.63</publicIp>
106
+ <ipOwnerId>123456789012</ipOwnerId>
107
+ </association>
108
+ </item>
109
+ <item>
110
+ <privateIpAddress>10.0.0.14</privateIpAddress>
111
+ <primary>false</primary>
112
+ <association>
113
+ <publicIp>198.51.100.177</publicIp>
114
+ <ipOwnerId>123456789012</ipOwnerId>
115
+ </association>
116
+ </item>
117
+ </privateIpAddressesSet>
118
+ </item>
119
+ </networkInterfaceSet>
120
+ </item>
121
+ <item>
122
+ <instanceId>i-500</instanceId>
123
+ <imageId>ami-1a2b3c4d</imageId>
124
+ <instanceState>
125
+ <code>32</code>
126
+ <name>shutting-down</name>
127
+ </instanceState>
128
+ <privateDnsName/>
129
+ <dnsName>ec2-500.amazonaws.com</dnsName>
130
+ <reason/>
131
+ <keyName>my-key-pair</keyName>
132
+ <amiLaunchIndex>0</amiLaunchIndex>
133
+ <productCodes/>
134
+ <instanceType>c1.medium</instanceType>
135
+ <launchTime>Y2035-02-09T23:17:13Z+0000</launchTime>
136
+ <placement>
137
+ <availabilityZone>us-west-2a</availabilityZone>
138
+ <groupName/>
139
+ <tenancy>default</tenancy>
140
+ </placement>
141
+ <platform>windows</platform>
142
+ <monitoring>
143
+ <state>disabled</state>
144
+ </monitoring>
145
+ <subnetId>subnet-1a2b3c4d</subnetId>
146
+ <vpcId>vpc-1a2b3c4d</vpcId>
147
+ <privateIpAddress>10.0.0.12</privateIpAddress>
148
+ <ipAddress>46.51.219.63</ipAddress>
149
+ <sourceDestCheck>true</sourceDestCheck>
150
+ <groupSet>
151
+ <item>
152
+ <groupId>sg-1a2b3c4d</groupId>
153
+ <groupName>my-security-group</groupName>
154
+ </item>
155
+ </groupSet>
156
+ <architecture>x86_64</architecture>
157
+ <rootDeviceType>ebs</rootDeviceType>
158
+ <rootDeviceName>/dev/sda1</rootDeviceName>
159
+ <blockDeviceMapping>
160
+ <item>
161
+ <deviceName>/dev/sda1</deviceName>
162
+ <ebs>
163
+ <volumeId>vol-1a2b3c4d</volumeId>
164
+ <status>attached</status>
165
+ <attachTime>2035-02-09T23:17:13Z</attachTime>
166
+ <deleteOnTermination>true</deleteOnTermination>
167
+ </ebs>
168
+ </item>
169
+ </blockDeviceMapping>
170
+ <virtualizationType>hvm</virtualizationType>
171
+ <clientToken>ABCDE1234567890123</clientToken>
172
+ <tagSet>
173
+ <item>
174
+ <key>Name</key>
175
+ <value>Windows Instance</value>
176
+ </item>
177
+ </tagSet>
178
+ <hypervisor>xen</hypervisor>
179
+ <networkInterfaceSet>
180
+ <item>
181
+ <networkInterfaceId>eni-1a2b3c4d</networkInterfaceId>
182
+ <subnetId>subnet-1a2b3c4d</subnetId>
183
+ <vpcId>vpc-1a2b3c4d</vpcId>
184
+ <description>Primary network interface</description>
185
+ <ownerId>123456789012</ownerId>
186
+ <status>in-use</status>
187
+ <macAddress>1b:2b:3c:4d:5e:6f</macAddress>
188
+ <privateIpAddress>10.0.0.12</privateIpAddress>
189
+ <sourceDestCheck>true</sourceDestCheck>
190
+ <groupSet>
191
+ <item>
192
+ <groupId>sg-1a2b3c4d</groupId>
193
+ <groupName>my-security-group</groupName>
194
+ </item>
195
+ </groupSet>
196
+ <attachment>
197
+ <attachmentId>eni-attach-1a2b3c4d</attachmentId>
198
+ <deviceIndex>0</deviceIndex>
199
+ <status>attached</status>
200
+ <attachTime>2035-02-09T23:17:13Z</attachTime>
201
+ <deleteOnTermination>true</deleteOnTermination>
202
+ </attachment>
203
+ <association>
204
+ <publicIp>198.51.100.63</publicIp>
205
+ <ipOwnerId>123456789012</ipOwnerId>
206
+ </association>
207
+ <privateIpAddressesSet>
208
+ <item>
209
+ <privateIpAddress>10.0.0.12</privateIpAddress>
210
+ <primary>true</primary>
211
+ <association>
212
+ <publicIp>198.51.100.63</publicIp>
213
+ <ipOwnerId>123456789012</ipOwnerId>
214
+ </association>
215
+ </item>
216
+ <item>
217
+ <privateIpAddress>10.0.0.14</privateIpAddress>
218
+ <primary>false</primary>
219
+ <association>
220
+ <publicIp>198.51.100.177</publicIp>
221
+ <ipOwnerId>123456789012</ipOwnerId>
222
+ </association>
223
+ </item>
224
+ </privateIpAddressesSet>
225
+ </item>
226
+ </networkInterfaceSet>
227
+ </item>
228
+ </instancesSet>
229
+ </item>
230
+ </reservationSet>
231
+ </DescribeInstancesResponse>
@@ -0,0 +1,17 @@
1
+ <DescribeInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2014-10-01/">
2
+ <requestId>fdcdcab1-ae5c-489e-9c33-4637c5dda355</requestId>
3
+ <reservationSet>
4
+ <item>
5
+ <reservationId>r-1a2b3c4d</reservationId>
6
+ <ownerId>123456789012</ownerId>
7
+ <groupSet>
8
+ <item>
9
+ <groupId>sg-1a2b3c4d</groupId>
10
+ <groupName>my-security-group</groupName>
11
+ </item>
12
+ </groupSet>
13
+ <instancesSet>
14
+ </instancesSet>
15
+ </item>
16
+ </reservationSet>
17
+ </DescribeInstancesResponse>
@@ -0,0 +1,243 @@
1
+ <DescribeInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2014-10-01/">
2
+ <requestId>fdcdcab1-ae5c-489e-9c33-4637c5dda355</requestId>
3
+ <reservationSet>
4
+ <item>
5
+ <reservationId>r-1a2b3c4d</reservationId>
6
+ <ownerId>123456789012</ownerId>
7
+ <groupSet>
8
+ <item>
9
+ <groupId>sg-1a2b3c4d</groupId>
10
+ <groupName>my-security-group</groupName>
11
+ </item>
12
+ </groupSet>
13
+ <instancesSet>
14
+ <item>
15
+ <instanceId>i-1234567890</instanceId>
16
+ <imageId>ami-1a2b3c4d</imageId>
17
+ <instanceState>
18
+ <code>16</code>
19
+ <name>running</name>
20
+ </instanceState>
21
+ <privateDnsName/>
22
+ <dnsName>ec2-1234567890.amazonaws.com</dnsName>
23
+ <reason/>
24
+ <keyName>my-key-pair</keyName>
25
+ <amiLaunchIndex>0</amiLaunchIndex>
26
+ <productCodes/>
27
+ <instanceType>c1.medium</instanceType>
28
+ <launchTime>Y2035-02-09T23:17:13Z+0000</launchTime>
29
+ <placement>
30
+ <availabilityZone>us-west-2a</availabilityZone>
31
+ <groupName/>
32
+ <tenancy>default</tenancy>
33
+ </placement>
34
+ <platform>windows</platform>
35
+ <monitoring>
36
+ <state>disabled</state>
37
+ </monitoring>
38
+ <subnetId>subnet-1a2b3c4d</subnetId>
39
+ <vpcId>vpc-1a2b3c4d</vpcId>
40
+ <privateIpAddress>10.0.0.12</privateIpAddress>
41
+ <ipAddress>46.51.219.63</ipAddress>
42
+ <sourceDestCheck>true</sourceDestCheck>
43
+ <groupSet>
44
+ <item>
45
+ <groupId>sg-1a2b3c4d</groupId>
46
+ <groupName>my-security-group</groupName>
47
+ </item>
48
+ </groupSet>
49
+ <architecture>x86_64</architecture>
50
+ <rootDeviceType>ebs</rootDeviceType>
51
+ <rootDeviceName>/dev/sda1</rootDeviceName>
52
+ <blockDeviceMapping>
53
+ <item>
54
+ <deviceName>/dev/sda1</deviceName>
55
+ <ebs>
56
+ <volumeId>vol-1a2b3c4d</volumeId>
57
+ <status>attached</status>
58
+ <attachTime>2035-02-09T23:17:13Z</attachTime>
59
+ <deleteOnTermination>true</deleteOnTermination>
60
+ </ebs>
61
+ </item>
62
+ </blockDeviceMapping>
63
+ <virtualizationType>hvm</virtualizationType>
64
+ <clientToken>ABCDE1234567890123</clientToken>
65
+ <tagSet>
66
+ <item>
67
+ <key>Name</key>
68
+ <value>Windows Instance</value>
69
+ </item>
70
+ </tagSet>
71
+ <hypervisor>xen</hypervisor>
72
+ <networkInterfaceSet>
73
+ <item>
74
+ <networkInterfaceId>eni-1a2b3c4d</networkInterfaceId>
75
+ <subnetId>subnet-1a2b3c4d</subnetId>
76
+ <vpcId>vpc-1a2b3c4d</vpcId>
77
+ <description>Primary network interface</description>
78
+ <ownerId>123456789012</ownerId>
79
+ <status>in-use</status>
80
+ <macAddress>1b:2b:3c:4d:5e:6f</macAddress>
81
+ <privateIpAddress>10.0.0.12</privateIpAddress>
82
+ <sourceDestCheck>true</sourceDestCheck>
83
+ <groupSet>
84
+ <item>
85
+ <groupId>sg-1a2b3c4d</groupId>
86
+ <groupName>my-security-group</groupName>
87
+ </item>
88
+ </groupSet>
89
+ <attachment>
90
+ <attachmentId>eni-attach-1a2b3c4d</attachmentId>
91
+ <deviceIndex>0</deviceIndex>
92
+ <status>attached</status>
93
+ <attachTime>2035-02-09T23:17:13Z</attachTime>
94
+ <deleteOnTermination>true</deleteOnTermination>
95
+ </attachment>
96
+ <association>
97
+ <publicIp>198.51.100.63</publicIp>
98
+ <ipOwnerId>123456789012</ipOwnerId>
99
+ </association>
100
+ <privateIpAddressesSet>
101
+ <item>
102
+ <privateIpAddress>10.0.0.12</privateIpAddress>
103
+ <primary>true</primary>
104
+ <association>
105
+ <publicIp>198.51.100.63</publicIp>
106
+ <ipOwnerId>123456789012</ipOwnerId>
107
+ </association>
108
+ </item>
109
+ <item>
110
+ <privateIpAddress>10.0.0.14</privateIpAddress>
111
+ <primary>false</primary>
112
+ <association>
113
+ <publicIp>198.51.100.177</publicIp>
114
+ <ipOwnerId>123456789012</ipOwnerId>
115
+ </association>
116
+ </item>
117
+ </privateIpAddressesSet>
118
+ </item>
119
+ </networkInterfaceSet>
120
+ </item>
121
+ </instancesSet>
122
+ </item>
123
+ <item>
124
+ <reservationId>r-1a2b3c4d</reservationId>
125
+ <ownerId>123456789012</ownerId>
126
+ <groupSet>
127
+ <item>
128
+ <groupId>sg-1a2b3c4d</groupId>
129
+ <groupName>my-security-group</groupName>
130
+ </item>
131
+ </groupSet>
132
+ <instancesSet>
133
+ <item>
134
+ <instanceId>i-500</instanceId>
135
+ <imageId>ami-1a2b3c4d</imageId>
136
+ <instanceState>
137
+ <code>32</code>
138
+ <name>shutting-down</name>
139
+ </instanceState>
140
+ <privateDnsName/>
141
+ <dnsName>ec2-500.amazonaws.com</dnsName>
142
+ <reason/>
143
+ <keyName>my-key-pair</keyName>
144
+ <amiLaunchIndex>0</amiLaunchIndex>
145
+ <productCodes/>
146
+ <instanceType>c1.medium</instanceType>
147
+ <launchTime>Y2035-02-09T23:17:13Z+0000</launchTime>
148
+ <placement>
149
+ <availabilityZone>us-west-2a</availabilityZone>
150
+ <groupName/>
151
+ <tenancy>default</tenancy>
152
+ </placement>
153
+ <platform>windows</platform>
154
+ <monitoring>
155
+ <state>disabled</state>
156
+ </monitoring>
157
+ <subnetId>subnet-1a2b3c4d</subnetId>
158
+ <vpcId>vpc-1a2b3c4d</vpcId>
159
+ <privateIpAddress>10.0.0.12</privateIpAddress>
160
+ <ipAddress>46.51.219.63</ipAddress>
161
+ <sourceDestCheck>true</sourceDestCheck>
162
+ <groupSet>
163
+ <item>
164
+ <groupId>sg-1a2b3c4d</groupId>
165
+ <groupName>my-security-group</groupName>
166
+ </item>
167
+ </groupSet>
168
+ <architecture>x86_64</architecture>
169
+ <rootDeviceType>ebs</rootDeviceType>
170
+ <rootDeviceName>/dev/sda1</rootDeviceName>
171
+ <blockDeviceMapping>
172
+ <item>
173
+ <deviceName>/dev/sda1</deviceName>
174
+ <ebs>
175
+ <volumeId>vol-1a2b3c4d</volumeId>
176
+ <status>attached</status>
177
+ <attachTime>2035-02-09T23:17:13Z</attachTime>
178
+ <deleteOnTermination>true</deleteOnTermination>
179
+ </ebs>
180
+ </item>
181
+ </blockDeviceMapping>
182
+ <virtualizationType>hvm</virtualizationType>
183
+ <clientToken>ABCDE1234567890123</clientToken>
184
+ <tagSet>
185
+ <item>
186
+ <key>Name</key>
187
+ <value>Windows Instance</value>
188
+ </item>
189
+ </tagSet>
190
+ <hypervisor>xen</hypervisor>
191
+ <networkInterfaceSet>
192
+ <item>
193
+ <networkInterfaceId>eni-1a2b3c4d</networkInterfaceId>
194
+ <subnetId>subnet-1a2b3c4d</subnetId>
195
+ <vpcId>vpc-1a2b3c4d</vpcId>
196
+ <description>Primary network interface</description>
197
+ <ownerId>123456789012</ownerId>
198
+ <status>in-use</status>
199
+ <macAddress>1b:2b:3c:4d:5e:6f</macAddress>
200
+ <privateIpAddress>10.0.0.12</privateIpAddress>
201
+ <sourceDestCheck>true</sourceDestCheck>
202
+ <groupSet>
203
+ <item>
204
+ <groupId>sg-1a2b3c4d</groupId>
205
+ <groupName>my-security-group</groupName>
206
+ </item>
207
+ </groupSet>
208
+ <attachment>
209
+ <attachmentId>eni-attach-1a2b3c4d</attachmentId>
210
+ <deviceIndex>0</deviceIndex>
211
+ <status>attached</status>
212
+ <attachTime>2035-02-09T23:17:13Z</attachTime>
213
+ <deleteOnTermination>true</deleteOnTermination>
214
+ </attachment>
215
+ <association>
216
+ <publicIp>198.51.100.63</publicIp>
217
+ <ipOwnerId>123456789012</ipOwnerId>
218
+ </association>
219
+ <privateIpAddressesSet>
220
+ <item>
221
+ <privateIpAddress>10.0.0.12</privateIpAddress>
222
+ <primary>true</primary>
223
+ <association>
224
+ <publicIp>198.51.100.63</publicIp>
225
+ <ipOwnerId>123456789012</ipOwnerId>
226
+ </association>
227
+ </item>
228
+ <item>
229
+ <privateIpAddress>10.0.0.14</privateIpAddress>
230
+ <primary>false</primary>
231
+ <association>
232
+ <publicIp>198.51.100.177</publicIp>
233
+ <ipOwnerId>123456789012</ipOwnerId>
234
+ </association>
235
+ </item>
236
+ </privateIpAddressesSet>
237
+ </item>
238
+ </networkInterfaceSet>
239
+ </item>
240
+ </instancesSet>
241
+ </item>
242
+ </reservationSet>
243
+ </DescribeInstancesResponse>