Class: EC2::DescribeInstancesResponse
- Defined in:
- lib/EC2/responses.rb
Constant Summary collapse
- ELEMENT_XPATH =
"DescribeInstancesResponse/reservationSet/item"
Constants inherited from Response
Instance Attribute Summary
Attributes inherited from Response
#http_response, #http_xml, #structure
Instance Method Summary collapse
Methods inherited from Response
#initialize, #is_error?, #parse_error, #to_s
Constructor Details
This class inherits a constructor from EC2::Response
Instance Method Details
#parse ⇒ Object
172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 |
# File 'lib/EC2/responses.rb', line 172 def parse doc = REXML::Document.new(@http_xml) lines = [] doc.elements.each(ELEMENT_XPATH) do |rootelement| reservationId = REXML::XPath.first(rootelement, "reservationId").text ownerId = REXML::XPath.first(rootelement, "ownerId").text groups = nil rootelement.elements.each("groupSet/item/groupId") do |element| if not groups groups = element.text else groups += "," + element.text end end lines << ["RESERVATION", reservationId, ownerId, groups] rootelement.elements.each("instancesSet/item") do |element| instanceId = REXML::XPath.first(element, "instanceId").text imageId = REXML::XPath.first(element, "imageId").text instanceState = REXML::XPath.first(element, "instanceState/name").text # Only for debug mode, which we don't support yet: instanceStateCode = REXML::XPath.first(element, "instanceState/code").text dnsName = REXML::XPath.first(element, "dnsName").text # We don't return this, but still: reason = REXML::XPath.first(element, "reason").text lines << ["INSTANCE", instanceId, imageId, dnsName, instanceState] end end lines end |