diff --git a/README.md b/README.md index 573bd1c771..85821cbc37 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,20 @@ ## AWS - Julia interface to Amazon Web Services -This package is a WIP for providing a native Julia interface to the Amazon Web Services API +This package provides a native Julia interface to the Amazon Web Services API -Initially, the EC2 and S3 API will be supported. +The following services are supported as of now: + +- EC2 +- S3 +- SQS ### Current status -- Most of the APIs are yet untested. Any testing will be helpful. The REST API does not match exactly in certain cases +- The basic APIs of EC2, S3 and SQS are tested +- The advanced APIs (e.g. VPC related APIs, etc) of EC2 are yet untested. Any testing will be helpful. +- The REST API does not match exactly in certain cases with the WSDL. For the EC2 API, the bulk of the code is generated from the WSDL while it has been translated by hand for the - S3 API. In certain cases breakage may occur due to wrong request syntax. + S3 API. Please file issues on GitHub with the output from running the request in debug mode, i.e., with env.dbg = true. @@ -22,6 +28,7 @@ type AWSEnv aws_seckey::ASCIIString # AWS Secret key for signing requests aws_token::ASCIIString # AWS Security Token for temporary credentials region::AbstractString # region name + ep_scheme::ASCIIString # URL scheme: http or https ep_host::AbstractString # region endpoint (host) ep_path::AbstractString # region endpoint (path) sig_ver::Int # AWS signature version (2 or 4) @@ -34,7 +41,7 @@ end Constructors: ``` -AWSEnv(; id=AWS_ID, key=AWS_SECKEY, token=AWS_TOKEN, ec2_creds=false, region=US_EAST_1, ep="", sig_ver=4, timeout=0.0, dr=false, dbg=false) +AWSEnv(; id=AWS_ID, key=AWS_SECKEY, token=AWS_TOKEN, ec2_creds=false, scheme="https", region=AWS_REGION, ep="", sig_ver=4, timeout=0.0, dr=false, dbg=false) ``` - The ```AWS_ID``` and ```AWS_SECKEY``` are initialized from env if available. Else a file ~/.awssecret is read (if available) for the same. @@ -132,7 +139,7 @@ type S3Response # it is parsed and set here. # Else it will contain an IOBuffer object - pd::Union(ETree, Nothing) + pd::Union(LightXML.XMLElement, Nothing) end ``` @@ -147,7 +154,7 @@ EC2 has two sets of APIs ### EC2 Simple API -- Currently the following are available: +- Currently the following APIs are available: - ec2_terminate - ec2_launch @@ -213,7 +220,7 @@ type EC2Response http_code::Int headers body::Union(String, Nothing) - pd::Union(ETree, Nothing) + pd::Union(LightXML.XMLElement, Nothing) obj::Any end ``` @@ -233,22 +240,319 @@ For succcessful requests, EC2Response.obj will contain an object of the appropri For example, for RunInstances, the EC2Response.obj will be of type RunInstancesResponseType +### SQS API + +This package uses the REST interface of SQS + +- The type names, function names, etc follow the names specified in http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/Welcome.html as well as in http://queue.amazonaws.com/doc/2012-11-05/QueueService.wsdl + +- Sample code + +``` +using AWS, AWS.SQS + +include("config.jl") + + +env=AWSEnv(; id=id, key=key, dbg=dbg, region=region) +## env=AWSEnv(; id=id, key=key, dbg=dbg) + +queueName="MyTest1" + +println("List all queues !!!") +queues = SQS.ListQueues(env) + +println("Create queue") +attributes = AttributeType[] +push!(attributes, AttributeType(name="DelaySeconds",value="300")) +push!(attributes, AttributeType(name="VisibilityTimeout",value="120")) +resp = CreateQueue(env; queueName=queueName, attributeSet=attributes) +if resp.http_code < 299 + println("Test for Create Queue Passed") +else + println("Test for Create Queue Failed") +end + +qurl = resp.obj.queueUrl +@show qurl + +println("Get queue attributes") +resp = GetQueueAttributes(env; queueUrl=qurl, attributeNameSet=["All"]) +if resp.http_code < 299 + println("Test for Get Queue Attributes Passed") +else + println("Test for Get Queue Attributes Failed") +end + +println("Send Message") +msgAttributes = MessageAttributeType[] +push!(msgAttributes, MessageAttributeType(name="some-attribute", + value=MessageAttributeValueType(dataType="Number.integer-ish", stringValue="0"))) +push!(msgAttributes, MessageAttributeType(name="other-attribute", + value=MessageAttributeValueType(dataType="String.yyy", stringValue="My yyy string"))) +push!(msgAttributes, MessageAttributeType(name="bin-attribute", + value=MessageAttributeValueType(dataType="Binary.jpg", binaryValue=[0x0,0x1,0x2,0x3,0x4,0x5,0x6]))) +resp = SendMessage(env; queueUrl=qurl, delaySeconds=0, messageBody="test", messageAttributeSet=msgAttributes) +if resp.http_code < 299 + println("Test for Send Message Passed") +else + println("Test for Send Message Failed") +end + + +println("Receive Message") +resp=ReceiveMessage(env; queueUrl=qurl, attributeNameSet=["All"], messageAttributeNameSet=["All"]) +if resp.http_code < 299 + println("Test for Receive Message Passed") +else + println("Test for Receive Message Failed") +end + +msg = resp.obj.messageSet[1] +msg_body = msg.body + # msg_body == "test" + +println("Delete Message") +resp = DeleteMessage(env; queueUrl=qurl, receiptHandle=msg.receiptHandle) +if resp.http_code < 299 + println("Test for Delete Message Passed") +else + println("Test for Delete Message Failed") +end + + +println("Send Message Batch") +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +## Test for SendMessageBatch +id1 = "SendMessageBatchMessage1" +delaySeconds1 = 10 +msgAttributes1 = MessageAttributeType[] +push!(msgAttributes1, MessageAttributeType(name="some-attribute", + value=MessageAttributeValueType(dataType="Number.integer-ish", stringValue="111"))) +push!(msgAttributes1, MessageAttributeType(name="other-attribute", + value=MessageAttributeValueType(dataType="String.yyy", stringValue="My 111 string"))) +push!(msgAttributes1, MessageAttributeType(name="bin-attribute", + value=MessageAttributeValueType(dataType="Binary.jpg", binaryValue=[0x0,0x1,0x2,0x3,0x4,0x5,0x6]))) +messageBody1 = "Message Body 1" +sendMessageBatchRequestEntryType1 = SendMessageBatchRequestEntryType(; delaySeconds=delaySeconds1, id=id1, messageAttributeSet=msgAttributes1, messageBody=messageBody1) + +id2 = "SendMessageBatchMessage2" +delaySeconds2 = 10 +msgAttributes2 = MessageAttributeType[] +push!(msgAttributes2, MessageAttributeType(name="some-attribute", + value=MessageAttributeValueType(dataType="Number.integer-ish", stringValue="222"))) +push!(msgAttributes2, MessageAttributeType(name="other-attribute", + value=MessageAttributeValueType(dataType="String.yyy", stringValue="My 222 string"))) +push!(msgAttributes2, MessageAttributeType(name="bin-attribute", + value=MessageAttributeValueType(dataType="Binary.jpg", binaryValue=[0x0,0x1,0x2,0x3,0x4,0x5,0x6]))) +messageBody2 = "Message Body 2" +sendMessageBatchRequestEntryType2 = SendMessageBatchRequestEntryType(; delaySeconds=delaySeconds2, id=id2, messageAttributeSet=msgAttributes2, messageBody=messageBody2) + + +id3 = "SendMessageBatchMessage3" +delaySeconds3 = 10 +messageBody3 = "Message Body 3" +sendMessageBatchRequestEntryType3 = SendMessageBatchRequestEntryType(; delaySeconds=delaySeconds3, id=id3, messageBody=messageBody3) + +id4 = "SendMessageBatchMessage4" +delaySeconds4 = 10 +messageBody4 = "Message Body 4" +sendMessageBatchRequestEntryType4 = SendMessageBatchRequestEntryType(; delaySeconds=delaySeconds4, id=id4, messageBody=messageBody4) + +sendMessageBatchRequestEntrySet = Vector{SendMessageBatchRequestEntryType}() +push!(sendMessageBatchRequestEntrySet, sendMessageBatchRequestEntryType1) +push!(sendMessageBatchRequestEntrySet, sendMessageBatchRequestEntryType2) +push!(sendMessageBatchRequestEntrySet, sendMessageBatchRequestEntryType3) +push!(sendMessageBatchRequestEntrySet, sendMessageBatchRequestEntryType4) + +sendMessageBatchType = SendMessageBatchType(; sendMessageBatchRequestEntrySet=sendMessageBatchRequestEntrySet, queueUrl=qurl) +resp = SendMessageBatch(env, sendMessageBatchType) +if resp.http_code < 299 + println("Test for Send Message Batch Passed") +else + println("Test for Send Message Batch Failed") +end + +println("Sleeping for 20 secs !!!") +sleep(20) + +println("Delete Message Batch") +## Test case for DeleteMessageBatch +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +## resp1=ReceiveMessage(env; queueUrl=qurl, attributeNameSet=["All"], messageAttributeNameSet=["All"]) +resp1=ReceiveMessage(env; queueUrl=qurl) +msg1 = resp1.obj.messageSet[1] +## resp2=ReceiveMessage(env; queueUrl=qurl, attributeNameSet=["All"], messageAttributeNameSet=["All"]) +resp2=ReceiveMessage(env; queueUrl=qurl) +msg2 = resp2.obj.messageSet[1] + +deleteMessageBatchRequestEntryType1 = DeleteMessageBatchRequestEntryType(; id=id1, receiptHandle=msg1.receiptHandle) +deleteMessageBatchRequestEntryType2 = DeleteMessageBatchRequestEntryType(; id=id2, receiptHandle=msg2.receiptHandle) +deleteMessageBatchRequestEntrySet = Vector{DeleteMessageBatchRequestEntryType}() +push!(deleteMessageBatchRequestEntrySet, deleteMessageBatchRequestEntryType1) +push!(deleteMessageBatchRequestEntrySet, deleteMessageBatchRequestEntryType2) + +deleteMessageBatchType = DeleteMessageBatchType(; deleteMessageBatchRequestEntrySet=deleteMessageBatchRequestEntrySet, queueUrl=qurl) +resp = DeleteMessageBatch(env, deleteMessageBatchType) +if resp.http_code < 299 + println("Test for Delete Message Batch Passed") +else + println("Test for Delete Message Batch Failed") +end + + + +println("Change Message Visibility") +## Test case for ChangeMessageVisibility +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +resp=ReceiveMessage(env; queueUrl=qurl) +msg = resp.obj.messageSet[1] + +changeMessageVisibilityType = ChangeMessageVisibilityType(; queueUrl=qurl, receiptHandle=msg.receiptHandle, visibilityTimeout=30) +resp = ChangeMessageVisibility(env, changeMessageVisibilityType) +if resp.http_code < 299 + println("Test for Change Message Visibility Passed") +else + println("Test for Change Message Visibility Failed") +end + + + +println("Change Message Visibility Batch") +## Test case for ChangeMessageVisibilityBatch +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +resp1=ReceiveMessage(env; queueUrl=qurl) +msg1 = resp1.obj.messageSet[1] +id1=resp1.obj.messageSet[1].messageId + +resp2=ReceiveMessage(env; queueUrl=qurl) +msg2 = resp2.obj.messageSet[1] +id2=resp2.obj.messageSet[1].messageId + +changeMessageVisibilityBatchRequestEntryType1 = ChangeMessageVisibilityBatchRequestEntryType(; id=id1, receiptHandle=msg1.receiptHandle, visibilityTimeout=60) +changeMessageVisibilityBatchRequestEntryType2 = ChangeMessageVisibilityBatchRequestEntryType(; id=id2, receiptHandle=msg2.receiptHandle, visibilityTimeout=90) +changeMessageVisibilityBatchRequestEntrySet = Vector{ChangeMessageVisibilityBatchRequestEntryType}() +push!(changeMessageVisibilityBatchRequestEntrySet, changeMessageVisibilityBatchRequestEntryType1) +push!(changeMessageVisibilityBatchRequestEntrySet, changeMessageVisibilityBatchRequestEntryType2) + +changeMessageVisibilityBatchType = ChangeMessageVisibilityBatchType(; queueUrl=qurl, changeMessageVisibilityBatchRequestEntrySet=changeMessageVisibilityBatchRequestEntrySet) +resp = ChangeMessageVisibilityBatch(env, changeMessageVisibilityBatchType) +if resp.http_code < 299 + println("Test for Change Message Visibility Batch Passed") +else + println("Test for Change Message Visibility Batch Failed") +end + + + +println("List Dead Letter Source Queues") +## Test case for ListDeadLetterSourceQueues +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +resp = ListDeadLetterSourceQueues(env; queueUrl=qurl) +if resp.http_code < 299 + println("Test for List Dead Letter Source Queues Passed") +else + println("Test for List Dead Letter Source Queues Failed") +end + + +println("Purge Queue") +## Test case for PurgeQueue +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +resp = PurgeQueue(env; queueUrl=qurl) +if resp.http_code < 299 + println("Test for Purge Queue Passed") +else + println("Test for Purge Queue Failed") +end + + +println("Add Permission") +## Test case for AddPermission +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl + +aWSAccountIdSet = Vector{ASCIIString}() +actionNameSet = Vector{ASCIIString}() + +push!(aWSAccountIdSet, awsAccountID) +push!(actionNameSet, "SendMessage") + +push!(aWSAccountIdSet, awsAccountID) +push!(actionNameSet, "ReceiveMessage") + +resp = AddPermission(env; queueUrl=qurl, label="My Permission 1", aWSAccountIdSet=aWSAccountIdSet, actionNameSet=actionNameSet) +if resp.http_code < 299 + println("Test for Add Permission Passed") +else + println("Test for Add Permission Failed") + println("Check if the AWS Account ID exists !!") +end + + +println("Remove Permission") +## Test case for RemovePermission +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +resp = RemovePermission(env; queueUrl=qurl, label="My Permission 1") +if resp.http_code < 299 + println("Test for Remove Permission Passed") +else + println("Test for Remove Permission Failed") +end + + +println("Testing DeleteQueue") +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +DeleteQueue(env; queueUrl=qurl) +if resp.http_code < 299 + println("Test for Delete Queue Passed") +else + println("Test for Delete Queue Failed") +end + + + +``` + +The response object is as below: + +``` +type SQSResponse + http_code::Int + headers + body::Union{AbstractString, Void} + pd::Union{LightXML.XMLElement, Void} + obj::Any +end + +``` + +The error object is as below: + +``` +type SQSError + typ::AbstractString + code::AbstractString + msg::AbstractString + detail::AbstractString + request_id::Union{AbstractString, Void} +end +``` ### Julia Dependencies Calendar -LibExpat +Requests -libCURL +LightXML ### Binary dependencies -libcurl must be installed +libz must be installed -libexpat must be installed +libxml2 must be installed ### NOTE diff --git a/REQUIRE b/REQUIRE index 6b53fca14f..b68da67cd7 100644 --- a/REQUIRE +++ b/REQUIRE @@ -1,6 +1,7 @@ -julia 0.4- +julia 0.4 BinDeps -LibExpat -HTTPClient +LightXML +Requests JSON +URIParser @windows WinRPM diff --git a/src/AWS.jl b/src/AWS.jl index 41add3597b..269321da8d 100644 --- a/src/AWS.jl +++ b/src/AWS.jl @@ -1,9 +1,9 @@ isdefined(Base, :__precompile__) && __precompile__() module AWS -using HTTPClient.HTTPC +using Requests using JSON -using LibExpat +using LightXML const EP_US_EAST_NORTHERN_VIRGINIA = "ec2.us-east-1.amazonaws.com" @@ -65,6 +65,7 @@ type AWSEnv aws_seckey::ASCIIString # AWS Secret key for signing requests aws_token::ASCIIString # AWS Security Token for temporary credentials region::AbstractString # region name + ep_scheme::ASCIIString # URL scheme: http or https ep_host::AbstractString # region endpoint (host) ep_path::AbstractString # region endpoint (path) sig_ver::Int # AWS signature version (2 or 4) @@ -73,7 +74,7 @@ type AWSEnv dbg::Bool # print request to screen - function AWSEnv(; id=AWS_ID, key=AWS_SECKEY, token=AWS_TOKEN, ec2_creds=false, region=AWS_REGION, ep="", sig_ver=4, timeout=0.0, dr=false, dbg=false) + function AWSEnv(; id=AWS_ID, key=AWS_SECKEY, token=AWS_TOKEN, ec2_creds=false, scheme="https", region=AWS_REGION, ep="", sig_ver=4, timeout=0.0, dr=false, dbg=false) if ec2_creds creds = get_instance_credentials() if creds != nothing @@ -87,6 +88,7 @@ type AWSEnv error("Invalid AWS security credentials provided") end + #= s = search(ep,"/") if length(s) == 0 ep_host = ep @@ -95,6 +97,8 @@ type AWSEnv ep_host = ep[1:(first(s)-1)] ep_path = ep[first(s):end] end + =# + ep_scheme, ep_host, ep_path = parse_endpoint(ep, scheme) # host portion of ep overrides region if length(ep_host) > 19 && ep_host[1:4] == "ec2." && ep_host[(end-13):end] == ".amazonaws.com" @@ -115,15 +119,42 @@ type AWSEnv end if dr - new(id, key, token, region, ep_host, ep_path, sig_ver, timeout, dr, true) + new(id, key, token, region, ep_scheme, ep_host, ep_path, sig_ver, timeout, dr, true) else - new(id, key, token, region, ep_host, ep_path, sig_ver, timeout, false, dbg) + new(id, key, token, region, ep_scheme, ep_host, ep_path, sig_ver, timeout, false, dbg) end end + function AWSEnv(env::AWSEnv; ep="") + ep_scheme, ep_host, ep_path = parse_endpoint(ep, env.ep_scheme) + + new(env.aws_id, env.aws_seckey, env.aws_token, env.region, ep_scheme, + ep_host, ep_path, env.sig_ver, env.timeout, env.dry_run, env.dbg) + end + end export AWSEnv +function parse_endpoint(ep, default_scheme) + s = search(ep,"://") + if length(s) == 0 + ep_scheme = default_scheme + ephp = ep + else + ep_scheme = ep[1:(first(s)-1)] + ephp = ep[first(s)+3:end] + end + s = search(ephp,"/") + if length(s) == 0 + ep_host = ephp + ep_path = "/" + else + ep_host = ephp[1:(first(s)-1)] + ep_path = ephp[first(s):end] + end + return (ep_scheme, ep_host, ep_path) +end + ep_host(env::AWSEnv, service) = lowercase(env.ep_host=="" ? "$service.$(env.region).amazonaws.com" : env.ep_host) export ep_host @@ -134,7 +165,7 @@ function get_instance_credentials() end url = "http://169.254.169.254/2014-11-05/meta-data/iam/security-credentials/" - resp = HTTPC.get(url) + resp = Requests.get(url) if resp.http_code != 200 return nothing end @@ -145,7 +176,7 @@ function get_instance_credentials() end url *= iam[1] - resp = HTTPC.get(url) + resp = Requests.get(url) if resp.http_code != 200 return nothing end @@ -162,6 +193,7 @@ include("crypto.jl") include("sign.jl") include("EC2.jl") include("S3.jl") +include("SQS.jl") include("show.jl") diff --git a/src/EC2.jl b/src/EC2.jl index 4e2319c082..9ab3ee9c4e 100644 --- a/src/EC2.jl +++ b/src/EC2.jl @@ -1,8 +1,8 @@ module EC2 -using LibExpat +using LightXML using AWS.Crypto -using HTTPClient.HTTPC +using Requests using AWS.AWSEnv using AWS @@ -45,7 +45,8 @@ type EC2Response http_code::Int headers body::Union{AbstractString, Void} - pd::Union{ETree, Void} + ## pd::Union{ETree, Void} + pd::Union{LightXML.XMLElement, Void} obj::Any EC2Response() = new(0, Dict{Any, Any}(), "", nothing, nothing) @@ -66,7 +67,7 @@ function ec2_execute(env::AWSEnv, action::AbstractString, params_in=nothing) push!(params, ("Version", "2015-04-15")) # push!(params, ("Expires", get_utc_timestamp(300))) # Request expires after 300 seconds - amz_headers, signed_querystr = canonicalize_and_sign(env, "ec2", "GET", params) + amz_headers, data, signed_querystr = canonicalize_and_sign(env, "ec2", false, params) ep_path = env.ep_path * (env.ep_path[end] == '/' ? "" : "/") complete_url = "https://" * ep_host(env, "ec2") * ep_path * "?" * signed_querystr @@ -74,37 +75,43 @@ function ec2_execute(env::AWSEnv, action::AbstractString, params_in=nothing) println("URL:\n$complete_url\n") end + headers = Dict{ASCIIString, ASCIIString}() + + for (k,v) in amz_headers + setindex!(headers, v, k) + end + #make the request ec2resp = EC2Response() if !(env.dry_run) - ro = HTTPC.RequestOptions(headers = amz_headers, request_timeout = env.timeout) - resp = HTTPC.get(complete_url, ro) + resp = Requests.get(complete_url; headers = headers, timeout = env.timeout) - ec2resp.http_code = resp.http_code + ## ec2resp.http_code = resp.http_code + ec2resp.http_code = resp.status ec2resp.headers = resp.headers - ec2resp.body = bytestring(resp.body) + ## ec2resp.body = bytestring(resp.body) + ec2resp.body = bytestring(resp.data) if (env.dbg) print("HTTPCode: ", ec2resp.http_code, "\nHeaders: ", ec2resp.headers, "\nBody : ", ec2resp.body, "\n") end - if (resp.http_code >= 200) && (resp.http_code <= 299) -# println(typeof(resp.headers)) - - if (search(Base.get(resp.headers, "Content-Type", [""])[1], "/xml") != 0:-1) + if (resp.status >= 200) && (resp.status <= 299) + if (search(Base.get(resp.headers, "Content-Type", [""]), "/xml") != 0:-1) # if haskey(resp.headers, "Content-Type") && (resp.headers["Content-Type"] == "application/xml") - ec2resp.pd = xp_parse(ec2resp.body) + ec2resp.pd = LightXML.root(LightXML.parse_string(ec2resp.body)) end - elseif (resp.http_code >= 400) && (resp.http_code <= 599) + elseif (resp.status >= 400) && (resp.status <= 599) if length(ec2resp.body) > 0 - xom = xp_parse(ec2resp.body) - epd = LibExpat.find(xom, "Errors/Error[1]") - ec2resp.obj = EC2Error(LibExpat.find(epd, "Code#string"), LibExpat.find(epd, "Message#string"), LibExpat.find(xom, "RequestID#string")) + ## xom = xp_parse(ec2resp.body) + xom = LightXML.root(LightXML.parse_string(ec2resp.body)) + epd = LightXML.find_element(LightXML.find_element(xom, "Errors"), "Error") + ec2resp.obj = EC2Error(LightXML.content(LightXML.find_element(epd, "Code")), LightXML.content(LightXML.find_element(epd, "Message")), LightXML.content(LightXML.find_element(xom, "RequestID"))) else - error("HTTP error : $(resp.http_code)") + error("HTTP error : $(resp.status)") end else - error("HTTP error : $(resp.http_code), $(ec2resp.body)") + error("HTTP error : $(resp.status), $(ec2resp.body)") end end diff --git a/src/S3.jl b/src/S3.jl index 00b823e878..585e236a2a 100644 --- a/src/S3.jl +++ b/src/S3.jl @@ -3,21 +3,50 @@ module S3 # Etag should always be quoted - in XML as well as headers... using AWS using AWS.Crypto -using HTTPClient.HTTPC -using LibExpat +using Requests +using LightXML using Base.get +using URIParser + import AWS.xml include("s3_types.jl") +def_rto = 0.0 +null_cb(curl) = return nothing + +type RequestOptions + blocking::Bool + query_params::Vector{Tuple} + request_timeout::Float64 + callback::Union{Function,Bool} + content_type::AbstractString + headers::Vector{Tuple} + ostream::Union{IO, AbstractString, Void} + auto_content_type::Bool + + RequestOptions(; blocking=true, query_params=Array(Tuple,0), request_timeout=def_rto, callback=null_cb, content_type="", headers=Array(Tuple,0), ostream=nothing, auto_content_type=true) = + new(blocking, query_params, request_timeout, callback, content_type, headers, ostream, auto_content_type) +end + +type Response + body + headers :: Dict{AbstractString, Vector{AbstractString}} + http_code + total_time + bytes_recd::Integer + + Response() = new(nothing, Dict{AbstractString, Vector{AbstractString}}(), 0, 0.0, 0) +end + + macro req_n_process(resp_obj_type) quote s3_resp = do_request(env, ro) if (isa(s3_resp.obj, AbstractString) && (length(s3_resp.obj) > 0)) - s3_resp.pd = xp_parse(s3_resp.obj) - s3_resp.obj = $(esc(resp_obj_type))(s3_resp.pd) + s3_resp.pd = LightXML.root(LightXML.parse_string(s3_resp.obj)) end s3_resp end @@ -44,7 +73,8 @@ type S3Response # All header fields obj::Any - pd::Union{ETree, Void} + ## pd::Union{ETree, Void} + pd::Union{LightXML.XMLElement, Void} S3Response() = new(0, "", "", "", 0, false, "","","",Dict{AbstractString,AbstractString}(), nothing, nothing) end @@ -241,6 +271,7 @@ end function create_bkt(env::AWSEnv, bkt::AbstractString; acl::Union{S3_ACL, Void}=nothing, config::Union{CreateBucketConfiguration, Void}=nothing) ro = RO(:PUT, bkt, "") + ro.cont_typ = "application/octet-stream" if isa(acl, AccessControlPolicy) ro.amz_hdrs = amz_headers(Tuple[], acl) end @@ -255,6 +286,7 @@ end function set_bkt_acl(env::AWSEnv, bkt::AbstractString, acl:: Union{AccessControlPolicy, S3_ACL}) ro = RO(:PUT, bkt, "") + ro.cont_typ = "application/octet-stream" ro.sub_res=[("acl", "")] if isa(acl, AccessControlPolicy) ro.body = xml(acl) @@ -268,6 +300,7 @@ end function set_bkt_cors(env::AWSEnv, bkt::AbstractString, cors::CORSConfiguration) ro = RO(:PUT, bkt, "") + ro.cont_typ = "application/octet-stream" ro.sub_res = [("cors", "")] ro.body = xml(cors) @@ -278,6 +311,7 @@ end #TODO : Create LifecycleCongig type function set_bkt_lifecycle(env::AWSEnv, bkt::AbstractString, lifecycleconfig::AbstractString) ro = RO(:PUT, bkt, "") + ro.cont_typ = "application/octet-stream" ro.sub_res = [("lifecycle", "")] ro.body = lifecycleconfig @@ -288,6 +322,7 @@ end function set_bkt_policy(env::AWSEnv, bkt::AbstractString, policy_json::AbstractString) ro = RO(:PUT, bkt, "") + ro.cont_typ = "application/octet-stream" ro.sub_res = [("policy", "")] ro.body = policy_json @@ -297,6 +332,7 @@ end function set_bkt_logging(env::AWSEnv, bkt::AbstractString, logging::BucketLoggingStatus) ro = RO(:PUT, bkt, "") + ro.cont_typ = "application/octet-stream" ro.sub_res = [("logging", "")] ro.body = xml(logging) @@ -308,6 +344,7 @@ end function set_bkt_notification(env::AWSEnv, bkt::AbstractString, notif::NotificationConfiguration) ro = RO(:PUT, bkt, "") + ro.cont_typ = "application/octet-stream" ro.sub_res = [("notification", "")] ro.body = xml(notif) @@ -318,6 +355,7 @@ end function set_bkt_tagging(env::AWSEnv, bkt::AbstractString, tagging::Tagging) ro = RO(:PUT, bkt, "") + ro.cont_typ = "application/octet-stream" ro.sub_res = [("tagging", "")] ro.body = xml(tagging) @@ -327,6 +365,7 @@ end function set_bkt_request_payment(env::AWSEnv, bkt::AbstractString, pay::RequestPaymentConfiguration) ro = RO(:PUT, bkt, "") + ro.cont_typ = "application/octet-stream" ro.sub_res = [("requestPayment", "")] ro.body = xml(pay) @@ -336,6 +375,7 @@ end function set_bkt_versioning(env::AWSEnv, bkt::AbstractString, config::VersioningConfiguration; mfa::AbstractString="") ro = RO(:PUT, bkt, "") + ro.cont_typ = "application/octet-stream" ro.sub_res = [("versioning", "")] ro.body = xml(config) if (mfa != "") ro.amz_hdrs = [("mfa", mfa)] end @@ -347,6 +387,7 @@ end #TODO: Define WebsiteConfiguration as a type and use that.... function set_bkt_website(env::AWSEnv, bkt::AbstractString, websiteconfig::AbstractString) ro = RO(:PUT, bkt, "") + ro.cont_typ = "application/octet-stream" ro.sub_res = [("website", "")] ro.body = websiteconfig @@ -369,6 +410,7 @@ end function del_object_multi(env::AWSEnv, bkt::AbstractString, delset::DeleteObjectsType; mfa::AbstractString="") ro = RO(:POST, bkt, "") + ro.cont_typ = "application/octet-stream" ro.sub_res = [("delete", "")] ro.body= xml(delset) if (mfa != "") ro.amz_hdrs = [("mfa", mfa)] end @@ -435,6 +477,7 @@ function restore_object(env::AWSEnv, bkt::AbstractString, key::AbstractString, d # TODO qp = "restore" # convert days to RestoreRequest ro = RO(:POST, bkt, key) + ro.cont_typ = "application/octet-stream" ro.sub_res=[("restore", "")] ro.body = "$(days)" @@ -446,6 +489,7 @@ end function put_object(env::AWSEnv, bkt::AbstractString, key::AbstractString, data:: Union{IO, AbstractString, Tuple}; content_type="", options::PutObjectOptions=PutObjectOptions(), version_id::AbstractString="") ro = RO(:PUT, bkt, key) + ro.cont_typ = "application/octet-stream" ro.amz_hdrs = amz_headers(Tuple[], options) ro.http_hdrs = http_headers(Array(Tuple, 0), options) @@ -469,6 +513,7 @@ end function put_object_acl(env::AWSEnv, bkt::AbstractString, key::AbstractString, acl:: Union{AccessControlPolicy, S3_ACL}) ro = RO(:PUT, bkt, key) + ro.cont_typ = "application/octet-stream" ro.sub_res=[("acl", "")] if isa(acl, AccessControlPolicy) ro.body = xml(acl) @@ -483,6 +528,7 @@ end function copy_object(env::AWSEnv, dest_bkt::AbstractString, dest_key::AbstractString, options::CopyObjectOptions, version_id::AbstractString="") ro = RO(:PUT, dest_bkt, dest_key) + ro.cont_typ = "application/octet-stream" ro.amz_hdrs = amz_headers(Tuple[], options) if (version_id != "") ro.sub_res=[("versionId", version_id)] @@ -493,6 +539,7 @@ end function initiate_multipart_upload(env::AWSEnv, bkt::AbstractString, key::AbstractString; content_type="", options::PutObjectOptions=PutObjectOptions()) ro = RO(:POST, bkt, key) + ro.cont_typ = "application/octet-stream" ro.amz_hdrs = amz_headers(Tuple[], options) ro.http_hdrs = http_headers(Array(Tuple, 0), options) if (content_type != "") ro.cont_typ = content_type end @@ -503,6 +550,7 @@ end function upload_part(env::AWSEnv, bkt::AbstractString, key::AbstractString, part_number::AbstractString, upload_id::AbstractString, data:: Union{IO, AbstractString, Tuple}) ro = RO(:PUT, bkt, key) + ro.cont_typ = "application/octet-stream" ro.sub_res = [("partNumber", "$(part_number)"), ("uploadId", "$(upload_id)")] if isa(data, AbstractString) @@ -522,6 +570,7 @@ end function copy_upload_part(env::AWSEnv, bkt::AbstractString, key::AbstractString, part_number::AbstractString, upload_id::AbstractString, options::CopyUploadPartOptions) ro = RO(:PUT, bkt, key) + ro.cont_typ = "application/octet-stream" ro.sub_res = [("partNumber", "$(part_number)"), ("uploadId", "$(upload_id)")] ro.amz_hdrs = amz_headers(options) @@ -531,6 +580,7 @@ end function complete_multipart_upload(env::AWSEnv, bkt::AbstractString, key::AbstractString, upload_id::AbstractString, part_ids::Vector{S3PartTag}) ro = RO(:POST, bkt, key) + ro.cont_typ = "application/octet-stream" ro.sub_res = [("uploadId", "$(upload_id)")] ro.body = xml("CompleteMultipartUpload", part_ids) @@ -563,31 +613,34 @@ function do_request(env::AWSEnv, ro::RO; conv_to_string=true) s3_resp = S3Response() - s3_resp.http_code = http_resp.http_code + s3_resp.http_code = http_resp.status cl_s = get(http_resp.headers, "Content-Length", [""])[1] if cl_s != "" s3_resp.content_length = Base.parse(Int, cl_s) end - s3_resp.date = get(http_resp.headers, "Date", [""])[1] - s3_resp.eTag = get(http_resp.headers, "ETag", [""])[1] - s3_resp.server = get(http_resp.headers, "Server", [""])[1] - s3_resp.delete_marker = lowercase(get(http_resp.headers, "x-amz-delete-marker", ["false"])[1]) == "true" ? true : false - s3_resp.id_2 = get(http_resp.headers, "x-amz-id-2", [""])[1] - s3_resp.request_id = get(http_resp.headers, "x-amz-request-id", [""])[1] - s3_resp.version_id = get(http_resp.headers, "x-amz-version-id", [""])[1] + s3_resp.date = get(http_resp.headers, "Date", [""]) + s3_resp.server = get(http_resp.headers, "Server", [""]) + + ## s3_resp.delete_marker = lowercase(get(http_resp.headers, "x-amz-delete-marker", ["false"])[1]) == "true" ? true : false + ## s3_resp.id_2 = get(http_resp.headers, "x-amz-id-2", [""])[1] + ## s3_resp.request_id = get(http_resp.headers, "x-amz-request-id", [""])[1] + ## s3_resp.version_id = get(http_resp.headers, "x-amz-version-id", [""])[1] + s3_resp.headers = http_resp.headers - if (http_resp.http_code > 299) - if (search(Base.get(http_resp.headers, "Content-Type", [""])[1], "/xml") != 0:-1) && isa(http_resp.body, IO) && (position(http_resp.body) > 0) - s3_resp.pd = xp_parse(bytestring(http_resp.body)) + if (http_resp.status > 299) + if (search(Base.get(http_resp.headers, "Content-Type", [""]), "/xml") != 0:-1) && isa(http_resp.data, IO) && (position(http_resp.data) > 0) + s3_resp.pd = LightXML.root(LightXML.parse_string(bytestring(http_resp.data))) if s3_resp.pd.name == "Error" s3_resp.obj = S3Error(s3_resp.pd) end + else + s3_resp.pd = bytestring(http_resp.data) end else - s3_resp.obj = conv_to_string ? bytestring(http_resp.body) : http_resp.body + s3_resp.obj = conv_to_string ? bytestring(http_resp.data) : http_resp.data end s3_resp @@ -610,6 +663,7 @@ function do_http(env::AWSEnv, ro::RO) end (new_amz_hdrs, full_path, s_b64) = canonicalize_and_sign(env, ro, md5) + ## @show new_amz_hdrs, full_path, s_b64 all_hdrs = new_amz_hdrs (md5 != "") ? push!(all_hdrs, ("Content-MD5", md5)) : nothing @@ -628,7 +682,12 @@ function do_http(env::AWSEnv, ro::RO) push!(all_hdrs, ("Authorization", "AWS " * env.aws_id * ":" * s_b64)) - url = "https://s3-$(env.region).amazonaws.com" * full_path + ## region specific URL is not required + ## if( isempty(env.region) ) + url = "https://s3.amazonaws.com" * full_path + ## else + ## url = "https://s3-$(env.region).amazonaws.com" * full_path + ## end http_options = RequestOptions(headers=all_hdrs, ostream=ro.ostream, request_timeout=env.timeout, auto_content_type=false) @@ -643,11 +702,24 @@ function do_http(env::AWSEnv, ro::RO) end if env.dry_run - return HTTPC.Response() + return Requests.Response() end + headers = Dict( + "User-Agent" => "Requests.jl/0.0.0", + "Accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + ) + for (k,v) in all_hdrs + ## println(" $k : $v") + setindex!(headers, v, k) + end + + ## @show headers + ## TODO To include ostream, auto_content_type and timeout values for all VERBS ! + if ro.verb == :GET - http_resp = HTTPC.get(url, http_options) + ## http_resp = HTTPC.get(url, http_options) + http_resp = Requests.get(url; headers = headers) elseif (ro.verb == :PUT) || (ro.verb == :POST) senddata = isa(ro.istream, IO) ? ro.istream : isa(ro.istream, AbstractString) ? (:file, ro.istream) : @@ -656,16 +728,20 @@ function do_http(env::AWSEnv, ro::RO) # error("Must specify either a body or istream for PUT/POST") if (ro.verb == :PUT) - http_resp = HTTPC.put(url, senddata, http_options) + ## http_resp = HTTPC.put(url, senddata, http_options) + http_resp = Requests.put(URIParser.parse_url(url), senddata; headers=headers) else - http_resp = HTTPC.post(url, senddata, http_options) + ## http_resp = HTTPC.post(url, senddata, http_options) + http_resp = Requests.post(URIParser.parse_url(url), senddata; headers=headers) end elseif ro.verb == :DELETE - http_resp = HTTPC.delete(url, http_options) + ## http_resp = HTTPC.delete(url, http_options) + http_resp = Requests.delete(URIParser.parse_url(url); headers=headers) elseif ro.verb == :HEAD - http_resp = HTTPC.head(url, http_options) + ## http_resp = HTTPC.head(url, http_options) + http_resp = Requests.head(URIParser.parse_url(url); headers=headers) else error("Unknown HTTP verb $verb") @@ -755,7 +831,7 @@ function get_canonicalized_resource(ro::RO) end end - canon_res = part1 * "?" * HTTPC.urlencode_query_params(sorted) + canon_res = part1 * "?" * Requests.format_query_str(sorted) canon_sign_res = part1 if length(signlist) > 0 diff --git a/src/SQS.jl b/src/SQS.jl new file mode 100644 index 0000000000..682a4bf2ae --- /dev/null +++ b/src/SQS.jl @@ -0,0 +1,117 @@ +module SQS + +import URIParser + +using Requests +using LightXML +using AWS.AWSEnv +using AWS + + +type SQSError + typ::AbstractString + code::AbstractString + msg::AbstractString + detail::AbstractString + request_id::Union{AbstractString, Void} +end +export SQSError + +sqs_error_str(o::SQSError) = "type: $(o.typ), code: $(o.code), msg : $(o.msg), $(o.request_id)" +export sqs_error_str + + +type SQSResponse + http_code::Int + headers + body::Union{AbstractString, Void} + pd::Union{LightXML.XMLElement, Void} + obj::Any + + SQSResponse() = new(0, Dict{Any, Any}(), "", nothing, nothing) +end +export SQSResponse + + +function sqs_execute(env_::AWSEnv, action::AbstractString, ep, params_in, use_post) + # Adjust endpoint. + env = env_ + if ep != nothing + env = AWSEnv(env_; ep=ep) + end + + # Prepare the standard params + params = copy(params_in) + + push!(params, ("Action", action)) + push!(params, ("AWSAccessKeyId", env.aws_id)) + push!(params, ("Timestamp", get_utc_timestamp())) + push!(params, ("Version", "2012-11-05")) + + amz_headers, data, signed_querystr = canonicalize_and_sign(env, "sqs", use_post, params) + + complete_url = "https://" * ep_host(env, "sqs") * env.ep_path + if length(signed_querystr) > 0 + complete_url *= "?" * signed_querystr + end + if (env.dbg) || (env.dry_run) + println("URL:\n$complete_url\n") + end + + headers = Dict( + "User-Agent" => "Requests.jl/0.0.0", + "Accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + ) + for (k,v) in amz_headers + setindex!(headers, v, k) + end + + #make the request + sqsresp = SQSResponse() + if !(env.dry_run) + ## ro = HTTPC.RequestOptions(headers = amz_headers, request_timeout = env.timeout) + ## TODO timout value to be passed to Requests ! + if use_post + ## resp = HTTPC.post(complete_url, data, ro) + resp = Requests.post(URIParser.parse_url(complete_url), data; headers=headers) + else + ## resp = HTTPC.get(complete_url, ro) + resp = Requests.get(complete_url; headers = headers) + end + + sqsresp.http_code = resp.status + sqsresp.headers = resp.headers + sqsresp.body = bytestring(resp.data) + + if (env.dbg) + print("HTTPCode: ", sqsresp.http_code, "\nHeaders: ", sqsresp.headers, "\nBody : ", sqsresp.body, "\n") + end + + if (sqsresp.http_code >= 200) && (sqsresp.http_code <= 299) + if (search(Base.get(resp.headers, "Content-Type", [""]), "/xml") != 0:-1) +# if haskey(resp.headers, "Content-Type") && (resp.headers["Content-Type"] == "application/xml") + sqsresp.pd = LightXML.root(LightXML.parse_string(bytestring(sqsresp.body))) + end + elseif (sqsresp.http_code >= 400) && (sqsresp.http_code <= 599) + if length(sqsresp.body) > 0 + xom = LightXML.root(LightXML.parse_string(bytestring(sqsresp.body))) + epd = LightXML.find_element(xom, "Error") + if epd == nothing + error("HTTP error : $(resp.status), $(sqsresp.body)") + end + sqsresp.obj = SQSError(LightXML.content(LightXML.find_element(epd, "Type")), LightXML.content(LightXML.find_element(epd, "Code")), LightXML.content(LightXML.find_element(epd, "Message")), LightXML.content(LightXML.find_element(epd, "Detail")), LightXML.content(LightXML.find_element(xom, "RequestId"))) + else + error("HTTP error : $(resp.http_code)") + end + else + error("HTTP error : $(resp.http_code), $(sqsresp.body)") + end + end + + sqsresp +end + +include("sqs_typed.jl") + + +end diff --git a/src/aws_utils.jl b/src/aws_utils.jl index 16e05dac60..64ba4ed4c4 100644 --- a/src/aws_utils.jl +++ b/src/aws_utils.jl @@ -3,6 +3,7 @@ safe_parseint32(s) = (s != nothing) ? Base.parse(Int32, s) : nothing safe_parseint64(s) = (s != nothing) ? Base.parse(Int64, s) : nothing safe_parseint(s) = (s != nothing) ? Base.parse(Int, s) : nothing safe_parsebool(s) = (s != nothing) ? ((lowercase(s) == "true") ? true : false) : nothing +safe_parseb64(s) = (s != nothing) ? base64decode(s) : nothing function safe_parse_as(as::Type, s::Union{AbstractString, Void}) if (as == AbstractString) || (s == nothing) @@ -29,20 +30,20 @@ macro parse_vector(typ, vect) jl_vect = $(esc(typ))[] if ($(esc(vect)) != nothing) for pd in $(esc(vect)) - push!(jl_vect, $(typ)(pd)) + push!(jl_vect, $(typ)(pd)) end end jl_vect end end export @parse_vector - + function parse_vector_as(as_type::Type, typ_str::AbstractString, vect) jl_vect = as_type[] if (vect == nothing) return jl_vect end for pd in vect - val = LibExpat.find(pd, "/" * typ_str * "#text") + val = LightXML.content(LightXML.find_element(pd, typ_str)) val = safe_parse_as(as_type, val) if (val == nothing) error("Invalid $(typ_str) for pd vector") end push!(jl_vect, val) @@ -52,11 +53,11 @@ function parse_vector_as(as_type::Type, typ_str::AbstractString, vect) end export parse_vector_as -function parse_calendar_time(pd::ETree, elem::AbstractString, format::AbstractString) - datestr = LibExpat.find(pd, "$(elem)#text") +function parse_calendar_time(pd, elem::AbstractString, format::AbstractString) + datestr = LightXML.content(LightXML.find_element(pd, elem)) DateTime(datestr[1:end-1], format) end -parse_calendar_time(pd::ETree, elem::AbstractString) = parse_calendar_time(pd, elem, "yyyy-MM-DD'T'HH:mm:ss") +parse_calendar_time(pd, elem::AbstractString) = parse_calendar_time(pd, elem, "yyyy-MM-DD'T'HH:mm:ss") xml(o::Any) = string(o) diff --git a/src/ec2_types.jl b/src/ec2_types.jl index 6847d65592..a7e8142a92 100644 --- a/src/ec2_types.jl +++ b/src/ec2_types.jl @@ -5,10 +5,11 @@ type CreateImageResponseType CreateImageResponseType(; requestId=nothing, imageId=nothing) = new(requestId, imageId) end -function CreateImageResponseType(pd::ETree) +## function CreateImageResponseType(pd) +function CreateImageResponseType(pd) o = CreateImageResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.imageId = LibExpat.find(pd, "imageId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.imageId = LightXML.content(LightXML.find_element(pd, "imageId")) o end @@ -22,10 +23,11 @@ type RegisterImageResponseType RegisterImageResponseType(; requestId=nothing, imageId=nothing) = new(requestId, imageId) end -function RegisterImageResponseType(pd::ETree) +## function RegisterImageResponseType(pd) +function RegisterImageResponseType(pd) o = RegisterImageResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.imageId = LibExpat.find(pd, "imageId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.imageId = LightXML.content(LightXML.find_element(pd, "imageId")) o end @@ -38,9 +40,10 @@ type DeregisterImageType DeregisterImageType(; imageId=nothing) = new(imageId) end -function DeregisterImageType(pd::ETree) +## function DeregisterImageType(pd) +function DeregisterImageType(pd) o = DeregisterImageType() - o.imageId = LibExpat.find(pd, "imageId#string") + o.imageId = LightXML.content(LightXML.find_element(pd, "imageId")) o end @@ -54,10 +57,11 @@ type DeregisterImageResponseType DeregisterImageResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeregisterImageResponseType(pd::ETree) +## function DeregisterImageResponseType(pd) +function DeregisterImageResponseType(pd) o = DeregisterImageResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -70,9 +74,10 @@ type CreateKeyPairType CreateKeyPairType(; keyName=nothing) = new(keyName) end -function CreateKeyPairType(pd::ETree) +## function CreateKeyPairType(pd) +function CreateKeyPairType(pd) o = CreateKeyPairType() - o.keyName = LibExpat.find(pd, "keyName#string") + o.keyName = LightXML.content(LightXML.find_element(pd, "keyName")) o end @@ -88,12 +93,13 @@ type CreateKeyPairResponseType CreateKeyPairResponseType(; requestId=nothing, keyName=nothing, keyFingerprint=nothing, keyMaterial=nothing) = new(requestId, keyName, keyFingerprint, keyMaterial) end -function CreateKeyPairResponseType(pd::ETree) +## function CreateKeyPairResponseType(pd) +function CreateKeyPairResponseType(pd) o = CreateKeyPairResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.keyName = LibExpat.find(pd, "keyName#string") - o.keyFingerprint = LibExpat.find(pd, "keyFingerprint#string") - o.keyMaterial = LibExpat.find(pd, "keyMaterial#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.keyName = LightXML.content(LightXML.find_element(pd, "keyName")) + o.keyFingerprint = LightXML.content(LightXML.find_element(pd, "keyFingerprint")) + o.keyMaterial = LightXML.content(LightXML.find_element(pd, "keyMaterial")) o end @@ -107,10 +113,11 @@ type ImportKeyPairType ImportKeyPairType(; keyName=nothing, publicKeyMaterial=nothing) = new(keyName, publicKeyMaterial) end -function ImportKeyPairType(pd::ETree) +## function ImportKeyPairType(pd) +function ImportKeyPairType(pd) o = ImportKeyPairType() - o.keyName = LibExpat.find(pd, "keyName#string") - o.publicKeyMaterial = LibExpat.find(pd, "publicKeyMaterial#string") + o.keyName = LightXML.content(LightXML.find_element(pd, "keyName")) + o.publicKeyMaterial = LightXML.content(LightXML.find_element(pd, "publicKeyMaterial")) o end @@ -125,11 +132,11 @@ type ImportKeyPairResponseType ImportKeyPairResponseType(; requestId=nothing, keyName=nothing, keyFingerprint=nothing) = new(requestId, keyName, keyFingerprint) end -function ImportKeyPairResponseType(pd::ETree) +function ImportKeyPairResponseType(pd) o = ImportKeyPairResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.keyName = LibExpat.find(pd, "keyName#string") - o.keyFingerprint = LibExpat.find(pd, "keyFingerprint#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.keyName = LightXML.content(LightXML.find_element(pd, "keyName")) + o.keyFingerprint = LightXML.content(LightXML.find_element(pd, "keyFingerprint")) o end @@ -142,9 +149,9 @@ type DeleteKeyPairType DeleteKeyPairType(; keyName=nothing) = new(keyName) end -function DeleteKeyPairType(pd::ETree) +function DeleteKeyPairType(pd) o = DeleteKeyPairType() - o.keyName = LibExpat.find(pd, "keyName#string") + o.keyName = LightXML.content(LightXML.find_element(pd, "keyName")) o end @@ -158,10 +165,10 @@ type DeleteKeyPairResponseType DeleteKeyPairResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteKeyPairResponseType(pd::ETree) +function DeleteKeyPairResponseType(pd) o = DeleteKeyPairResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -174,9 +181,9 @@ type DescribeKeyPairsItemType DescribeKeyPairsItemType(; keyName=nothing) = new(keyName) end -function DescribeKeyPairsItemType(pd::ETree) +function DescribeKeyPairsItemType(pd) o = DescribeKeyPairsItemType() - o.keyName = LibExpat.find(pd, "keyName#string") + o.keyName = LightXML.content(LightXML.find_element(pd, "keyName")) o end @@ -190,10 +197,10 @@ type DescribeKeyPairsResponseItemType DescribeKeyPairsResponseItemType(; keyName=nothing, keyFingerprint=nothing) = new(keyName, keyFingerprint) end -function DescribeKeyPairsResponseItemType(pd::ETree) +function DescribeKeyPairsResponseItemType(pd) o = DescribeKeyPairsResponseItemType() - o.keyName = LibExpat.find(pd, "keyName#string") - o.keyFingerprint = LibExpat.find(pd, "keyFingerprint#string") + o.keyName = LightXML.content(LightXML.find_element(pd, "keyName")) + o.keyFingerprint = LightXML.content(LightXML.find_element(pd, "keyFingerprint")) o end @@ -207,10 +214,10 @@ type IamInstanceProfileRequestType IamInstanceProfileRequestType(; arn=nothing, name=nothing) = new(arn, name) end -function IamInstanceProfileRequestType(pd::ETree) +function IamInstanceProfileRequestType(pd) o = IamInstanceProfileRequestType() - o.arn = LibExpat.find(pd, "arn#string") - o.name = LibExpat.find(pd, "name#string") + o.arn = LightXML.content(LightXML.find_element(pd, "arn")) + o.name = LightXML.content(LightXML.find_element(pd, "name")) o end @@ -224,10 +231,10 @@ type PrivateIpAddressesSetItemRequestType PrivateIpAddressesSetItemRequestType(; privateIpAddress=nothing, primary=nothing) = new(privateIpAddress, primary) end -function PrivateIpAddressesSetItemRequestType(pd::ETree) +function PrivateIpAddressesSetItemRequestType(pd) o = PrivateIpAddressesSetItemRequestType() - o.privateIpAddress = LibExpat.find(pd, "privateIpAddress#string") - o.primary = AWS.safe_parse_as(Bool, LibExpat.find(pd, "primary#string")) + o.privateIpAddress = LightXML.content(LightXML.find_element(pd, "privateIpAddress")) + o.primary = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "primary"))) o end @@ -241,10 +248,10 @@ type ImportInstanceGroupItemType ImportInstanceGroupItemType(; groupId=nothing, groupName=nothing) = new(groupId, groupName) end -function ImportInstanceGroupItemType(pd::ETree) +function ImportInstanceGroupItemType(pd) o = ImportInstanceGroupItemType() - o.groupId = LibExpat.find(pd, "groupId#string") - o.groupName = LibExpat.find(pd, "groupName#string") + o.groupId = LightXML.content(LightXML.find_element(pd, "groupId")) + o.groupName = LightXML.content(LightXML.find_element(pd, "groupName")) o end @@ -258,10 +265,10 @@ type GroupItemType GroupItemType(; groupId=nothing, groupName=nothing) = new(groupId, groupName) end -function GroupItemType(pd::ETree) +function GroupItemType(pd) o = GroupItemType() - o.groupId = LibExpat.find(pd, "groupId#string") - o.groupName = LibExpat.find(pd, "groupName#string") + o.groupId = LightXML.content(LightXML.find_element(pd, "groupId")) + o.groupName = LightXML.content(LightXML.find_element(pd, "groupName")) o end @@ -274,9 +281,9 @@ type UserDataType UserDataType(; data=nothing) = new(data) end -function UserDataType(pd::ETree) +function UserDataType(pd) o = UserDataType() - o.data = LibExpat.find(pd, "data#string") + o.data = LightXML.content(LightXML.find_element(pd, "data")) o end @@ -295,13 +302,13 @@ type EbsBlockDeviceType EbsBlockDeviceType(; snapshotId=nothing, volumeSize=nothing, deleteOnTermination=nothing, volumeType=nothing, iops=nothing) = new(snapshotId, volumeSize, deleteOnTermination, volumeType, iops) end -function EbsBlockDeviceType(pd::ETree) +function EbsBlockDeviceType(pd) o = EbsBlockDeviceType() - o.snapshotId = LibExpat.find(pd, "snapshotId#string") - o.volumeSize = AWS.safe_parse_as(Int64, LibExpat.find(pd, "volumeSize#string")) - o.deleteOnTermination = AWS.safe_parse_as(Bool, LibExpat.find(pd, "deleteOnTermination#string")) - o.volumeType = LibExpat.find(pd, "volumeType#string") - o.iops = AWS.safe_parse_as(Int64, LibExpat.find(pd, "iops#string")) + o.snapshotId = LightXML.content(LightXML.find_element(pd, "snapshotId")) + o.volumeSize = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "volumeSize"))) + o.deleteOnTermination = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "deleteOnTermination"))) + o.volumeType = LightXML.content(LightXML.find_element(pd, "volumeType")) + o.iops = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "iops"))) o end @@ -316,12 +323,13 @@ type BlockDeviceMappingItemType BlockDeviceMappingItemType(; deviceName=nothing, virtualName=nothing, noDevice=nothing, ebs=nothing) = new(deviceName, virtualName, noDevice, ebs) end -function BlockDeviceMappingItemType(pd::ETree) +function BlockDeviceMappingItemType(pd) o = BlockDeviceMappingItemType() - o.deviceName = LibExpat.find(pd, "deviceName#string") - o.virtualName = LibExpat.find(pd, "virtualName#string") - o.noDevice = LibExpat.find(pd, "noDevice#string") - o.ebs = length(pd["ebsBlockDevice"]) > 0 ? EbsBlockDeviceType(LibExpat.find(pd,"ebsBlockDevice[1]")) : nothing + o.deviceName = LightXML.content(LightXML.find_element(pd, "deviceName")) + o.virtualName = LightXML.content(LightXML.find_element(pd, "virtualName")) + o.noDevice = LightXML.content(LightXML.find_element(pd, "noDevice")) + ## o.ebs = length(pd["ebsBlockDevice"]) > 0 ? EbsBlockDeviceType(LightXML.content(LightXML.find_element(pd,"ebsBlockDevice[1]")) : nothing + o.ebs = LightXML.find_element(pd,"ebsBlockDevice") != nothing ? EbsBlockDeviceType(LightXML.find_element(pd,"ebsBlockDevice")) : nothing o end @@ -335,11 +343,11 @@ type PlacementRequestType PlacementRequestType(; availabilityZone=nothing, groupName=nothing, tenancy=nothing) = new(availabilityZone, groupName, tenancy) end -function PlacementRequestType(pd::ETree) +function PlacementRequestType(pd) o = PlacementRequestType() - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.groupName = LibExpat.find(pd, "groupName#string") - o.tenancy = LibExpat.find(pd, "tenancy#string") + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.groupName = LightXML.content(LightXML.find_element(pd, "groupName")) + o.tenancy = LightXML.content(LightXML.find_element(pd, "tenancy")) o end @@ -353,10 +361,10 @@ type SpotPlacementRequestType SpotPlacementRequestType(; availabilityZone=nothing, groupName=nothing) = new(availabilityZone, groupName) end -function SpotPlacementRequestType(pd::ETree) +function SpotPlacementRequestType(pd) o = SpotPlacementRequestType() - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.groupName = LibExpat.find(pd, "groupName#string") + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.groupName = LightXML.content(LightXML.find_element(pd, "groupName")) o end @@ -370,10 +378,10 @@ type InstancePlacementType InstancePlacementType(; availabilityZone=nothing, groupName=nothing) = new(availabilityZone, groupName) end -function InstancePlacementType(pd::ETree) +function InstancePlacementType(pd) o = InstancePlacementType() - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.groupName = LibExpat.find(pd, "groupName#string") + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.groupName = LightXML.content(LightXML.find_element(pd, "groupName")) o end @@ -386,9 +394,9 @@ type MonitoringInstanceType MonitoringInstanceType(; enabled=nothing) = new(enabled) end -function MonitoringInstanceType(pd::ETree) +function MonitoringInstanceType(pd) o = MonitoringInstanceType() - o.enabled = AWS.safe_parse_as(Bool, LibExpat.find(pd, "enabled#string")) + o.enabled = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "enabled"))) o end @@ -401,9 +409,9 @@ type InstanceLicenseRequestType InstanceLicenseRequestType(; pool=nothing) = new(pool) end -function InstanceLicenseRequestType(pd::ETree) +function InstanceLicenseRequestType(pd) o = InstanceLicenseRequestType() - o.pool = LibExpat.find(pd, "pool#string") + o.pool = LightXML.content(LightXML.find_element(pd, "pool")) o end @@ -417,10 +425,10 @@ type IamInstanceProfileResponseType IamInstanceProfileResponseType(; arn=nothing, id=nothing) = new(arn, id) end -function IamInstanceProfileResponseType(pd::ETree) +function IamInstanceProfileResponseType(pd) o = IamInstanceProfileResponseType() - o.arn = LibExpat.find(pd, "arn#string") - o.id = LibExpat.find(pd, "id#string") + o.arn = LightXML.content(LightXML.find_element(pd, "arn")) + o.id = LightXML.content(LightXML.find_element(pd, "id")) o end @@ -437,13 +445,13 @@ type InstanceNetworkInterfaceAttachmentType InstanceNetworkInterfaceAttachmentType(; attachmentId=nothing, deviceIndex=nothing, status=nothing, attachTime=nothing, deleteOnTermination=nothing) = new(attachmentId, deviceIndex, status, attachTime, deleteOnTermination) end -function InstanceNetworkInterfaceAttachmentType(pd::ETree) +function InstanceNetworkInterfaceAttachmentType(pd) o = InstanceNetworkInterfaceAttachmentType() - o.attachmentId = LibExpat.find(pd, "attachmentId#string") - o.deviceIndex = AWS.safe_parse_as(Int64, LibExpat.find(pd, "deviceIndex#string")) - o.status = LibExpat.find(pd, "status#string") - o.attachTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "attachTime#string")) - o.deleteOnTermination = AWS.safe_parse_as(Bool, LibExpat.find(pd, "deleteOnTermination#string")) + o.attachmentId = LightXML.content(LightXML.find_element(pd, "attachmentId")) + o.deviceIndex = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "deviceIndex"))) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.attachTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "attachTime"))) + o.deleteOnTermination = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "deleteOnTermination"))) o end @@ -458,11 +466,11 @@ type InstanceNetworkInterfaceAssociationType InstanceNetworkInterfaceAssociationType(; publicIp=nothing, publicDnsName=nothing, ipOwnerId=nothing) = new(publicIp, publicDnsName, ipOwnerId) end -function InstanceNetworkInterfaceAssociationType(pd::ETree) +function InstanceNetworkInterfaceAssociationType(pd) o = InstanceNetworkInterfaceAssociationType() - o.publicIp = LibExpat.find(pd, "publicIp#string") - o.publicDnsName = LibExpat.find(pd, "publicDnsName#string") - o.ipOwnerId = LibExpat.find(pd, "ipOwnerId#string") + o.publicIp = LightXML.content(LightXML.find_element(pd, "publicIp")) + o.publicDnsName = LightXML.content(LightXML.find_element(pd, "publicDnsName")) + o.ipOwnerId = LightXML.content(LightXML.find_element(pd, "ipOwnerId")) o end @@ -477,11 +485,11 @@ type PlacementResponseType PlacementResponseType(; availabilityZone=nothing, groupName=nothing, tenancy=nothing) = new(availabilityZone, groupName, tenancy) end -function PlacementResponseType(pd::ETree) +function PlacementResponseType(pd) o = PlacementResponseType() - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.groupName = LibExpat.find(pd, "groupName#string") - o.tenancy = LibExpat.find(pd, "tenancy#string") + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.groupName = LightXML.content(LightXML.find_element(pd, "groupName")) + o.tenancy = LightXML.content(LightXML.find_element(pd, "tenancy")) o end @@ -495,10 +503,10 @@ type StateReasonType StateReasonType(; code=nothing, message=nothing) = new(code, message) end -function StateReasonType(pd::ETree) +function StateReasonType(pd) o = StateReasonType() - o.code = LibExpat.find(pd, "code#string") - o.message = LibExpat.find(pd, "message#string") + o.code = LightXML.content(LightXML.find_element(pd, "code")) + o.message = LightXML.content(LightXML.find_element(pd, "message")) o end @@ -511,9 +519,9 @@ type InstanceBlockDeviceMappingResponseItemType InstanceBlockDeviceMappingResponseItemType(; deviceName=nothing) = new(deviceName) end -function InstanceBlockDeviceMappingResponseItemType(pd::ETree) +function InstanceBlockDeviceMappingResponseItemType(pd) o = InstanceBlockDeviceMappingResponseItemType() - o.deviceName = LibExpat.find(pd, "deviceName#string") + o.deviceName = LightXML.content(LightXML.find_element(pd, "deviceName")) o end @@ -529,12 +537,12 @@ type EbsInstanceBlockDeviceMappingResponseType EbsInstanceBlockDeviceMappingResponseType(; volumeId=nothing, status=nothing, attachTime=nothing, deleteOnTermination=nothing) = new(volumeId, status, attachTime, deleteOnTermination) end -function EbsInstanceBlockDeviceMappingResponseType(pd::ETree) +function EbsInstanceBlockDeviceMappingResponseType(pd) o = EbsInstanceBlockDeviceMappingResponseType() - o.volumeId = LibExpat.find(pd, "volumeId#string") - o.status = LibExpat.find(pd, "status#string") - o.attachTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "attachTime#string")) - o.deleteOnTermination = AWS.safe_parse_as(Bool, LibExpat.find(pd, "deleteOnTermination#string")) + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.attachTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "attachTime"))) + o.deleteOnTermination = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "deleteOnTermination"))) o end @@ -547,9 +555,9 @@ type InstanceLicenseResponseType InstanceLicenseResponseType(; pool=nothing) = new(pool) end -function InstanceLicenseResponseType(pd::ETree) +function InstanceLicenseResponseType(pd) o = InstanceLicenseResponseType() - o.pool = LibExpat.find(pd, "pool#string") + o.pool = LightXML.content(LightXML.find_element(pd, "pool")) o end @@ -562,9 +570,9 @@ type AccountAttributeNameSetItemType AccountAttributeNameSetItemType(; attributeName=nothing) = new(attributeName) end -function AccountAttributeNameSetItemType(pd::ETree) +function AccountAttributeNameSetItemType(pd) o = AccountAttributeNameSetItemType() - o.attributeName = LibExpat.find(pd, "attributeName#string") + o.attributeName = LightXML.content(LightXML.find_element(pd, "attributeName")) o end @@ -578,10 +586,10 @@ type AccountAttributeSetItemType AccountAttributeSetItemType(; attributeName=nothing, attributeValueSet=nothing) = new(attributeName, attributeValueSet) end -function AccountAttributeSetItemType(pd::ETree) +function AccountAttributeSetItemType(pd) o = AccountAttributeSetItemType() - o.attributeName = LibExpat.find(pd, "attributeName#string") - o.attributeValueSet = AWS.parse_vector_as(ASCIIString, "attributeValue", LibExpat.find(pd, "item/attributeValue")) + o.attributeName = LightXML.content(LightXML.find_element(pd, "attributeName")) + o.attributeValueSet = AWS.parse_vector_as(ASCIIString, "attributeValue", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "attributeValue")) o end @@ -594,9 +602,9 @@ type AccountAttributeValueSetItemType AccountAttributeValueSetItemType(; attributeValue=nothing) = new(attributeValue) end -function AccountAttributeValueSetItemType(pd::ETree) +function AccountAttributeValueSetItemType(pd) o = AccountAttributeValueSetItemType() - o.attributeValue = LibExpat.find(pd, "attributeValue#string") + o.attributeValue = LightXML.content(LightXML.find_element(pd, "attributeValue")) o end @@ -609,9 +617,9 @@ type DescribeVpcAttributeType DescribeVpcAttributeType(; vpcId=nothing) = new(vpcId) end -function DescribeVpcAttributeType(pd::ETree) +function DescribeVpcAttributeType(pd) o = DescribeVpcAttributeType() - o.vpcId = LibExpat.find(pd, "vpcId#string") + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) o end @@ -625,10 +633,10 @@ type DescribeVpcAttributeResponseType DescribeVpcAttributeResponseType(; requestId=nothing, vpcId=nothing) = new(requestId, vpcId) end -function DescribeVpcAttributeResponseType(pd::ETree) +function DescribeVpcAttributeResponseType(pd) o = DescribeVpcAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.vpcId = LibExpat.find(pd, "vpcId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) o end @@ -641,9 +649,9 @@ type ModifyVpcAttributeType ModifyVpcAttributeType(; vpcId=nothing) = new(vpcId) end -function ModifyVpcAttributeType(pd::ETree) +function ModifyVpcAttributeType(pd) o = ModifyVpcAttributeType() - o.vpcId = LibExpat.find(pd, "vpcId#string") + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) o end @@ -657,10 +665,10 @@ type ModifyVpcAttributeResponseType ModifyVpcAttributeResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ModifyVpcAttributeResponseType(pd::ETree) +function ModifyVpcAttributeResponseType(pd) o = ModifyVpcAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -674,11 +682,11 @@ type VpcPeeringConnectionVpcInfoType VpcPeeringConnectionVpcInfoType(; ownerId=nothing, vpcId=nothing, cidrBlock=nothing) = new(ownerId, vpcId, cidrBlock) end -function VpcPeeringConnectionVpcInfoType(pd::ETree) +function VpcPeeringConnectionVpcInfoType(pd) o = VpcPeeringConnectionVpcInfoType() - o.ownerId = LibExpat.find(pd, "ownerId#string") - o.vpcId = LibExpat.find(pd, "vpcId#string") - o.cidrBlock = LibExpat.find(pd, "cidrBlock#string") + o.ownerId = LightXML.content(LightXML.find_element(pd, "ownerId")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) + o.cidrBlock = LightXML.content(LightXML.find_element(pd, "cidrBlock")) o end @@ -691,10 +699,10 @@ type VpcPeeringConnectionStateReasonType VpcPeeringConnectionStateReasonType(; code=nothing, message=nothing) = new(code, message) end -function VpcPeeringConnectionStateReasonType(pd::ETree) +function VpcPeeringConnectionStateReasonType(pd) o = VpcPeeringConnectionStateReasonType() - o.code = LibExpat.find(pd, "code#string") - o.message = LibExpat.find(pd, "message#string") + o.code = LightXML.content(LightXML.find_element(pd, "code")) + o.message = LightXML.content(LightXML.find_element(pd, "message")) o end @@ -708,10 +716,10 @@ type ResourceTagSetItemType ResourceTagSetItemType(; key=nothing, value=nothing) = new(key, value) end -function ResourceTagSetItemType(pd::ETree) +function ResourceTagSetItemType(pd) o = ResourceTagSetItemType() - o.key = LibExpat.find(pd, "key#string") - o.value = LibExpat.find(pd, "value#string") + o.key = LightXML.content(LightXML.find_element(pd, "key")) + o.value = LightXML.content(LightXML.find_element(pd, "value")) o end @@ -730,14 +738,14 @@ type VpcPeeringConnectionType expirationTime=nothing, tagSet=nothing) = new(vpcPeeringConnectionId, requesterVpcInfo, accepterVpcInfo, status, expirationTime, tagSet) end -function VpcPeeringConnectionType(pd::ETree) +function VpcPeeringConnectionType(pd) o = VpcPeeringConnectionType() - o.vpcPeeringConnectionId = LibExpat.find(pd, "vpcPeeringConnectionId#string") - o.requesterVpcInfo = AWS.@parse_vector(AWS.EC2.VpcPeeringConnectionVpcInfoType, LibExpat.find(pd, "requesterVpcInfo")) - o.accepterVpcInfo = AWS.@parse_vector(AWS.EC2.VpcPeeringConnectionVpcInfoType, LibExpat.find(pd, "accepterVpcInfo")) - o.status = AWS.@parse_vector(AWS.EC2.VpcPeeringConnectionStateReasonType, LibExpat.find(pd, "status")) - o.expirationTime = AWS.safe_parse_as(DateTime, LibExpat.find(pd, "expirationTime#string")) - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) + o.vpcPeeringConnectionId = LightXML.content(LightXML.find_element(pd, "vpcPeeringConnectionId")) + o.requesterVpcInfo = AWS.@parse_vector(AWS.EC2.VpcPeeringConnectionVpcInfoType, LightXML.get_elements_by_tagname(pd, "requesterVpcInfo")) + o.accepterVpcInfo = AWS.@parse_vector(AWS.EC2.VpcPeeringConnectionVpcInfoType, LightXML.get_elements_by_tagname(pd, "accepterVpcInfo")) + o.status = AWS.@parse_vector(AWS.EC2.VpcPeeringConnectionStateReasonType, LightXML.get_elements_by_tagname(pd, "status")) + o.expirationTime = AWS.safe_parse_as(DateTime, LightXML.content(LightXML.find_element(pd, "expirationTime"))) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(LightXML.find_element(pd, "tagSet"), "item"))) o end @@ -749,9 +757,9 @@ type AcceptVpcPeeringConnectionType AcceptVpcPeeringConnectionType(; vpcPeeringConnectionId=nothing) = new(vpcPeeringConnectionId) end -function AcceptVpcPeeringConnectionType(pd::ETree) +function AcceptVpcPeeringConnectionType(pd) o = AcceptVpcPeeringConnectionType() - o.vpcPeeringConnectionId = LibExpat.find(pd, "vpcPeeringConnectionId#string") + o.vpcPeeringConnectionId = LightXML.content(LightXML.find_element(pd, "vpcPeeringConnectionId")) o end @@ -764,10 +772,10 @@ type AcceptVpcPeeringConnectionResponseType AcceptVpcPeeringConnectionResponseType(; requestId=nothing, vpcPeeringConnection=nothing) = new(requestId, vpcPeeringConnection) end -function AcceptVpcPeeringConnectionResponseType(pd::ETree) +function AcceptVpcPeeringConnectionResponseType(pd) o = AcceptVPcPeeringConnectionResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.vpcPeeringConnection = AWS.@parse_vector(AWS.EC2.VpcPeeringConnectionType, LibExpat.find(pd, "vpcPeeringConnection")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.vpcPeeringConnection = AWS.@parse_vector(AWS.EC2.VpcPeeringConnectionType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "vpcPeeringConnection"))) o end @@ -784,13 +792,13 @@ type CreateVpcEndpointType CreateVpcEndpointType(; clientToken=nothing, policyDocument=nothing, routeTableIdSet=nothing, serviceName=nothing, vpcId=nothing) = new(clientToken, policyDocument, routeTableId, serviceName, vpcId) end -function CreateVpcEndpointType(pd::ETree) +function CreateVpcEndpointType(pd) o = CreateVpcEndpointType() - clientToken = LibExpat.find(pd, "clientToken#string") - policyDocument = LibExpat.find(pd, "policyDocument#string") - routeTableIdSet = AWS.parse_vector_as(ASCIIString, "routeTableId", LibExpat.find(pd, "item/routeTableId")) - serviceName = LibExpat.find(pd, "serviceName#string") - vpcId = LibExpat.find(pd, "vpcId#string") + clientToken = LightXML.content(LightXML.find_element(pd, "clientToken")) + policyDocument = LightXML.content(LightXML.find_element(pd, "policyDocument")) + routeTableIdSet = AWS.parse_vector_as(ASCIIString, "routeTableId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "routeTableId")) + serviceName = LightXML.content(LightXML.find_element(pd, "serviceName")) + vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) o end @@ -810,15 +818,15 @@ type VpcEndpointType state=nothing, vpcEndpointId=nothing, vpcId=nothing) = new(creationTimestamp, policyDocument, routeTableIdSet, serviceName, state, vpcEndpointId, vpcId) end -function VpcEndpointType(pd::ETree) +function VpcEndpointType(pd) o = VpcEndpointType() - o.creationTimestamp = AWS.safe_parse_as(DateTime, LibExpat.find(pd, "creationTimestamp#string")) - o.policyDocument = LibExpat.find(pd, "policyDocument#string") - o.routeTableIdSet = AWS.parse_vector_as(ASCIIString, "routeTableId", LibExpat.find(pd, "item/routeTableId")) - o.serviceName = LibExpat.find(pd, "serviceName#string") - o.state = LibExpat.find(pd, "state#string") - o.vpcEndpointId = LibExpat.find(pd, "vpcEndpointId#string") - o.vpcId = LibExpat.find(pd, "vpdId#string") + o.creationTimestamp = AWS.safe_parse_as(DateTime, LightXML.content(LightXML.find_element(pd, "creationTimestamp"))) + o.policyDocument = LightXML.content(LightXML.find_element(pd, "policyDocument")) + o.routeTableIdSet = AWS.parse_vector_as(ASCIIString, "routeTableId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "routeTableId")) + o.serviceName = LightXML.content(LightXML.find_element(pd, "serviceName")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) + o.vpcEndpointId = LightXML.content(LightXML.find_element(pd, "vpcEndpointId")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpdId")) o end @@ -833,11 +841,11 @@ type CreateVpcEndpointResponseType CreateVpcEndpointResponseType(; clientToken=nothing, requestId=nothing, vpcEndpoint=nothing) = new(clientToken, requestId, vpcEndpoint) end -function CreateVpcEndpointResponseType(pd::ETree) +function CreateVpcEndpointResponseType(pd) o = CreateVpcEndpointResponseType() - o.clientToken = LibExpat.find(pd, "clientToken#string") - o.requestId = LibExpat.find(pd, "requestId#string") - o.vpcEndpoint = AWS.@parse_vector(AWS.EC2.VpcEndpointType, LibExpat.find(pd, "vpcEndpoint")) + o.clientToken = LightXML.content(LightXML.find_element(pd, "clientToken")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.vpcEndpoint = AWS.@parse_vector(AWS.EC2.VpcEndpointType, LightXML.get_elements_by_tagname(pd, "vpcEndpoint")) o end @@ -852,11 +860,11 @@ type CreateVpcPeeringConnectionType CreateVpcPeeringConnectionType(; vpcId=nothing, peerVpcId=nothing, peerOwnerId=nothing) = new(vpcId, peerVpcId, peerOwnerId) end -function CreateVpcPeeringConnectionType(pd::ETree) +function CreateVpcPeeringConnectionType(pd) o = CreateVpcPeeringConnectionType() - o.vpcId = LibExpat.find(pd, "vpcId#string") - o.peerVpcId = LibExpat.find(pd, "peerVpcId#string") - o.peerOwnerId = LibExpat.find(pd, "peerOwnerId#string") + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) + o.peerVpcId = LightXML.content(LightXML.find_element(pd, "peerVpcId")) + o.peerOwnerId = LightXML.content(LightXML.find_element(pd, "peerOwnerId")) o end @@ -870,10 +878,10 @@ type CreateVpcPeeringConnectionResponseType CreateVpcPeeringConnectionResponseType(; requestId=nothing, vpcPeeringConnection=nothing) = new(requestId, vpcPeeringConnection) end -function CreateVpcPeeringConnectionResponseType(pd::ETree) +function CreateVpcPeeringConnectionResponseType(pd) o = CreateVpcPeeringConnectionResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.vpcPeeringConnection = AWS.@parse_vector(AWS.EC2.VpcPeeringConnectionType, LibExpat.find(pd, "vpcPeeringConnection")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.vpcPeeringConnection = AWS.@parse_vector(AWS.EC2.VpcPeeringConnectionType, LightXML.get_elements_by_tagname(pd, "vpcPeeringConnection")) o end @@ -885,9 +893,9 @@ type DeleteVpcEndpointsType DeleteVpcEndpointsType(; vpcEndpointIdSet=nothing) = new(vpcEndpointIdSet) end -function DeleteVpcEndpointsType(pd::ETree) +function DeleteVpcEndpointsType(pd) o = DeleteVpcEndpointsType() - o.vpcEndpointIdSet = AWS.parse_vector_as(ASCIIString, "vpcEndpointId", LibExpat.find(pd, "item/vpcEndpointId")) + o.vpcEndpointIdSet = AWS.parse_vector_as(ASCIIString, "vpcEndpointId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "vpcEndpointId")) end export DeleteVpcEndpointsType @@ -899,10 +907,10 @@ type UnsuccessfulItemErrorType UnsuccessfulItemErrorType(; code=nothing, message=nothing) = new(code, message) end -function UnsuccessfulItemErrorType(pd::ETree) +function UnsuccessfulItemErrorType(pd) o = UnsuccessfulItemErrorType() - o.code = LibExpat.find(pd, "code#string") - o.message = LibExpat.find(pd, "message#string") + o.code = LightXML.content(LightXML.find_element(pd, "code")) + o.message = LightXML.content(LightXML.find_element(pd, "message")) o end @@ -915,10 +923,10 @@ type UnsuccessfulItemType UnsuccessfulItemType(; error=nothing, resourceId=nothing) = new(error, resourceId) end -function UnsuccessfulItemType(pd::ETree) +function UnsuccessfulItemType(pd) o = UnsuccessfulItemType() - o.error = AWS.@parse_vector(AWS.EC2.UnsuccessfulItemErrorType, LibExpat.find(pd, "error")) - o.resourceId = LibExpat.find(pd, "resourceId#string") + o.error = AWS.@parse_vector(AWS.EC2.UnsuccessfulItemErrorType, LightXML.get_elements_by_tagname(pd, "error")) + o.resourceId = LightXML.content(LightXML.find_element(pd, "resourceId")) o end @@ -931,10 +939,10 @@ type DeleteVpcEndpointsResponseType DeleteVpcEndpointsResponseType(; requestId=nothing, unsucessful=nothing) = new(requestId, unsuccessful) end -function DeleteVpcEndpointsResponseType(pd::ETree) +function DeleteVpcEndpointsResponseType(pd) o = DeleteVpcEndpointsResponseType() - o.requestId = LibExpat.find("requestId#string") - o.unsuccessful = AWS.@parse_vector(AWS.EC2.UnsuccessfulItemType, LibExpat.find(pd, "unsuccessful")) + o.requestId = LightXML.content(LightXML.find_element("requestId")) + o.unsuccessful = AWS.@parse_vector(AWS.EC2.UnsuccessfulItemType, LightXML.get_elements_by_tagname(pd, "unsuccessful")) end export DeleteVpcEndpointsResponseType @@ -946,9 +954,9 @@ type VpcEndpointIdSetItemType VpcEndpointIdSetItemType(; vpcEndpointId=nothing) = new(vpcEndpointId) end -function VpcEndpointIdSetItemType(pd::ETree) +function VpcEndpointIdSetItemType(pd) o = VpcEndpointIdSetItemType() - o.vpcEndpointId = LibExpat.find(pd, "vpcEndpointId#string") + o.vpcEndpointId = LightXML.content(LightXML.find_element(pd, "vpcEndpointId")) o end @@ -960,9 +968,9 @@ type DeleteVpcPeeringConnectionType DeleteVpcPeeringConnectionType(; vpcPeeringConnectionID=nothing) = new(vpcPeeringConnectionId) end -function DeleteVpcPeeringConnectionType(pd::ETree) +function DeleteVpcPeeringConnectionType(pd) o = DeleteVpcPeeringConnectionType() - o.vpcPeeringConnectionId = LibExpat.find(pd, "vpcPeeringConnectionId#string") + o.vpcPeeringConnectionId = LightXML.content(LightXML.find_element(pd, "vpcPeeringConnectionId")) o end @@ -975,10 +983,10 @@ type DeleteVpcPeeringConnectionResponseType DeleteVpcPeeringConnectionResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteVpcPeeringConnectionResponseType(pd::ETree) +function DeleteVpcPeeringConnectionResponseType(pd) o = DeleteVpcPeeringConnectionResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -992,10 +1000,10 @@ type FilterType FilterType(; name=nothing, valueSet=nothing) = new(name, valueSet) end -function FilterType(pd::ETree) +function FilterType(pd) o = FilterType() - o.name = LibExpat.find(pd, "name#string") - o.valueSet = AWS.parse_vector_as(ASCIIString, "value", LibExpat.find(pd, "item/value")) + o.name = LightXML.content(LightXML.find_element(pd, "name")) + o.valueSet = AWS.parse_vector_as(ASCIIString, "value", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "value")) o end @@ -1011,12 +1019,12 @@ type DescribePrefixListsType DescribePrefixListsType(; filterSet=nothing, maxResults=nothing, nextToken=nothing, prefixListIdSet=nothing) = new(filterSet, maxResults, nextToken, prefixListIdSet) end -function DescribePrefixListsType(pd::ETree) +function DescribePrefixListsType(pd) o = DescribePrefixListsType() - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) - o.maxResults = AWS.safe_parse_as(Int64, LibExpat.find(pd, "maxResults#string")) - o.nextToken = LibExpat.find(pd, "nextToken#string") - o.prefixListIdSet = AWS.parse_vector_as(ASCIIString, "prefixListId", LibExpat.find(pd, "item/prefixListId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) + o.maxResults = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "maxResults"))) + o.nextToken = LightXML.content(LightXML.find_element(pd, "nextToken")) + o.prefixListIdSet = AWS.parse_vector_as(ASCIIString, "prefixListId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "prefixListId")) o end @@ -1030,11 +1038,11 @@ type PrefixListType PrefixListType(; cidrs=nothing, prefixListId=nothing, prefixListName=nothing) = new(cidrs, prefixListId, prefixListName) end -function PrefixListType(pd::ETree) +function PrefixListType(pd) o = PrefixListType() - o.cidrs = AWS.parse_vector_as(ASCIIString, "cidr", LibExpat.find(pd, "item/cidr")) - o.prefixListId = LibExpat.find(pd, "prefixListId#string") - o.prefixListName = LibExpat.find(pd, "prefixListName#string") + o.cidrs = AWS.parse_vector_as(ASCIIString, "cidr", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "cidr")) + o.prefixListId = LightXML.content(LightXML.find_element(pd, "prefixListId")) + o.prefixListName = LightXML.content(LightXML.find_element(pd, "prefixListName")) o end @@ -1049,10 +1057,10 @@ type DescribePrefixListsResponseType DescribePrefixListsResponseType(; nextToken=nothing, prefixListSet=nothing, requestId=nothing) = new(nextToken, prefixListSet, requestId) end -function DescribePrefixListsResponseType(pd::ETree) +function DescribePrefixListsResponseType(pd) o = DescribePrefixListsResponseType() - o.nextToken = LibExpat.find(pd, "nextToken#string") - o.prefixListSet = AWS.parse_vector_as(ASCIIString, "prefixList", LibExpat.find(pd, "item/prefixList")) + o.nextToken = LightXML.content(LightXML.find_element(pd, "nextToken")) + o.prefixListSet = AWS.parse_vector_as(ASCIIString, "prefixList", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "prefixList")) o end @@ -1065,10 +1073,10 @@ type DescribeVpcEndpointServicesType DescribeVpcEndpointServicesType(; maxResults=nothing, nextToken=nothing) = new(maxResults, nextToken) end -function DescribeVpcEndpointServicesType(pd::ETree) +function DescribeVpcEndpointServicesType(pd) o = DescribeVpcEndpointServicesType() - o.maxResults = AWS.safe_parse_as(Int64, LibExpat.find(pd, "maxResults#string")) - o.nextToken = LibExpat.find(pd, "nextToken#string") + o.maxResults = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "maxResults"))) + o.nextToken = LightXML.content(LightXML.find_element(pd, "nextToken")) o end @@ -1083,11 +1091,11 @@ type DescribeVpcEndpointServicesResponseType DescribeVpcEndpointServicesResponseType(; nextToken=nothing, requestId=nothing, serviceNameSet=nothing) = new(nextToken, requestId, serviceNameSet) end -function DescribeVpcEndpointServicesResponseType(pd::ETree) +function DescribeVpcEndpointServicesResponseType(pd) o = DescribeVpcEndpointServicesResponseType() - o.nextToken = LibExpat.find(pd, "nextToken#string") - o.requestId = LibExpat.find(pd, "requestId#string") - o.serviceNameSet = AWS.parse_vector_as(ASCIIString, "serviceName", LibExpat.find(pd, "item/serviceName")) + o.nextToken = LightXML.content(LightXML.find_element(pd, "nextToken")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.serviceNameSet = AWS.parse_vector_as(ASCIIString, "serviceName", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "serviceName")) end export DescribeVpcEndpointServicesResponseType @@ -1102,12 +1110,12 @@ type DescribeVpcEndpointsType DescribeVpcEndpointsType(; filterSet=nothing, maxResults=nothing, nextToken=nothing, vpcEndpointIdSet=nothing) = new(filterSet, maxResults, nextToken, vpcEndpointIdSet) end -function DescribeVpcEndpointsType(pd::ETree) +function DescribeVpcEndpointsType(pd) o = DescribeVpcEndpointsType() - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) - o.maxResults = AWS.safe_parse_as(Int64, LibExpat.find(pd, "maxResults#string")) - o.nextToken = LibExpat.find(pd, "nextToken#string") - o.vpcEndpointIdSet = AWS.@parse_vector(AWS.EC2.VpcEndpointType, LibExpat.find(pd, "vcpEndpointId/item")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) + o.maxResults = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "maxResults"))) + o.nextToken = LightXML.content(LightXML.find_element(pd, "nextToken")) + o.vpcEndpointIdSet = AWS.@parse_vector(AWS.EC2.VpcEndpointType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "vcpEndpointId"), "item")) o end @@ -1122,11 +1130,11 @@ type DescribeVpcEndpointsResponseType DescribeVpcEndpointsResponseType(; nextToken=nothing, requestId=nothing, vpcEndpointIdSet=nothing) = new(nextToken, requestId, vpcEndpointIdSet) end -function DescribeVpcEndpointsResponseType(pd::ETree) +function DescribeVpcEndpointsResponseType(pd) o = DescribeVpcEndpointsResponseType() - o.nextToken = LibExpat.find(pd, "nextToken#string") - o.requestId = LibExpat.find(pd, "requestId#string") - o.vpcEndpointIdSet = AWS.@parse_vector(AWS.EC2.VpcEndpointType, LibExpat.find(pd, "vcpEndpointId/item")) + o.nextToken = LightXML.content(LightXML.find_element(pd, "nextToken")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.vpcEndpointIdSet = AWS.@parse_vector(AWS.EC2.VpcEndpointType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "vcpEndpointId"), "item")) o end @@ -1140,10 +1148,10 @@ type DescribeVpcPeeringConnectionsType DescribeVpcPeeringConnectionsType(; filterSet=nothing, vpcPeeringConnectionIdSet=nothing) = new(filterSet, vpcPeeringConnectionIdSet) end -function DescribeVpcPeeringConnectionsType(pd::ETree) +function DescribeVpcPeeringConnectionsType(pd) o = DescribeVpcPeeringConnectionsType() - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) - o.vpcPeeringConnectionIdSet = AWS.@parse_vector(AWS.EC2.VpcPeeringConnectionType, LibExpat.find(pd, "vcpPeeringConnectionId/item")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) + o.vpcPeeringConnectionIdSet = AWS.@parse_vector(AWS.EC2.VpcPeeringConnectionType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "vcpPeeringConnectionId"), "item")) o end @@ -1157,10 +1165,10 @@ type DescribeVpcPeeringConnectionsResponseType DescribeVpcPeeringConnectionsResponseType(; responseId=nothing, vpcPeeringConnectionSet=nothing) = new(responseId, vpcPeeringConnectionSet) end -function DescribeVpcPeeringConnectionsResponseType(pd::ETree) +function DescribeVpcPeeringConnectionsResponseType(pd) o = DescribeVpcPeeringConnectionsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.vpcPeeringConnectionSet = AWS.@parse_vector(AWS.EC2.VpcPeeringConnectionType, LibExpat.find(pd, "vcpPeeringConnection/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.vpcPeeringConnectionSet = AWS.@parse_vector(AWS.EC2.VpcPeeringConnectionType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "vcpPeeringConnection"), "item")) o end @@ -1174,10 +1182,10 @@ type ModifySubnetAttributeType ModifySubnetAttributeType(; mapPublicIpOnLaunch=nothing, subnetId=nothing) = new(mapPublicIpOnLaunch, subnetId) end -function ModifySubnetAttributeType(pd::ETree) +function ModifySubnetAttributeType(pd) o = ModifySubnetAttributeType() - o.mapPublicIpOnLaunch = AWS.safe_parse_as(Bool, LibExpat.find(pd, "mapPublicIpOnLaunch#string")) - o.subnetId = LibExpat.find(pd, "subnetId#string") + o.mapPublicIpOnLaunch = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "mapPublicIpOnLaunch"))) + o.subnetId = LightXML.content(LightXML.find_element(pd, "subnetId")) o end @@ -1190,10 +1198,10 @@ type ModifySubnetAttributeResponseType ModifySubnetAttributeResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ModifySubnetAttributeResponseType(pd::ETree) +function ModifySubnetAttributeResponseType(pd) o = ModifySubnetAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -1211,13 +1219,13 @@ type ModifyVpcEndpointType resetPolicy=nothing, vpcEndpointId=nothing) = new(addRouteTableIdSet, policyDocument, removeRouteTableIdSet, resetPolicy, vpcEndpointId) end -function ModifyVpcEndpointType(pd::ETree) +function ModifyVpcEndpointType(pd) o = ModifyVpcEndpointType() - o.addRouteTableIdSet = AWS.parse_vector_as(ASCIIString, "routeTableId", LibExpat.find(pd, "item/routeTableId")) - o.policyDocument = LibExpat.find(pd, "policyDocument#string") - o.removeRouteTableIdSet = AWS.parse_vector_as(ASCIIString, "routeTableId", LibExpat.find(pd, "item/routeTableId")) - o.resetPolicy = AWS.safe_parse_as(Bool, LibExpat.find(pd, "resetPolicy")) - o.vpcEndpointId = LibExpat.find(pd, "vpcEndpointId#string") + o.addRouteTableIdSet = AWS.parse_vector_as(ASCIIString, "routeTableId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "routeTableId")) + o.policyDocument = LightXML.content(LightXML.find_element(pd, "policyDocument")) + o.removeRouteTableIdSet = AWS.parse_vector_as(ASCIIString, "routeTableId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "routeTableId")) + o.resetPolicy = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "resetPolicy"))) + o.vpcEndpointId = LightXML.content(LightXML.find_element(pd, "vpcEndpointId")) o end @@ -1230,10 +1238,10 @@ type ModifyVpcEndpointResponseType ModifyVpcEndpointResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ModifyVpcEndpointResponseType(pd::ETree) +function ModifyVpcEndpointResponseType(pd) o = ModifyVpcEndpointResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -1245,9 +1253,9 @@ type RejectVpcPeeringConnectionType RejectVpcPeeringConnectionType(; vpcPeeringConnectionId=nothing) = new(vpcPeeringConnectionId) end -function RejectVpcPeeringConnectionType(pd::ETree) +function RejectVpcPeeringConnectionType(pd) o = RejectVpcPeeringConnectionType() - o.vpcPeeringConnectionId = LibExpat.find(pd, "vpcPeeringConnectionId#string") + o.vpcPeeringConnectionId = LightXML.content(LightXML.find_element(pd, "vpcPeeringConnectionId")) o end @@ -1260,10 +1268,10 @@ type RejectVpcPeeringConnectionResponseType RejectVpcPeeringConnectionResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function RejectVpcPeeringConnectionResponseType(pd::ETree) +function RejectVpcPeeringConnectionResponseType(pd) o = RejectVpcPeeringConnectionResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -1276,9 +1284,9 @@ type GetConsoleOutputType GetConsoleOutputType(; instanceId=nothing) = new(instanceId) end -function GetConsoleOutputType(pd::ETree) +function GetConsoleOutputType(pd) o = GetConsoleOutputType() - o.instanceId = LibExpat.find(pd, "instanceId#string") + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) o end @@ -1294,12 +1302,12 @@ type GetConsoleOutputResponseType GetConsoleOutputResponseType(; requestId=nothing, instanceId=nothing, timestamp=nothing, output=nothing) = new(requestId, instanceId, timestamp, output) end -function GetConsoleOutputResponseType(pd::ETree) +function GetConsoleOutputResponseType(pd) o = GetConsoleOutputResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.timestamp = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "timestamp#string")) - o.output = LibExpat.find(pd, "output#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.timestamp = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "timestamp"))) + o.output = LightXML.content(LightXML.find_element(pd, "output")) o end @@ -1312,9 +1320,9 @@ type GetPasswordDataType GetPasswordDataType(; instanceId=nothing) = new(instanceId) end -function GetPasswordDataType(pd::ETree) +function GetPasswordDataType(pd) o = GetPasswordDataType() - o.instanceId = LibExpat.find(pd, "instanceId#string") + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) o end @@ -1330,12 +1338,12 @@ type GetPasswordDataResponseType GetPasswordDataResponseType(; requestId=nothing, instanceId=nothing, timestamp=nothing, passwordData=nothing) = new(requestId, instanceId, timestamp, passwordData) end -function GetPasswordDataResponseType(pd::ETree) +function GetPasswordDataResponseType(pd) o = GetPasswordDataResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.timestamp = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "timestamp#string")) - o.passwordData = LibExpat.find(pd, "passwordData#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.timestamp = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "timestamp"))) + o.passwordData = LightXML.content(LightXML.find_element(pd, "passwordData")) o end @@ -1348,9 +1356,9 @@ type InstanceIdType InstanceIdType(; instanceId=nothing) = new(instanceId) end -function InstanceIdType(pd::ETree) +function InstanceIdType(pd) o = InstanceIdType() - o.instanceId = LibExpat.find(pd, "instanceId#string") + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) o end @@ -1363,9 +1371,9 @@ type TerminateInstancesType TerminateInstancesType(; instancesSet=nothing) = new(instancesSet) end -function TerminateInstancesType(pd::ETree) +function TerminateInstancesType(pd) o = TerminateInstancesType() - o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LibExpat.find(pd, "item/instanceId")) + o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "instanceId")) o end @@ -1378,9 +1386,9 @@ type InstanceBlockDeviceMappingItemType InstanceBlockDeviceMappingItemType(; deviceName=nothing) = new(deviceName) end -function InstanceBlockDeviceMappingItemType(pd::ETree) +function InstanceBlockDeviceMappingItemType(pd) o = InstanceBlockDeviceMappingItemType() - o.deviceName = LibExpat.find(pd, "deviceName#string") + o.deviceName = LightXML.content(LightXML.find_element(pd, "deviceName")) o end @@ -1394,10 +1402,10 @@ type InstanceEbsBlockDeviceType InstanceEbsBlockDeviceType(; volumeId=nothing, deleteOnTermination=nothing) = new(volumeId, deleteOnTermination) end -function InstanceEbsBlockDeviceType(pd::ETree) +function InstanceEbsBlockDeviceType(pd) o = InstanceEbsBlockDeviceType() - o.volumeId = LibExpat.find(pd, "volumeId#string") - o.deleteOnTermination = AWS.safe_parse_as(Bool, LibExpat.find(pd, "deleteOnTermination#string")) + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) + o.deleteOnTermination = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "deleteOnTermination"))) o end @@ -1411,10 +1419,10 @@ type StopInstancesType StopInstancesType(; instancesSet=nothing, force=nothing) = new(instancesSet, force) end -function StopInstancesType(pd::ETree) +function StopInstancesType(pd) o = StopInstancesType() - o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LibExpat.find(pd, "item/instanceId")) - o.force = AWS.safe_parse_as(Bool, LibExpat.find(pd, "force#string")) + o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "instanceId")) + o.force = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "force"))) o end @@ -1427,9 +1435,9 @@ type StartInstancesType StartInstancesType(; instancesSet=nothing) = new(instancesSet) end -function StartInstancesType(pd::ETree) +function StartInstancesType(pd) o = StartInstancesType() - o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LibExpat.find(pd, "item/instanceId")) + o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "instanceId")) o end @@ -1442,9 +1450,9 @@ type RebootInstancesType RebootInstancesType(; instancesSet=nothing) = new(instancesSet) end -function RebootInstancesType(pd::ETree) +function RebootInstancesType(pd) o = RebootInstancesType() - o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LibExpat.find(pd, "item/instanceId")) + o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "instanceId")) o end @@ -1457,9 +1465,9 @@ type RebootInstancesItemType RebootInstancesItemType(; instanceId=nothing) = new(instanceId) end -function RebootInstancesItemType(pd::ETree) +function RebootInstancesItemType(pd) o = RebootInstancesItemType() - o.instanceId = LibExpat.find(pd, "instanceId#string") + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) o end @@ -1473,10 +1481,10 @@ type RebootInstancesResponseType RebootInstancesResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function RebootInstancesResponseType(pd::ETree) +function RebootInstancesResponseType(pd) o = RebootInstancesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -1489,9 +1497,9 @@ type DescribeInstancesItemType DescribeInstancesItemType(; instanceId=nothing) = new(instanceId) end -function DescribeInstancesItemType(pd::ETree) +function DescribeInstancesItemType(pd) o = DescribeInstancesItemType() - o.instanceId = LibExpat.find(pd, "instanceId#string") + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) o end @@ -1504,9 +1512,9 @@ type UnavailableResultType UnavailableResultType(; availabilityZone=nothing) = new(availabilityZone) end -function UnavailableResultType(pd::ETree) +function UnavailableResultType(pd) o = UnavailableResultType() - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) o end @@ -1519,9 +1527,9 @@ type DescribeImagesItemType DescribeImagesItemType(; imageId=nothing) = new(imageId) end -function DescribeImagesItemType(pd::ETree) +function DescribeImagesItemType(pd) o = DescribeImagesItemType() - o.imageId = LibExpat.find(pd, "imageId#string") + o.imageId = LightXML.content(LightXML.find_element(pd, "imageId")) o end @@ -1534,9 +1542,9 @@ type DescribeImagesOwnerType DescribeImagesOwnerType(; owner=nothing) = new(owner) end -function DescribeImagesOwnerType(pd::ETree) +function DescribeImagesOwnerType(pd) o = DescribeImagesOwnerType() - o.owner = LibExpat.find(pd, "owner#string") + o.owner = LightXML.content(LightXML.find_element(pd, "owner")) o end @@ -1549,9 +1557,9 @@ type DescribeImagesExecutableByType DescribeImagesExecutableByType(; user=nothing) = new(user) end -function DescribeImagesExecutableByType(pd::ETree) +function DescribeImagesExecutableByType(pd) o = DescribeImagesExecutableByType() - o.user = LibExpat.find(pd, "user#string") + o.user = LightXML.content(LightXML.find_element(pd, "user")) o end @@ -1566,11 +1574,11 @@ type CreateSecurityGroupType CreateSecurityGroupType(; groupName=nothing, groupDescription=nothing, vpcId=nothing) = new(groupName, groupDescription, vpcId) end -function CreateSecurityGroupType(pd::ETree) +function CreateSecurityGroupType(pd) o = CreateSecurityGroupType() - o.groupName = LibExpat.find(pd, "groupName#string") - o.groupDescription = LibExpat.find(pd, "groupDescription#string") - o.vpcId = LibExpat.find(pd, "vpcId#string") + o.groupName = LightXML.content(LightXML.find_element(pd, "groupName")) + o.groupDescription = LightXML.content(LightXML.find_element(pd, "groupDescription")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) o end @@ -1585,11 +1593,11 @@ type CreateSecurityGroupResponseType CreateSecurityGroupResponseType(; requestId=nothing, _return=nothing, groupId=nothing) = new(requestId, _return, groupId) end -function CreateSecurityGroupResponseType(pd::ETree) +function CreateSecurityGroupResponseType(pd) o = CreateSecurityGroupResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) - o.groupId = LibExpat.find(pd, "groupId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) + o.groupId = LightXML.content(LightXML.find_element(pd, "groupId")) o end @@ -1603,10 +1611,10 @@ type DeleteSecurityGroupType DeleteSecurityGroupType(; groupId=nothing, groupName=nothing) = new(groupId, groupName) end -function DeleteSecurityGroupType(pd::ETree) +function DeleteSecurityGroupType(pd) o = DeleteSecurityGroupType() - o.groupId = LibExpat.find(pd, "groupId#string") - o.groupName = LibExpat.find(pd, "groupName#string") + o.groupId = LightXML.content(LightXML.find_element(pd, "groupId")) + o.groupName = LightXML.content(LightXML.find_element(pd, "groupName")) o end @@ -1620,10 +1628,10 @@ type DeleteSecurityGroupResponseType DeleteSecurityGroupResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteSecurityGroupResponseType(pd::ETree) +function DeleteSecurityGroupResponseType(pd) o = DeleteSecurityGroupResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -1636,9 +1644,9 @@ type DescribeSecurityGroupsSetItemType DescribeSecurityGroupsSetItemType(; groupName=nothing) = new(groupName) end -function DescribeSecurityGroupsSetItemType(pd::ETree) +function DescribeSecurityGroupsSetItemType(pd) o = DescribeSecurityGroupsSetItemType() - o.groupName = LibExpat.find(pd, "groupName#string") + o.groupName = LightXML.content(LightXML.find_element(pd, "groupName")) o end @@ -1651,9 +1659,9 @@ type DescribeSecurityGroupsIdSetItemType DescribeSecurityGroupsIdSetItemType(; groupId=nothing) = new(groupId) end -function DescribeSecurityGroupsIdSetItemType(pd::ETree) +function DescribeSecurityGroupsIdSetItemType(pd) o = DescribeSecurityGroupsIdSetItemType() - o.groupId = LibExpat.find(pd, "groupId#string") + o.groupId = LightXML.content(LightXML.find_element(pd, "groupId")) o end @@ -1666,9 +1674,9 @@ type IpRangeItemType IpRangeItemType(; cidrIp=nothing) = new(cidrIp) end -function IpRangeItemType(pd::ETree) +function IpRangeItemType(pd) o = IpRangeItemType() - o.cidrIp = LibExpat.find(pd, "cidrIp#string") + o.cidrIp = LightXML.content(LightXML.find_element(pd, "cidrIp")) o end @@ -1683,11 +1691,11 @@ type UserIdGroupPairType UserIdGroupPairType(; userId=nothing, groupId=nothing, groupName=nothing) = new(userId, groupId, groupName) end -function UserIdGroupPairType(pd::ETree) +function UserIdGroupPairType(pd) o = UserIdGroupPairType() - o.userId = LibExpat.find(pd, "userId#string") - o.groupId = LibExpat.find(pd, "groupId#string") - o.groupName = LibExpat.find(pd, "groupName#string") + o.userId = LightXML.content(LightXML.find_element(pd, "userId")) + o.groupId = LightXML.content(LightXML.find_element(pd, "groupId")) + o.groupName = LightXML.content(LightXML.find_element(pd, "groupName")) o end @@ -1701,10 +1709,10 @@ type AuthorizeSecurityGroupIngressResponseType AuthorizeSecurityGroupIngressResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function AuthorizeSecurityGroupIngressResponseType(pd::ETree) +function AuthorizeSecurityGroupIngressResponseType(pd) o = AuthorizeSecurityGroupIngressResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -1718,10 +1726,10 @@ type RevokeSecurityGroupIngressResponseType RevokeSecurityGroupIngressResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function RevokeSecurityGroupIngressResponseType(pd::ETree) +function RevokeSecurityGroupIngressResponseType(pd) o = RevokeSecurityGroupIngressResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -1735,10 +1743,10 @@ type AuthorizeSecurityGroupEgressResponseType AuthorizeSecurityGroupEgressResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function AuthorizeSecurityGroupEgressResponseType(pd::ETree) +function AuthorizeSecurityGroupEgressResponseType(pd) o = AuthorizeSecurityGroupEgressResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -1752,10 +1760,10 @@ type RevokeSecurityGroupEgressResponseType RevokeSecurityGroupEgressResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function RevokeSecurityGroupEgressResponseType(pd::ETree) +function RevokeSecurityGroupEgressResponseType(pd) o = RevokeSecurityGroupEgressResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -1769,10 +1777,10 @@ type InstanceStateType InstanceStateType(; code=nothing, name=nothing) = new(code, name) end -function InstanceStateType(pd::ETree) +function InstanceStateType(pd) o = InstanceStateType() - o.code = AWS.safe_parse_as(Int64, LibExpat.find(pd, "code#string")) - o.name = LibExpat.find(pd, "name#string") + o.code = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "code"))) + o.name = LightXML.content(LightXML.find_element(pd, "name")) o end @@ -1785,9 +1793,9 @@ type ModifyInstanceAttributeType ModifyInstanceAttributeType(; instanceId=nothing) = new(instanceId) end -function ModifyInstanceAttributeType(pd::ETree) +function ModifyInstanceAttributeType(pd) o = ModifyInstanceAttributeType() - o.instanceId = LibExpat.find(pd, "instanceId#string") + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) o end @@ -1800,9 +1808,9 @@ type SecurityGroupIdSetItemType SecurityGroupIdSetItemType(; groupId=nothing) = new(groupId) end -function SecurityGroupIdSetItemType(pd::ETree) +function SecurityGroupIdSetItemType(pd) o = SecurityGroupIdSetItemType() - o.groupId = LibExpat.find(pd, "groupId#string") + o.groupId = LightXML.content(LightXML.find_element(pd, "groupId")) o end @@ -1816,10 +1824,10 @@ type ModifyInstanceAttributeResponseType ModifyInstanceAttributeResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ModifyInstanceAttributeResponseType(pd::ETree) +function ModifyInstanceAttributeResponseType(pd) o = ModifyInstanceAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -1832,9 +1840,9 @@ type ResetInstanceAttributeType ResetInstanceAttributeType(; instanceId=nothing) = new(instanceId) end -function ResetInstanceAttributeType(pd::ETree) +function ResetInstanceAttributeType(pd) o = ResetInstanceAttributeType() - o.instanceId = LibExpat.find(pd, "instanceId#string") + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) o end @@ -1848,10 +1856,10 @@ type ResetInstanceAttributeResponseType ResetInstanceAttributeResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ResetInstanceAttributeResponseType(pd::ETree) +function ResetInstanceAttributeResponseType(pd) o = ResetInstanceAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -1864,9 +1872,9 @@ type DescribeInstanceAttributeType DescribeInstanceAttributeType(; instanceId=nothing) = new(instanceId) end -function DescribeInstanceAttributeType(pd::ETree) +function DescribeInstanceAttributeType(pd) o = DescribeInstanceAttributeType() - o.instanceId = LibExpat.find(pd, "instanceId#string") + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) o end @@ -1880,10 +1888,10 @@ type DescribeInstanceAttributeResponseType DescribeInstanceAttributeResponseType(; requestId=nothing, instanceId=nothing) = new(requestId, instanceId) end -function DescribeInstanceAttributeResponseType(pd::ETree) +function DescribeInstanceAttributeResponseType(pd) o = DescribeInstanceAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.instanceId = LibExpat.find(pd, "instanceId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) o end @@ -1896,9 +1904,9 @@ type ModifyImageAttributeType ModifyImageAttributeType(; imageId=nothing) = new(imageId) end -function ModifyImageAttributeType(pd::ETree) +function ModifyImageAttributeType(pd) o = ModifyImageAttributeType() - o.imageId = LibExpat.find(pd, "imageId#string") + o.imageId = LightXML.content(LightXML.find_element(pd, "imageId")) o end @@ -1912,10 +1920,10 @@ type LaunchPermissionItemType LaunchPermissionItemType(; userId=nothing, group=nothing) = new(userId, group) end -function LaunchPermissionItemType(pd::ETree) +function LaunchPermissionItemType(pd) o = LaunchPermissionItemType() - o.userId = LibExpat.find(pd, "userId#string") - o.group = LibExpat.find(pd, "group#string") + o.userId = LightXML.content(LightXML.find_element(pd, "userId")) + o.group = LightXML.content(LightXML.find_element(pd, "group")) o end @@ -1928,9 +1936,9 @@ type ProductCodeItemType ProductCodeItemType(; productCode=nothing) = new(productCode) end -function ProductCodeItemType(pd::ETree) +function ProductCodeItemType(pd) o = ProductCodeItemType() - o.productCode = LibExpat.find(pd, "productCode#string") + o.productCode = LightXML.content(LightXML.find_element(pd, "productCode")) o end @@ -1944,10 +1952,10 @@ type ModifyImageAttributeResponseType ModifyImageAttributeResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ModifyImageAttributeResponseType(pd::ETree) +function ModifyImageAttributeResponseType(pd) o = ModifyImageAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -1960,9 +1968,9 @@ type ResetImageAttributeType ResetImageAttributeType(; imageId=nothing) = new(imageId) end -function ResetImageAttributeType(pd::ETree) +function ResetImageAttributeType(pd) o = ResetImageAttributeType() - o.imageId = LibExpat.find(pd, "imageId#string") + o.imageId = LightXML.content(LightXML.find_element(pd, "imageId")) o end @@ -1976,10 +1984,10 @@ type ResetImageAttributeResponseType ResetImageAttributeResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ResetImageAttributeResponseType(pd::ETree) +function ResetImageAttributeResponseType(pd) o = ResetImageAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -1992,9 +2000,9 @@ type DescribeImageAttributeType DescribeImageAttributeType(; imageId=nothing) = new(imageId) end -function DescribeImageAttributeType(pd::ETree) +function DescribeImageAttributeType(pd) o = DescribeImageAttributeType() - o.imageId = LibExpat.find(pd, "imageId#string") + o.imageId = LightXML.content(LightXML.find_element(pd, "imageId")) o end @@ -2008,10 +2016,10 @@ type DescribeImageAttributeResponseType DescribeImageAttributeResponseType(; requestId=nothing, imageId=nothing) = new(requestId, imageId) end -function DescribeImageAttributeResponseType(pd::ETree) +function DescribeImageAttributeResponseType(pd) o = DescribeImageAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.imageId = LibExpat.find(pd, "imageId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.imageId = LightXML.content(LightXML.find_element(pd, "imageId")) o end @@ -2024,9 +2032,9 @@ type NullableAttributeValueType NullableAttributeValueType(; value=nothing) = new(value) end -function NullableAttributeValueType(pd::ETree) +function NullableAttributeValueType(pd) o = NullableAttributeValueType() - o.value = LibExpat.find(pd, "value#string") + o.value = LightXML.content(LightXML.find_element(pd, "value")) o end @@ -2039,9 +2047,9 @@ type NullableAttributeBooleanValueType NullableAttributeBooleanValueType(; value=nothing) = new(value) end -function NullableAttributeBooleanValueType(pd::ETree) +function NullableAttributeBooleanValueType(pd) o = NullableAttributeBooleanValueType() - o.value = AWS.safe_parse_as(Bool, LibExpat.find(pd, "value#string")) + o.value = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "value"))) o end @@ -2054,9 +2062,9 @@ type AttributeValueType AttributeValueType(; value=nothing) = new(value) end -function AttributeValueType(pd::ETree) +function AttributeValueType(pd) o = AttributeValueType() - o.value = LibExpat.find(pd, "value#string") + o.value = LightXML.content(LightXML.find_element(pd, "value")) o end @@ -2069,9 +2077,9 @@ type AttributeBooleanValueType AttributeBooleanValueType(; value=nothing) = new(value) end -function AttributeBooleanValueType(pd::ETree) +function AttributeBooleanValueType(pd) o = AttributeBooleanValueType() - o.value = AWS.safe_parse_as(Bool, LibExpat.find(pd, "value#string")) + o.value = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "value"))) o end @@ -2085,10 +2093,10 @@ type ConfirmProductInstanceType ConfirmProductInstanceType(; productCode=nothing, instanceId=nothing) = new(productCode, instanceId) end -function ConfirmProductInstanceType(pd::ETree) +function ConfirmProductInstanceType(pd) o = ConfirmProductInstanceType() - o.productCode = LibExpat.find(pd, "productCode#string") - o.instanceId = LibExpat.find(pd, "instanceId#string") + o.productCode = LightXML.content(LightXML.find_element(pd, "productCode")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) o end @@ -2102,10 +2110,10 @@ type ProductCodesSetItemType ProductCodesSetItemType(; productCode=nothing, _type=nothing) = new(productCode, _type) end -function ProductCodesSetItemType(pd::ETree) +function ProductCodesSetItemType(pd) o = ProductCodesSetItemType() - o.productCode = LibExpat.find(pd, "productCode#string") - o._type = LibExpat.find(pd, "type#string") + o.productCode = LightXML.content(LightXML.find_element(pd, "productCode")) + o._type = LightXML.content(LightXML.find_element(pd, "type")) o end @@ -2120,11 +2128,11 @@ type ConfirmProductInstanceResponseType ConfirmProductInstanceResponseType(; requestId=nothing, _return=nothing, ownerId=nothing) = new(requestId, _return, ownerId) end -function ConfirmProductInstanceResponseType(pd::ETree) +function ConfirmProductInstanceResponseType(pd) o = ConfirmProductInstanceResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) - o.ownerId = LibExpat.find(pd, "ownerId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) + o.ownerId = LightXML.content(LightXML.find_element(pd, "ownerId")) o end @@ -2137,9 +2145,9 @@ type DescribeAvailabilityZonesSetItemType DescribeAvailabilityZonesSetItemType(; zoneName=nothing) = new(zoneName) end -function DescribeAvailabilityZonesSetItemType(pd::ETree) +function DescribeAvailabilityZonesSetItemType(pd) o = DescribeAvailabilityZonesSetItemType() - o.zoneName = LibExpat.find(pd, "zoneName#string") + o.zoneName = LightXML.content(LightXML.find_element(pd, "zoneName")) o end @@ -2152,9 +2160,9 @@ type AvailabilityZoneMessageType AvailabilityZoneMessageType(; message=nothing) = new(message) end -function AvailabilityZoneMessageType(pd::ETree) +function AvailabilityZoneMessageType(pd) o = AvailabilityZoneMessageType() - o.message = LibExpat.find(pd, "message#string") + o.message = LightXML.content(LightXML.find_element(pd, "message")) o end @@ -2170,12 +2178,12 @@ type AvailabilityZoneItemType AvailabilityZoneItemType(; zoneName=nothing, zoneState=nothing, regionName=nothing, messageSet=nothing) = new(zoneName, zoneState, regionName, messageSet) end -function AvailabilityZoneItemType(pd::ETree) +function AvailabilityZoneItemType(pd) o = AvailabilityZoneItemType() - o.zoneName = LibExpat.find(pd, "zoneName#string") - o.zoneState = LibExpat.find(pd, "zoneState#string") - o.regionName = LibExpat.find(pd, "regionName#string") - o.messageSet = AWS.parse_vector_as(ASCIIString, "message", LibExpat.find(pd, "item/message")) + o.zoneName = LightXML.content(LightXML.find_element(pd, "zoneName")) + o.zoneState = LightXML.content(LightXML.find_element(pd, "zoneState")) + o.regionName = LightXML.content(LightXML.find_element(pd, "regionName")) + o.messageSet = AWS.parse_vector_as(ASCIIString, "message", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "message")) o end @@ -2188,9 +2196,9 @@ type AllocateAddressType AllocateAddressType(; domain=nothing) = new(domain) end -function AllocateAddressType(pd::ETree) +function AllocateAddressType(pd) o = AllocateAddressType() - o.domain = LibExpat.find(pd, "domain#string") + o.domain = LightXML.content(LightXML.find_element(pd, "domain")) o end @@ -2206,12 +2214,12 @@ type AllocateAddressResponseType AllocateAddressResponseType(; requestId=nothing, publicIp=nothing, domain=nothing, allocationId=nothing) = new(requestId, publicIp, domain, allocationId) end -function AllocateAddressResponseType(pd::ETree) +function AllocateAddressResponseType(pd) o = AllocateAddressResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.publicIp = LibExpat.find(pd, "publicIp#string") - o.domain = LibExpat.find(pd, "domain#string") - o.allocationId = LibExpat.find(pd, "allocationId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.publicIp = LightXML.content(LightXML.find_element(pd, "publicIp")) + o.domain = LightXML.content(LightXML.find_element(pd, "domain")) + o.allocationId = LightXML.content(LightXML.find_element(pd, "allocationId")) o end @@ -2225,10 +2233,10 @@ type ReleaseAddressType ReleaseAddressType(; publicIp=nothing, allocationId=nothing) = new(publicIp, allocationId) end -function ReleaseAddressType(pd::ETree) +function ReleaseAddressType(pd) o = ReleaseAddressType() - o.publicIp = LibExpat.find(pd, "publicIp#string") - o.allocationId = LibExpat.find(pd, "allocationId#string") + o.publicIp = LightXML.content(LightXML.find_element(pd, "publicIp")) + o.allocationId = LightXML.content(LightXML.find_element(pd, "allocationId")) o end @@ -2242,10 +2250,10 @@ type ReleaseAddressResponseType ReleaseAddressResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ReleaseAddressResponseType(pd::ETree) +function ReleaseAddressResponseType(pd) o = ReleaseAddressResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -2258,9 +2266,9 @@ type AllocationIdSetItemType AllocationIdSetItemType(; allocationId=nothing) = new(allocationId) end -function AllocationIdSetItemType(pd::ETree) +function AllocationIdSetItemType(pd) o = AllocationIdSetItemType() - o.allocationId = LibExpat.find(pd, "allocationId#string") + o.allocationId = LightXML.content(LightXML.find_element(pd, "allocationId")) o end @@ -2273,9 +2281,9 @@ type DescribeAddressesItemType DescribeAddressesItemType(; publicIp=nothing) = new(publicIp) end -function DescribeAddressesItemType(pd::ETree) +function DescribeAddressesItemType(pd) o = DescribeAddressesItemType() - o.publicIp = LibExpat.find(pd, "publicIp#string") + o.publicIp = LightXML.content(LightXML.find_element(pd, "publicIp")) o end @@ -2295,16 +2303,16 @@ type DescribeAddressesResponseItemType DescribeAddressesResponseItemType(; publicIp=nothing, allocationId=nothing, domain=nothing, instanceId=nothing, associationId=nothing, networkInterfaceId=nothing, networkInterfaceOwnerId=nothing, privateIpAddress=nothing) = new(publicIp, allocationId, domain, instanceId, associationId, networkInterfaceId, networkInterfaceOwnerId, privateIpAddress) end -function DescribeAddressesResponseItemType(pd::ETree) +function DescribeAddressesResponseItemType(pd) o = DescribeAddressesResponseItemType() - o.publicIp = LibExpat.find(pd, "publicIp#string") - o.allocationId = LibExpat.find(pd, "allocationId#string") - o.domain = LibExpat.find(pd, "domain#string") - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.associationId = LibExpat.find(pd, "associationId#string") - o.networkInterfaceId = LibExpat.find(pd, "networkInterfaceId#string") - o.networkInterfaceOwnerId = LibExpat.find(pd, "networkInterfaceOwnerId#string") - o.privateIpAddress = LibExpat.find(pd, "privateIpAddress#string") + o.publicIp = LightXML.content(LightXML.find_element(pd, "publicIp")) + o.allocationId = LightXML.content(LightXML.find_element(pd, "allocationId")) + o.domain = LightXML.content(LightXML.find_element(pd, "domain")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.associationId = LightXML.content(LightXML.find_element(pd, "associationId")) + o.networkInterfaceId = LightXML.content(LightXML.find_element(pd, "networkInterfaceId")) + o.networkInterfaceOwnerId = LightXML.content(LightXML.find_element(pd, "networkInterfaceOwnerId")) + o.privateIpAddress = LightXML.content(LightXML.find_element(pd, "privateIpAddress")) o end @@ -2318,10 +2326,10 @@ type AssociateAddressType AssociateAddressType(; privateIpAddress=nothing, allowReassociation=nothing) = new(privateIpAddress, allowReassociation) end -function AssociateAddressType(pd::ETree) +function AssociateAddressType(pd) o = AssociateAddressType() - o.privateIpAddress = LibExpat.find(pd, "privateIpAddress#string") - o.allowReassociation = AWS.safe_parse_as(Bool, LibExpat.find(pd, "allowReassociation#string")) + o.privateIpAddress = LightXML.content(LightXML.find_element(pd, "privateIpAddress")) + o.allowReassociation = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "allowReassociation"))) o end @@ -2336,11 +2344,11 @@ type AssociateAddressResponseType AssociateAddressResponseType(; requestId=nothing, _return=nothing, associationId=nothing) = new(requestId, _return, associationId) end -function AssociateAddressResponseType(pd::ETree) +function AssociateAddressResponseType(pd) o = AssociateAddressResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) - o.associationId = LibExpat.find(pd, "associationId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) + o.associationId = LightXML.content(LightXML.find_element(pd, "associationId")) o end @@ -2354,10 +2362,10 @@ type DisassociateAddressType DisassociateAddressType(; publicIp=nothing, associationId=nothing) = new(publicIp, associationId) end -function DisassociateAddressType(pd::ETree) +function DisassociateAddressType(pd) o = DisassociateAddressType() - o.publicIp = LibExpat.find(pd, "publicIp#string") - o.associationId = LibExpat.find(pd, "associationId#string") + o.publicIp = LightXML.content(LightXML.find_element(pd, "publicIp")) + o.associationId = LightXML.content(LightXML.find_element(pd, "associationId")) o end @@ -2371,10 +2379,10 @@ type DisassociateAddressResponseType DisassociateAddressResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DisassociateAddressResponseType(pd::ETree) +function DisassociateAddressResponseType(pd) o = DisassociateAddressResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -2391,13 +2399,13 @@ type CreateVolumeType CreateVolumeType(; size=nothing, snapshotId=nothing, availabilityZone=nothing, volumeType=nothing, iops=nothing) = new(size, snapshotId, availabilityZone, volumeType, iops) end -function CreateVolumeType(pd::ETree) +function CreateVolumeType(pd) o = CreateVolumeType() - o.size = LibExpat.find(pd, "size#string") - o.snapshotId = LibExpat.find(pd, "snapshotId#string") - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.volumeType = LibExpat.find(pd, "volumeType#string") - o.iops = AWS.safe_parse_as(Int64, LibExpat.find(pd, "iops#string")) + o.size = LightXML.content(LightXML.find_element(pd, "size")) + o.snapshotId = LightXML.content(LightXML.find_element(pd, "snapshotId")) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.volumeType = LightXML.content(LightXML.find_element(pd, "volumeType")) + o.iops = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "iops"))) o end @@ -2418,17 +2426,17 @@ type CreateVolumeResponseType CreateVolumeResponseType(; requestId=nothing, volumeId=nothing, size=nothing, snapshotId=nothing, availabilityZone=nothing, status=nothing, createTime=nothing, volumeType=nothing, iops=nothing) = new(requestId, volumeId, size, snapshotId, availabilityZone, status, createTime, volumeType, iops) end -function CreateVolumeResponseType(pd::ETree) +function CreateVolumeResponseType(pd) o = CreateVolumeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.volumeId = LibExpat.find(pd, "volumeId#string") - o.size = LibExpat.find(pd, "size#string") - o.snapshotId = LibExpat.find(pd, "snapshotId#string") - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.status = LibExpat.find(pd, "status#string") - o.createTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "createTime#string")) - o.volumeType = LibExpat.find(pd, "volumeType#string") - o.iops = AWS.safe_parse_as(Int64, LibExpat.find(pd, "iops#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) + o.size = LightXML.content(LightXML.find_element(pd, "size")) + o.snapshotId = LightXML.content(LightXML.find_element(pd, "snapshotId")) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.createTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "createTime"))) + o.volumeType = LightXML.content(LightXML.find_element(pd, "volumeType")) + o.iops = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "iops"))) o end @@ -2441,9 +2449,9 @@ type DeleteVolumeType DeleteVolumeType(; volumeId=nothing) = new(volumeId) end -function DeleteVolumeType(pd::ETree) +function DeleteVolumeType(pd) o = DeleteVolumeType() - o.volumeId = LibExpat.find(pd, "volumeId#string") + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) o end @@ -2457,10 +2465,10 @@ type DeleteVolumeResponseType DeleteVolumeResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteVolumeResponseType(pd::ETree) +function DeleteVolumeResponseType(pd) o = DeleteVolumeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -2473,9 +2481,9 @@ type DescribeVolumesSetItemType DescribeVolumesSetItemType(; volumeId=nothing) = new(volumeId) end -function DescribeVolumesSetItemType(pd::ETree) +function DescribeVolumesSetItemType(pd) o = DescribeVolumesSetItemType() - o.volumeId = LibExpat.find(pd, "volumeId#string") + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) o end @@ -2493,14 +2501,14 @@ type AttachmentSetItemResponseType AttachmentSetItemResponseType(; volumeId=nothing, instanceId=nothing, device=nothing, status=nothing, attachTime=nothing, deleteOnTermination=nothing) = new(volumeId, instanceId, device, status, attachTime, deleteOnTermination) end -function AttachmentSetItemResponseType(pd::ETree) +function AttachmentSetItemResponseType(pd) o = AttachmentSetItemResponseType() - o.volumeId = LibExpat.find(pd, "volumeId#string") - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.device = LibExpat.find(pd, "device#string") - o.status = LibExpat.find(pd, "status#string") - o.attachTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "attachTime#string")) - o.deleteOnTermination = AWS.safe_parse_as(Bool, LibExpat.find(pd, "deleteOnTermination#string")) + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.device = LightXML.content(LightXML.find_element(pd, "device")) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.attachTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "attachTime"))) + o.deleteOnTermination = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "deleteOnTermination"))) o end @@ -2515,11 +2523,11 @@ type AttachVolumeType AttachVolumeType(; volumeId=nothing, instanceId=nothing, device=nothing) = new(volumeId, instanceId, device) end -function AttachVolumeType(pd::ETree) +function AttachVolumeType(pd) o = AttachVolumeType() - o.volumeId = LibExpat.find(pd, "volumeId#string") - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.device = LibExpat.find(pd, "device#string") + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.device = LightXML.content(LightXML.find_element(pd, "device")) o end @@ -2537,14 +2545,14 @@ type AttachVolumeResponseType AttachVolumeResponseType(; requestId=nothing, volumeId=nothing, instanceId=nothing, device=nothing, status=nothing, attachTime=nothing) = new(requestId, volumeId, instanceId, device, status, attachTime) end -function AttachVolumeResponseType(pd::ETree) +function AttachVolumeResponseType(pd) o = AttachVolumeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.volumeId = LibExpat.find(pd, "volumeId#string") - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.device = LibExpat.find(pd, "device#string") - o.status = LibExpat.find(pd, "status#string") - o.attachTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "attachTime#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.device = LightXML.content(LightXML.find_element(pd, "device")) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.attachTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "attachTime"))) o end @@ -2560,12 +2568,12 @@ type DetachVolumeType DetachVolumeType(; volumeId=nothing, instanceId=nothing, device=nothing, force=nothing) = new(volumeId, instanceId, device, force) end -function DetachVolumeType(pd::ETree) +function DetachVolumeType(pd) o = DetachVolumeType() - o.volumeId = LibExpat.find(pd, "volumeId#string") - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.device = LibExpat.find(pd, "device#string") - o.force = AWS.safe_parse_as(Bool, LibExpat.find(pd, "force#string")) + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.device = LightXML.content(LightXML.find_element(pd, "device")) + o.force = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "force"))) o end @@ -2583,14 +2591,14 @@ type DetachVolumeResponseType DetachVolumeResponseType(; requestId=nothing, volumeId=nothing, instanceId=nothing, device=nothing, status=nothing, attachTime=nothing) = new(requestId, volumeId, instanceId, device, status, attachTime) end -function DetachVolumeResponseType(pd::ETree) +function DetachVolumeResponseType(pd) o = DetachVolumeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.volumeId = LibExpat.find(pd, "volumeId#string") - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.device = LibExpat.find(pd, "device#string") - o.status = LibExpat.find(pd, "status#string") - o.attachTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "attachTime#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.device = LightXML.content(LightXML.find_element(pd, "device")) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.attachTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "attachTime"))) o end @@ -2604,10 +2612,10 @@ type CreateSnapshotType CreateSnapshotType(; volumeId=nothing, description=nothing) = new(volumeId, description) end -function CreateSnapshotType(pd::ETree) +function CreateSnapshotType(pd) o = CreateSnapshotType() - o.volumeId = LibExpat.find(pd, "volumeId#string") - o.description = LibExpat.find(pd, "description#string") + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) o end @@ -2628,17 +2636,17 @@ type CreateSnapshotResponseType CreateSnapshotResponseType(; requestId=nothing, snapshotId=nothing, volumeId=nothing, status=nothing, startTime=nothing, progress=nothing, ownerId=nothing, volumeSize=nothing, description=nothing) = new(requestId, snapshotId, volumeId, status, startTime, progress, ownerId, volumeSize, description) end -function CreateSnapshotResponseType(pd::ETree) +function CreateSnapshotResponseType(pd) o = CreateSnapshotResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.snapshotId = LibExpat.find(pd, "snapshotId#string") - o.volumeId = LibExpat.find(pd, "volumeId#string") - o.status = LibExpat.find(pd, "status#string") - o.startTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "startTime#string")) - o.progress = LibExpat.find(pd, "progress#string") - o.ownerId = LibExpat.find(pd, "ownerId#string") - o.volumeSize = LibExpat.find(pd, "volumeSize#string") - o.description = LibExpat.find(pd, "description#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.snapshotId = LightXML.content(LightXML.find_element(pd, "snapshotId")) + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.startTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "startTime"))) + o.progress = LightXML.content(LightXML.find_element(pd, "progress")) + o.ownerId = LightXML.content(LightXML.find_element(pd, "ownerId")) + o.volumeSize = LightXML.content(LightXML.find_element(pd, "volumeSize")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) o end @@ -2653,11 +2661,11 @@ type CopySnapshotType CopySnapshotType(; sourceRegion=nothing, sourceSnapshotId=nothing, description=nothing) = new(sourceRegion, sourceSnapshotId, description) end -function CopySnapshotType(pd::ETree) +function CopySnapshotType(pd) o = CopySnapshotType() - o.sourceRegion = LibExpat.find(pd, "sourceRegion#string") - o.sourceSnapshotId = LibExpat.find(pd, "sourceSnapshotId#string") - o.description = LibExpat.find(pd, "description#string") + o.sourceRegion = LightXML.content(LightXML.find_element(pd, "sourceRegion")) + o.sourceSnapshotId = LightXML.content(LightXML.find_element(pd, "sourceSnapshotId")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) o end @@ -2671,10 +2679,10 @@ type CopySnapshotResponseType CopySnapshotResponseType(; requestId=nothing, snapshotId=nothing) = new(requestId, snapshotId) end -function CopySnapshotResponseType(pd::ETree) +function CopySnapshotResponseType(pd) o = CopySnapshotResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.snapshotId = LibExpat.find(pd, "snapshotId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.snapshotId = LightXML.content(LightXML.find_element(pd, "snapshotId")) o end @@ -2687,9 +2695,9 @@ type DeleteSnapshotType DeleteSnapshotType(; snapshotId=nothing) = new(snapshotId) end -function DeleteSnapshotType(pd::ETree) +function DeleteSnapshotType(pd) o = DeleteSnapshotType() - o.snapshotId = LibExpat.find(pd, "snapshotId#string") + o.snapshotId = LightXML.content(LightXML.find_element(pd, "snapshotId")) o end @@ -2703,10 +2711,10 @@ type DeleteSnapshotResponseType DeleteSnapshotResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteSnapshotResponseType(pd::ETree) +function DeleteSnapshotResponseType(pd) o = DeleteSnapshotResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -2719,9 +2727,9 @@ type DescribeSnapshotsSetItemType DescribeSnapshotsSetItemType(; snapshotId=nothing) = new(snapshotId) end -function DescribeSnapshotsSetItemType(pd::ETree) +function DescribeSnapshotsSetItemType(pd) o = DescribeSnapshotsSetItemType() - o.snapshotId = LibExpat.find(pd, "snapshotId#string") + o.snapshotId = LightXML.content(LightXML.find_element(pd, "snapshotId")) o end @@ -2734,9 +2742,9 @@ type DescribeSnapshotsOwnerType DescribeSnapshotsOwnerType(; owner=nothing) = new(owner) end -function DescribeSnapshotsOwnerType(pd::ETree) +function DescribeSnapshotsOwnerType(pd) o = DescribeSnapshotsOwnerType() - o.owner = LibExpat.find(pd, "owner#string") + o.owner = LightXML.content(LightXML.find_element(pd, "owner")) o end @@ -2749,9 +2757,9 @@ type DescribeSnapshotsRestorableByType DescribeSnapshotsRestorableByType(; user=nothing) = new(user) end -function DescribeSnapshotsRestorableByType(pd::ETree) +function DescribeSnapshotsRestorableByType(pd) o = DescribeSnapshotsRestorableByType() - o.user = LibExpat.find(pd, "user#string") + o.user = LightXML.content(LightXML.find_element(pd, "user")) o end @@ -2765,10 +2773,10 @@ type CreateVolumePermissionItemType CreateVolumePermissionItemType(; userId=nothing, group=nothing) = new(userId, group) end -function CreateVolumePermissionItemType(pd::ETree) +function CreateVolumePermissionItemType(pd) o = CreateVolumePermissionItemType() - o.userId = LibExpat.find(pd, "userId#string") - o.group = LibExpat.find(pd, "group#string") + o.userId = LightXML.content(LightXML.find_element(pd, "userId")) + o.group = LightXML.content(LightXML.find_element(pd, "group")) o end @@ -2782,10 +2790,10 @@ type ModifySnapshotAttributeResponseType ModifySnapshotAttributeResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ModifySnapshotAttributeResponseType(pd::ETree) +function ModifySnapshotAttributeResponseType(pd) o = ModifySnapshotAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -2798,9 +2806,9 @@ type ResetSnapshotAttributeType ResetSnapshotAttributeType(; snapshotId=nothing) = new(snapshotId) end -function ResetSnapshotAttributeType(pd::ETree) +function ResetSnapshotAttributeType(pd) o = ResetSnapshotAttributeType() - o.snapshotId = LibExpat.find(pd, "snapshotId#string") + o.snapshotId = LightXML.content(LightXML.find_element(pd, "snapshotId")) o end @@ -2814,10 +2822,10 @@ type ResetSnapshotAttributeResponseType ResetSnapshotAttributeResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ResetSnapshotAttributeResponseType(pd::ETree) +function ResetSnapshotAttributeResponseType(pd) o = ResetSnapshotAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -2830,9 +2838,9 @@ type DescribeSnapshotAttributeType DescribeSnapshotAttributeType(; snapshotId=nothing) = new(snapshotId) end -function DescribeSnapshotAttributeType(pd::ETree) +function DescribeSnapshotAttributeType(pd) o = DescribeSnapshotAttributeType() - o.snapshotId = LibExpat.find(pd, "snapshotId#string") + o.snapshotId = LightXML.content(LightXML.find_element(pd, "snapshotId")) o end @@ -2846,10 +2854,10 @@ type DescribeSnapshotAttributeResponseType DescribeSnapshotAttributeResponseType(; requestId=nothing, snapshotId=nothing) = new(requestId, snapshotId) end -function DescribeSnapshotAttributeResponseType(pd::ETree) +function DescribeSnapshotAttributeResponseType(pd) o = DescribeSnapshotAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.snapshotId = LibExpat.find(pd, "snapshotId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.snapshotId = LightXML.content(LightXML.find_element(pd, "snapshotId")) o end @@ -2866,13 +2874,13 @@ type BundleInstanceS3StorageType BundleInstanceS3StorageType(; bucket=nothing, prefix=nothing, awsAccessKeyId=nothing, uploadPolicy=nothing, uploadPolicySignature=nothing) = new(bucket, prefix, awsAccessKeyId, uploadPolicy, uploadPolicySignature) end -function BundleInstanceS3StorageType(pd::ETree) +function BundleInstanceS3StorageType(pd) o = BundleInstanceS3StorageType() - o.bucket = LibExpat.find(pd, "bucket#string") - o.prefix = LibExpat.find(pd, "prefix#string") - o.awsAccessKeyId = LibExpat.find(pd, "awsAccessKeyId#string") - o.uploadPolicy = LibExpat.find(pd, "uploadPolicy#string") - o.uploadPolicySignature = LibExpat.find(pd, "uploadPolicySignature#string") + o.bucket = LightXML.content(LightXML.find_element(pd, "bucket")) + o.prefix = LightXML.content(LightXML.find_element(pd, "prefix")) + o.awsAccessKeyId = LightXML.content(LightXML.find_element(pd, "awsAccessKeyId")) + o.uploadPolicy = LightXML.content(LightXML.find_element(pd, "uploadPolicy")) + o.uploadPolicySignature = LightXML.content(LightXML.find_element(pd, "uploadPolicySignature")) o end @@ -2886,10 +2894,10 @@ type BundleInstanceTaskErrorType BundleInstanceTaskErrorType(; code=nothing, message=nothing) = new(code, message) end -function BundleInstanceTaskErrorType(pd::ETree) +function BundleInstanceTaskErrorType(pd) o = BundleInstanceTaskErrorType() - o.code = LibExpat.find(pd, "code#string") - o.message = LibExpat.find(pd, "message#string") + o.code = LightXML.content(LightXML.find_element(pd, "code")) + o.message = LightXML.content(LightXML.find_element(pd, "message")) o end @@ -2902,9 +2910,9 @@ type DescribeBundleTasksItemType DescribeBundleTasksItemType(; bundleId=nothing) = new(bundleId) end -function DescribeBundleTasksItemType(pd::ETree) +function DescribeBundleTasksItemType(pd) o = DescribeBundleTasksItemType() - o.bundleId = LibExpat.find(pd, "bundleId#string") + o.bundleId = LightXML.content(LightXML.find_element(pd, "bundleId")) o end @@ -2917,9 +2925,9 @@ type CancelBundleTaskType CancelBundleTaskType(; bundleId=nothing) = new(bundleId) end -function CancelBundleTaskType(pd::ETree) +function CancelBundleTaskType(pd) o = CancelBundleTaskType() - o.bundleId = LibExpat.find(pd, "bundleId#string") + o.bundleId = LightXML.content(LightXML.find_element(pd, "bundleId")) o end @@ -2936,13 +2944,13 @@ type CopyImageType CopyImageType(; sourceRegion=nothing, sourceImageId=nothing, name=nothing, description=nothing, clientToken=nothing) = new(sourceRegion, sourceImageId, name, description, clientToken) end -function CopyImageType(pd::ETree) +function CopyImageType(pd) o = CopyImageType() - o.sourceRegion = LibExpat.find(pd, "sourceRegion#string") - o.sourceImageId = LibExpat.find(pd, "sourceImageId#string") - o.name = LibExpat.find(pd, "name#string") - o.description = LibExpat.find(pd, "description#string") - o.clientToken = LibExpat.find(pd, "clientToken#string") + o.sourceRegion = LightXML.content(LightXML.find_element(pd, "sourceRegion")) + o.sourceImageId = LightXML.content(LightXML.find_element(pd, "sourceImageId")) + o.name = LightXML.content(LightXML.find_element(pd, "name")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) + o.clientToken = LightXML.content(LightXML.find_element(pd, "clientToken")) o end @@ -2956,10 +2964,10 @@ type CopyImageResponseType CopyImageResponseType(; requestId=nothing, imageId=nothing) = new(requestId, imageId) end -function CopyImageResponseType(pd::ETree) +function CopyImageResponseType(pd) o = CopyImageResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.imageId = LibExpat.find(pd, "imageId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.imageId = LightXML.content(LightXML.find_element(pd, "imageId")) o end @@ -2972,9 +2980,9 @@ type DescribeRegionsSetItemType DescribeRegionsSetItemType(; regionName=nothing) = new(regionName) end -function DescribeRegionsSetItemType(pd::ETree) +function DescribeRegionsSetItemType(pd) o = DescribeRegionsSetItemType() - o.regionName = LibExpat.find(pd, "regionName#string") + o.regionName = LightXML.content(LightXML.find_element(pd, "regionName")) o end @@ -2988,10 +2996,10 @@ type RegionItemType RegionItemType(; regionName=nothing, regionEndpoint=nothing) = new(regionName, regionEndpoint) end -function RegionItemType(pd::ETree) +function RegionItemType(pd) o = RegionItemType() - o.regionName = LibExpat.find(pd, "regionName#string") - o.regionEndpoint = LibExpat.find(pd, "regionEndpoint#string") + o.regionName = LightXML.content(LightXML.find_element(pd, "regionName")) + o.regionEndpoint = LightXML.content(LightXML.find_element(pd, "regionEndpoint")) o end @@ -3004,9 +3012,9 @@ type DescribeReservedInstancesOfferingsSetItemType DescribeReservedInstancesOfferingsSetItemType(; reservedInstancesOfferingId=nothing) = new(reservedInstancesOfferingId) end -function DescribeReservedInstancesOfferingsSetItemType(pd::ETree) +function DescribeReservedInstancesOfferingsSetItemType(pd) o = DescribeReservedInstancesOfferingsSetItemType() - o.reservedInstancesOfferingId = LibExpat.find(pd, "reservedInstancesOfferingId#string") + o.reservedInstancesOfferingId = LightXML.content(LightXML.find_element(pd, "reservedInstancesOfferingId")) o end @@ -3020,10 +3028,10 @@ type RecurringChargesSetItemType RecurringChargesSetItemType(; frequency=nothing, amount=nothing) = new(frequency, amount) end -function RecurringChargesSetItemType(pd::ETree) +function RecurringChargesSetItemType(pd) o = RecurringChargesSetItemType() - o.frequency = LibExpat.find(pd, "frequency#string") - o.amount = AWS.safe_parse_as(Float64, LibExpat.find(pd, "amount#string")) + o.frequency = LightXML.content(LightXML.find_element(pd, "frequency")) + o.amount = AWS.safe_parse_as(Float64, LightXML.content(LightXML.find_element(pd, "amount"))) o end @@ -3037,10 +3045,10 @@ type PricingDetailsSetItemType PricingDetailsSetItemType(; price=nothing, count=nothing) = new(price, count) end -function PricingDetailsSetItemType(pd::ETree) +function PricingDetailsSetItemType(pd) o = PricingDetailsSetItemType() - o.price = AWS.safe_parse_as(Float64, LibExpat.find(pd, "price#string")) - o.count = AWS.safe_parse_as(Int64, LibExpat.find(pd, "count#string")) + o.price = AWS.safe_parse_as(Float64, LightXML.content(LightXML.find_element(pd, "price"))) + o.count = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "count"))) o end @@ -3054,10 +3062,10 @@ type ReservedInstanceLimitPriceType ReservedInstanceLimitPriceType(; amount=nothing, currencyCode=nothing) = new(amount, currencyCode) end -function ReservedInstanceLimitPriceType(pd::ETree) +function ReservedInstanceLimitPriceType(pd) o = ReservedInstanceLimitPriceType() - o.amount = AWS.safe_parse_as(Float64, LibExpat.find(pd, "amount#string")) - o.currencyCode = LibExpat.find(pd, "currencyCode#string") + o.amount = AWS.safe_parse_as(Float64, LightXML.content(LightXML.find_element(pd, "amount"))) + o.currencyCode = LightXML.content(LightXML.find_element(pd, "currencyCode")) o end @@ -3071,10 +3079,10 @@ type PurchaseReservedInstancesOfferingResponseType PurchaseReservedInstancesOfferingResponseType(; requestId=nothing, reservedInstancesId=nothing) = new(requestId, reservedInstancesId) end -function PurchaseReservedInstancesOfferingResponseType(pd::ETree) +function PurchaseReservedInstancesOfferingResponseType(pd) o = PurchaseReservedInstancesOfferingResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.reservedInstancesId = LibExpat.find(pd, "reservedInstancesId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.reservedInstancesId = LightXML.content(LightXML.find_element(pd, "reservedInstancesId")) o end @@ -3087,9 +3095,9 @@ type DescribeReservedInstancesSetItemType DescribeReservedInstancesSetItemType(; reservedInstancesId=nothing) = new(reservedInstancesId) end -function DescribeReservedInstancesSetItemType(pd::ETree) +function DescribeReservedInstancesSetItemType(pd) o = DescribeReservedInstancesSetItemType() - o.reservedInstancesId = LibExpat.find(pd, "reservedInstancesId#string") + o.reservedInstancesId = LightXML.content(LightXML.find_element(pd, "reservedInstancesId")) o end @@ -3104,11 +3112,11 @@ type PriceScheduleRequestSetItemType PriceScheduleRequestSetItemType(; term=nothing, price=nothing, currencyCode=nothing) = new(term, price, currencyCode) end -function PriceScheduleRequestSetItemType(pd::ETree) +function PriceScheduleRequestSetItemType(pd) o = PriceScheduleRequestSetItemType() - o.term = AWS.safe_parse_as(Int64, LibExpat.find(pd, "term#string")) - o.price = AWS.safe_parse_as(Float64, LibExpat.find(pd, "price#string")) - o.currencyCode = LibExpat.find(pd, "currencyCode#string") + o.term = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "term"))) + o.price = AWS.safe_parse_as(Float64, LightXML.content(LightXML.find_element(pd, "price"))) + o.currencyCode = LightXML.content(LightXML.find_element(pd, "currencyCode")) o end @@ -3121,9 +3129,9 @@ type CancelReservedInstancesListingType CancelReservedInstancesListingType(; reservedInstancesListingId=nothing) = new(reservedInstancesListingId) end -function CancelReservedInstancesListingType(pd::ETree) +function CancelReservedInstancesListingType(pd) o = CancelReservedInstancesListingType() - o.reservedInstancesListingId = LibExpat.find(pd, "reservedInstancesListingId#string") + o.reservedInstancesListingId = LightXML.content(LightXML.find_element(pd, "reservedInstancesListingId")) o end @@ -3136,9 +3144,9 @@ type DescribeReservedInstancesListingSetItemType DescribeReservedInstancesListingSetItemType(; reservedInstancesListingId=nothing) = new(reservedInstancesListingId) end -function DescribeReservedInstancesListingSetItemType(pd::ETree) +function DescribeReservedInstancesListingSetItemType(pd) o = DescribeReservedInstancesListingSetItemType() - o.reservedInstancesListingId = LibExpat.find(pd, "reservedInstancesListingId#string") + o.reservedInstancesListingId = LightXML.content(LightXML.find_element(pd, "reservedInstancesListingId")) o end @@ -3152,10 +3160,10 @@ type InstanceCountsSetItemType InstanceCountsSetItemType(; state=nothing, instanceCount=nothing) = new(state, instanceCount) end -function InstanceCountsSetItemType(pd::ETree) +function InstanceCountsSetItemType(pd) o = InstanceCountsSetItemType() - o.state = LibExpat.find(pd, "state#string") - o.instanceCount = AWS.safe_parse_as(Int64, LibExpat.find(pd, "instanceCount#string")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) + o.instanceCount = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "instanceCount"))) o end @@ -3171,12 +3179,12 @@ type PriceScheduleSetItemType PriceScheduleSetItemType(; term=nothing, price=nothing, currencyCode=nothing, active=nothing) = new(term, price, currencyCode, active) end -function PriceScheduleSetItemType(pd::ETree) +function PriceScheduleSetItemType(pd) o = PriceScheduleSetItemType() - o.term = AWS.safe_parse_as(Int64, LibExpat.find(pd, "term#string")) - o.price = AWS.safe_parse_as(Float64, LibExpat.find(pd, "price#string")) - o.currencyCode = LibExpat.find(pd, "currencyCode#string") - o.active = AWS.safe_parse_as(Bool, LibExpat.find(pd, "active#string")) + o.term = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "term"))) + o.price = AWS.safe_parse_as(Float64, LightXML.content(LightXML.find_element(pd, "price"))) + o.currencyCode = LightXML.content(LightXML.find_element(pd, "currencyCode")) + o.active = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "active"))) o end @@ -3189,9 +3197,9 @@ type MonitorInstancesType MonitorInstancesType(; instancesSet=nothing) = new(instancesSet) end -function MonitorInstancesType(pd::ETree) +function MonitorInstancesType(pd) o = MonitorInstancesType() - o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LibExpat.find(pd, "item/instanceId")) + o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "instanceId")) o end @@ -3204,9 +3212,9 @@ type MonitorInstancesSetItemType MonitorInstancesSetItemType(; instanceId=nothing) = new(instanceId) end -function MonitorInstancesSetItemType(pd::ETree) +function MonitorInstancesSetItemType(pd) o = MonitorInstancesSetItemType() - o.instanceId = LibExpat.find(pd, "instanceId#string") + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) o end @@ -3219,9 +3227,9 @@ type InstanceMonitoringStateType InstanceMonitoringStateType(; state=nothing) = new(state) end -function InstanceMonitoringStateType(pd::ETree) +function InstanceMonitoringStateType(pd) o = InstanceMonitoringStateType() - o.state = LibExpat.find(pd, "state#string") + o.state = LightXML.content(LightXML.find_element(pd, "state")) o end @@ -3235,10 +3243,10 @@ type AttachmentType AttachmentType(; vpcId=nothing, state=nothing) = new(vpcId, state) end -function AttachmentType(pd::ETree) +function AttachmentType(pd) o = AttachmentType() - o.vpcId = LibExpat.find(pd, "vpcId#string") - o.state = LibExpat.find(pd, "state#string") + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) o end @@ -3251,9 +3259,9 @@ type VpnConnectionOptionsResponseType VpnConnectionOptionsResponseType(; staticRoutesOnly=nothing) = new(staticRoutesOnly) end -function VpnConnectionOptionsResponseType(pd::ETree) +function VpnConnectionOptionsResponseType(pd) o = VpnConnectionOptionsResponseType() - o.staticRoutesOnly = AWS.safe_parse_as(Bool, LibExpat.find(pd, "staticRoutesOnly#string")) + o.staticRoutesOnly = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "staticRoutesOnly"))) o end @@ -3268,11 +3276,11 @@ type VpnStaticRouteType VpnStaticRouteType(; destinationCidrBlock=nothing, source=nothing, state=nothing) = new(destinationCidrBlock, source, state) end -function VpnStaticRouteType(pd::ETree) +function VpnStaticRouteType(pd) o = VpnStaticRouteType() - o.destinationCidrBlock = LibExpat.find(pd, "destinationCidrBlock#string") - o.source = LibExpat.find(pd, "source#string") - o.state = LibExpat.find(pd, "state#string") + o.destinationCidrBlock = LightXML.content(LightXML.find_element(pd, "destinationCidrBlock")) + o.source = LightXML.content(LightXML.find_element(pd, "source")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) o end @@ -3289,13 +3297,13 @@ type VpnTunnelTelemetryType VpnTunnelTelemetryType(; outsideIpAddress=nothing, status=nothing, lastStatusChange=nothing, statusMessage=nothing, acceptedRouteCount=nothing) = new(outsideIpAddress, status, lastStatusChange, statusMessage, acceptedRouteCount) end -function VpnTunnelTelemetryType(pd::ETree) +function VpnTunnelTelemetryType(pd) o = VpnTunnelTelemetryType() - o.outsideIpAddress = LibExpat.find(pd, "outsideIpAddress#string") - o.status = LibExpat.find(pd, "status#string") - o.lastStatusChange = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "lastStatusChange#string")) - o.statusMessage = LibExpat.find(pd, "statusMessage#string") - o.acceptedRouteCount = AWS.safe_parse_as(Int64, LibExpat.find(pd, "acceptedRouteCount#string")) + o.outsideIpAddress = LightXML.content(LightXML.find_element(pd, "outsideIpAddress")) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.lastStatusChange = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "lastStatusChange"))) + o.statusMessage = LightXML.content(LightXML.find_element(pd, "statusMessage")) + o.acceptedRouteCount = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "acceptedRouteCount"))) o end @@ -3308,9 +3316,9 @@ type CustomerGatewayIdSetItemType CustomerGatewayIdSetItemType(; customerGatewayId=nothing) = new(customerGatewayId) end -function CustomerGatewayIdSetItemType(pd::ETree) +function CustomerGatewayIdSetItemType(pd) o = CustomerGatewayIdSetItemType() - o.customerGatewayId = LibExpat.find(pd, "customerGatewayId#string") + o.customerGatewayId = LightXML.content(LightXML.find_element(pd, "customerGatewayId")) o end @@ -3323,9 +3331,9 @@ type VpnGatewayIdSetItemType VpnGatewayIdSetItemType(; vpnGatewayId=nothing) = new(vpnGatewayId) end -function VpnGatewayIdSetItemType(pd::ETree) +function VpnGatewayIdSetItemType(pd) o = VpnGatewayIdSetItemType() - o.vpnGatewayId = LibExpat.find(pd, "vpnGatewayId#string") + o.vpnGatewayId = LightXML.content(LightXML.find_element(pd, "vpnGatewayId")) o end @@ -3338,9 +3346,9 @@ type VpnConnectionIdSetItemType VpnConnectionIdSetItemType(; vpnConnectionId=nothing) = new(vpnConnectionId) end -function VpnConnectionIdSetItemType(pd::ETree) +function VpnConnectionIdSetItemType(pd) o = VpnConnectionIdSetItemType() - o.vpnConnectionId = LibExpat.find(pd, "vpnConnectionId#string") + o.vpnConnectionId = LightXML.content(LightXML.find_element(pd, "vpnConnectionId")) o end @@ -3353,9 +3361,9 @@ type VpcIdSetItemType VpcIdSetItemType(; vpcId=nothing) = new(vpcId) end -function VpcIdSetItemType(pd::ETree) +function VpcIdSetItemType(pd) o = VpcIdSetItemType() - o.vpcId = LibExpat.find(pd, "vpcId#string") + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) o end @@ -3368,9 +3376,9 @@ type SubnetIdSetItemType SubnetIdSetItemType(; subnetId=nothing) = new(subnetId) end -function SubnetIdSetItemType(pd::ETree) +function SubnetIdSetItemType(pd) o = SubnetIdSetItemType() - o.subnetId = LibExpat.find(pd, "subnetId#string") + o.subnetId = LightXML.content(LightXML.find_element(pd, "subnetId")) o end @@ -3383,9 +3391,9 @@ type DhcpOptionsIdSetItemType DhcpOptionsIdSetItemType(; dhcpOptionsId=nothing) = new(dhcpOptionsId) end -function DhcpOptionsIdSetItemType(pd::ETree) +function DhcpOptionsIdSetItemType(pd) o = DhcpOptionsIdSetItemType() - o.dhcpOptionsId = LibExpat.find(pd, "dhcpOptionsId#string") + o.dhcpOptionsId = LightXML.content(LightXML.find_element(pd, "dhcpOptionsId")) o end @@ -3399,10 +3407,10 @@ type DhcpConfigurationItemType DhcpConfigurationItemType(; key=nothing, valueSet=nothing) = new(key, valueSet) end -function DhcpConfigurationItemType(pd::ETree) +function DhcpConfigurationItemType(pd) o = DhcpConfigurationItemType() - o.key = LibExpat.find(pd, "key#string") - o.valueSet = AWS.parse_vector_as(ASCIIString, "value", LibExpat.find(pd, "item/value")) + o.key = LightXML.content(LightXML.find_element(pd, "key")) + o.valueSet = AWS.parse_vector_as(ASCIIString, "value", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "value")) o end @@ -3415,9 +3423,9 @@ type DhcpValueType DhcpValueType(; value=nothing) = new(value) end -function DhcpValueType(pd::ETree) +function DhcpValueType(pd) o = DhcpValueType() - o.value = LibExpat.find(pd, "value#string") + o.value = LightXML.content(LightXML.find_element(pd, "value")) o end @@ -3430,9 +3438,9 @@ type ValueType ValueType(; value=nothing) = new(value) end -function ValueType(pd::ETree) +function ValueType(pd) o = ValueType() - o.value = LibExpat.find(pd, "value#string") + o.value = LightXML.content(LightXML.find_element(pd, "value")) o end @@ -3447,11 +3455,11 @@ type CreateCustomerGatewayType CreateCustomerGatewayType(; _type=nothing, ipAddress=nothing, bgpAsn=nothing) = new(_type, ipAddress, bgpAsn) end -function CreateCustomerGatewayType(pd::ETree) +function CreateCustomerGatewayType(pd) o = CreateCustomerGatewayType() - o._type = LibExpat.find(pd, "type#string") - o.ipAddress = LibExpat.find(pd, "ipAddress#string") - o.bgpAsn = AWS.safe_parse_as(Int64, LibExpat.find(pd, "bgpAsn#string")) + o._type = LightXML.content(LightXML.find_element(pd, "type")) + o.ipAddress = LightXML.content(LightXML.find_element(pd, "ipAddress")) + o.bgpAsn = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "bgpAsn"))) o end @@ -3464,9 +3472,9 @@ type DeleteCustomerGatewayType DeleteCustomerGatewayType(; customerGatewayId=nothing) = new(customerGatewayId) end -function DeleteCustomerGatewayType(pd::ETree) +function DeleteCustomerGatewayType(pd) o = DeleteCustomerGatewayType() - o.customerGatewayId = LibExpat.find(pd, "customerGatewayId#string") + o.customerGatewayId = LightXML.content(LightXML.find_element(pd, "customerGatewayId")) o end @@ -3480,10 +3488,10 @@ type DeleteCustomerGatewayResponseType DeleteCustomerGatewayResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteCustomerGatewayResponseType(pd::ETree) +function DeleteCustomerGatewayResponseType(pd) o = DeleteCustomerGatewayResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -3497,10 +3505,10 @@ type CreateVpnGatewayType CreateVpnGatewayType(; _type=nothing, availabilityZone=nothing) = new(_type, availabilityZone) end -function CreateVpnGatewayType(pd::ETree) +function CreateVpnGatewayType(pd) o = CreateVpnGatewayType() - o._type = LibExpat.find(pd, "type#string") - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") + o._type = LightXML.content(LightXML.find_element(pd, "type")) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) o end @@ -3513,9 +3521,9 @@ type DeleteVpnGatewayType DeleteVpnGatewayType(; vpnGatewayId=nothing) = new(vpnGatewayId) end -function DeleteVpnGatewayType(pd::ETree) +function DeleteVpnGatewayType(pd) o = DeleteVpnGatewayType() - o.vpnGatewayId = LibExpat.find(pd, "vpnGatewayId#string") + o.vpnGatewayId = LightXML.content(LightXML.find_element(pd, "vpnGatewayId")) o end @@ -3529,10 +3537,10 @@ type DeleteVpnGatewayResponseType DeleteVpnGatewayResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteVpnGatewayResponseType(pd::ETree) +function DeleteVpnGatewayResponseType(pd) o = DeleteVpnGatewayResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -3545,9 +3553,9 @@ type VpnConnectionOptionsRequestType VpnConnectionOptionsRequestType(; staticRoutesOnly=nothing) = new(staticRoutesOnly) end -function VpnConnectionOptionsRequestType(pd::ETree) +function VpnConnectionOptionsRequestType(pd) o = VpnConnectionOptionsRequestType() - o.staticRoutesOnly = AWS.safe_parse_as(Bool, LibExpat.find(pd, "staticRoutesOnly#string")) + o.staticRoutesOnly = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "staticRoutesOnly"))) o end @@ -3561,10 +3569,10 @@ type CreateVpnConnectionRouteType CreateVpnConnectionRouteType(; vpnConnectionId=nothing, destinationCidrBlock=nothing) = new(vpnConnectionId, destinationCidrBlock) end -function CreateVpnConnectionRouteType(pd::ETree) +function CreateVpnConnectionRouteType(pd) o = CreateVpnConnectionRouteType() - o.vpnConnectionId = LibExpat.find(pd, "vpnConnectionId#string") - o.destinationCidrBlock = LibExpat.find(pd, "destinationCidrBlock#string") + o.vpnConnectionId = LightXML.content(LightXML.find_element(pd, "vpnConnectionId")) + o.destinationCidrBlock = LightXML.content(LightXML.find_element(pd, "destinationCidrBlock")) o end @@ -3578,10 +3586,10 @@ type CreateVpnConnectionRouteResponseType CreateVpnConnectionRouteResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function CreateVpnConnectionRouteResponseType(pd::ETree) +function CreateVpnConnectionRouteResponseType(pd) o = CreateVpnConnectionRouteResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -3595,10 +3603,10 @@ type DeleteVpnConnectionRouteType DeleteVpnConnectionRouteType(; vpnConnectionId=nothing, destinationCidrBlock=nothing) = new(vpnConnectionId, destinationCidrBlock) end -function DeleteVpnConnectionRouteType(pd::ETree) +function DeleteVpnConnectionRouteType(pd) o = DeleteVpnConnectionRouteType() - o.vpnConnectionId = LibExpat.find(pd, "vpnConnectionId#string") - o.destinationCidrBlock = LibExpat.find(pd, "destinationCidrBlock#string") + o.vpnConnectionId = LightXML.content(LightXML.find_element(pd, "vpnConnectionId")) + o.destinationCidrBlock = LightXML.content(LightXML.find_element(pd, "destinationCidrBlock")) o end @@ -3612,10 +3620,10 @@ type DeleteVpnConnectionRouteResponseType DeleteVpnConnectionRouteResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteVpnConnectionRouteResponseType(pd::ETree) +function DeleteVpnConnectionRouteResponseType(pd) o = DeleteVpnConnectionRouteResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -3628,9 +3636,9 @@ type DeleteVpnConnectionType DeleteVpnConnectionType(; vpnConnectionId=nothing) = new(vpnConnectionId) end -function DeleteVpnConnectionType(pd::ETree) +function DeleteVpnConnectionType(pd) o = DeleteVpnConnectionType() - o.vpnConnectionId = LibExpat.find(pd, "vpnConnectionId#string") + o.vpnConnectionId = LightXML.content(LightXML.find_element(pd, "vpnConnectionId")) o end @@ -3644,10 +3652,10 @@ type DeleteVpnConnectionResponseType DeleteVpnConnectionResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteVpnConnectionResponseType(pd::ETree) +function DeleteVpnConnectionResponseType(pd) o = DeleteVpnConnectionResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -3661,10 +3669,10 @@ type AttachVpnGatewayType AttachVpnGatewayType(; vpnGatewayId=nothing, vpcId=nothing) = new(vpnGatewayId, vpcId) end -function AttachVpnGatewayType(pd::ETree) +function AttachVpnGatewayType(pd) o = AttachVpnGatewayType() - o.vpnGatewayId = LibExpat.find(pd, "vpnGatewayId#string") - o.vpcId = LibExpat.find(pd, "vpcId#string") + o.vpnGatewayId = LightXML.content(LightXML.find_element(pd, "vpnGatewayId")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) o end @@ -3678,10 +3686,10 @@ type DetachVpnGatewayType DetachVpnGatewayType(; vpnGatewayId=nothing, vpcId=nothing) = new(vpnGatewayId, vpcId) end -function DetachVpnGatewayType(pd::ETree) +function DetachVpnGatewayType(pd) o = DetachVpnGatewayType() - o.vpnGatewayId = LibExpat.find(pd, "vpnGatewayId#string") - o.vpcId = LibExpat.find(pd, "vpcId#string") + o.vpnGatewayId = LightXML.content(LightXML.find_element(pd, "vpnGatewayId")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) o end @@ -3695,10 +3703,10 @@ type DetachVpnGatewayResponseType DetachVpnGatewayResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DetachVpnGatewayResponseType(pd::ETree) +function DetachVpnGatewayResponseType(pd) o = DetachVpnGatewayResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -3712,10 +3720,10 @@ type CreateVpcType CreateVpcType(; cidrBlock=nothing, instanceTenancy=nothing) = new(cidrBlock, instanceTenancy) end -function CreateVpcType(pd::ETree) +function CreateVpcType(pd) o = CreateVpcType() - o.cidrBlock = LibExpat.find(pd, "cidrBlock#string") - o.instanceTenancy = LibExpat.find(pd, "instanceTenancy#string") + o.cidrBlock = LightXML.content(LightXML.find_element(pd, "cidrBlock")) + o.instanceTenancy = LightXML.content(LightXML.find_element(pd, "instanceTenancy")) o end @@ -3728,9 +3736,9 @@ type DeleteVpcType DeleteVpcType(; vpcId=nothing) = new(vpcId) end -function DeleteVpcType(pd::ETree) +function DeleteVpcType(pd) o = DeleteVpcType() - o.vpcId = LibExpat.find(pd, "vpcId#string") + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) o end @@ -3744,10 +3752,10 @@ type DeleteVpcResponseType DeleteVpcResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteVpcResponseType(pd::ETree) +function DeleteVpcResponseType(pd) o = DeleteVpcResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -3762,11 +3770,11 @@ type CreateSubnetType CreateSubnetType(; vpcId=nothing, cidrBlock=nothing, availabilityZone=nothing) = new(vpcId, cidrBlock, availabilityZone) end -function CreateSubnetType(pd::ETree) +function CreateSubnetType(pd) o = CreateSubnetType() - o.vpcId = LibExpat.find(pd, "vpcId#string") - o.cidrBlock = LibExpat.find(pd, "cidrBlock#string") - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) + o.cidrBlock = LightXML.content(LightXML.find_element(pd, "cidrBlock")) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) o end @@ -3779,9 +3787,9 @@ type DeleteSubnetType DeleteSubnetType(; subnetId=nothing) = new(subnetId) end -function DeleteSubnetType(pd::ETree) +function DeleteSubnetType(pd) o = DeleteSubnetType() - o.subnetId = LibExpat.find(pd, "subnetId#string") + o.subnetId = LightXML.content(LightXML.find_element(pd, "subnetId")) o end @@ -3795,10 +3803,10 @@ type DeleteSubnetResponseType DeleteSubnetResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteSubnetResponseType(pd::ETree) +function DeleteSubnetResponseType(pd) o = DeleteSubnetResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -3811,9 +3819,9 @@ type DeleteDhcpOptionsType DeleteDhcpOptionsType(; dhcpOptionsId=nothing) = new(dhcpOptionsId) end -function DeleteDhcpOptionsType(pd::ETree) +function DeleteDhcpOptionsType(pd) o = DeleteDhcpOptionsType() - o.dhcpOptionsId = LibExpat.find(pd, "dhcpOptionsId#string") + o.dhcpOptionsId = LightXML.content(LightXML.find_element(pd, "dhcpOptionsId")) o end @@ -3827,10 +3835,10 @@ type DeleteDhcpOptionsResponseType DeleteDhcpOptionsResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteDhcpOptionsResponseType(pd::ETree) +function DeleteDhcpOptionsResponseType(pd) o = DeleteDhcpOptionsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -3844,10 +3852,10 @@ type AssociateDhcpOptionsType AssociateDhcpOptionsType(; dhcpOptionsId=nothing, vpcId=nothing) = new(dhcpOptionsId, vpcId) end -function AssociateDhcpOptionsType(pd::ETree) +function AssociateDhcpOptionsType(pd) o = AssociateDhcpOptionsType() - o.dhcpOptionsId = LibExpat.find(pd, "dhcpOptionsId#string") - o.vpcId = LibExpat.find(pd, "vpcId#string") + o.dhcpOptionsId = LightXML.content(LightXML.find_element(pd, "dhcpOptionsId")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) o end @@ -3861,10 +3869,10 @@ type AssociateDhcpOptionsResponseType AssociateDhcpOptionsResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function AssociateDhcpOptionsResponseType(pd::ETree) +function AssociateDhcpOptionsResponseType(pd) o = AssociateDhcpOptionsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -3878,10 +3886,10 @@ type SpotInstanceStateFaultType SpotInstanceStateFaultType(; code=nothing, message=nothing) = new(code, message) end -function SpotInstanceStateFaultType(pd::ETree) +function SpotInstanceStateFaultType(pd) o = SpotInstanceStateFaultType() - o.code = LibExpat.find(pd, "code#string") - o.message = LibExpat.find(pd, "message#string") + o.code = LightXML.content(LightXML.find_element(pd, "code")) + o.message = LightXML.content(LightXML.find_element(pd, "message")) o end @@ -3896,11 +3904,11 @@ type SpotInstanceStatusMessageType SpotInstanceStatusMessageType(; code=nothing, updateTime=nothing, message=nothing) = new(code, updateTime, message) end -function SpotInstanceStatusMessageType(pd::ETree) +function SpotInstanceStatusMessageType(pd) o = SpotInstanceStatusMessageType() - o.code = LibExpat.find(pd, "code#string") - o.updateTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "updateTime#string")) - o.message = LibExpat.find(pd, "message#string") + o.code = LightXML.content(LightXML.find_element(pd, "code")) + o.updateTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "updateTime"))) + o.message = LightXML.content(LightXML.find_element(pd, "message")) o end @@ -3913,9 +3921,9 @@ type SpotInstanceRequestIdSetItemType SpotInstanceRequestIdSetItemType(; spotInstanceRequestId=nothing) = new(spotInstanceRequestId) end -function SpotInstanceRequestIdSetItemType(pd::ETree) +function SpotInstanceRequestIdSetItemType(pd) o = SpotInstanceRequestIdSetItemType() - o.spotInstanceRequestId = LibExpat.find(pd, "spotInstanceRequestId#string") + o.spotInstanceRequestId = LightXML.content(LightXML.find_element(pd, "spotInstanceRequestId")) o end @@ -3928,9 +3936,9 @@ type CancelSpotInstanceRequestsType CancelSpotInstanceRequestsType(; spotInstanceRequestIdSet=nothing) = new(spotInstanceRequestIdSet) end -function CancelSpotInstanceRequestsType(pd::ETree) +function CancelSpotInstanceRequestsType(pd) o = CancelSpotInstanceRequestsType() - o.spotInstanceRequestIdSet = AWS.parse_vector_as(ASCIIString, "spotInstanceRequestId", LibExpat.find(pd, "item/spotInstanceRequestId")) + o.spotInstanceRequestIdSet = AWS.parse_vector_as(ASCIIString, "spotInstanceRequestId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "spotInstanceRequestId")) o end @@ -3944,10 +3952,10 @@ type CancelSpotInstanceRequestsResponseSetItemType CancelSpotInstanceRequestsResponseSetItemType(; spotInstanceRequestId=nothing, state=nothing) = new(spotInstanceRequestId, state) end -function CancelSpotInstanceRequestsResponseSetItemType(pd::ETree) +function CancelSpotInstanceRequestsResponseSetItemType(pd) o = CancelSpotInstanceRequestsResponseSetItemType() - o.spotInstanceRequestId = LibExpat.find(pd, "spotInstanceRequestId#string") - o.state = LibExpat.find(pd, "state#string") + o.spotInstanceRequestId = LightXML.content(LightXML.find_element(pd, "spotInstanceRequestId")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) o end @@ -3960,9 +3968,9 @@ type InstanceTypeSetItemType InstanceTypeSetItemType(; instanceType=nothing) = new(instanceType) end -function InstanceTypeSetItemType(pd::ETree) +function InstanceTypeSetItemType(pd) o = InstanceTypeSetItemType() - o.instanceType = LibExpat.find(pd, "instanceType#string") + o.instanceType = LightXML.content(LightXML.find_element(pd, "instanceType")) o end @@ -3975,9 +3983,9 @@ type ProductDescriptionSetItemType ProductDescriptionSetItemType(; productDescription=nothing) = new(productDescription) end -function ProductDescriptionSetItemType(pd::ETree) +function ProductDescriptionSetItemType(pd) o = ProductDescriptionSetItemType() - o.productDescription = LibExpat.find(pd, "productDescription#string") + o.productDescription = LightXML.content(LightXML.find_element(pd, "productDescription")) o end @@ -3994,13 +4002,13 @@ type SpotPriceHistorySetItemType SpotPriceHistorySetItemType(; instanceType=nothing, productDescription=nothing, spotPrice=nothing, timestamp=nothing, availabilityZone=nothing) = new(instanceType, productDescription, spotPrice, timestamp, availabilityZone) end -function SpotPriceHistorySetItemType(pd::ETree) +function SpotPriceHistorySetItemType(pd) o = SpotPriceHistorySetItemType() - o.instanceType = LibExpat.find(pd, "instanceType#string") - o.productDescription = LibExpat.find(pd, "productDescription#string") - o.spotPrice = LibExpat.find(pd, "spotPrice#string") - o.timestamp = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "timestamp#string")) - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") + o.instanceType = LightXML.content(LightXML.find_element(pd, "instanceType")) + o.productDescription = LightXML.content(LightXML.find_element(pd, "productDescription")) + o.spotPrice = LightXML.content(LightXML.find_element(pd, "spotPrice")) + o.timestamp = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "timestamp"))) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) o end @@ -4014,10 +4022,10 @@ type CreateSpotDatafeedSubscriptionType CreateSpotDatafeedSubscriptionType(; bucket=nothing, prefix=nothing) = new(bucket, prefix) end -function CreateSpotDatafeedSubscriptionType(pd::ETree) +function CreateSpotDatafeedSubscriptionType(pd) o = CreateSpotDatafeedSubscriptionType() - o.bucket = LibExpat.find(pd, "bucket#string") - o.prefix = LibExpat.find(pd, "prefix#string") + o.bucket = LightXML.content(LightXML.find_element(pd, "bucket")) + o.prefix = LightXML.content(LightXML.find_element(pd, "prefix")) o end @@ -4031,10 +4039,10 @@ type DeleteSpotDatafeedSubscriptionResponseType DeleteSpotDatafeedSubscriptionResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteSpotDatafeedSubscriptionResponseType(pd::ETree) +function DeleteSpotDatafeedSubscriptionResponseType(pd) o = DeleteSpotDatafeedSubscriptionResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -4047,9 +4055,9 @@ type LicenseIdSetItemType LicenseIdSetItemType(; licenseId=nothing) = new(licenseId) end -function LicenseIdSetItemType(pd::ETree) +function LicenseIdSetItemType(pd) o = LicenseIdSetItemType() - o.licenseId = LibExpat.find(pd, "licenseId#string") + o.licenseId = LightXML.content(LightXML.find_element(pd, "licenseId")) o end @@ -4065,12 +4073,12 @@ type LicenseCapacitySetItemType LicenseCapacitySetItemType(; capacity=nothing, instanceCapacity=nothing, state=nothing, earliestAllowedDeactivationTime=nothing) = new(capacity, instanceCapacity, state, earliestAllowedDeactivationTime) end -function LicenseCapacitySetItemType(pd::ETree) +function LicenseCapacitySetItemType(pd) o = LicenseCapacitySetItemType() - o.capacity = AWS.safe_parse_as(Int64, LibExpat.find(pd, "capacity#string")) - o.instanceCapacity = AWS.safe_parse_as(Int64, LibExpat.find(pd, "instanceCapacity#string")) - o.state = LibExpat.find(pd, "state#string") - o.earliestAllowedDeactivationTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "earliestAllowedDeactivationTime#string")) + o.capacity = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "capacity"))) + o.instanceCapacity = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "instanceCapacity"))) + o.state = LightXML.content(LightXML.find_element(pd, "state")) + o.earliestAllowedDeactivationTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "earliestAllowedDeactivationTime"))) o end @@ -4084,10 +4092,10 @@ type ActivateLicenseType ActivateLicenseType(; licenseId=nothing, capacity=nothing) = new(licenseId, capacity) end -function ActivateLicenseType(pd::ETree) +function ActivateLicenseType(pd) o = ActivateLicenseType() - o.licenseId = LibExpat.find(pd, "licenseId#string") - o.capacity = AWS.safe_parse_as(Int64, LibExpat.find(pd, "capacity#string")) + o.licenseId = LightXML.content(LightXML.find_element(pd, "licenseId")) + o.capacity = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "capacity"))) o end @@ -4101,10 +4109,10 @@ type ActivateLicenseResponseType ActivateLicenseResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ActivateLicenseResponseType(pd::ETree) +function ActivateLicenseResponseType(pd) o = ActivateLicenseResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -4118,10 +4126,10 @@ type DeactivateLicenseType DeactivateLicenseType(; licenseId=nothing, capacity=nothing) = new(licenseId, capacity) end -function DeactivateLicenseType(pd::ETree) +function DeactivateLicenseType(pd) o = DeactivateLicenseType() - o.licenseId = LibExpat.find(pd, "licenseId#string") - o.capacity = AWS.safe_parse_as(Int64, LibExpat.find(pd, "capacity#string")) + o.licenseId = LightXML.content(LightXML.find_element(pd, "licenseId")) + o.capacity = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "capacity"))) o end @@ -4135,10 +4143,10 @@ type DeactivateLicenseResponseType DeactivateLicenseResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeactivateLicenseResponseType(pd::ETree) +function DeactivateLicenseResponseType(pd) o = DeactivateLicenseResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -4152,10 +4160,10 @@ type CreatePlacementGroupType CreatePlacementGroupType(; groupName=nothing, strategy=nothing) = new(groupName, strategy) end -function CreatePlacementGroupType(pd::ETree) +function CreatePlacementGroupType(pd) o = CreatePlacementGroupType() - o.groupName = LibExpat.find(pd, "groupName#string") - o.strategy = LibExpat.find(pd, "strategy#string") + o.groupName = LightXML.content(LightXML.find_element(pd, "groupName")) + o.strategy = LightXML.content(LightXML.find_element(pd, "strategy")) o end @@ -4169,10 +4177,10 @@ type CreatePlacementGroupResponseType CreatePlacementGroupResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function CreatePlacementGroupResponseType(pd::ETree) +function CreatePlacementGroupResponseType(pd) o = CreatePlacementGroupResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -4185,9 +4193,9 @@ type DeletePlacementGroupType DeletePlacementGroupType(; groupName=nothing) = new(groupName) end -function DeletePlacementGroupType(pd::ETree) +function DeletePlacementGroupType(pd) o = DeletePlacementGroupType() - o.groupName = LibExpat.find(pd, "groupName#string") + o.groupName = LightXML.content(LightXML.find_element(pd, "groupName")) o end @@ -4201,10 +4209,10 @@ type DeletePlacementGroupResponseType DeletePlacementGroupResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeletePlacementGroupResponseType(pd::ETree) +function DeletePlacementGroupResponseType(pd) o = DeletePlacementGroupResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -4217,9 +4225,9 @@ type DescribePlacementGroupItemType DescribePlacementGroupItemType(; groupName=nothing) = new(groupName) end -function DescribePlacementGroupItemType(pd::ETree) +function DescribePlacementGroupItemType(pd) o = DescribePlacementGroupItemType() - o.groupName = LibExpat.find(pd, "groupName#string") + o.groupName = LightXML.content(LightXML.find_element(pd, "groupName")) o end @@ -4234,11 +4242,11 @@ type PlacementGroupInfoType PlacementGroupInfoType(; groupName=nothing, strategy=nothing, state=nothing) = new(groupName, strategy, state) end -function PlacementGroupInfoType(pd::ETree) +function PlacementGroupInfoType(pd) o = PlacementGroupInfoType() - o.groupName = LibExpat.find(pd, "groupName#string") - o.strategy = LibExpat.find(pd, "strategy#string") - o.state = LibExpat.find(pd, "state#string") + o.groupName = LightXML.content(LightXML.find_element(pd, "groupName")) + o.strategy = LightXML.content(LightXML.find_element(pd, "strategy")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) o end @@ -4251,9 +4259,9 @@ type ResourceIdSetItemType ResourceIdSetItemType(; resourceId=nothing) = new(resourceId) end -function ResourceIdSetItemType(pd::ETree) +function ResourceIdSetItemType(pd) o = ResourceIdSetItemType() - o.resourceId = LibExpat.find(pd, "resourceId#string") + o.resourceId = LightXML.content(LightXML.find_element(pd, "resourceId")) o end @@ -4267,10 +4275,10 @@ type CreateTagsResponseType CreateTagsResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function CreateTagsResponseType(pd::ETree) +function CreateTagsResponseType(pd) o = CreateTagsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -4286,12 +4294,12 @@ type TagSetItemType TagSetItemType(; resourceId=nothing, resourceType=nothing, key=nothing, value=nothing) = new(resourceId, resourceType, key, value) end -function TagSetItemType(pd::ETree) +function TagSetItemType(pd) o = TagSetItemType() - o.resourceId = LibExpat.find(pd, "resourceId#string") - o.resourceType = LibExpat.find(pd, "resourceType#string") - o.key = LibExpat.find(pd, "key#string") - o.value = LibExpat.find(pd, "value#string") + o.resourceId = LightXML.content(LightXML.find_element(pd, "resourceId")) + o.resourceType = LightXML.content(LightXML.find_element(pd, "resourceType")) + o.key = LightXML.content(LightXML.find_element(pd, "key")) + o.value = LightXML.content(LightXML.find_element(pd, "value")) o end @@ -4305,10 +4313,10 @@ type DeleteTagsSetItemType DeleteTagsSetItemType(; key=nothing, value=nothing) = new(key, value) end -function DeleteTagsSetItemType(pd::ETree) +function DeleteTagsSetItemType(pd) o = DeleteTagsSetItemType() - o.key = LibExpat.find(pd, "key#string") - o.value = LibExpat.find(pd, "value#string") + o.key = LightXML.content(LightXML.find_element(pd, "key")) + o.value = LightXML.content(LightXML.find_element(pd, "value")) o end @@ -4322,10 +4330,10 @@ type DeleteTagsResponseType DeleteTagsResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteTagsResponseType(pd::ETree) +function DeleteTagsResponseType(pd) o = DeleteTagsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -4340,11 +4348,11 @@ type DiskImageDetailType DiskImageDetailType(; format=nothing, bytes=nothing, importManifestUrl=nothing) = new(format, bytes, importManifestUrl) end -function DiskImageDetailType(pd::ETree) +function DiskImageDetailType(pd) o = DiskImageDetailType() - o.format = LibExpat.find(pd, "format#string") - o.bytes = AWS.safe_parse_as(Int64, LibExpat.find(pd, "bytes#string")) - o.importManifestUrl = LibExpat.find(pd, "importManifestUrl#string") + o.format = LightXML.content(LightXML.find_element(pd, "format")) + o.bytes = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "bytes"))) + o.importManifestUrl = LightXML.content(LightXML.find_element(pd, "importManifestUrl")) o end @@ -4357,9 +4365,9 @@ type DiskImageVolumeType DiskImageVolumeType(; size=nothing) = new(size) end -function DiskImageVolumeType(pd::ETree) +function DiskImageVolumeType(pd) o = DiskImageVolumeType() - o.size = AWS.safe_parse_as(Int64, LibExpat.find(pd, "size#string")) + o.size = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "size"))) o end @@ -4373,10 +4381,10 @@ type DiskImageVolumeDescriptionType DiskImageVolumeDescriptionType(; size=nothing, id=nothing) = new(size, id) end -function DiskImageVolumeDescriptionType(pd::ETree) +function DiskImageVolumeDescriptionType(pd) o = DiskImageVolumeDescriptionType() - o.size = AWS.safe_parse_as(Int64, LibExpat.find(pd, "size#string")) - o.id = LibExpat.find(pd, "id#string") + o.size = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "size"))) + o.id = LightXML.content(LightXML.find_element(pd, "id")) o end @@ -4392,12 +4400,12 @@ type DiskImageDescriptionType DiskImageDescriptionType(; format=nothing, size=nothing, importManifestUrl=nothing, checksum=nothing) = new(format, size, importManifestUrl, checksum) end -function DiskImageDescriptionType(pd::ETree) +function DiskImageDescriptionType(pd) o = DiskImageDescriptionType() - o.format = LibExpat.find(pd, "format#string") - o.size = AWS.safe_parse_as(Int64, LibExpat.find(pd, "size#string")) - o.importManifestUrl = LibExpat.find(pd, "importManifestUrl#string") - o.checksum = LibExpat.find(pd, "checksum#string") + o.format = LightXML.content(LightXML.find_element(pd, "format")) + o.size = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "size"))) + o.importManifestUrl = LightXML.content(LightXML.find_element(pd, "importManifestUrl")) + o.checksum = LightXML.content(LightXML.find_element(pd, "checksum")) o end @@ -4410,9 +4418,9 @@ type DescribeConversionTasksType DescribeConversionTasksType(; conversionTaskIdSet=nothing) = new(conversionTaskIdSet) end -function DescribeConversionTasksType(pd::ETree) +function DescribeConversionTasksType(pd) o = DescribeConversionTasksType() - o.conversionTaskIdSet = AWS.parse_vector_as(ASCIIString, "conversionTaskId", LibExpat.find(pd, "item/conversionTaskId")) + o.conversionTaskIdSet = AWS.parse_vector_as(ASCIIString, "conversionTaskId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "conversionTaskId")) o end @@ -4425,9 +4433,9 @@ type ConversionTaskIdItemType ConversionTaskIdItemType(; conversionTaskId=nothing) = new(conversionTaskId) end -function ConversionTaskIdItemType(pd::ETree) +function ConversionTaskIdItemType(pd) o = ConversionTaskIdItemType() - o.conversionTaskId = LibExpat.find(pd, "conversionTaskId#string") + o.conversionTaskId = LightXML.content(LightXML.find_element(pd, "conversionTaskId")) o end @@ -4440,9 +4448,9 @@ type CancelConversionTaskType CancelConversionTaskType(; conversionTaskId=nothing) = new(conversionTaskId) end -function CancelConversionTaskType(pd::ETree) +function CancelConversionTaskType(pd) o = CancelConversionTaskType() - o.conversionTaskId = LibExpat.find(pd, "conversionTaskId#string") + o.conversionTaskId = LightXML.content(LightXML.find_element(pd, "conversionTaskId")) o end @@ -4456,10 +4464,10 @@ type CancelConversionTaskResponseType CancelConversionTaskResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function CancelConversionTaskResponseType(pd::ETree) +function CancelConversionTaskResponseType(pd) o = CancelConversionTaskResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -4474,11 +4482,11 @@ type CreateInstanceExportTaskType CreateInstanceExportTaskType(; description=nothing, instanceId=nothing, targetEnvironment=nothing) = new(description, instanceId, targetEnvironment) end -function CreateInstanceExportTaskType(pd::ETree) +function CreateInstanceExportTaskType(pd) o = CreateInstanceExportTaskType() - o.description = LibExpat.find(pd, "description#string") - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.targetEnvironment = LibExpat.find(pd, "targetEnvironment#string") + o.description = LightXML.content(LightXML.find_element(pd, "description")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.targetEnvironment = LightXML.content(LightXML.find_element(pd, "targetEnvironment")) o end @@ -4494,12 +4502,12 @@ type ExportToS3TaskType ExportToS3TaskType(; diskImageFormat=nothing, containerFormat=nothing, s3Bucket=nothing, s3Prefix=nothing) = new(diskImageFormat, containerFormat, s3Bucket, s3Prefix) end -function ExportToS3TaskType(pd::ETree) +function ExportToS3TaskType(pd) o = ExportToS3TaskType() - o.diskImageFormat = LibExpat.find(pd, "diskImageFormat#string") - o.containerFormat = LibExpat.find(pd, "containerFormat#string") - o.s3Bucket = LibExpat.find(pd, "s3Bucket#string") - o.s3Prefix = LibExpat.find(pd, "s3Prefix#string") + o.diskImageFormat = LightXML.content(LightXML.find_element(pd, "diskImageFormat")) + o.containerFormat = LightXML.content(LightXML.find_element(pd, "containerFormat")) + o.s3Bucket = LightXML.content(LightXML.find_element(pd, "s3Bucket")) + o.s3Prefix = LightXML.content(LightXML.find_element(pd, "s3Prefix")) o end @@ -4512,9 +4520,9 @@ type DescribeExportTasksType DescribeExportTasksType(; exportTaskIdSet=nothing) = new(exportTaskIdSet) end -function DescribeExportTasksType(pd::ETree) +function DescribeExportTasksType(pd) o = DescribeExportTasksType() - o.exportTaskIdSet = AWS.parse_vector_as(ASCIIString, "exportTaskId", LibExpat.find(pd, "item/exportTaskId")) + o.exportTaskIdSet = AWS.parse_vector_as(ASCIIString, "exportTaskId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "exportTaskId")) o end @@ -4527,9 +4535,9 @@ type ExportTaskIdType ExportTaskIdType(; exportTaskId=nothing) = new(exportTaskId) end -function ExportTaskIdType(pd::ETree) +function ExportTaskIdType(pd) o = ExportTaskIdType() - o.exportTaskId = LibExpat.find(pd, "exportTaskId#string") + o.exportTaskId = LightXML.content(LightXML.find_element(pd, "exportTaskId")) o end @@ -4545,12 +4553,12 @@ type ExportTaskResponseType ExportTaskResponseType(; exportTaskId=nothing, description=nothing, state=nothing, statusMessage=nothing) = new(exportTaskId, description, state, statusMessage) end -function ExportTaskResponseType(pd::ETree) +function ExportTaskResponseType(pd) o = ExportTaskResponseType() - o.exportTaskId = LibExpat.find(pd, "exportTaskId#string") - o.description = LibExpat.find(pd, "description#string") - o.state = LibExpat.find(pd, "state#string") - o.statusMessage = LibExpat.find(pd, "statusMessage#string") + o.exportTaskId = LightXML.content(LightXML.find_element(pd, "exportTaskId")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) + o.statusMessage = LightXML.content(LightXML.find_element(pd, "statusMessage")) o end @@ -4564,10 +4572,10 @@ type InstanceExportTaskResponseType InstanceExportTaskResponseType(; instanceId=nothing, targetEnvironment=nothing) = new(instanceId, targetEnvironment) end -function InstanceExportTaskResponseType(pd::ETree) +function InstanceExportTaskResponseType(pd) o = InstanceExportTaskResponseType() - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.targetEnvironment = LibExpat.find(pd, "targetEnvironment#string") + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.targetEnvironment = LightXML.content(LightXML.find_element(pd, "targetEnvironment")) o end @@ -4583,12 +4591,12 @@ type ExportToS3TaskResponseType ExportToS3TaskResponseType(; diskImageFormat=nothing, containerFormat=nothing, s3Bucket=nothing, s3Key=nothing) = new(diskImageFormat, containerFormat, s3Bucket, s3Key) end -function ExportToS3TaskResponseType(pd::ETree) +function ExportToS3TaskResponseType(pd) o = ExportToS3TaskResponseType() - o.diskImageFormat = LibExpat.find(pd, "diskImageFormat#string") - o.containerFormat = LibExpat.find(pd, "containerFormat#string") - o.s3Bucket = LibExpat.find(pd, "s3Bucket#string") - o.s3Key = LibExpat.find(pd, "s3Key#string") + o.diskImageFormat = LightXML.content(LightXML.find_element(pd, "diskImageFormat")) + o.containerFormat = LightXML.content(LightXML.find_element(pd, "containerFormat")) + o.s3Bucket = LightXML.content(LightXML.find_element(pd, "s3Bucket")) + o.s3Key = LightXML.content(LightXML.find_element(pd, "s3Key")) o end @@ -4601,9 +4609,9 @@ type CancelExportTaskType CancelExportTaskType(; exportTaskId=nothing) = new(exportTaskId) end -function CancelExportTaskType(pd::ETree) +function CancelExportTaskType(pd) o = CancelExportTaskType() - o.exportTaskId = LibExpat.find(pd, "exportTaskId#string") + o.exportTaskId = LightXML.content(LightXML.find_element(pd, "exportTaskId")) o end @@ -4617,10 +4625,10 @@ type CancelExportTaskResponseType CancelExportTaskResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function CancelExportTaskResponseType(pd::ETree) +function CancelExportTaskResponseType(pd) o = CancelExportTaskResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -4634,10 +4642,10 @@ type InternetGatewayAttachmentType InternetGatewayAttachmentType(; vpcId=nothing, state=nothing) = new(vpcId, state) end -function InternetGatewayAttachmentType(pd::ETree) +function InternetGatewayAttachmentType(pd) o = InternetGatewayAttachmentType() - o.vpcId = LibExpat.find(pd, "vpcId#string") - o.state = LibExpat.find(pd, "state#string") + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) o end @@ -4650,9 +4658,9 @@ type InternetGatewayIdSetItemType InternetGatewayIdSetItemType(; internetGatewayId=nothing) = new(internetGatewayId) end -function InternetGatewayIdSetItemType(pd::ETree) +function InternetGatewayIdSetItemType(pd) o = InternetGatewayIdSetItemType() - o.internetGatewayId = LibExpat.find(pd, "internetGatewayId#string") + o.internetGatewayId = LightXML.content(LightXML.find_element(pd, "internetGatewayId")) o end @@ -4665,9 +4673,9 @@ type DeleteInternetGatewayType DeleteInternetGatewayType(; internetGatewayId=nothing) = new(internetGatewayId) end -function DeleteInternetGatewayType(pd::ETree) +function DeleteInternetGatewayType(pd) o = DeleteInternetGatewayType() - o.internetGatewayId = LibExpat.find(pd, "internetGatewayId#string") + o.internetGatewayId = LightXML.content(LightXML.find_element(pd, "internetGatewayId")) o end @@ -4681,10 +4689,10 @@ type DeleteInternetGatewayResponseType DeleteInternetGatewayResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteInternetGatewayResponseType(pd::ETree) +function DeleteInternetGatewayResponseType(pd) o = DeleteInternetGatewayResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -4698,10 +4706,10 @@ type AttachInternetGatewayType AttachInternetGatewayType(; internetGatewayId=nothing, vpcId=nothing) = new(internetGatewayId, vpcId) end -function AttachInternetGatewayType(pd::ETree) +function AttachInternetGatewayType(pd) o = AttachInternetGatewayType() - o.internetGatewayId = LibExpat.find(pd, "internetGatewayId#string") - o.vpcId = LibExpat.find(pd, "vpcId#string") + o.internetGatewayId = LightXML.content(LightXML.find_element(pd, "internetGatewayId")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) o end @@ -4715,10 +4723,10 @@ type AttachInternetGatewayResponseType AttachInternetGatewayResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function AttachInternetGatewayResponseType(pd::ETree) +function AttachInternetGatewayResponseType(pd) o = AttachInternetGatewayResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -4732,10 +4740,10 @@ type DetachInternetGatewayType DetachInternetGatewayType(; internetGatewayId=nothing, vpcId=nothing) = new(internetGatewayId, vpcId) end -function DetachInternetGatewayType(pd::ETree) +function DetachInternetGatewayType(pd) o = DetachInternetGatewayType() - o.internetGatewayId = LibExpat.find(pd, "internetGatewayId#string") - o.vpcId = LibExpat.find(pd, "vpcId#string") + o.internetGatewayId = LightXML.content(LightXML.find_element(pd, "internetGatewayId")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) o end @@ -4749,10 +4757,10 @@ type DetachInternetGatewayResponseType DetachInternetGatewayResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DetachInternetGatewayResponseType(pd::ETree) +function DetachInternetGatewayResponseType(pd) o = DetachInternetGatewayResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -4765,9 +4773,9 @@ type CreateRouteTableType CreateRouteTableType(; vpcId=nothing) = new(vpcId) end -function CreateRouteTableType(pd::ETree) +function CreateRouteTableType(pd) o = CreateRouteTableType() - o.vpcId = LibExpat.find(pd, "vpcId#string") + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) o end @@ -4786,15 +4794,15 @@ type RouteType RouteType(; destinationCidrBlock=nothing, gatewayId=nothing, instanceId=nothing, instanceOwnerId=nothing, networkInterfaceId=nothing, state=nothing, origin=nothing) = new(destinationCidrBlock, gatewayId, instanceId, instanceOwnerId, networkInterfaceId, state, origin) end -function RouteType(pd::ETree) +function RouteType(pd) o = RouteType() - o.destinationCidrBlock = LibExpat.find(pd, "destinationCidrBlock#string") - o.gatewayId = LibExpat.find(pd, "gatewayId#string") - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.instanceOwnerId = LibExpat.find(pd, "instanceOwnerId#string") - o.networkInterfaceId = LibExpat.find(pd, "networkInterfaceId#string") - o.state = LibExpat.find(pd, "state#string") - o.origin = LibExpat.find(pd, "origin#string") + o.destinationCidrBlock = LightXML.content(LightXML.find_element(pd, "destinationCidrBlock")) + o.gatewayId = LightXML.content(LightXML.find_element(pd, "gatewayId")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.instanceOwnerId = LightXML.content(LightXML.find_element(pd, "instanceOwnerId")) + o.networkInterfaceId = LightXML.content(LightXML.find_element(pd, "networkInterfaceId")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) + o.origin = LightXML.content(LightXML.find_element(pd, "origin")) o end @@ -4808,10 +4816,10 @@ type RouteTableAssociationType RouteTableAssociationType(; routeTableAssociationId=nothing, routeTableId=nothing) = new(routeTableAssociationId, routeTableId) end -function RouteTableAssociationType(pd::ETree) +function RouteTableAssociationType(pd) o = RouteTableAssociationType() - o.routeTableAssociationId = LibExpat.find(pd, "routeTableAssociationId#string") - o.routeTableId = LibExpat.find(pd, "routeTableId#string") + o.routeTableAssociationId = LightXML.content(LightXML.find_element(pd, "routeTableAssociationId")) + o.routeTableId = LightXML.content(LightXML.find_element(pd, "routeTableId")) o end @@ -4824,9 +4832,9 @@ type PropagatingVgwType PropagatingVgwType(; gatewayId=nothing) = new(gatewayId) end -function PropagatingVgwType(pd::ETree) +function PropagatingVgwType(pd) o = PropagatingVgwType() - o.gatewayId = LibExpat.find(pd, "gatewayId#string") + o.gatewayId = LightXML.content(LightXML.find_element(pd, "gatewayId")) o end @@ -4839,9 +4847,9 @@ type RouteTableIdSetItemType RouteTableIdSetItemType(; routeTableId=nothing) = new(routeTableId) end -function RouteTableIdSetItemType(pd::ETree) +function RouteTableIdSetItemType(pd) o = RouteTableIdSetItemType() - o.routeTableId = LibExpat.find(pd, "routeTableId#string") + o.routeTableId = LightXML.content(LightXML.find_element(pd, "routeTableId")) o end @@ -4855,10 +4863,10 @@ type EnableVgwRoutePropagationRequestType EnableVgwRoutePropagationRequestType(; routeTableId=nothing, gatewayId=nothing) = new(routeTableId, gatewayId) end -function EnableVgwRoutePropagationRequestType(pd::ETree) +function EnableVgwRoutePropagationRequestType(pd) o = EnableVgwRoutePropagationRequestType() - o.routeTableId = LibExpat.find(pd, "routeTableId#string") - o.gatewayId = LibExpat.find(pd, "gatewayId#string") + o.routeTableId = LightXML.content(LightXML.find_element(pd, "routeTableId")) + o.gatewayId = LightXML.content(LightXML.find_element(pd, "gatewayId")) o end @@ -4872,10 +4880,10 @@ type EnableVgwRoutePropagationResponseType EnableVgwRoutePropagationResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function EnableVgwRoutePropagationResponseType(pd::ETree) +function EnableVgwRoutePropagationResponseType(pd) o = EnableVgwRoutePropagationResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -4889,10 +4897,10 @@ type DisableVgwRoutePropagationRequestType DisableVgwRoutePropagationRequestType(; routeTableId=nothing, gatewayId=nothing) = new(routeTableId, gatewayId) end -function DisableVgwRoutePropagationRequestType(pd::ETree) +function DisableVgwRoutePropagationRequestType(pd) o = DisableVgwRoutePropagationRequestType() - o.routeTableId = LibExpat.find(pd, "routeTableId#string") - o.gatewayId = LibExpat.find(pd, "gatewayId#string") + o.routeTableId = LightXML.content(LightXML.find_element(pd, "routeTableId")) + o.gatewayId = LightXML.content(LightXML.find_element(pd, "gatewayId")) o end @@ -4906,10 +4914,10 @@ type DisableVgwRoutePropagationResponseType DisableVgwRoutePropagationResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DisableVgwRoutePropagationResponseType(pd::ETree) +function DisableVgwRoutePropagationResponseType(pd) o = DisableVgwRoutePropagationResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -4922,9 +4930,9 @@ type DeleteRouteTableType DeleteRouteTableType(; routeTableId=nothing) = new(routeTableId) end -function DeleteRouteTableType(pd::ETree) +function DeleteRouteTableType(pd) o = DeleteRouteTableType() - o.routeTableId = LibExpat.find(pd, "routeTableId#string") + o.routeTableId = LightXML.content(LightXML.find_element(pd, "routeTableId")) o end @@ -4938,10 +4946,10 @@ type DeleteRouteTableResponseType DeleteRouteTableResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteRouteTableResponseType(pd::ETree) +function DeleteRouteTableResponseType(pd) o = DeleteRouteTableResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -4955,10 +4963,10 @@ type AssociateRouteTableType AssociateRouteTableType(; routeTableId=nothing, subnetId=nothing) = new(routeTableId, subnetId) end -function AssociateRouteTableType(pd::ETree) +function AssociateRouteTableType(pd) o = AssociateRouteTableType() - o.routeTableId = LibExpat.find(pd, "routeTableId#string") - o.subnetId = LibExpat.find(pd, "subnetId#string") + o.routeTableId = LightXML.content(LightXML.find_element(pd, "routeTableId")) + o.subnetId = LightXML.content(LightXML.find_element(pd, "subnetId")) o end @@ -4972,10 +4980,10 @@ type AssociateRouteTableResponseType AssociateRouteTableResponseType(; requestId=nothing, associationId=nothing) = new(requestId, associationId) end -function AssociateRouteTableResponseType(pd::ETree) +function AssociateRouteTableResponseType(pd) o = AssociateRouteTableResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.associationId = LibExpat.find(pd, "associationId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.associationId = LightXML.content(LightXML.find_element(pd, "associationId")) o end @@ -4989,10 +4997,10 @@ type ReplaceRouteTableAssociationType ReplaceRouteTableAssociationType(; associationId=nothing, routeTableId=nothing) = new(associationId, routeTableId) end -function ReplaceRouteTableAssociationType(pd::ETree) +function ReplaceRouteTableAssociationType(pd) o = ReplaceRouteTableAssociationType() - o.associationId = LibExpat.find(pd, "associationId#string") - o.routeTableId = LibExpat.find(pd, "routeTableId#string") + o.associationId = LightXML.content(LightXML.find_element(pd, "associationId")) + o.routeTableId = LightXML.content(LightXML.find_element(pd, "routeTableId")) o end @@ -5006,10 +5014,10 @@ type ReplaceRouteTableAssociationResponseType ReplaceRouteTableAssociationResponseType(; requestId=nothing, newAssociationId=nothing) = new(requestId, newAssociationId) end -function ReplaceRouteTableAssociationResponseType(pd::ETree) +function ReplaceRouteTableAssociationResponseType(pd) o = ReplaceRouteTableAssociationResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.newAssociationId = LibExpat.find(pd, "newAssociationId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.newAssociationId = LightXML.content(LightXML.find_element(pd, "newAssociationId")) o end @@ -5022,9 +5030,9 @@ type DisassociateRouteTableType DisassociateRouteTableType(; associationId=nothing) = new(associationId) end -function DisassociateRouteTableType(pd::ETree) +function DisassociateRouteTableType(pd) o = DisassociateRouteTableType() - o.associationId = LibExpat.find(pd, "associationId#string") + o.associationId = LightXML.content(LightXML.find_element(pd, "associationId")) o end @@ -5038,10 +5046,10 @@ type DisassociateRouteTableResponseType DisassociateRouteTableResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DisassociateRouteTableResponseType(pd::ETree) +function DisassociateRouteTableResponseType(pd) o = DisassociateRouteTableResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5055,10 +5063,10 @@ type CreateRouteType CreateRouteType(; routeTableId=nothing, destinationCidrBlock=nothing) = new(routeTableId, destinationCidrBlock) end -function CreateRouteType(pd::ETree) +function CreateRouteType(pd) o = CreateRouteType() - o.routeTableId = LibExpat.find(pd, "routeTableId#string") - o.destinationCidrBlock = LibExpat.find(pd, "destinationCidrBlock#string") + o.routeTableId = LightXML.content(LightXML.find_element(pd, "routeTableId")) + o.destinationCidrBlock = LightXML.content(LightXML.find_element(pd, "destinationCidrBlock")) o end @@ -5072,10 +5080,10 @@ type CreateRouteResponseType CreateRouteResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function CreateRouteResponseType(pd::ETree) +function CreateRouteResponseType(pd) o = CreateRouteResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5089,10 +5097,10 @@ type ReplaceRouteType ReplaceRouteType(; routeTableId=nothing, destinationCidrBlock=nothing) = new(routeTableId, destinationCidrBlock) end -function ReplaceRouteType(pd::ETree) +function ReplaceRouteType(pd) o = ReplaceRouteType() - o.routeTableId = LibExpat.find(pd, "routeTableId#string") - o.destinationCidrBlock = LibExpat.find(pd, "destinationCidrBlock#string") + o.routeTableId = LightXML.content(LightXML.find_element(pd, "routeTableId")) + o.destinationCidrBlock = LightXML.content(LightXML.find_element(pd, "destinationCidrBlock")) o end @@ -5106,10 +5114,10 @@ type ReplaceRouteResponseType ReplaceRouteResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ReplaceRouteResponseType(pd::ETree) +function ReplaceRouteResponseType(pd) o = ReplaceRouteResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5123,10 +5131,10 @@ type DeleteRouteType DeleteRouteType(; routeTableId=nothing, destinationCidrBlock=nothing) = new(routeTableId, destinationCidrBlock) end -function DeleteRouteType(pd::ETree) +function DeleteRouteType(pd) o = DeleteRouteType() - o.routeTableId = LibExpat.find(pd, "routeTableId#string") - o.destinationCidrBlock = LibExpat.find(pd, "destinationCidrBlock#string") + o.routeTableId = LightXML.content(LightXML.find_element(pd, "routeTableId")) + o.destinationCidrBlock = LightXML.content(LightXML.find_element(pd, "destinationCidrBlock")) o end @@ -5140,10 +5148,10 @@ type DeleteRouteResponseType DeleteRouteResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteRouteResponseType(pd::ETree) +function DeleteRouteResponseType(pd) o = DeleteRouteResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5156,9 +5164,9 @@ type CreateNetworkAclType CreateNetworkAclType(; vpcId=nothing) = new(vpcId) end -function CreateNetworkAclType(pd::ETree) +function CreateNetworkAclType(pd) o = CreateNetworkAclType() - o.vpcId = LibExpat.find(pd, "vpcId#string") + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) o end @@ -5172,10 +5180,10 @@ type IcmpTypeCodeType IcmpTypeCodeType(; code=nothing, _type=nothing) = new(code, _type) end -function IcmpTypeCodeType(pd::ETree) +function IcmpTypeCodeType(pd) o = IcmpTypeCodeType() - o.code = AWS.safe_parse_as(Int64, LibExpat.find(pd, "code#string")) - o._type = AWS.safe_parse_as(Int64, LibExpat.find(pd, "type#string")) + o.code = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "code"))) + o._type = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "type"))) o end @@ -5189,10 +5197,10 @@ type PortRangeType PortRangeType(; from=nothing, to=nothing) = new(from, to) end -function PortRangeType(pd::ETree) +function PortRangeType(pd) o = PortRangeType() - o.from = AWS.safe_parse_as(Int64, LibExpat.find(pd, "from#string")) - o.to = AWS.safe_parse_as(Int64, LibExpat.find(pd, "to#string")) + o.from = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "from"))) + o.to = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "to"))) o end @@ -5207,11 +5215,11 @@ type NetworkAclAssociationType NetworkAclAssociationType(; networkAclAssociationId=nothing, networkAclId=nothing, subnetId=nothing) = new(networkAclAssociationId, networkAclId, subnetId) end -function NetworkAclAssociationType(pd::ETree) +function NetworkAclAssociationType(pd) o = NetworkAclAssociationType() - o.networkAclAssociationId = LibExpat.find(pd, "networkAclAssociationId#string") - o.networkAclId = LibExpat.find(pd, "networkAclId#string") - o.subnetId = LibExpat.find(pd, "subnetId#string") + o.networkAclAssociationId = LightXML.content(LightXML.find_element(pd, "networkAclAssociationId")) + o.networkAclId = LightXML.content(LightXML.find_element(pd, "networkAclId")) + o.subnetId = LightXML.content(LightXML.find_element(pd, "subnetId")) o end @@ -5224,9 +5232,9 @@ type NetworkAclIdSetItemType NetworkAclIdSetItemType(; networkAclId=nothing) = new(networkAclId) end -function NetworkAclIdSetItemType(pd::ETree) +function NetworkAclIdSetItemType(pd) o = NetworkAclIdSetItemType() - o.networkAclId = LibExpat.find(pd, "networkAclId#string") + o.networkAclId = LightXML.content(LightXML.find_element(pd, "networkAclId")) o end @@ -5239,9 +5247,9 @@ type DeleteNetworkAclType DeleteNetworkAclType(; networkAclId=nothing) = new(networkAclId) end -function DeleteNetworkAclType(pd::ETree) +function DeleteNetworkAclType(pd) o = DeleteNetworkAclType() - o.networkAclId = LibExpat.find(pd, "networkAclId#string") + o.networkAclId = LightXML.content(LightXML.find_element(pd, "networkAclId")) o end @@ -5255,10 +5263,10 @@ type DeleteNetworkAclResponseType DeleteNetworkAclResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteNetworkAclResponseType(pd::ETree) +function DeleteNetworkAclResponseType(pd) o = DeleteNetworkAclResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5272,10 +5280,10 @@ type ReplaceNetworkAclAssociationType ReplaceNetworkAclAssociationType(; associationId=nothing, networkAclId=nothing) = new(associationId, networkAclId) end -function ReplaceNetworkAclAssociationType(pd::ETree) +function ReplaceNetworkAclAssociationType(pd) o = ReplaceNetworkAclAssociationType() - o.associationId = LibExpat.find(pd, "associationId#string") - o.networkAclId = LibExpat.find(pd, "networkAclId#string") + o.associationId = LightXML.content(LightXML.find_element(pd, "associationId")) + o.networkAclId = LightXML.content(LightXML.find_element(pd, "networkAclId")) o end @@ -5289,10 +5297,10 @@ type ReplaceNetworkAclAssociationResponseType ReplaceNetworkAclAssociationResponseType(; requestId=nothing, newAssociationId=nothing) = new(requestId, newAssociationId) end -function ReplaceNetworkAclAssociationResponseType(pd::ETree) +function ReplaceNetworkAclAssociationResponseType(pd) o = ReplaceNetworkAclAssociationResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.newAssociationId = LibExpat.find(pd, "newAssociationId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.newAssociationId = LightXML.content(LightXML.find_element(pd, "newAssociationId")) o end @@ -5306,10 +5314,10 @@ type CreateNetworkAclEntryResponseType CreateNetworkAclEntryResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function CreateNetworkAclEntryResponseType(pd::ETree) +function CreateNetworkAclEntryResponseType(pd) o = CreateNetworkAclEntryResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5323,10 +5331,10 @@ type ReplaceNetworkAclEntryResponseType ReplaceNetworkAclEntryResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ReplaceNetworkAclEntryResponseType(pd::ETree) +function ReplaceNetworkAclEntryResponseType(pd) o = ReplaceNetworkAclEntryResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5341,11 +5349,11 @@ type DeleteNetworkAclEntryType DeleteNetworkAclEntryType(; networkAclId=nothing, ruleNumber=nothing, egress=nothing) = new(networkAclId, ruleNumber, egress) end -function DeleteNetworkAclEntryType(pd::ETree) +function DeleteNetworkAclEntryType(pd) o = DeleteNetworkAclEntryType() - o.networkAclId = LibExpat.find(pd, "networkAclId#string") - o.ruleNumber = AWS.safe_parse_as(Int64, LibExpat.find(pd, "ruleNumber#string")) - o.egress = AWS.safe_parse_as(Bool, LibExpat.find(pd, "egress#string")) + o.networkAclId = LightXML.content(LightXML.find_element(pd, "networkAclId")) + o.ruleNumber = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "ruleNumber"))) + o.egress = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "egress"))) o end @@ -5359,10 +5367,10 @@ type DeleteNetworkAclEntryResponseType DeleteNetworkAclEntryResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteNetworkAclEntryResponseType(pd::ETree) +function DeleteNetworkAclEntryResponseType(pd) o = DeleteNetworkAclEntryResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5377,11 +5385,11 @@ type InstanceStatusDetailsSetItemType InstanceStatusDetailsSetItemType(; name=nothing, status=nothing, impairedSince=nothing) = new(name, status, impairedSince) end -function InstanceStatusDetailsSetItemType(pd::ETree) +function InstanceStatusDetailsSetItemType(pd) o = InstanceStatusDetailsSetItemType() - o.name = LibExpat.find(pd, "name#string") - o.status = LibExpat.find(pd, "status#string") - o.impairedSince = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "impairedSince#string")) + o.name = LightXML.content(LightXML.find_element(pd, "name")) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.impairedSince = LightXML.find_element(pd, "impairedSince") != nothing ? AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "impairedSince"))) : nothing o end @@ -5397,12 +5405,12 @@ type InstanceStatusEventType InstanceStatusEventType(; code=nothing, description=nothing, notBefore=nothing, notAfter=nothing) = new(code, description, notBefore, notAfter) end -function InstanceStatusEventType(pd::ETree) +function InstanceStatusEventType(pd) o = InstanceStatusEventType() - o.code = LibExpat.find(pd, "code#string") - o.description = LibExpat.find(pd, "description#string") - o.notBefore = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "notBefore#string")) - o.notAfter = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "notAfter#string")) + o.code = LightXML.content(LightXML.find_element(pd, "code")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) + o.notBefore = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "notBefore"))) + o.notAfter = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "notAfter"))) o end @@ -5420,14 +5428,14 @@ type ReportInstanceStatusType ReportInstanceStatusType(; instancesSet=nothing, status=nothing, startTime=nothing, endTime=nothing, reasonCodesSet=nothing, description=nothing) = new(instancesSet, status, startTime, endTime, reasonCodesSet, description) end -function ReportInstanceStatusType(pd::ETree) +function ReportInstanceStatusType(pd) o = ReportInstanceStatusType() - o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LibExpat.find(pd, "item/instanceId")) - o.status = LibExpat.find(pd, "status#string") - o.startTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "startTime#string")) - o.endTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "endTime#string")) - o.reasonCodesSet = AWS.parse_vector_as(ASCIIString, "reasonCode", LibExpat.find(pd, "item/reasonCode")) - o.description = LibExpat.find(pd, "description#string") + o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "instanceId")) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.startTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "startTime"))) + o.endTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "endTime"))) + o.reasonCodesSet = AWS.parse_vector_as(ASCIIString, "reasonCode", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "reasonCode")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) o end @@ -5440,9 +5448,9 @@ type ReportInstanceStatusReasonCodeSetItemType ReportInstanceStatusReasonCodeSetItemType(; reasonCode=nothing) = new(reasonCode) end -function ReportInstanceStatusReasonCodeSetItemType(pd::ETree) +function ReportInstanceStatusReasonCodeSetItemType(pd) o = ReportInstanceStatusReasonCodeSetItemType() - o.reasonCode = LibExpat.find(pd, "reasonCode#string") + o.reasonCode = LightXML.content(LightXML.find_element(pd, "reasonCode")) o end @@ -5456,10 +5464,10 @@ type ReportInstanceStatusResponseType ReportInstanceStatusResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ReportInstanceStatusResponseType(pd::ETree) +function ReportInstanceStatusResponseType(pd) o = ReportInstanceStatusResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5472,9 +5480,9 @@ type NetworkInterfaceIdSetItemType NetworkInterfaceIdSetItemType(; networkInterfaceId=nothing) = new(networkInterfaceId) end -function NetworkInterfaceIdSetItemType(pd::ETree) +function NetworkInterfaceIdSetItemType(pd) o = NetworkInterfaceIdSetItemType() - o.networkInterfaceId = LibExpat.find(pd, "networkInterfaceId#string") + o.networkInterfaceId = LightXML.content(LightXML.find_element(pd, "networkInterfaceId")) o end @@ -5493,15 +5501,15 @@ type NetworkInterfaceAttachmentType NetworkInterfaceAttachmentType(; attachmentId=nothing, instanceId=nothing, instanceOwnerId=nothing, deviceIndex=nothing, status=nothing, attachTime=nothing, deleteOnTermination=nothing) = new(attachmentId, instanceId, instanceOwnerId, deviceIndex, status, attachTime, deleteOnTermination) end -function NetworkInterfaceAttachmentType(pd::ETree) +function NetworkInterfaceAttachmentType(pd) o = NetworkInterfaceAttachmentType() - o.attachmentId = LibExpat.find(pd, "attachmentId#string") - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.instanceOwnerId = LibExpat.find(pd, "instanceOwnerId#string") - o.deviceIndex = AWS.safe_parse_as(Int64, LibExpat.find(pd, "deviceIndex#string")) - o.status = LibExpat.find(pd, "status#string") - o.attachTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "attachTime#string")) - o.deleteOnTermination = AWS.safe_parse_as(Bool, LibExpat.find(pd, "deleteOnTermination#string")) + o.attachmentId = LightXML.content(LightXML.find_element(pd, "attachmentId")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.instanceOwnerId = LightXML.content(LightXML.find_element(pd, "instanceOwnerId")) + o.deviceIndex = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "deviceIndex"))) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.attachTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "attachTime"))) + o.deleteOnTermination = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "deleteOnTermination"))) o end @@ -5518,13 +5526,13 @@ type NetworkInterfaceAssociationType NetworkInterfaceAssociationType(; publicIp=nothing, publicDnsName=nothing, ipOwnerId=nothing, allocationId=nothing, associationId=nothing) = new(publicIp, publicDnsName, ipOwnerId, allocationId, associationId) end -function NetworkInterfaceAssociationType(pd::ETree) +function NetworkInterfaceAssociationType(pd) o = NetworkInterfaceAssociationType() - o.publicIp = LibExpat.find(pd, "publicIp#string") - o.publicDnsName = LibExpat.find(pd, "publicDnsName#string") - o.ipOwnerId = LibExpat.find(pd, "ipOwnerId#string") - o.allocationId = LibExpat.find(pd, "allocationId#string") - o.associationId = LibExpat.find(pd, "associationId#string") + o.publicIp = LightXML.content(LightXML.find_element(pd, "publicIp")) + o.publicDnsName = LightXML.content(LightXML.find_element(pd, "publicDnsName")) + o.ipOwnerId = LightXML.content(LightXML.find_element(pd, "ipOwnerId")) + o.allocationId = LightXML.content(LightXML.find_element(pd, "allocationId")) + o.associationId = LightXML.content(LightXML.find_element(pd, "associationId")) o end @@ -5537,9 +5545,9 @@ type DeleteNetworkInterfaceType DeleteNetworkInterfaceType(; networkInterfaceId=nothing) = new(networkInterfaceId) end -function DeleteNetworkInterfaceType(pd::ETree) +function DeleteNetworkInterfaceType(pd) o = DeleteNetworkInterfaceType() - o.networkInterfaceId = LibExpat.find(pd, "networkInterfaceId#string") + o.networkInterfaceId = LightXML.content(LightXML.find_element(pd, "networkInterfaceId")) o end @@ -5553,10 +5561,10 @@ type DeleteNetworkInterfaceResponseType DeleteNetworkInterfaceResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DeleteNetworkInterfaceResponseType(pd::ETree) +function DeleteNetworkInterfaceResponseType(pd) o = DeleteNetworkInterfaceResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5571,11 +5579,11 @@ type AttachNetworkInterfaceType AttachNetworkInterfaceType(; networkInterfaceId=nothing, instanceId=nothing, deviceIndex=nothing) = new(networkInterfaceId, instanceId, deviceIndex) end -function AttachNetworkInterfaceType(pd::ETree) +function AttachNetworkInterfaceType(pd) o = AttachNetworkInterfaceType() - o.networkInterfaceId = LibExpat.find(pd, "networkInterfaceId#string") - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.deviceIndex = AWS.safe_parse_as(Int64, LibExpat.find(pd, "deviceIndex#string")) + o.networkInterfaceId = LightXML.content(LightXML.find_element(pd, "networkInterfaceId")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.deviceIndex = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "deviceIndex"))) o end @@ -5589,10 +5597,10 @@ type AttachNetworkInterfaceResponseType AttachNetworkInterfaceResponseType(; requestId=nothing, attachmentId=nothing) = new(requestId, attachmentId) end -function AttachNetworkInterfaceResponseType(pd::ETree) +function AttachNetworkInterfaceResponseType(pd) o = AttachNetworkInterfaceResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.attachmentId = LibExpat.find(pd, "attachmentId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.attachmentId = LightXML.content(LightXML.find_element(pd, "attachmentId")) o end @@ -5606,10 +5614,10 @@ type DetachNetworkInterfaceType DetachNetworkInterfaceType(; attachmentId=nothing, force=nothing) = new(attachmentId, force) end -function DetachNetworkInterfaceType(pd::ETree) +function DetachNetworkInterfaceType(pd) o = DetachNetworkInterfaceType() - o.attachmentId = LibExpat.find(pd, "attachmentId#string") - o.force = AWS.safe_parse_as(Bool, LibExpat.find(pd, "force#string")) + o.attachmentId = LightXML.content(LightXML.find_element(pd, "attachmentId")) + o.force = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "force"))) o end @@ -5623,10 +5631,10 @@ type DetachNetworkInterfaceResponseType DetachNetworkInterfaceResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function DetachNetworkInterfaceResponseType(pd::ETree) +function DetachNetworkInterfaceResponseType(pd) o = DetachNetworkInterfaceResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5639,9 +5647,9 @@ type DescribeNetworkInterfaceAttributeType DescribeNetworkInterfaceAttributeType(; networkInterfaceId=nothing) = new(networkInterfaceId) end -function DescribeNetworkInterfaceAttributeType(pd::ETree) +function DescribeNetworkInterfaceAttributeType(pd) o = DescribeNetworkInterfaceAttributeType() - o.networkInterfaceId = LibExpat.find(pd, "networkInterfaceId#string") + o.networkInterfaceId = LightXML.content(LightXML.find_element(pd, "networkInterfaceId")) o end @@ -5655,10 +5663,10 @@ type DescribeNetworkInterfaceAttributeResponseType DescribeNetworkInterfaceAttributeResponseType(; requestId=nothing, networkInterfaceId=nothing) = new(requestId, networkInterfaceId) end -function DescribeNetworkInterfaceAttributeResponseType(pd::ETree) +function DescribeNetworkInterfaceAttributeResponseType(pd) o = DescribeNetworkInterfaceAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.networkInterfaceId = LibExpat.find(pd, "networkInterfaceId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.networkInterfaceId = LightXML.content(LightXML.find_element(pd, "networkInterfaceId")) o end @@ -5671,9 +5679,9 @@ type ModifyNetworkInterfaceAttributeType ModifyNetworkInterfaceAttributeType(; networkInterfaceId=nothing) = new(networkInterfaceId) end -function ModifyNetworkInterfaceAttributeType(pd::ETree) +function ModifyNetworkInterfaceAttributeType(pd) o = ModifyNetworkInterfaceAttributeType() - o.networkInterfaceId = LibExpat.find(pd, "networkInterfaceId#string") + o.networkInterfaceId = LightXML.content(LightXML.find_element(pd, "networkInterfaceId")) o end @@ -5687,10 +5695,10 @@ type ModifyNetworkInterfaceAttachmentType ModifyNetworkInterfaceAttachmentType(; attachmentId=nothing, deleteOnTermination=nothing) = new(attachmentId, deleteOnTermination) end -function ModifyNetworkInterfaceAttachmentType(pd::ETree) +function ModifyNetworkInterfaceAttachmentType(pd) o = ModifyNetworkInterfaceAttachmentType() - o.attachmentId = LibExpat.find(pd, "attachmentId#string") - o.deleteOnTermination = AWS.safe_parse_as(Bool, LibExpat.find(pd, "deleteOnTermination#string")) + o.attachmentId = LightXML.content(LightXML.find_element(pd, "attachmentId")) + o.deleteOnTermination = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "deleteOnTermination"))) o end @@ -5704,10 +5712,10 @@ type ModifyNetworkInterfaceAttributeResponseType ModifyNetworkInterfaceAttributeResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ModifyNetworkInterfaceAttributeResponseType(pd::ETree) +function ModifyNetworkInterfaceAttributeResponseType(pd) o = ModifyNetworkInterfaceAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5720,9 +5728,9 @@ type ResetNetworkInterfaceAttributeType ResetNetworkInterfaceAttributeType(; networkInterfaceId=nothing) = new(networkInterfaceId) end -function ResetNetworkInterfaceAttributeType(pd::ETree) +function ResetNetworkInterfaceAttributeType(pd) o = ResetNetworkInterfaceAttributeType() - o.networkInterfaceId = LibExpat.find(pd, "networkInterfaceId#string") + o.networkInterfaceId = LightXML.content(LightXML.find_element(pd, "networkInterfaceId")) o end @@ -5736,10 +5744,10 @@ type ResetNetworkInterfaceAttributeResponseType ResetNetworkInterfaceAttributeResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ResetNetworkInterfaceAttributeResponseType(pd::ETree) +function ResetNetworkInterfaceAttributeResponseType(pd) o = ResetNetworkInterfaceAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5755,12 +5763,12 @@ type AssignPrivateIpAddressesType AssignPrivateIpAddressesType(; networkInterfaceId=nothing, privateIpAddressesSet=nothing, secondaryPrivateIpAddressCount=nothing, allowReassignment=nothing) = new(networkInterfaceId, privateIpAddressesSet, secondaryPrivateIpAddressCount, allowReassignment) end -function AssignPrivateIpAddressesType(pd::ETree) +function AssignPrivateIpAddressesType(pd) o = AssignPrivateIpAddressesType() - o.networkInterfaceId = LibExpat.find(pd, "networkInterfaceId#string") - o.privateIpAddressesSet = AWS.parse_vector_as(ASCIIString, "privateIpAddress", LibExpat.find(pd, "item/privateIpAddress")) - o.secondaryPrivateIpAddressCount = AWS.safe_parse_as(Int64, LibExpat.find(pd, "secondaryPrivateIpAddressCount#string")) - o.allowReassignment = AWS.safe_parse_as(Bool, LibExpat.find(pd, "allowReassignment#string")) + o.networkInterfaceId = LightXML.content(LightXML.find_element(pd, "networkInterfaceId")) + o.privateIpAddressesSet = AWS.parse_vector_as(ASCIIString, "privateIpAddress", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "privateIpAddress")) + o.secondaryPrivateIpAddressCount = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "secondaryPrivateIpAddressCount"))) + o.allowReassignment = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "allowReassignment"))) o end @@ -5774,10 +5782,10 @@ type AssignPrivateIpAddressesResponseType AssignPrivateIpAddressesResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function AssignPrivateIpAddressesResponseType(pd::ETree) +function AssignPrivateIpAddressesResponseType(pd) o = AssignPrivateIpAddressesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5791,10 +5799,10 @@ type UnassignPrivateIpAddressesType UnassignPrivateIpAddressesType(; networkInterfaceId=nothing, privateIpAddressesSet=nothing) = new(networkInterfaceId, privateIpAddressesSet) end -function UnassignPrivateIpAddressesType(pd::ETree) +function UnassignPrivateIpAddressesType(pd) o = UnassignPrivateIpAddressesType() - o.networkInterfaceId = LibExpat.find(pd, "networkInterfaceId#string") - o.privateIpAddressesSet = AWS.parse_vector_as(ASCIIString, "privateIpAddress", LibExpat.find(pd, "item/privateIpAddress")) + o.networkInterfaceId = LightXML.content(LightXML.find_element(pd, "networkInterfaceId")) + o.privateIpAddressesSet = AWS.parse_vector_as(ASCIIString, "privateIpAddress", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "privateIpAddress")) o end @@ -5808,10 +5816,10 @@ type UnassignPrivateIpAddressesResponseType UnassignPrivateIpAddressesResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function UnassignPrivateIpAddressesResponseType(pd::ETree) +function UnassignPrivateIpAddressesResponseType(pd) o = UnassignPrivateIpAddressesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5824,9 +5832,9 @@ type AssignPrivateIpAddressesSetItemRequestType AssignPrivateIpAddressesSetItemRequestType(; privateIpAddress=nothing) = new(privateIpAddress) end -function AssignPrivateIpAddressesSetItemRequestType(pd::ETree) +function AssignPrivateIpAddressesSetItemRequestType(pd) o = AssignPrivateIpAddressesSetItemRequestType() - o.privateIpAddress = LibExpat.find(pd, "privateIpAddress#string") + o.privateIpAddress = LightXML.content(LightXML.find_element(pd, "privateIpAddress")) o end @@ -5840,10 +5848,10 @@ type VolumeStatusDetailsItemType VolumeStatusDetailsItemType(; name=nothing, status=nothing) = new(name, status) end -function VolumeStatusDetailsItemType(pd::ETree) +function VolumeStatusDetailsItemType(pd) o = VolumeStatusDetailsItemType() - o.name = LibExpat.find(pd, "name#string") - o.status = LibExpat.find(pd, "status#string") + o.name = LightXML.content(LightXML.find_element(pd, "name")) + o.status = LightXML.content(LightXML.find_element(pd, "status")) o end @@ -5860,13 +5868,13 @@ type VolumeStatusEventItemType VolumeStatusEventItemType(; description=nothing, notBefore=nothing, notAfter=nothing, eventId=nothing, eventType=nothing) = new(description, notBefore, notAfter, eventId, eventType) end -function VolumeStatusEventItemType(pd::ETree) +function VolumeStatusEventItemType(pd) o = VolumeStatusEventItemType() - o.description = LibExpat.find(pd, "description#string") - o.notBefore = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "notBefore#string")) - o.notAfter = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "notAfter#string")) - o.eventId = LibExpat.find(pd, "eventId#string") - o.eventType = LibExpat.find(pd, "eventType#string") + o.description = LightXML.content(LightXML.find_element(pd, "description")) + o.notBefore = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "notBefore"))) + o.notAfter = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "notAfter"))) + o.eventId = LightXML.content(LightXML.find_element(pd, "eventId")) + o.eventType = LightXML.content(LightXML.find_element(pd, "eventType")) o end @@ -5882,12 +5890,12 @@ type VolumeStatusActionItemType VolumeStatusActionItemType(; description=nothing, code=nothing, eventId=nothing, eventType=nothing) = new(description, code, eventId, eventType) end -function VolumeStatusActionItemType(pd::ETree) +function VolumeStatusActionItemType(pd) o = VolumeStatusActionItemType() - o.description = LibExpat.find(pd, "description#string") - o.code = LibExpat.find(pd, "code#string") - o.eventId = LibExpat.find(pd, "eventId#string") - o.eventType = LibExpat.find(pd, "eventType#string") + o.description = LightXML.content(LightXML.find_element(pd, "description")) + o.code = LightXML.content(LightXML.find_element(pd, "code")) + o.eventId = LightXML.content(LightXML.find_element(pd, "eventId")) + o.eventType = LightXML.content(LightXML.find_element(pd, "eventType")) o end @@ -5900,9 +5908,9 @@ type EnableVolumeIOType EnableVolumeIOType(; volumeId=nothing) = new(volumeId) end -function EnableVolumeIOType(pd::ETree) +function EnableVolumeIOType(pd) o = EnableVolumeIOType() - o.volumeId = LibExpat.find(pd, "volumeId#string") + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) o end @@ -5916,10 +5924,10 @@ type EnableVolumeIOResponseType EnableVolumeIOResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function EnableVolumeIOResponseType(pd::ETree) +function EnableVolumeIOResponseType(pd) o = EnableVolumeIOResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5932,9 +5940,9 @@ type ModifyVolumeAttributeType ModifyVolumeAttributeType(; volumeId=nothing) = new(volumeId) end -function ModifyVolumeAttributeType(pd::ETree) +function ModifyVolumeAttributeType(pd) o = ModifyVolumeAttributeType() - o.volumeId = LibExpat.find(pd, "volumeId#string") + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) o end @@ -5948,10 +5956,10 @@ type ModifyVolumeAttributeResponseType ModifyVolumeAttributeResponseType(; requestId=nothing, _return=nothing) = new(requestId, _return) end -function ModifyVolumeAttributeResponseType(pd::ETree) +function ModifyVolumeAttributeResponseType(pd) o = ModifyVolumeAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o._return = AWS.safe_parse_as(Bool, LibExpat.find(pd, "return#string")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o._return = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "return"))) o end @@ -5964,9 +5972,9 @@ type DescribeVolumeAttributeType DescribeVolumeAttributeType(; volumeId=nothing) = new(volumeId) end -function DescribeVolumeAttributeType(pd::ETree) +function DescribeVolumeAttributeType(pd) o = DescribeVolumeAttributeType() - o.volumeId = LibExpat.find(pd, "volumeId#string") + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) o end @@ -5980,10 +5988,10 @@ type DescribeVolumeAttributeResponseType DescribeVolumeAttributeResponseType(; requestId=nothing, volumeId=nothing) = new(requestId, volumeId) end -function DescribeVolumeAttributeResponseType(pd::ETree) +function DescribeVolumeAttributeResponseType(pd) o = DescribeVolumeAttributeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.volumeId = LibExpat.find(pd, "volumeId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) o end @@ -5997,10 +6005,10 @@ type LaunchPermissionOperationType LaunchPermissionOperationType(; add=nothing, remove=nothing) = new(add, remove) end -function LaunchPermissionOperationType(pd::ETree) +function LaunchPermissionOperationType(pd) o = LaunchPermissionOperationType() - o.add = AWS.@parse_vector(AWS.EC2.LaunchPermissionItemType, LibExpat.find(pd, "add/item")) - o.remove = AWS.@parse_vector(AWS.EC2.LaunchPermissionItemType, LibExpat.find(pd, "remove/item")) + o.add = AWS.@parse_vector(AWS.EC2.LaunchPermissionItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "add"), "item")) + o.remove = AWS.@parse_vector(AWS.EC2.LaunchPermissionItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "remove"), "item")) o end @@ -6027,23 +6035,23 @@ type DescribeReservedInstancesResponseSetItemType DescribeReservedInstancesResponseSetItemType(; reservedInstancesId=nothing, instanceType=nothing, availabilityZone=nothing, start=nothing, duration=nothing, fixedPrice=nothing, usagePrice=nothing, instanceCount=nothing, productDescription=nothing, state=nothing, tagSet=nothing, instanceTenancy=nothing, currencyCode=nothing, offeringType=nothing, recurringCharges=nothing) = new(reservedInstancesId, instanceType, availabilityZone, start, duration, fixedPrice, usagePrice, instanceCount, productDescription, state, tagSet, instanceTenancy, currencyCode, offeringType, recurringCharges) end -function DescribeReservedInstancesResponseSetItemType(pd::ETree) +function DescribeReservedInstancesResponseSetItemType(pd) o = DescribeReservedInstancesResponseSetItemType() - o.reservedInstancesId = LibExpat.find(pd, "reservedInstancesId#string") - o.instanceType = LibExpat.find(pd, "instanceType#string") - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.start = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "start#string")) - o.duration = AWS.safe_parse_as(Int64, LibExpat.find(pd, "duration#string")) - o.fixedPrice = AWS.safe_parse_as(Float64, LibExpat.find(pd, "fixedPrice#string")) - o.usagePrice = AWS.safe_parse_as(Float64, LibExpat.find(pd, "usagePrice#string")) - o.instanceCount = AWS.safe_parse_as(Int64, LibExpat.find(pd, "instanceCount#string")) - o.productDescription = LibExpat.find(pd, "productDescription#string") - o.state = LibExpat.find(pd, "state#string") - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) - o.instanceTenancy = LibExpat.find(pd, "instanceTenancy#string") - o.currencyCode = LibExpat.find(pd, "currencyCode#string") - o.offeringType = LibExpat.find(pd, "offeringType#string") - o.recurringCharges = AWS.@parse_vector(AWS.EC2.RecurringChargesSetItemType, LibExpat.find(pd, "recurringCharges/item")) + o.reservedInstancesId = LightXML.content(LightXML.find_element(pd, "reservedInstancesId")) + o.instanceType = LightXML.content(LightXML.find_element(pd, "instanceType")) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.start = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "start"))) + o.duration = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "duration"))) + o.fixedPrice = AWS.safe_parse_as(Float64, LightXML.content(LightXML.find_element(pd, "fixedPrice"))) + o.usagePrice = AWS.safe_parse_as(Float64, LightXML.content(LightXML.find_element(pd, "usagePrice"))) + o.instanceCount = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "instanceCount"))) + o.productDescription = LightXML.content(LightXML.find_element(pd, "productDescription")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) + o.instanceTenancy = LightXML.content(LightXML.find_element(pd, "instanceTenancy")) + o.currencyCode = LightXML.content(LightXML.find_element(pd, "currencyCode")) + o.offeringType = LightXML.content(LightXML.find_element(pd, "offeringType")) + o.recurringCharges = AWS.@parse_vector(AWS.EC2.RecurringChargesSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "recurringCharges"), "item")) o end @@ -6057,10 +6065,10 @@ type CancelSpotInstanceRequestsResponseType CancelSpotInstanceRequestsResponseType(; requestId=nothing, spotInstanceRequestSet=nothing) = new(requestId, spotInstanceRequestSet) end -function CancelSpotInstanceRequestsResponseType(pd::ETree) +function CancelSpotInstanceRequestsResponseType(pd) o = CancelSpotInstanceRequestsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.spotInstanceRequestSet = AWS.@parse_vector(AWS.EC2.CancelSpotInstanceRequestsResponseSetItemType, LibExpat.find(pd, "spotInstanceRequestSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.spotInstanceRequestSet = AWS.@parse_vector(AWS.EC2.CancelSpotInstanceRequestsResponseSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "spotInstanceRequestSet"), "item")) o end @@ -6073,9 +6081,9 @@ type CreateDhcpOptionsType CreateDhcpOptionsType(; dhcpConfigurationSet=nothing) = new(dhcpConfigurationSet) end -function CreateDhcpOptionsType(pd::ETree) +function CreateDhcpOptionsType(pd) o = CreateDhcpOptionsType() - o.dhcpConfigurationSet = AWS.@parse_vector(AWS.EC2.DhcpConfigurationItemType, LibExpat.find(pd, "dhcpConfigurationSet/item")) + o.dhcpConfigurationSet = AWS.@parse_vector(AWS.EC2.DhcpConfigurationItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "dhcpConfigurationSet"), "item")) o end @@ -6092,13 +6100,13 @@ type DescribeInstanceStatusType DescribeInstanceStatusType(; instancesSet=nothing, filterSet=nothing, nextToken=nothing, maxResults=nothing, includeAllInstances=nothing) = new(instancesSet, filterSet, nextToken, maxResults, includeAllInstances) end -function DescribeInstanceStatusType(pd::ETree) +function DescribeInstanceStatusType(pd) o = DescribeInstanceStatusType() - o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LibExpat.find(pd, "item/instanceId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) - o.nextToken = LibExpat.find(pd, "nextToken#string") - o.maxResults = AWS.safe_parse_as(Int64, LibExpat.find(pd, "maxResults#string")) - o.includeAllInstances = AWS.safe_parse_as(Bool, LibExpat.find(pd, "includeAllInstances#string")) + o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "instanceId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) + o.nextToken = LightXML.content(LightXML.find_element(pd, "nextToken")) + o.maxResults = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "maxResults"))) + o.includeAllInstances = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "includeAllInstances"))) o end @@ -6112,10 +6120,10 @@ type DescribePlacementGroupsType DescribePlacementGroupsType(; placementGroupSet=nothing, filterSet=nothing) = new(placementGroupSet, filterSet) end -function DescribePlacementGroupsType(pd::ETree) +function DescribePlacementGroupsType(pd) o = DescribePlacementGroupsType() - o.placementGroupSet = AWS.parse_vector_as(ASCIIString, "groupName", LibExpat.find(pd, "item/groupName")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.placementGroupSet = AWS.parse_vector_as(ASCIIString, "groupName", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "groupName")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -6135,16 +6143,16 @@ type RegisterImageType RegisterImageType(; imageLocation=nothing, name=nothing, description=nothing, architecture=nothing, kernelId=nothing, ramdiskId=nothing, rootDeviceName=nothing, blockDeviceMapping=nothing) = new(imageLocation, name, description, architecture, kernelId, ramdiskId, rootDeviceName, blockDeviceMapping) end -function RegisterImageType(pd::ETree) +function RegisterImageType(pd) o = RegisterImageType() - o.imageLocation = LibExpat.find(pd, "imageLocation#string") - o.name = LibExpat.find(pd, "name#string") - o.description = LibExpat.find(pd, "description#string") - o.architecture = LibExpat.find(pd, "architecture#string") - o.kernelId = LibExpat.find(pd, "kernelId#string") - o.ramdiskId = LibExpat.find(pd, "ramdiskId#string") - o.rootDeviceName = LibExpat.find(pd, "rootDeviceName#string") - o.blockDeviceMapping = AWS.@parse_vector(AWS.EC2.BlockDeviceMappingItemType, LibExpat.find(pd, "blockDeviceMapping/item")) + o.imageLocation = LightXML.content(LightXML.find_element(pd, "imageLocation")) + o.name = LightXML.content(LightXML.find_element(pd, "name")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) + o.architecture = LightXML.content(LightXML.find_element(pd, "architecture")) + o.kernelId = LightXML.content(LightXML.find_element(pd, "kernelId")) + o.ramdiskId = LightXML.content(LightXML.find_element(pd, "ramdiskId")) + o.rootDeviceName = LightXML.content(LightXML.find_element(pd, "rootDeviceName")) + o.blockDeviceMapping = AWS.@parse_vector(AWS.EC2.BlockDeviceMappingItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "blockDeviceMapping"), "item")) o end @@ -6158,10 +6166,10 @@ type DescribeNetworkInterfacesType DescribeNetworkInterfacesType(; networkInterfaceIdSet=nothing, filterSet=nothing) = new(networkInterfaceIdSet, filterSet) end -function DescribeNetworkInterfacesType(pd::ETree) +function DescribeNetworkInterfacesType(pd) o = DescribeNetworkInterfacesType() - o.networkInterfaceIdSet = AWS.parse_vector_as(ASCIIString, "networkInterfaceId", LibExpat.find(pd, "item/networkInterfaceId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.networkInterfaceIdSet = AWS.parse_vector_as(ASCIIString, "networkInterfaceId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "networkInterfaceId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -6177,12 +6185,12 @@ type CreateReservedInstancesListingType CreateReservedInstancesListingType(; reservedInstancesId=nothing, instanceCount=nothing, priceSchedules=nothing, clientToken=nothing) = new(reservedInstancesId, instanceCount, priceSchedules, clientToken) end -function CreateReservedInstancesListingType(pd::ETree) +function CreateReservedInstancesListingType(pd) o = CreateReservedInstancesListingType() - o.reservedInstancesId = LibExpat.find(pd, "reservedInstancesId#string") - o.instanceCount = AWS.safe_parse_as(Int64, LibExpat.find(pd, "instanceCount#string")) - o.priceSchedules = AWS.@parse_vector(AWS.EC2.PriceScheduleRequestSetItemType, LibExpat.find(pd, "priceSchedules/item")) - o.clientToken = LibExpat.find(pd, "clientToken#string") + o.reservedInstancesId = LightXML.content(LightXML.find_element(pd, "reservedInstancesId")) + o.instanceCount = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "instanceCount"))) + o.priceSchedules = AWS.@parse_vector(AWS.EC2.PriceScheduleRequestSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "priceSchedules"), "item")) + o.clientToken = LightXML.content(LightXML.find_element(pd, "clientToken")) o end @@ -6196,10 +6204,10 @@ type DescribeVpnGatewaysType DescribeVpnGatewaysType(; vpnGatewaySet=nothing, filterSet=nothing) = new(vpnGatewaySet, filterSet) end -function DescribeVpnGatewaysType(pd::ETree) +function DescribeVpnGatewaysType(pd) o = DescribeVpnGatewaysType() - o.vpnGatewaySet = AWS.parse_vector_as(ASCIIString, "vpnGatewayId", LibExpat.find(pd, "item/vpnGatewayId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.vpnGatewaySet = AWS.parse_vector_as(ASCIIString, "vpnGatewayId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "vpnGatewayId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -6215,12 +6223,12 @@ type DescribeVolumeStatusType DescribeVolumeStatusType(; volumeSet=nothing, filterSet=nothing, maxResults=nothing, nextToken=nothing) = new(volumeSet, filterSet, maxResults, nextToken) end -function DescribeVolumeStatusType(pd::ETree) +function DescribeVolumeStatusType(pd) o = DescribeVolumeStatusType() - o.volumeSet = AWS.parse_vector_as(ASCIIString, "volumeId", LibExpat.find(pd, "item/volumeId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) - o.maxResults = AWS.safe_parse_as(Int64, LibExpat.find(pd, "maxResults#string")) - o.nextToken = LibExpat.find(pd, "nextToken#string") + o.volumeSet = AWS.parse_vector_as(ASCIIString, "volumeId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "volumeId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) + o.maxResults = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "maxResults"))) + o.nextToken = LightXML.content(LightXML.find_element(pd, "nextToken")) o end @@ -6235,11 +6243,11 @@ type DhcpOptionsType DhcpOptionsType(; dhcpOptionsId=nothing, dhcpConfigurationSet=nothing, tagSet=nothing) = new(dhcpOptionsId, dhcpConfigurationSet, tagSet) end -function DhcpOptionsType(pd::ETree) +function DhcpOptionsType(pd) o = DhcpOptionsType() - o.dhcpOptionsId = LibExpat.find(pd, "dhcpOptionsId#string") - o.dhcpConfigurationSet = AWS.@parse_vector(AWS.EC2.DhcpConfigurationItemType, LibExpat.find(pd, "dhcpConfigurationSet/item")) - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) + o.dhcpOptionsId = LightXML.content(LightXML.find_element(pd, "dhcpOptionsId")) + o.dhcpConfigurationSet = AWS.@parse_vector(AWS.EC2.DhcpConfigurationItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "dhcpConfigurationSet"), "item")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) o end @@ -6258,15 +6266,17 @@ type ImportInstanceVolumeDetailItemType ImportInstanceVolumeDetailItemType(; bytesConverted=nothing, availabilityZone=nothing, image=nothing, description=nothing, volume=nothing, status=nothing, statusMessage=nothing) = new(bytesConverted, availabilityZone, image, description, volume, status, statusMessage) end -function ImportInstanceVolumeDetailItemType(pd::ETree) +function ImportInstanceVolumeDetailItemType(pd) o = ImportInstanceVolumeDetailItemType() - o.bytesConverted = AWS.safe_parse_as(Int64, LibExpat.find(pd, "bytesConverted#string")) - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.image = length(pd["image"]) > 0 ? DiskImageDescriptionType(LibExpat.find(pd,"image[1]")) : nothing - o.description = LibExpat.find(pd, "description#string") - o.volume = length(pd["volume"]) > 0 ? DiskImageVolumeDescriptionType(LibExpat.find(pd,"volume[1]")) : nothing - o.status = LibExpat.find(pd, "status#string") - o.statusMessage = LibExpat.find(pd, "statusMessage#string") + o.bytesConverted = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "bytesConverted"))) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + ## o.image = length(pd["image"]) > 0 ? DiskImageDescriptionType(LightXML.content(LightXML.find_element(pd,"image[1]")) : nothing + o.image = LightXML.find_element(pd,"image") != nothing ? DiskImageDescriptionType(LightXML.find_element(pd,"image")) : nothing + o.description = LightXML.content(LightXML.find_element(pd, "description")) + ## o.volume = length(pd["volume"]) > 0 ? DiskImageVolumeDescriptionType(LightXML.content(LightXML.find_element(pd,"volume[1]")) : nothing + o.volume = LightXML.find_element(pd,"volume") != nothing ? DiskImageVolumeDescriptionType(LightXML.find_element(pd,"volume")) : nothing + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.statusMessage = LightXML.content(LightXML.find_element(pd, "statusMessage")) o end @@ -6280,10 +6290,10 @@ type DescribeExportTasksResponseType DescribeExportTasksResponseType(; requestId=nothing, exportTaskSet=nothing) = new(requestId, exportTaskSet) end -function DescribeExportTasksResponseType(pd::ETree) +function DescribeExportTasksResponseType(pd) o = DescribeExportTasksResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.exportTaskSet = AWS.@parse_vector(AWS.EC2.ExportTaskResponseType, LibExpat.find(pd, "exportTaskSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.exportTaskSet = AWS.@parse_vector(AWS.EC2.ExportTaskResponseType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "exportTaskSet"), "item")) o end @@ -6298,11 +6308,11 @@ type DescribeSecurityGroupsType DescribeSecurityGroupsType(; securityGroupSet=nothing, securityGroupIdSet=nothing, filterSet=nothing) = new(securityGroupSet, securityGroupIdSet, filterSet) end -function DescribeSecurityGroupsType(pd::ETree) +function DescribeSecurityGroupsType(pd) o = DescribeSecurityGroupsType() - o.securityGroupSet = AWS.parse_vector_as(ASCIIString, "groupName", LibExpat.find(pd, "item/groupName")) - o.securityGroupIdSet = AWS.parse_vector_as(ASCIIString, "groupId", LibExpat.find(pd, "item/groupId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.securityGroupSet = AWS.parse_vector_as(ASCIIString, "groupName", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "groupName")) + o.securityGroupIdSet = AWS.parse_vector_as(ASCIIString, "groupId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "groupId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -6316,10 +6326,10 @@ type InstanceStatusType InstanceStatusType(; status=nothing, details=nothing) = new(status, details) end -function InstanceStatusType(pd::ETree) +function InstanceStatusType(pd) o = InstanceStatusType() - o.status = LibExpat.find(pd, "status#string") - o.details = AWS.@parse_vector(AWS.EC2.InstanceStatusDetailsSetItemType, LibExpat.find(pd, "details/item")) + o.status = LightXML.find_element(pd, "status") != nothing ? LightXML.content(LightXML.find_element(pd, "status")) : nothing + o.details = LightXML.find_element(pd, "details") != nothing ? AWS.@parse_vector(AWS.EC2.InstanceStatusDetailsSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "details"), "item")) : nothing o end @@ -6352,29 +6362,30 @@ type DescribeImagesResponseItemType DescribeImagesResponseItemType(; imageId=nothing, imageLocation=nothing, imageState=nothing, imageOwnerId=nothing, isPublic=nothing, productCodes=nothing, architecture=nothing, imageType=nothing, kernelId=nothing, ramdiskId=nothing, platform=nothing, stateReason=nothing, imageOwnerAlias=nothing, name=nothing, description=nothing, rootDeviceType=nothing, rootDeviceName=nothing, blockDeviceMapping=nothing, virtualizationType=nothing, tagSet=nothing, hypervisor=nothing) = new(imageId, imageLocation, imageState, imageOwnerId, isPublic, productCodes, architecture, imageType, kernelId, ramdiskId, platform, stateReason, imageOwnerAlias, name, description, rootDeviceType, rootDeviceName, blockDeviceMapping, virtualizationType, tagSet, hypervisor) end -function DescribeImagesResponseItemType(pd::ETree) +function DescribeImagesResponseItemType(pd) o = DescribeImagesResponseItemType() - o.imageId = LibExpat.find(pd, "imageId#string") - o.imageLocation = LibExpat.find(pd, "imageLocation#string") - o.imageState = LibExpat.find(pd, "imageState#string") - o.imageOwnerId = LibExpat.find(pd, "imageOwnerId#string") - o.isPublic = AWS.safe_parse_as(Bool, LibExpat.find(pd, "isPublic#string")) - o.productCodes = AWS.@parse_vector(AWS.EC2.ProductCodesSetItemType, LibExpat.find(pd, "productCodes/item")) - o.architecture = LibExpat.find(pd, "architecture#string") - o.imageType = LibExpat.find(pd, "imageType#string") - o.kernelId = LibExpat.find(pd, "kernelId#string") - o.ramdiskId = LibExpat.find(pd, "ramdiskId#string") - o.platform = LibExpat.find(pd, "platform#string") - o.stateReason = length(pd["stateReason"]) > 0 ? StateReasonType(LibExpat.find(pd,"stateReason[1]")) : nothing - o.imageOwnerAlias = LibExpat.find(pd, "imageOwnerAlias#string") - o.name = LibExpat.find(pd, "name#string") - o.description = LibExpat.find(pd, "description#string") - o.rootDeviceType = LibExpat.find(pd, "rootDeviceType#string") - o.rootDeviceName = LibExpat.find(pd, "rootDeviceName#string") - o.blockDeviceMapping = AWS.@parse_vector(AWS.EC2.BlockDeviceMappingItemType, LibExpat.find(pd, "blockDeviceMapping/item")) - o.virtualizationType = LibExpat.find(pd, "virtualizationType#string") - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) - o.hypervisor = LibExpat.find(pd, "hypervisor#string") + o.imageId = LightXML.content(LightXML.find_element(pd, "imageId")) + o.imageLocation = LightXML.content(LightXML.find_element(pd, "imageLocation")) + o.imageState = LightXML.content(LightXML.find_element(pd, "imageState")) + o.imageOwnerId = LightXML.content(LightXML.find_element(pd, "imageOwnerId")) + o.isPublic = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "isPublic"))) + o.productCodes = AWS.@parse_vector(AWS.EC2.ProductCodesSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "productCodes"), "item")) + o.architecture = LightXML.content(LightXML.find_element(pd, "architecture")) + o.imageType = LightXML.content(LightXML.find_element(pd, "imageType")) + o.kernelId = LightXML.content(LightXML.find_element(pd, "kernelId")) + o.ramdiskId = LightXML.content(LightXML.find_element(pd, "ramdiskId")) + o.platform = LightXML.content(LightXML.find_element(pd, "platform")) + ## o.stateReason = length(pd["stateReason"]) > 0 ? StateReasonType(LightXML.find_element(pd,"stateReason[1]")) : nothing + o.stateReason = LightXML.find_element(pd,"stateReason") != nothing ? StateReasonType(LightXML.find_element(pd,"stateReason")) : nothing + o.imageOwnerAlias = LightXML.content(LightXML.find_element(pd, "imageOwnerAlias")) + o.name = LightXML.content(LightXML.find_element(pd, "name")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) + o.rootDeviceType = LightXML.content(LightXML.find_element(pd, "rootDeviceType")) + o.rootDeviceName = LightXML.content(LightXML.find_element(pd, "rootDeviceName")) + o.blockDeviceMapping = AWS.@parse_vector(AWS.EC2.BlockDeviceMappingItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "blockDeviceMapping"), "item")) + o.virtualizationType = LightXML.content(LightXML.find_element(pd, "virtualizationType")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) + o.hypervisor = LightXML.content(LightXML.find_element(pd, "hypervisor")) o end @@ -6388,10 +6399,10 @@ type DescribeBundleTasksType DescribeBundleTasksType(; bundlesSet=nothing, filterSet=nothing) = new(bundlesSet, filterSet) end -function DescribeBundleTasksType(pd::ETree) +function DescribeBundleTasksType(pd) o = DescribeBundleTasksType() - o.bundlesSet = AWS.parse_vector_as(ASCIIString, "bundleId", LibExpat.find(pd, "item/bundleId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.bundlesSet = AWS.parse_vector_as(ASCIIString, "bundleId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "bundleId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -6405,10 +6416,10 @@ type DeleteTagsType DeleteTagsType(; resourcesSet=nothing, tagSet=nothing) = new(resourcesSet, tagSet) end -function DeleteTagsType(pd::ETree) +function DeleteTagsType(pd) o = DeleteTagsType() - o.resourcesSet = AWS.parse_vector_as(ASCIIString, "resourceId", LibExpat.find(pd, "item/resourceId")) - o.tagSet = AWS.@parse_vector(AWS.EC2.DeleteTagsSetItemType, LibExpat.find(pd, "tagSet/item")) + o.resourcesSet = AWS.parse_vector_as(ASCIIString, "resourceId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "resourceId")) + o.tagSet = AWS.@parse_vector(AWS.EC2.DeleteTagsSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) o end @@ -6425,13 +6436,14 @@ type SpotDatafeedSubscriptionType SpotDatafeedSubscriptionType(; ownerId=nothing, bucket=nothing, prefix=nothing, state=nothing, fault=nothing) = new(ownerId, bucket, prefix, state, fault) end -function SpotDatafeedSubscriptionType(pd::ETree) +function SpotDatafeedSubscriptionType(pd) o = SpotDatafeedSubscriptionType() - o.ownerId = LibExpat.find(pd, "ownerId#string") - o.bucket = LibExpat.find(pd, "bucket#string") - o.prefix = LibExpat.find(pd, "prefix#string") - o.state = LibExpat.find(pd, "state#string") - o.fault = length(pd["fault"]) > 0 ? SpotInstanceStateFaultType(LibExpat.find(pd,"fault[1]")) : nothing + o.ownerId = LightXML.content(LightXML.find_element(pd, "ownerId")) + o.bucket = LightXML.content(LightXML.find_element(pd, "bucket")) + o.prefix = LightXML.content(LightXML.find_element(pd, "prefix")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) + ## o.fault = length(pd["fault"]) > 0 ? SpotInstanceStateFaultType(LightXML.find_element(pd,"fault[1]")) : nothing + o.fault = LightXML.find_element(pd,"fault") != nothing ? SpotInstanceStateFaultType(LightXML.find_element(pd,"fault")) : nothing o end @@ -6445,10 +6457,10 @@ type DescribeNetworkAclsType DescribeNetworkAclsType(; networkAclIdSet=nothing, filterSet=nothing) = new(networkAclIdSet, filterSet) end -function DescribeNetworkAclsType(pd::ETree) +function DescribeNetworkAclsType(pd) o = DescribeNetworkAclsType() - o.networkAclIdSet = AWS.parse_vector_as(ASCIIString, "networkAclId", LibExpat.find(pd, "item/networkAclId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.networkAclIdSet = AWS.parse_vector_as(ASCIIString, "networkAclId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "networkAclId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -6470,18 +6482,18 @@ type DescribeVolumesSetItemResponseType DescribeVolumesSetItemResponseType(; volumeId=nothing, size=nothing, snapshotId=nothing, availabilityZone=nothing, status=nothing, createTime=nothing, attachmentSet=nothing, tagSet=nothing, volumeType=nothing, iops=nothing) = new(volumeId, size, snapshotId, availabilityZone, status, createTime, attachmentSet, tagSet, volumeType, iops) end -function DescribeVolumesSetItemResponseType(pd::ETree) +function DescribeVolumesSetItemResponseType(pd) o = DescribeVolumesSetItemResponseType() - o.volumeId = LibExpat.find(pd, "volumeId#string") - o.size = LibExpat.find(pd, "size#string") - o.snapshotId = LibExpat.find(pd, "snapshotId#string") - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.status = LibExpat.find(pd, "status#string") - o.createTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "createTime#string")) - o.attachmentSet = AWS.@parse_vector(AWS.EC2.AttachmentSetItemResponseType, LibExpat.find(pd, "attachmentSet/item")) - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) - o.volumeType = LibExpat.find(pd, "volumeType#string") - o.iops = AWS.safe_parse_as(Int64, LibExpat.find(pd, "iops#string")) + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) + o.size = LightXML.content(LightXML.find_element(pd, "size")) + o.snapshotId = LightXML.content(LightXML.find_element(pd, "snapshotId")) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.createTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "createTime"))) + o.attachmentSet = AWS.@parse_vector(AWS.EC2.AttachmentSetItemResponseType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "attachmentSet"), "item")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) + o.volumeType = LightXML.content(LightXML.find_element(pd, "volumeType")) + o.iops = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "iops"))) o end @@ -6495,10 +6507,10 @@ type DescribeVolumesType DescribeVolumesType(; volumeSet=nothing, filterSet=nothing) = new(volumeSet, filterSet) end -function DescribeVolumesType(pd::ETree) +function DescribeVolumesType(pd) o = DescribeVolumesType() - o.volumeSet = AWS.parse_vector_as(ASCIIString, "volumeId", LibExpat.find(pd, "item/volumeId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.volumeSet = AWS.parse_vector_as(ASCIIString, "volumeId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "volumeId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -6512,10 +6524,10 @@ type DescribeDhcpOptionsType DescribeDhcpOptionsType(; dhcpOptionsSet=nothing, filterSet=nothing) = new(dhcpOptionsSet, filterSet) end -function DescribeDhcpOptionsType(pd::ETree) +function DescribeDhcpOptionsType(pd) o = DescribeDhcpOptionsType() - o.dhcpOptionsSet = AWS.parse_vector_as(ASCIIString, "dhcpOptionsId", LibExpat.find(pd, "item/dhcpOptionsId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.dhcpOptionsSet = AWS.parse_vector_as(ASCIIString, "dhcpOptionsId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "dhcpOptionsId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -6529,10 +6541,10 @@ type CreateTagsType CreateTagsType(; resourcesSet=nothing, tagSet=nothing) = new(resourcesSet, tagSet) end -function CreateTagsType(pd::ETree) +function CreateTagsType(pd) o = CreateTagsType() - o.resourcesSet = AWS.parse_vector_as(ASCIIString, "resourceId", LibExpat.find(pd, "item/resourceId")) - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) + o.resourcesSet = AWS.parse_vector_as(ASCIIString, "resourceId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "resourceId")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) o end @@ -6548,12 +6560,12 @@ type ImportInstanceTaskDetailsType ImportInstanceTaskDetailsType(; volumes=nothing, instanceId=nothing, platform=nothing, description=nothing) = new(volumes, instanceId, platform, description) end -function ImportInstanceTaskDetailsType(pd::ETree) +function ImportInstanceTaskDetailsType(pd) o = ImportInstanceTaskDetailsType() - o.volumes = AWS.@parse_vector(AWS.EC2.ImportInstanceVolumeDetailItemType, LibExpat.find(pd, "volumes/item")) - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.platform = LibExpat.find(pd, "platform#string") - o.description = LibExpat.find(pd, "description#string") + o.volumes = AWS.@parse_vector(AWS.EC2.ImportInstanceVolumeDetailItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "volumes"), "item")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.platform = LightXML.content(LightXML.find_element(pd, "platform")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) o end @@ -6570,13 +6582,13 @@ type ConversionTaskType ConversionTaskType(; conversionTaskId=nothing, expirationTime=nothing, state=nothing, statusMessage=nothing, tagSet=nothing) = new(conversionTaskId, expirationTime, state, statusMessage, tagSet) end -function ConversionTaskType(pd::ETree) +function ConversionTaskType(pd) o = ConversionTaskType() - o.conversionTaskId = LibExpat.find(pd, "conversionTaskId#string") - o.expirationTime = LibExpat.find(pd, "expirationTime#string") - o.state = LibExpat.find(pd, "state#string") - o.statusMessage = LibExpat.find(pd, "statusMessage#string") - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) + o.conversionTaskId = LightXML.content(LightXML.find_element(pd, "conversionTaskId")) + o.expirationTime = LightXML.content(LightXML.find_element(pd, "expirationTime")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) + o.statusMessage = LightXML.content(LightXML.find_element(pd, "statusMessage")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) o end @@ -6590,10 +6602,11 @@ type CreateSpotDatafeedSubscriptionResponseType CreateSpotDatafeedSubscriptionResponseType(; requestId=nothing, spotDatafeedSubscription=nothing) = new(requestId, spotDatafeedSubscription) end -function CreateSpotDatafeedSubscriptionResponseType(pd::ETree) +function CreateSpotDatafeedSubscriptionResponseType(pd) o = CreateSpotDatafeedSubscriptionResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.spotDatafeedSubscription = length(pd["spotDatafeedSubscription"]) > 0 ? SpotDatafeedSubscriptionType(LibExpat.find(pd,"spotDatafeedSubscription[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.spotDatafeedSubscription = length(pd["spotDatafeedSubscription"]) > 0 ? SpotDatafeedSubscriptionType(LightXML.find_element(pd,"spotDatafeedSubscription[1]")) : nothing + o.spotDatafeedSubscription = LightXML.find_element(pd,"spotDatafeedSubscription") != nothing ? SpotDatafeedSubscriptionType(LightXML.content(LightXML.find_element(pd,"spotDatafeedSubscription"))) : nothing o end @@ -6607,10 +6620,10 @@ type DescribeCustomerGatewaysType DescribeCustomerGatewaysType(; customerGatewaySet=nothing, filterSet=nothing) = new(customerGatewaySet, filterSet) end -function DescribeCustomerGatewaysType(pd::ETree) +function DescribeCustomerGatewaysType(pd) o = DescribeCustomerGatewaysType() - o.customerGatewaySet = AWS.parse_vector_as(ASCIIString, "customerGatewayId", LibExpat.find(pd, "item/customerGatewayId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.customerGatewaySet = AWS.parse_vector_as(ASCIIString, "customerGatewayId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "customerGatewayId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -6624,10 +6637,10 @@ type DescribePlacementGroupsResponseType DescribePlacementGroupsResponseType(; requestId=nothing, placementGroupSet=nothing) = new(requestId, placementGroupSet) end -function DescribePlacementGroupsResponseType(pd::ETree) +function DescribePlacementGroupsResponseType(pd) o = DescribePlacementGroupsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.placementGroupSet = AWS.@parse_vector(AWS.EC2.PlacementGroupInfoType, LibExpat.find(pd, "placementGroupSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.placementGroupSet = AWS.@parse_vector(AWS.EC2.PlacementGroupInfoType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "placementGroupSet"), "item")) o end @@ -6641,10 +6654,10 @@ type DescribeReservedInstancesResponseType DescribeReservedInstancesResponseType(; requestId=nothing, reservedInstancesSet=nothing) = new(requestId, reservedInstancesSet) end -function DescribeReservedInstancesResponseType(pd::ETree) +function DescribeReservedInstancesResponseType(pd) o = DescribeReservedInstancesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.reservedInstancesSet = AWS.@parse_vector(AWS.EC2.DescribeReservedInstancesResponseSetItemType, LibExpat.find(pd, "reservedInstancesSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.reservedInstancesSet = AWS.@parse_vector(AWS.EC2.DescribeReservedInstancesResponseSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "reservedInstancesSet"), "item")) o end @@ -6664,16 +6677,18 @@ type ReplaceNetworkAclEntryType ReplaceNetworkAclEntryType(; networkAclId=nothing, ruleNumber=nothing, protocol=nothing, ruleAction=nothing, egress=nothing, cidrBlock=nothing, icmpTypeCode=nothing, portRange=nothing) = new(networkAclId, ruleNumber, protocol, ruleAction, egress, cidrBlock, icmpTypeCode, portRange) end -function ReplaceNetworkAclEntryType(pd::ETree) +function ReplaceNetworkAclEntryType(pd) o = ReplaceNetworkAclEntryType() - o.networkAclId = LibExpat.find(pd, "networkAclId#string") - o.ruleNumber = AWS.safe_parse_as(Int64, LibExpat.find(pd, "ruleNumber#string")) - o.protocol = LibExpat.find(pd, "protocol#string") - o.ruleAction = LibExpat.find(pd, "ruleAction#string") - o.egress = AWS.safe_parse_as(Bool, LibExpat.find(pd, "egress#string")) - o.cidrBlock = LibExpat.find(pd, "cidrBlock#string") - o.icmpTypeCode = length(pd["icmpTypeCode"]) > 0 ? IcmpTypeCodeType(LibExpat.find(pd,"icmpTypeCode[1]")) : nothing - o.portRange = length(pd["portRange"]) > 0 ? PortRangeType(LibExpat.find(pd,"portRange[1]")) : nothing + o.networkAclId = LightXML.content(LightXML.find_element(pd, "networkAclId")) + o.ruleNumber = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "ruleNumber"))) + o.protocol = LightXML.content(LightXML.find_element(pd, "protocol")) + o.ruleAction = LightXML.content(LightXML.find_element(pd, "ruleAction")) + o.egress = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "egress"))) + o.cidrBlock = LightXML.content(LightXML.find_element(pd, "cidrBlock")) + ## o.icmpTypeCode = length(pd["icmpTypeCode"]) > 0 ? IcmpTypeCodeType(LightXML.find_element(pd,"icmpTypeCode[1]")) : nothing + o.icmpTypeCode = LightXML.find_element(pd,"icmpTypeCode") != nothing ? IcmpTypeCodeType(LightXML.find_element(pd,"icmpTypeCode")) : nothing + ## o.portRange = length(pd["portRange"]) > 0 ? PortRangeType(LightXML.find_element(pd,"portRange[1]")) : nothing + o.portRange = LightXML.find_element(pd,"portRange") != nothing ? PortRangeType(LightXML.find_element(pd,"portRange")) : nothing o end @@ -6692,15 +6707,17 @@ type NetworkAclEntryType NetworkAclEntryType(; ruleNumber=nothing, protocol=nothing, ruleAction=nothing, egress=nothing, cidrBlock=nothing, icmpTypeCode=nothing, portRange=nothing) = new(ruleNumber, protocol, ruleAction, egress, cidrBlock, icmpTypeCode, portRange) end -function NetworkAclEntryType(pd::ETree) +function NetworkAclEntryType(pd) o = NetworkAclEntryType() - o.ruleNumber = AWS.safe_parse_as(Int64, LibExpat.find(pd, "ruleNumber#string")) - o.protocol = LibExpat.find(pd, "protocol#string") - o.ruleAction = LibExpat.find(pd, "ruleAction#string") - o.egress = AWS.safe_parse_as(Bool, LibExpat.find(pd, "egress#string")) - o.cidrBlock = LibExpat.find(pd, "cidrBlock#string") - o.icmpTypeCode = length(pd["icmpTypeCode"]) > 0 ? IcmpTypeCodeType(LibExpat.find(pd,"icmpTypeCode[1]")) : nothing - o.portRange = length(pd["portRange"]) > 0 ? PortRangeType(LibExpat.find(pd,"portRange[1]")) : nothing + o.ruleNumber = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "ruleNumber"))) + o.protocol = LightXML.content(LightXML.find_element(pd, "protocol")) + o.ruleAction = LightXML.content(LightXML.find_element(pd, "ruleAction")) + o.egress = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "egress"))) + o.cidrBlock = LightXML.content(LightXML.find_element(pd, "cidrBlock")) + ## o.icmpTypeCode = length(pd["icmpTypeCode"]) > 0 ? IcmpTypeCodeType(LightXML.find_element(pd,"icmpTypeCode[1]")) : nothing + o.icmpTypeCode = LightXML.find_element(pd,"icmpTypeCode") != nothing ? IcmpTypeCodeType(LightXML.find_element(pd,"icmpTypeCode")) : nothing + ## o.portRange = length(pd["portRange"]) > 0 ? PortRangeType(LightXML.find_element(pd,"portRange[1]")) : nothing + o.portRange = LightXML.find_element(pd,"portRange") != nothing ? PortRangeType(LightXML.find_element(pd,"portRange")) : nothing o end @@ -6715,11 +6732,11 @@ type InternetGatewayType InternetGatewayType(; internetGatewayId=nothing, attachmentSet=nothing, tagSet=nothing) = new(internetGatewayId, attachmentSet, tagSet) end -function InternetGatewayType(pd::ETree) +function InternetGatewayType(pd) o = InternetGatewayType() - o.internetGatewayId = LibExpat.find(pd, "internetGatewayId#string") - o.attachmentSet = AWS.@parse_vector(AWS.EC2.InternetGatewayAttachmentType, LibExpat.find(pd, "attachmentSet/item")) - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) + o.internetGatewayId = LightXML.content(LightXML.find_element(pd, "internetGatewayId")) + o.attachmentSet = AWS.@parse_vector(AWS.EC2.InternetGatewayAttachmentType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "attachmentSet"), "item")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) o end @@ -6733,10 +6750,10 @@ type DescribeRegionsType DescribeRegionsType(; regionSet=nothing, filterSet=nothing) = new(regionSet, filterSet) end -function DescribeRegionsType(pd::ETree) +function DescribeRegionsType(pd) o = DescribeRegionsType() - o.regionSet = AWS.parse_vector_as(ASCIIString, "regionName", LibExpat.find(pd, "item/regionName")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.regionSet = AWS.parse_vector_as(ASCIIString, "regionName", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "regionName")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -6752,12 +6769,12 @@ type DescribeSnapshotsType DescribeSnapshotsType(; snapshotSet=nothing, ownersSet=nothing, restorableBySet=nothing, filterSet=nothing) = new(snapshotSet, ownersSet, restorableBySet, filterSet) end -function DescribeSnapshotsType(pd::ETree) +function DescribeSnapshotsType(pd) o = DescribeSnapshotsType() - o.snapshotSet = AWS.parse_vector_as(ASCIIString, "snapshotId", LibExpat.find(pd, "item/snapshotId")) - o.ownersSet = AWS.parse_vector_as(ASCIIString, "owner", LibExpat.find(pd, "item/owner")) - o.restorableBySet = AWS.parse_vector_as(ASCIIString, "user", LibExpat.find(pd, "item/user")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.snapshotSet = AWS.parse_vector_as(ASCIIString, "snapshotId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "snapshotId")) + o.ownersSet = AWS.parse_vector_as(ASCIIString, "owner", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "owner")) + o.restorableBySet = AWS.parse_vector_as(ASCIIString, "user", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "user")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -6771,10 +6788,10 @@ type DescribeKeyPairsResponseType DescribeKeyPairsResponseType(; requestId=nothing, keySet=nothing) = new(requestId, keySet) end -function DescribeKeyPairsResponseType(pd::ETree) +function DescribeKeyPairsResponseType(pd) o = DescribeKeyPairsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.keySet = AWS.@parse_vector(AWS.EC2.DescribeKeyPairsResponseItemType, LibExpat.find(pd, "keySet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.keySet = AWS.@parse_vector(AWS.EC2.DescribeKeyPairsResponseItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "keySet"), "item")) o end @@ -6788,10 +6805,10 @@ type DescribeAvailabilityZonesResponseType DescribeAvailabilityZonesResponseType(; requestId=nothing, availabilityZoneInfo=nothing) = new(requestId, availabilityZoneInfo) end -function DescribeAvailabilityZonesResponseType(pd::ETree) +function DescribeAvailabilityZonesResponseType(pd) o = DescribeAvailabilityZonesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.availabilityZoneInfo = AWS.@parse_vector(AWS.EC2.AvailabilityZoneItemType, LibExpat.find(pd, "availabilityZoneInfo/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.availabilityZoneInfo = AWS.@parse_vector(AWS.EC2.AvailabilityZoneItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "availabilityZoneInfo"), "item")) o end @@ -6810,15 +6827,15 @@ type VpcType VpcType(; vpcId=nothing, state=nothing, cidrBlock=nothing, dhcpOptionsId=nothing, tagSet=nothing, instanceTenancy=nothing, isDefault=nothing) = new(vpcId, state, cidrBlock, dhcpOptionsId, tagSet, instanceTenancy, isDefault) end -function VpcType(pd::ETree) +function VpcType(pd) o = VpcType() - o.vpcId = LibExpat.find(pd, "vpcId#string") - o.state = LibExpat.find(pd, "state#string") - o.cidrBlock = LibExpat.find(pd, "cidrBlock#string") - o.dhcpOptionsId = LibExpat.find(pd, "dhcpOptionsId#string") - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) - o.instanceTenancy = LibExpat.find(pd, "instanceTenancy#string") - o.isDefault = AWS.safe_parse_as(Bool, LibExpat.find(pd, "isDefault#string")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) + o.cidrBlock = LightXML.content(LightXML.find_element(pd, "cidrBlock")) + o.dhcpOptionsId = LightXML.content(LightXML.find_element(pd, "dhcpOptionsId")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) + o.instanceTenancy = LightXML.content(LightXML.find_element(pd, "instanceTenancy")) + o.isDefault = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "isDefault"))) o end @@ -6832,10 +6849,10 @@ type DescribeSubnetsType DescribeSubnetsType(; subnetSet=nothing, filterSet=nothing) = new(subnetSet, filterSet) end -function DescribeSubnetsType(pd::ETree) +function DescribeSubnetsType(pd) o = DescribeSubnetsType() - o.subnetSet = AWS.parse_vector_as(ASCIIString, "subnetId", LibExpat.find(pd, "item/subnetId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.subnetSet = AWS.parse_vector_as(ASCIIString, "subnetId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "subnetId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -6849,10 +6866,10 @@ type DescribeRegionsResponseType DescribeRegionsResponseType(; requestId=nothing, regionInfo=nothing) = new(requestId, regionInfo) end -function DescribeRegionsResponseType(pd::ETree) +function DescribeRegionsResponseType(pd) o = DescribeRegionsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.regionInfo = AWS.@parse_vector(AWS.EC2.RegionItemType, LibExpat.find(pd, "regionInfo/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.regionInfo = AWS.@parse_vector(AWS.EC2.RegionItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "regionInfo"), "item")) o end @@ -6866,10 +6883,11 @@ type DescribeSpotDatafeedSubscriptionResponseType DescribeSpotDatafeedSubscriptionResponseType(; requestId=nothing, spotDatafeedSubscription=nothing) = new(requestId, spotDatafeedSubscription) end -function DescribeSpotDatafeedSubscriptionResponseType(pd::ETree) +function DescribeSpotDatafeedSubscriptionResponseType(pd) o = DescribeSpotDatafeedSubscriptionResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.spotDatafeedSubscription = length(pd["spotDatafeedSubscription"]) > 0 ? SpotDatafeedSubscriptionType(LibExpat.find(pd,"spotDatafeedSubscription[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.spotDatafeedSubscription = length(pd["spotDatafeedSubscription"]) > 0 ? SpotDatafeedSubscriptionType(LightXML.find_element(pd,"spotDatafeedSubscription[1]")) : nothing + o.spotDatafeedSubscription = LightXML.find_element(pd,"spotDatafeedSubscription") != nothing ? SpotDatafeedSubscriptionType(LightXML.find_element(pd,"spotDatafeedSubscription")) : nothing o end @@ -6884,11 +6902,11 @@ type DescribeReservedInstancesType DescribeReservedInstancesType(; reservedInstancesSet=nothing, filterSet=nothing, offeringType=nothing) = new(reservedInstancesSet, filterSet, offeringType) end -function DescribeReservedInstancesType(pd::ETree) +function DescribeReservedInstancesType(pd) o = DescribeReservedInstancesType() - o.reservedInstancesSet = AWS.parse_vector_as(ASCIIString, "reservedInstancesId", LibExpat.find(pd, "item/reservedInstancesId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) - o.offeringType = LibExpat.find(pd, "offeringType#string") + o.reservedInstancesSet = AWS.parse_vector_as(ASCIIString, "reservedInstancesId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "reservedInstancesId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) + o.offeringType = LightXML.content(LightXML.find_element(pd, "offeringType")) o end @@ -6913,21 +6931,21 @@ type DescribeReservedInstancesOfferingsType DescribeReservedInstancesOfferingsType(; reservedInstancesOfferingsSet=nothing, instanceType=nothing, availabilityZone=nothing, productDescription=nothing, filterSet=nothing, instanceTenancy=nothing, offeringType=nothing, includeMarketplace=nothing, minDuration=nothing, maxDuration=nothing, maxInstanceCount=nothing, nextToken=nothing, maxResults=nothing) = new(reservedInstancesOfferingsSet, instanceType, availabilityZone, productDescription, filterSet, instanceTenancy, offeringType, includeMarketplace, minDuration, maxDuration, maxInstanceCount, nextToken, maxResults) end -function DescribeReservedInstancesOfferingsType(pd::ETree) +function DescribeReservedInstancesOfferingsType(pd) o = DescribeReservedInstancesOfferingsType() - o.reservedInstancesOfferingsSet = AWS.parse_vector_as(ASCIIString, "reservedInstancesOfferingId", LibExpat.find(pd, "item/reservedInstancesOfferingId")) - o.instanceType = LibExpat.find(pd, "instanceType#string") - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.productDescription = LibExpat.find(pd, "productDescription#string") - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) - o.instanceTenancy = LibExpat.find(pd, "instanceTenancy#string") - o.offeringType = LibExpat.find(pd, "offeringType#string") - o.includeMarketplace = AWS.safe_parse_as(Bool, LibExpat.find(pd, "includeMarketplace#string")) - o.minDuration = AWS.safe_parse_as(Int64, LibExpat.find(pd, "minDuration#string")) - o.maxDuration = AWS.safe_parse_as(Int64, LibExpat.find(pd, "maxDuration#string")) - o.maxInstanceCount = AWS.safe_parse_as(Int64, LibExpat.find(pd, "maxInstanceCount#string")) - o.nextToken = LibExpat.find(pd, "nextToken#string") - o.maxResults = AWS.safe_parse_as(Int64, LibExpat.find(pd, "maxResults#string")) + o.reservedInstancesOfferingsSet = AWS.parse_vector_as(ASCIIString, "reservedInstancesOfferingId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "reservedInstancesOfferingId")) + o.instanceType = LightXML.content(LightXML.find_element(pd, "instanceType")) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.productDescription = LightXML.content(LightXML.find_element(pd, "productDescription")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) + o.instanceTenancy = LightXML.content(LightXML.find_element(pd, "instanceTenancy")) + o.offeringType = LightXML.content(LightXML.find_element(pd, "offeringType")) + o.includeMarketplace = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "includeMarketplace"))) + o.minDuration = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "minDuration"))) + o.maxDuration = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "maxDuration"))) + o.maxInstanceCount = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "maxInstanceCount"))) + o.nextToken = LightXML.content(LightXML.find_element(pd, "nextToken")) + o.maxResults = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "maxResults"))) o end @@ -6943,12 +6961,12 @@ type DescribeImagesType DescribeImagesType(; executableBySet=nothing, imagesSet=nothing, ownersSet=nothing, filterSet=nothing) = new(executableBySet, imagesSet, ownersSet, filterSet) end -function DescribeImagesType(pd::ETree) +function DescribeImagesType(pd) o = DescribeImagesType() - o.executableBySet = AWS.parse_vector_as(ASCIIString, "user", LibExpat.find(pd, "item/user")) - o.imagesSet = AWS.parse_vector_as(ASCIIString, "imageId", LibExpat.find(pd, "item/imageId")) - o.ownersSet = AWS.parse_vector_as(ASCIIString, "owner", LibExpat.find(pd, "item/owner")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.executableBySet = AWS.parse_vector_as(ASCIIString, "user", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "user")) + o.imagesSet = AWS.parse_vector_as(ASCIIString, "imageId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "imageId")) + o.ownersSet = AWS.parse_vector_as(ASCIIString, "owner", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "owner")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -6962,10 +6980,10 @@ type DescribeConversionTasksResponseType DescribeConversionTasksResponseType(; requestId=nothing, conversionTasks=nothing) = new(requestId, conversionTasks) end -function DescribeConversionTasksResponseType(pd::ETree) +function DescribeConversionTasksResponseType(pd) o = DescribeConversionTasksResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.conversionTasks = AWS.@parse_vector(AWS.EC2.ConversionTaskType, LibExpat.find(pd, "conversionTasks/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.conversionTasks = AWS.@parse_vector(AWS.EC2.ConversionTaskType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "conversionTasks"), "item")) o end @@ -6979,10 +6997,10 @@ type DescribeAccountAttributesResponseType DescribeAccountAttributesResponseType(; requestId=nothing, accountAttributeSet=nothing) = new(requestId, accountAttributeSet) end -function DescribeAccountAttributesResponseType(pd::ETree) +function DescribeAccountAttributesResponseType(pd) o = DescribeAccountAttributesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.accountAttributeSet = AWS.@parse_vector(AWS.EC2.AccountAttributeSetItemType, LibExpat.find(pd, "accountAttributeSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.accountAttributeSet = AWS.@parse_vector(AWS.EC2.AccountAttributeSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "accountAttributeSet"), "item")) o end @@ -7002,16 +7020,18 @@ type CreateNetworkAclEntryType CreateNetworkAclEntryType(; networkAclId=nothing, ruleNumber=nothing, protocol=nothing, ruleAction=nothing, egress=nothing, cidrBlock=nothing, icmpTypeCode=nothing, portRange=nothing) = new(networkAclId, ruleNumber, protocol, ruleAction, egress, cidrBlock, icmpTypeCode, portRange) end -function CreateNetworkAclEntryType(pd::ETree) +function CreateNetworkAclEntryType(pd) o = CreateNetworkAclEntryType() - o.networkAclId = LibExpat.find(pd, "networkAclId#string") - o.ruleNumber = AWS.safe_parse_as(Int64, LibExpat.find(pd, "ruleNumber#string")) - o.protocol = LibExpat.find(pd, "protocol#string") - o.ruleAction = LibExpat.find(pd, "ruleAction#string") - o.egress = AWS.safe_parse_as(Bool, LibExpat.find(pd, "egress#string")) - o.cidrBlock = LibExpat.find(pd, "cidrBlock#string") - o.icmpTypeCode = length(pd["icmpTypeCode"]) > 0 ? IcmpTypeCodeType(LibExpat.find(pd,"icmpTypeCode[1]")) : nothing - o.portRange = length(pd["portRange"]) > 0 ? PortRangeType(LibExpat.find(pd,"portRange[1]")) : nothing + o.networkAclId = LightXML.content(LightXML.find_element(pd, "networkAclId")) + o.ruleNumber = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "ruleNumber"))) + o.protocol = LightXML.content(LightXML.find_element(pd, "protocol")) + o.ruleAction = LightXML.content(LightXML.find_element(pd, "ruleAction")) + o.egress = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "egress"))) + o.cidrBlock = LightXML.content(LightXML.find_element(pd, "cidrBlock")) + ## o.icmpTypeCode = length(pd["icmpTypeCode"]) > 0 ? IcmpTypeCodeType(LightXML.find_element(pd,"icmpTypeCode[1]")) : nothing + o.icmpTypeCode = LightXML.find_element(pd,"icmpTypeCode") != nothing ? IcmpTypeCodeType(LightXML.find_element(pd,"icmpTypeCode")) : nothing + ## o.portRange = length(pd["portRange"]) > 0 ? PortRangeType(LightXML.find_element(pd,"portRange[1]")) : nothing + o.portRange = LightXML.find_element(pd,"portRange") != nothing ? PortRangeType(LightXML.find_element(pd,"portRange")) : nothing o end @@ -7033,18 +7053,18 @@ type DescribeSnapshotsSetItemResponseType DescribeSnapshotsSetItemResponseType(; snapshotId=nothing, volumeId=nothing, status=nothing, startTime=nothing, progress=nothing, ownerId=nothing, volumeSize=nothing, description=nothing, ownerAlias=nothing, tagSet=nothing) = new(snapshotId, volumeId, status, startTime, progress, ownerId, volumeSize, description, ownerAlias, tagSet) end -function DescribeSnapshotsSetItemResponseType(pd::ETree) +function DescribeSnapshotsSetItemResponseType(pd) o = DescribeSnapshotsSetItemResponseType() - o.snapshotId = LibExpat.find(pd, "snapshotId#string") - o.volumeId = LibExpat.find(pd, "volumeId#string") - o.status = LibExpat.find(pd, "status#string") - o.startTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "startTime#string")) - o.progress = LibExpat.find(pd, "progress#string") - o.ownerId = LibExpat.find(pd, "ownerId#string") - o.volumeSize = LibExpat.find(pd, "volumeSize#string") - o.description = LibExpat.find(pd, "description#string") - o.ownerAlias = LibExpat.find(pd, "ownerAlias#string") - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) + o.snapshotId = LightXML.content(LightXML.find_element(pd, "snapshotId")) + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.startTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "startTime"))) + o.progress = LightXML.content(LightXML.find_element(pd, "progress")) + o.ownerId = LightXML.content(LightXML.find_element(pd, "ownerId")) + o.volumeSize = LightXML.content(LightXML.find_element(pd, "volumeSize")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) + o.ownerAlias = LightXML.content(LightXML.find_element(pd, "ownerAlias")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) o end @@ -7057,9 +7077,10 @@ type BundleInstanceTaskStorageType BundleInstanceTaskStorageType(; S3=nothing) = new(S3) end -function BundleInstanceTaskStorageType(pd::ETree) +function BundleInstanceTaskStorageType(pd) o = BundleInstanceTaskStorageType() - o.S3 = length(pd["S3"]) > 0 ? BundleInstanceS3StorageType(LibExpat.find(pd,"S3[1]")) : nothing + ## o.S3 = length(pd["S3"]) > 0 ? BundleInstanceS3StorageType(LightXML.find_element(pd,"S3[1]")) : nothing + o.S3 = LightXML.find_element(pd,"S3") != nothing ? BundleInstanceS3StorageType(LightXML.find_element(pd,"S3")) : nothing o end @@ -7077,14 +7098,17 @@ type InstanceStatusItemType InstanceStatusItemType(; instanceId=nothing, availabilityZone=nothing, eventsSet=nothing, instanceState=nothing, systemStatus=nothing, instanceStatus=nothing) = new(instanceId, availabilityZone, eventsSet, instanceState, systemStatus, instanceStatus) end -function InstanceStatusItemType(pd::ETree) +function InstanceStatusItemType(pd) o = InstanceStatusItemType() - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.eventsSet = AWS.@parse_vector(AWS.EC2.InstanceStatusEventType, LibExpat.find(pd, "eventsSet/item")) - o.instanceState = length(pd["instanceState"]) > 0 ? InstanceStateType(LibExpat.find(pd,"instanceState[1]")) : nothing - o.systemStatus = length(pd["systemStatus"]) > 0 ? InstanceStatusType(LibExpat.find(pd,"systemStatus[1]")) : nothing - o.instanceStatus = length(pd["instanceStatus"]) > 0 ? InstanceStatusType(LibExpat.find(pd,"instanceStatus[1]")) : nothing + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.eventsSet = LightXML.find_element(pd, "eventsSet") != nothing ?AWS.@parse_vector(AWS.EC2.InstanceStatusEventType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "eventsSet"), "item")) : nothing + ## o.instanceState = length(pd["instanceState"]) > 0 ? InstanceStateType(LightXML.find_element(pd,"instanceState[1]")) : nothing + o.instanceState = LightXML.find_element(pd,"instanceState") != nothing ? InstanceStateType(LightXML.find_element(pd,"instanceState")) : nothing + ## o.systemStatus = length(pd["systemStatus"]) > 0 ? InstanceStatusType(LightXML.find_element(pd,"systemStatus[1]")) : nothing + o.systemStatus = LightXML.find_element(pd,"systemStatus") != nothing ? InstanceStatusType(LightXML.find_element(pd,"systemStatus")) : nothing + ## o.instanceStatus = length(pd["instanceStatus"]) > 0 ? InstanceStatusType(LightXML.find_element(pd,"instanceStatus[1]")) : nothing + o.instanceStatus = LightXML.find_element(pd,"instanceStatus") != nothing ? InstanceStatusType(LightXML.find_element(pd,"instanceStatus")) : nothing o end @@ -7105,17 +7129,17 @@ type InstanceNetworkInterfaceSetItemRequestType InstanceNetworkInterfaceSetItemRequestType(; networkInterfaceId=nothing, deviceIndex=nothing, subnetId=nothing, description=nothing, privateIpAddress=nothing, groupSet=nothing, deleteOnTermination=nothing, privateIpAddressesSet=nothing, secondaryPrivateIpAddressCount=nothing) = new(networkInterfaceId, deviceIndex, subnetId, description, privateIpAddress, groupSet, deleteOnTermination, privateIpAddressesSet, secondaryPrivateIpAddressCount) end -function InstanceNetworkInterfaceSetItemRequestType(pd::ETree) +function InstanceNetworkInterfaceSetItemRequestType(pd) o = InstanceNetworkInterfaceSetItemRequestType() - o.networkInterfaceId = LibExpat.find(pd, "networkInterfaceId#string") - o.deviceIndex = AWS.safe_parse_as(Int64, LibExpat.find(pd, "deviceIndex#string")) - o.subnetId = LibExpat.find(pd, "subnetId#string") - o.description = LibExpat.find(pd, "description#string") - o.privateIpAddress = LibExpat.find(pd, "privateIpAddress#string") - o.groupSet = AWS.parse_vector_as(ASCIIString, "groupId", LibExpat.find(pd, "item/groupId")) - o.deleteOnTermination = AWS.safe_parse_as(Bool, LibExpat.find(pd, "deleteOnTermination#string")) - o.privateIpAddressesSet = AWS.@parse_vector(AWS.EC2.PrivateIpAddressesSetItemRequestType, LibExpat.find(pd, "privateIpAddressesSet/item")) - o.secondaryPrivateIpAddressCount = AWS.safe_parse_as(Int64, LibExpat.find(pd, "secondaryPrivateIpAddressCount#string")) + o.networkInterfaceId = LightXML.content(LightXML.find_element(pd, "networkInterfaceId")) + o.deviceIndex = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "deviceIndex"))) + o.subnetId = LightXML.content(LightXML.find_element(pd, "subnetId")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) + o.privateIpAddress = LightXML.content(LightXML.find_element(pd, "privateIpAddress")) + o.groupSet = AWS.parse_vector_as(ASCIIString, "groupId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "groupId")) + o.deleteOnTermination = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "deleteOnTermination"))) + o.privateIpAddressesSet = AWS.@parse_vector(AWS.EC2.PrivateIpAddressesSetItemRequestType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "privateIpAddressesSet"), "item")) + o.secondaryPrivateIpAddressCount = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "secondaryPrivateIpAddressCount"))) o end @@ -7130,11 +7154,11 @@ type DescribeReservedInstancesListingsType DescribeReservedInstancesListingsType(; reservedInstancesListingSet=nothing, reservedInstancesSet=nothing, filterSet=nothing) = new(reservedInstancesListingSet, reservedInstancesSet, filterSet) end -function DescribeReservedInstancesListingsType(pd::ETree) +function DescribeReservedInstancesListingsType(pd) o = DescribeReservedInstancesListingsType() - o.reservedInstancesListingSet = AWS.parse_vector_as(ASCIIString, "reservedInstancesListingId", LibExpat.find(pd, "item/reservedInstancesListingId")) - o.reservedInstancesSet = AWS.parse_vector_as(ASCIIString, "reservedInstancesId", LibExpat.find(pd, "item/reservedInstancesId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.reservedInstancesListingSet = AWS.parse_vector_as(ASCIIString, "reservedInstancesListingId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "reservedInstancesListingId")) + o.reservedInstancesSet = AWS.parse_vector_as(ASCIIString, "reservedInstancesId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "reservedInstancesId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -7154,16 +7178,16 @@ type DescribeSpotPriceHistoryType DescribeSpotPriceHistoryType(; startTime=nothing, endTime=nothing, instanceTypeSet=nothing, productDescriptionSet=nothing, filterSet=nothing, availabilityZone=nothing, maxResults=nothing, nextToken=nothing) = new(startTime, endTime, instanceTypeSet, productDescriptionSet, filterSet, availabilityZone, maxResults, nextToken) end -function DescribeSpotPriceHistoryType(pd::ETree) +function DescribeSpotPriceHistoryType(pd) o = DescribeSpotPriceHistoryType() - o.startTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "startTime#string")) - o.endTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "endTime#string")) - o.instanceTypeSet = AWS.parse_vector_as(ASCIIString, "instanceType", LibExpat.find(pd, "item/instanceType")) - o.productDescriptionSet = AWS.parse_vector_as(ASCIIString, "productDescription", LibExpat.find(pd, "item/productDescription")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.maxResults = AWS.safe_parse_as(Int64, LibExpat.find(pd, "maxResults#string")) - o.nextToken = LibExpat.find(pd, "nextToken#string") + o.startTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "startTime"))) + o.endTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "endTime"))) + o.instanceTypeSet = AWS.parse_vector_as(ASCIIString, "instanceType", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "instanceType")) + o.productDescriptionSet = AWS.parse_vector_as(ASCIIString, "productDescription", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "productDescription")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.maxResults = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "maxResults"))) + o.nextToken = LightXML.content(LightXML.find_element(pd, "nextToken")) o end @@ -7188,21 +7212,21 @@ type DescribeReservedInstancesOfferingsResponseSetItemType DescribeReservedInstancesOfferingsResponseSetItemType(; reservedInstancesOfferingId=nothing, instanceType=nothing, availabilityZone=nothing, duration=nothing, fixedPrice=nothing, usagePrice=nothing, productDescription=nothing, instanceTenancy=nothing, currencyCode=nothing, offeringType=nothing, recurringCharges=nothing, marketplace=nothing, pricingDetailsSet=nothing) = new(reservedInstancesOfferingId, instanceType, availabilityZone, duration, fixedPrice, usagePrice, productDescription, instanceTenancy, currencyCode, offeringType, recurringCharges, marketplace, pricingDetailsSet) end -function DescribeReservedInstancesOfferingsResponseSetItemType(pd::ETree) +function DescribeReservedInstancesOfferingsResponseSetItemType(pd) o = DescribeReservedInstancesOfferingsResponseSetItemType() - o.reservedInstancesOfferingId = LibExpat.find(pd, "reservedInstancesOfferingId#string") - o.instanceType = LibExpat.find(pd, "instanceType#string") - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.duration = AWS.safe_parse_as(Int64, LibExpat.find(pd, "duration#string")) - o.fixedPrice = AWS.safe_parse_as(Float64, LibExpat.find(pd, "fixedPrice#string")) - o.usagePrice = AWS.safe_parse_as(Float64, LibExpat.find(pd, "usagePrice#string")) - o.productDescription = LibExpat.find(pd, "productDescription#string") - o.instanceTenancy = LibExpat.find(pd, "instanceTenancy#string") - o.currencyCode = LibExpat.find(pd, "currencyCode#string") - o.offeringType = LibExpat.find(pd, "offeringType#string") - o.recurringCharges = AWS.@parse_vector(AWS.EC2.RecurringChargesSetItemType, LibExpat.find(pd, "recurringCharges/item")) - o.marketplace = AWS.safe_parse_as(Bool, LibExpat.find(pd, "marketplace#string")) - o.pricingDetailsSet = AWS.@parse_vector(AWS.EC2.PricingDetailsSetItemType, LibExpat.find(pd, "pricingDetailsSet/item")) + o.reservedInstancesOfferingId = LightXML.content(LightXML.find_element(pd, "reservedInstancesOfferingId")) + o.instanceType = LightXML.content(LightXML.find_element(pd, "instanceType")) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.duration = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "duration"))) + o.fixedPrice = AWS.safe_parse_as(Float64, LightXML.content(LightXML.find_element(pd, "fixedPrice"))) + o.usagePrice = AWS.safe_parse_as(Float64, LightXML.content(LightXML.find_element(pd, "usagePrice"))) + o.productDescription = LightXML.content(LightXML.find_element(pd, "productDescription")) + o.instanceTenancy = LightXML.content(LightXML.find_element(pd, "instanceTenancy")) + o.currencyCode = LightXML.content(LightXML.find_element(pd, "currencyCode")) + o.offeringType = LightXML.content(LightXML.find_element(pd, "offeringType")) + o.recurringCharges = AWS.@parse_vector(AWS.EC2.RecurringChargesSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "recurringCharges"), "item")) + o.marketplace = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "marketplace"))) + o.pricingDetailsSet = AWS.@parse_vector(AWS.EC2.PricingDetailsSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "pricingDetailsSet"), "item")) o end @@ -7219,13 +7243,13 @@ type IpPermissionType IpPermissionType(; ipProtocol=nothing, fromPort=nothing, toPort=nothing, groups=nothing, ipRanges=nothing) = new(ipProtocol, fromPort, toPort, groups, ipRanges) end -function IpPermissionType(pd::ETree) +function IpPermissionType(pd) o = IpPermissionType() - o.ipProtocol = LibExpat.find(pd, "ipProtocol#string") - o.fromPort = AWS.safe_parse_as(Int64, LibExpat.find(pd, "fromPort#string")) - o.toPort = AWS.safe_parse_as(Int64, LibExpat.find(pd, "toPort#string")) - o.groups = AWS.@parse_vector(AWS.EC2.UserIdGroupPairType, LibExpat.find(pd, "groups/item")) - o.ipRanges = AWS.parse_vector_as(ASCIIString, "cidrIp", LibExpat.find(pd, "item/cidrIp")) + o.ipProtocol = LightXML.content(LightXML.find_element(pd, "ipProtocol")) + o.fromPort = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "fromPort"))) + o.toPort = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "toPort"))) + o.groups = AWS.@parse_vector(AWS.EC2.UserIdGroupPairType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "groups"), "item")) + o.ipRanges = AWS.parse_vector_as(ASCIIString, "cidrIp", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "cidrIp")) o end @@ -7239,10 +7263,10 @@ type DescribeVolumesResponseType DescribeVolumesResponseType(; requestId=nothing, volumeSet=nothing) = new(requestId, volumeSet) end -function DescribeVolumesResponseType(pd::ETree) +function DescribeVolumesResponseType(pd) o = DescribeVolumesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.volumeSet = AWS.@parse_vector(AWS.EC2.DescribeVolumesSetItemResponseType, LibExpat.find(pd, "volumeSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.volumeSet = AWS.@parse_vector(AWS.EC2.DescribeVolumesSetItemResponseType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "volumeSet"), "item")) o end @@ -7257,11 +7281,11 @@ type DescribeSpotPriceHistoryResponseType DescribeSpotPriceHistoryResponseType(; requestId=nothing, spotPriceHistorySet=nothing, nextToken=nothing) = new(requestId, spotPriceHistorySet, nextToken) end -function DescribeSpotPriceHistoryResponseType(pd::ETree) +function DescribeSpotPriceHistoryResponseType(pd) o = DescribeSpotPriceHistoryResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.spotPriceHistorySet = AWS.@parse_vector(AWS.EC2.SpotPriceHistorySetItemType, LibExpat.find(pd, "spotPriceHistorySet/item")) - o.nextToken = LibExpat.find(pd, "nextToken#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.spotPriceHistorySet = AWS.@parse_vector(AWS.EC2.SpotPriceHistorySetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "spotPriceHistorySet"), "item")) + o.nextToken = LightXML.content(LightXML.find_element(pd, "nextToken")) o end @@ -7275,10 +7299,10 @@ type DescribeSpotInstanceRequestsType DescribeSpotInstanceRequestsType(; spotInstanceRequestIdSet=nothing, filterSet=nothing) = new(spotInstanceRequestIdSet, filterSet) end -function DescribeSpotInstanceRequestsType(pd::ETree) +function DescribeSpotInstanceRequestsType(pd) o = DescribeSpotInstanceRequestsType() - o.spotInstanceRequestIdSet = AWS.parse_vector_as(ASCIIString, "spotInstanceRequestId", LibExpat.find(pd, "item/spotInstanceRequestId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.spotInstanceRequestIdSet = AWS.parse_vector_as(ASCIIString, "spotInstanceRequestId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "spotInstanceRequestId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -7292,10 +7316,11 @@ type CreateDhcpOptionsResponseType CreateDhcpOptionsResponseType(; requestId=nothing, dhcpOptions=nothing) = new(requestId, dhcpOptions) end -function CreateDhcpOptionsResponseType(pd::ETree) +function CreateDhcpOptionsResponseType(pd) o = CreateDhcpOptionsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.dhcpOptions = length(pd["dhcpOptions"]) > 0 ? DhcpOptionsType(LibExpat.find(pd,"dhcpOptions[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.dhcpOptions = length(pd["dhcpOptions"]) > 0 ? DhcpOptionsType(LightXML.find_element(pd,"dhcpOptions[1]")) : nothing + o.dhcpOptions = LightXML.find_element(pd,"dhcpOptions") != nothing ? DhcpOptionsType(LightXML.find_element(pd,"dhcpOptions")) : nothing o end @@ -7309,10 +7334,10 @@ type DescribeRouteTablesType DescribeRouteTablesType(; routeTableIdSet=nothing, filterSet=nothing) = new(routeTableIdSet, filterSet) end -function DescribeRouteTablesType(pd::ETree) +function DescribeRouteTablesType(pd) o = DescribeRouteTablesType() - o.routeTableIdSet = AWS.parse_vector_as(ASCIIString, "routeTableId", LibExpat.find(pd, "item/routeTableId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.routeTableIdSet = AWS.parse_vector_as(ASCIIString, "routeTableId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "routeTableId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -7326,10 +7351,10 @@ type DescribeInternetGatewaysResponseType DescribeInternetGatewaysResponseType(; requestId=nothing, internetGatewaySet=nothing) = new(requestId, internetGatewaySet) end -function DescribeInternetGatewaysResponseType(pd::ETree) +function DescribeInternetGatewaysResponseType(pd) o = DescribeInternetGatewaysResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.internetGatewaySet = AWS.@parse_vector(AWS.EC2.InternetGatewayType, LibExpat.find(pd, "internetGatewaySet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.internetGatewaySet = AWS.@parse_vector(AWS.EC2.InternetGatewayType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "internetGatewaySet"), "item")) o end @@ -7343,10 +7368,11 @@ type CreateInstanceExportTaskResponseType CreateInstanceExportTaskResponseType(; requestId=nothing, exportTask=nothing) = new(requestId, exportTask) end -function CreateInstanceExportTaskResponseType(pd::ETree) +function CreateInstanceExportTaskResponseType(pd) o = CreateInstanceExportTaskResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.exportTask = length(pd["exportTask"]) > 0 ? ExportTaskResponseType(LibExpat.find(pd,"exportTask[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.exportTask = length(pd["exportTask"]) > 0 ? ExportTaskResponseType(LightXML.find_element(pd,"exportTask[1]")) : nothing + o.exportTask = LightXML.find_element(pd,"exportTask") != nothing ? ExportTaskResponseType(LightXML.find_element(pd,"exportTask")) : nothing o end @@ -7363,13 +7389,13 @@ type CreateImageType CreateImageType(; instanceId=nothing, name=nothing, description=nothing, noReboot=nothing, blockDeviceMapping=nothing) = new(instanceId, name, description, noReboot, blockDeviceMapping) end -function CreateImageType(pd::ETree) +function CreateImageType(pd) o = CreateImageType() - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.name = LibExpat.find(pd, "name#string") - o.description = LibExpat.find(pd, "description#string") - o.noReboot = AWS.safe_parse_as(Bool, LibExpat.find(pd, "noReboot#string")) - o.blockDeviceMapping = AWS.@parse_vector(AWS.EC2.BlockDeviceMappingItemType, LibExpat.find(pd, "blockDeviceMapping/item")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.name = LightXML.content(LightXML.find_element(pd, "name")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) + o.noReboot = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "noReboot"))) + o.blockDeviceMapping = AWS.@parse_vector(AWS.EC2.BlockDeviceMappingItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "blockDeviceMapping"), "item")) o end @@ -7383,10 +7409,10 @@ type DescribeInternetGatewaysType DescribeInternetGatewaysType(; internetGatewayIdSet=nothing, filterSet=nothing) = new(internetGatewayIdSet, filterSet) end -function DescribeInternetGatewaysType(pd::ETree) +function DescribeInternetGatewaysType(pd) o = DescribeInternetGatewaysType() - o.internetGatewayIdSet = AWS.parse_vector_as(ASCIIString, "internetGatewayId", LibExpat.find(pd, "item/internetGatewayId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.internetGatewayIdSet = AWS.parse_vector_as(ASCIIString, "internetGatewayId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "internetGatewayId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -7401,11 +7427,13 @@ type InstanceStateChangeType InstanceStateChangeType(; instanceId=nothing, currentState=nothing, previousState=nothing) = new(instanceId, currentState, previousState) end -function InstanceStateChangeType(pd::ETree) +function InstanceStateChangeType(pd) o = InstanceStateChangeType() - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.currentState = length(pd["currentState"]) > 0 ? InstanceStateType(LibExpat.find(pd,"currentState[1]")) : nothing - o.previousState = length(pd["previousState"]) > 0 ? InstanceStateType(LibExpat.find(pd,"previousState[1]")) : nothing + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + ## o.currentState = length(pd["currentState"]) > 0 ? InstanceStateType(LightXML.find_element(pd,"currentState[1]")) : nothing + o.currentState = LightXML.find_element(pd,"currentState") != nothing ? InstanceStateType(LightXML.find_element(pd,"currentState")) : nothing + ## o.previousState = length(pd["previousState"]) > 0 ? InstanceStateType(LightXML.find_element(pd,"previousState[1]")) : nothing + o.previousState = LightXML.find_element(pd,"previousState") != nothing ? InstanceStateType(LightXML.find_element(pd,"previousState")) : nothing o end @@ -7420,11 +7448,12 @@ type PurchaseReservedInstancesOfferingType PurchaseReservedInstancesOfferingType(; reservedInstancesOfferingId=nothing, instanceCount=nothing, limitPrice=nothing) = new(reservedInstancesOfferingId, instanceCount, limitPrice) end -function PurchaseReservedInstancesOfferingType(pd::ETree) +function PurchaseReservedInstancesOfferingType(pd) o = PurchaseReservedInstancesOfferingType() - o.reservedInstancesOfferingId = LibExpat.find(pd, "reservedInstancesOfferingId#string") - o.instanceCount = AWS.safe_parse_as(Int64, LibExpat.find(pd, "instanceCount#string")) - o.limitPrice = length(pd["limitPrice"]) > 0 ? ReservedInstanceLimitPriceType(LibExpat.find(pd,"limitPrice[1]")) : nothing + o.reservedInstancesOfferingId = LightXML.content(LightXML.find_element(pd, "reservedInstancesOfferingId")) + o.instanceCount = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "instanceCount"))) + ## o.limitPrice = length(pd["limitPrice"]) > 0 ? ReservedInstanceLimitPriceType(LightXML.find_element(pd,"limitPrice[1]")) : nothing + o.limitPrice = LightXML.find_element(pd,"limitPrice") != nothing ? ReservedInstanceLimitPriceType(LightXML.find_element(pd,"limitPrice")) : nothing o end @@ -7442,14 +7471,14 @@ type RouteTableType RouteTableType(; routeTableId=nothing, vpcId=nothing, routeSet=nothing, associationSet=nothing, propagatingVgwSet=nothing, tagSet=nothing) = new(routeTableId, vpcId, routeSet, associationSet, propagatingVgwSet, tagSet) end -function RouteTableType(pd::ETree) +function RouteTableType(pd) o = RouteTableType() - o.routeTableId = LibExpat.find(pd, "routeTableId#string") - o.vpcId = LibExpat.find(pd, "vpcId#string") - o.routeSet = AWS.@parse_vector(AWS.EC2.RouteType, LibExpat.find(pd, "routeSet/item")) - o.associationSet = AWS.@parse_vector(AWS.EC2.RouteTableAssociationType, LibExpat.find(pd, "associationSet/item")) - o.propagatingVgwSet = AWS.parse_vector_as(ASCIIString, "gatewayId", LibExpat.find(pd, "item/gatewayId")) - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) + o.routeTableId = LightXML.content(LightXML.find_element(pd, "routeTableId")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) + o.routeSet = AWS.@parse_vector(AWS.EC2.RouteType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "routeSet"), "item")) + o.associationSet = AWS.@parse_vector(AWS.EC2.RouteTableAssociationType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "associationSet"), "item")) + o.propagatingVgwSet = AWS.parse_vector_as(ASCIIString, "gatewayId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "gatewayId")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) o end @@ -7463,10 +7492,10 @@ type DescribeVpnConnectionsType DescribeVpnConnectionsType(; vpnConnectionSet=nothing, filterSet=nothing) = new(vpnConnectionSet, filterSet) end -function DescribeVpnConnectionsType(pd::ETree) +function DescribeVpnConnectionsType(pd) o = DescribeVpnConnectionsType() - o.vpnConnectionSet = AWS.parse_vector_as(ASCIIString, "vpnConnectionId", LibExpat.find(pd, "item/vpnConnectionId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.vpnConnectionSet = AWS.parse_vector_as(ASCIIString, "vpnConnectionId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "vpnConnectionId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -7484,14 +7513,14 @@ type CreateNetworkInterfaceType CreateNetworkInterfaceType(; subnetId=nothing, description=nothing, privateIpAddress=nothing, groupSet=nothing, privateIpAddressesSet=nothing, secondaryPrivateIpAddressCount=nothing) = new(subnetId, description, privateIpAddress, groupSet, privateIpAddressesSet, secondaryPrivateIpAddressCount) end -function CreateNetworkInterfaceType(pd::ETree) +function CreateNetworkInterfaceType(pd) o = CreateNetworkInterfaceType() - o.subnetId = LibExpat.find(pd, "subnetId#string") - o.description = LibExpat.find(pd, "description#string") - o.privateIpAddress = LibExpat.find(pd, "privateIpAddress#string") - o.groupSet = AWS.parse_vector_as(ASCIIString, "groupId", LibExpat.find(pd, "item/groupId")) - o.privateIpAddressesSet = AWS.@parse_vector(AWS.EC2.PrivateIpAddressesSetItemRequestType, LibExpat.find(pd, "privateIpAddressesSet/item")) - o.secondaryPrivateIpAddressCount = AWS.safe_parse_as(Int64, LibExpat.find(pd, "secondaryPrivateIpAddressCount#string")) + o.subnetId = LightXML.content(LightXML.find_element(pd, "subnetId")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) + o.privateIpAddress = LightXML.content(LightXML.find_element(pd, "privateIpAddress")) + o.groupSet = AWS.parse_vector_as(ASCIIString, "groupId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "groupId")) + o.privateIpAddressesSet = AWS.@parse_vector(AWS.EC2.PrivateIpAddressesSetItemRequestType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "privateIpAddressesSet"), "item")) + o.secondaryPrivateIpAddressCount = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "secondaryPrivateIpAddressCount"))) o end @@ -7505,10 +7534,10 @@ type DescribeVpcsResponseType DescribeVpcsResponseType(; requestId=nothing, vpcSet=nothing) = new(requestId, vpcSet) end -function DescribeVpcsResponseType(pd::ETree) +function DescribeVpcsResponseType(pd) o = DescribeVpcsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.vpcSet = AWS.@parse_vector(AWS.EC2.VpcType, LibExpat.find(pd, "vpcSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.vpcSet = AWS.@parse_vector(AWS.EC2.VpcType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "vpcSet"), "item")) o end @@ -7530,18 +7559,18 @@ type DescribeReservedInstancesListingsResponseSetItemType DescribeReservedInstancesListingsResponseSetItemType(; reservedInstancesListingId=nothing, reservedInstancesId=nothing, createDate=nothing, updateDate=nothing, status=nothing, statusMessage=nothing, instanceCounts=nothing, priceSchedules=nothing, tagSet=nothing, clientToken=nothing) = new(reservedInstancesListingId, reservedInstancesId, createDate, updateDate, status, statusMessage, instanceCounts, priceSchedules, tagSet, clientToken) end -function DescribeReservedInstancesListingsResponseSetItemType(pd::ETree) +function DescribeReservedInstancesListingsResponseSetItemType(pd) o = DescribeReservedInstancesListingsResponseSetItemType() - o.reservedInstancesListingId = LibExpat.find(pd, "reservedInstancesListingId#string") - o.reservedInstancesId = LibExpat.find(pd, "reservedInstancesId#string") - o.createDate = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "createDate#string")) - o.updateDate = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "updateDate#string")) - o.status = LibExpat.find(pd, "status#string") - o.statusMessage = LibExpat.find(pd, "statusMessage#string") - o.instanceCounts = AWS.@parse_vector(AWS.EC2.InstanceCountsSetItemType, LibExpat.find(pd, "instanceCounts/item")) - o.priceSchedules = AWS.@parse_vector(AWS.EC2.PriceScheduleSetItemType, LibExpat.find(pd, "priceSchedules/item")) - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) - o.clientToken = LibExpat.find(pd, "clientToken#string") + o.reservedInstancesListingId = LightXML.content(LightXML.find_element(pd, "reservedInstancesListingId")) + o.reservedInstancesId = LightXML.content(LightXML.find_element(pd, "reservedInstancesId")) + o.createDate = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "createDate"))) + o.updateDate = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "updateDate"))) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.statusMessage = LightXML.content(LightXML.find_element(pd, "statusMessage")) + o.instanceCounts = AWS.@parse_vector(AWS.EC2.InstanceCountsSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "instanceCounts"), "item")) + o.priceSchedules = AWS.@parse_vector(AWS.EC2.PriceScheduleSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "priceSchedules"), "item")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) + o.clientToken = LightXML.content(LightXML.find_element(pd, "clientToken")) o end @@ -7555,10 +7584,10 @@ type DescribeVpcsType DescribeVpcsType(; vpcSet=nothing, filterSet=nothing) = new(vpcSet, filterSet) end -function DescribeVpcsType(pd::ETree) +function DescribeVpcsType(pd) o = DescribeVpcsType() - o.vpcSet = AWS.parse_vector_as(ASCIIString, "vpcId", LibExpat.find(pd, "item/vpcId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.vpcSet = AWS.parse_vector_as(ASCIIString, "vpcId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "vpcId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -7572,10 +7601,10 @@ type DescribeDhcpOptionsResponseType DescribeDhcpOptionsResponseType(; requestId=nothing, dhcpOptionsSet=nothing) = new(requestId, dhcpOptionsSet) end -function DescribeDhcpOptionsResponseType(pd::ETree) +function DescribeDhcpOptionsResponseType(pd) o = DescribeDhcpOptionsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.dhcpOptionsSet = AWS.@parse_vector(AWS.EC2.DhcpOptionsType, LibExpat.find(pd, "dhcpOptionsSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.dhcpOptionsSet = AWS.@parse_vector(AWS.EC2.DhcpOptionsType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "dhcpOptionsSet"), "item")) o end @@ -7588,9 +7617,9 @@ type DescribeTagsType DescribeTagsType(; filterSet=nothing) = new(filterSet) end -function DescribeTagsType(pd::ETree) +function DescribeTagsType(pd) o = DescribeTagsType() - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -7604,10 +7633,11 @@ type MonitorInstancesResponseSetItemType MonitorInstancesResponseSetItemType(; instanceId=nothing, monitoring=nothing) = new(instanceId, monitoring) end -function MonitorInstancesResponseSetItemType(pd::ETree) +function MonitorInstancesResponseSetItemType(pd) o = MonitorInstancesResponseSetItemType() - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.monitoring = length(pd["monitoring"]) > 0 ? InstanceMonitoringStateType(LibExpat.find(pd,"monitoring[1]")) : nothing + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + ## o.monitoring = length(pd["monitoring"]) > 0 ? InstanceMonitoringStateType(LightXML.find_element(pd,"monitoring[1]")) : nothing + o.monitoring = LightXML.find_element(pd,"monitoring") != nothing ? InstanceMonitoringStateType(LightXML.find_element(pd,"monitoring")) : nothing o end @@ -7621,10 +7651,10 @@ type DescribeRouteTablesResponseType DescribeRouteTablesResponseType(; requestId=nothing, routeTableSet=nothing) = new(requestId, routeTableSet) end -function DescribeRouteTablesResponseType(pd::ETree) +function DescribeRouteTablesResponseType(pd) o = DescribeRouteTablesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.routeTableSet = AWS.@parse_vector(AWS.EC2.RouteTableType, LibExpat.find(pd, "routeTableSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.routeTableSet = AWS.@parse_vector(AWS.EC2.RouteTableType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "routeTableSet"), "item")) o end @@ -7638,10 +7668,10 @@ type DescribeAccountAttributesType DescribeAccountAttributesType(; accountAttributeNameSet=nothing, filterSet=nothing) = new(accountAttributeNameSet, filterSet) end -function DescribeAccountAttributesType(pd::ETree) +function DescribeAccountAttributesType(pd) o = DescribeAccountAttributesType() - o.accountAttributeNameSet = AWS.parse_vector_as(ASCIIString, "attributeName", LibExpat.find(pd, "item/attributeName")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.accountAttributeNameSet = AWS.parse_vector_as(ASCIIString, "attributeName", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "attributeName")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -7656,11 +7686,11 @@ type DescribeInstanceStatusResponseType DescribeInstanceStatusResponseType(; requestId=nothing, instanceStatusSet=nothing, nextToken=nothing) = new(requestId, instanceStatusSet, nextToken) end -function DescribeInstanceStatusResponseType(pd::ETree) +function DescribeInstanceStatusResponseType(pd) o = DescribeInstanceStatusResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.instanceStatusSet = AWS.@parse_vector(AWS.EC2.InstanceStatusItemType, LibExpat.find(pd, "instanceStatusSet/item")) - o.nextToken = LibExpat.find(pd, "nextToken#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.instanceStatusSet = LightXML.find_element(pd, "instanceStatusSet") != nothing ? AWS.@parse_vector(AWS.EC2.InstanceStatusItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "instanceStatusSet"), "item")) : nothing + o.nextToken = LightXML.find_element(pd, "nextToken") != nothing ? LightXML.content(LightXML.find_element(pd, "nextToken")) : nothing o end @@ -7678,14 +7708,14 @@ type VpnGatewayType VpnGatewayType(; vpnGatewayId=nothing, state=nothing, _type=nothing, availabilityZone=nothing, attachments=nothing, tagSet=nothing) = new(vpnGatewayId, state, _type, availabilityZone, attachments, tagSet) end -function VpnGatewayType(pd::ETree) +function VpnGatewayType(pd) o = VpnGatewayType() - o.vpnGatewayId = LibExpat.find(pd, "vpnGatewayId#string") - o.state = LibExpat.find(pd, "state#string") - o._type = LibExpat.find(pd, "type#string") - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.attachments = AWS.@parse_vector(AWS.EC2.AttachmentType, LibExpat.find(pd, "attachments/item")) - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) + o.vpnGatewayId = LightXML.content(LightXML.find_element(pd, "vpnGatewayId")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) + o._type = LightXML.content(LightXML.find_element(pd, "type")) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.attachments = AWS.@parse_vector(AWS.EC2.AttachmentType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "attachments"), "item")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) o end @@ -7699,10 +7729,10 @@ type DescribeKeyPairsType DescribeKeyPairsType(; keySet=nothing, filterSet=nothing) = new(keySet, filterSet) end -function DescribeKeyPairsType(pd::ETree) +function DescribeKeyPairsType(pd) o = DescribeKeyPairsType() - o.keySet = AWS.parse_vector_as(ASCIIString, "keyName", LibExpat.find(pd, "item/keyName")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.keySet = AWS.parse_vector_as(ASCIIString, "keyName", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "keyName")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -7716,10 +7746,11 @@ type BundleInstanceType BundleInstanceType(; instanceId=nothing, storage=nothing) = new(instanceId, storage) end -function BundleInstanceType(pd::ETree) +function BundleInstanceType(pd) o = BundleInstanceType() - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.storage = length(pd["storage"]) > 0 ? BundleInstanceTaskStorageType(LibExpat.find(pd,"storage[1]")) : nothing + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + ## o.storage = length(pd["storage"]) > 0 ? BundleInstanceTaskStorageType(LightXML.find_element(pd,"storage[1]")) : nothing + o.storage = LightXML.find_element(pd,"storage") != nothing ? BundleInstanceTaskStorageType(LightXML.find_element(pd,"storage")) : nothing o end @@ -7735,12 +7766,13 @@ type InstancePrivateIpAddressesSetItemType InstancePrivateIpAddressesSetItemType(; privateIpAddress=nothing, privateDnsName=nothing, primary=nothing, association=nothing) = new(privateIpAddress, privateDnsName, primary, association) end -function InstancePrivateIpAddressesSetItemType(pd::ETree) +function InstancePrivateIpAddressesSetItemType(pd) o = InstancePrivateIpAddressesSetItemType() - o.privateIpAddress = LibExpat.find(pd, "privateIpAddress#string") - o.privateDnsName = LibExpat.find(pd, "privateDnsName#string") - o.primary = AWS.safe_parse_as(Bool, LibExpat.find(pd, "primary#string")) - o.association = length(pd["association"]) > 0 ? InstanceNetworkInterfaceAssociationType(LibExpat.find(pd,"association[1]")) : nothing + o.privateIpAddress = LightXML.content(LightXML.find_element(pd, "privateIpAddress")) + o.privateDnsName = LightXML.content(LightXML.find_element(pd, "privateDnsName")) + o.primary = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "primary"))) + ## o.association = length(pd["association"]) > 0 ? InstanceNetworkInterfaceAssociationType(LightXML.find_element(pd,"association[1]")) : nothing + o.association = LightXML.find_element(pd,"association") != nothing ? InstanceNetworkInterfaceAssociationType(LightXML.find_element(pd,"association")) : nothing o end @@ -7761,17 +7793,20 @@ type ImportInstanceLaunchSpecificationType ImportInstanceLaunchSpecificationType(; architecture=nothing, groupSet=nothing, userData=nothing, instanceType=nothing, placement=nothing, monitoring=nothing, subnetId=nothing, instanceInitiatedShutdownBehavior=nothing, privateIpAddress=nothing) = new(architecture, groupSet, userData, instanceType, placement, monitoring, subnetId, instanceInitiatedShutdownBehavior, privateIpAddress) end -function ImportInstanceLaunchSpecificationType(pd::ETree) +function ImportInstanceLaunchSpecificationType(pd) o = ImportInstanceLaunchSpecificationType() - o.architecture = LibExpat.find(pd, "architecture#string") - o.groupSet = AWS.@parse_vector(AWS.EC2.ImportInstanceGroupItemType, LibExpat.find(pd, "groupSet/item")) - o.userData = length(pd["userData"]) > 0 ? UserDataType(LibExpat.find(pd,"userData[1]")) : nothing - o.instanceType = LibExpat.find(pd, "instanceType#string") - o.placement = length(pd["placement"]) > 0 ? InstancePlacementType(LibExpat.find(pd,"placement[1]")) : nothing - o.monitoring = length(pd["monitoring"]) > 0 ? MonitoringInstanceType(LibExpat.find(pd,"monitoring[1]")) : nothing - o.subnetId = LibExpat.find(pd, "subnetId#string") - o.instanceInitiatedShutdownBehavior = LibExpat.find(pd, "instanceInitiatedShutdownBehavior#string") - o.privateIpAddress = LibExpat.find(pd, "privateIpAddress#string") + o.architecture = LightXML.content(LightXML.find_element(pd, "architecture")) + o.groupSet = AWS.@parse_vector(AWS.EC2.ImportInstanceGroupItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "groupSet"), "item")) + ## o.userData = length(pd["userData"]) > 0 ? UserDataType(LightXML.find_element(pd,"userData[1]")) : nothing + o.userData = LightXML.find_element(pd,"userData") != nothing ? UserDataType(LightXML.find_element(pd,"userData")) : nothing + o.instanceType = LightXML.content(LightXML.find_element(pd, "instanceType")) + ## o.placement = length(pd["placement"]) > 0 ? InstancePlacementType(LightXML.find_element(pd,"placement[1]")) : nothing + o.placement = LightXML.find_element(pd,"placement") != nothing ? InstancePlacementType(LightXML.find_element(pd,"placement")) : nothing + ## o.monitoring = length(pd["monitoring"]) > 0 ? MonitoringInstanceType(LightXML.find_element(pd,"monitoring[1]")) : nothing + o.monitoring = LightXML.find_element(pd,"monitoring") != nothing ? MonitoringInstanceType(LightXML.find_element(pd,"monitoring")) : nothing + o.subnetId = LightXML.content(LightXML.find_element(pd, "subnetId")) + o.instanceInitiatedShutdownBehavior = LightXML.content(LightXML.find_element(pd, "instanceInitiatedShutdownBehavior")) + o.privateIpAddress = LightXML.content(LightXML.find_element(pd, "privateIpAddress")) o end @@ -7786,11 +7821,11 @@ type DescribeAddressesType DescribeAddressesType(; publicIpsSet=nothing, allocationIdsSet=nothing, filterSet=nothing) = new(publicIpsSet, allocationIdsSet, filterSet) end -function DescribeAddressesType(pd::ETree) +function DescribeAddressesType(pd) o = DescribeAddressesType() - o.publicIpsSet = AWS.parse_vector_as(ASCIIString, "publicIp", LibExpat.find(pd, "item/publicIp")) - o.allocationIdsSet = AWS.parse_vector_as(ASCIIString, "allocationId", LibExpat.find(pd, "item/allocationId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.publicIpsSet = AWS.parse_vector_as(ASCIIString, "publicIp", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "publicIp")) + o.allocationIdsSet = AWS.parse_vector_as(ASCIIString, "allocationId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "allocationId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -7804,10 +7839,10 @@ type VolumeStatusInfoType VolumeStatusInfoType(; status=nothing, details=nothing) = new(status, details) end -function VolumeStatusInfoType(pd::ETree) +function VolumeStatusInfoType(pd) o = VolumeStatusInfoType() - o.status = LibExpat.find(pd, "status#string") - o.details = AWS.@parse_vector(AWS.EC2.VolumeStatusDetailsItemType, LibExpat.find(pd, "details/item")) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.details = AWS.@parse_vector(AWS.EC2.VolumeStatusDetailsItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "details"), "item")) o end @@ -7821,10 +7856,10 @@ type StartInstancesResponseType StartInstancesResponseType(; requestId=nothing, instancesSet=nothing) = new(requestId, instancesSet) end -function StartInstancesResponseType(pd::ETree) +function StartInstancesResponseType(pd) o = StartInstancesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.instancesSet = AWS.@parse_vector(AWS.EC2.InstanceStateChangeType, LibExpat.find(pd, "instancesSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.instancesSet = AWS.@parse_vector(AWS.EC2.InstanceStateChangeType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "instancesSet"), "item")) o end @@ -7840,12 +7875,13 @@ type CreateVpnConnectionType CreateVpnConnectionType(; _type=nothing, customerGatewayId=nothing, vpnGatewayId=nothing, options=nothing) = new(_type, customerGatewayId, vpnGatewayId, options) end -function CreateVpnConnectionType(pd::ETree) +function CreateVpnConnectionType(pd) o = CreateVpnConnectionType() - o._type = LibExpat.find(pd, "type#string") - o.customerGatewayId = LibExpat.find(pd, "customerGatewayId#string") - o.vpnGatewayId = LibExpat.find(pd, "vpnGatewayId#string") - o.options = length(pd["options"]) > 0 ? VpnConnectionOptionsRequestType(LibExpat.find(pd,"options[1]")) : nothing + o._type = LightXML.content(LightXML.find_element(pd, "type")) + o.customerGatewayId = LightXML.content(LightXML.find_element(pd, "customerGatewayId")) + o.vpnGatewayId = LightXML.content(LightXML.find_element(pd, "vpnGatewayId")) + ## o.options = length(pd["options"]) > 0 ? VpnConnectionOptionsRequestType(LightXML.find_element(pd,"options[1]")) : nothing + o.options = LightXML.find_element(pd,"options") != nothing ? VpnConnectionOptionsRequestType(LightXML.find_element(pd,"options")) : nothing o end @@ -7859,10 +7895,10 @@ type AuthorizeSecurityGroupEgressType AuthorizeSecurityGroupEgressType(; groupId=nothing, ipPermissions=nothing) = new(groupId, ipPermissions) end -function AuthorizeSecurityGroupEgressType(pd::ETree) +function AuthorizeSecurityGroupEgressType(pd) o = AuthorizeSecurityGroupEgressType() - o.groupId = LibExpat.find(pd, "groupId#string") - o.ipPermissions = AWS.@parse_vector(AWS.EC2.IpPermissionType, LibExpat.find(pd, "ipPermissions/item")) + o.groupId = LightXML.content(LightXML.find_element(pd, "groupId")) + o.ipPermissions = AWS.@parse_vector(AWS.EC2.IpPermissionType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "ipPermissions"), "item")) o end @@ -7876,10 +7912,10 @@ type CreateReservedInstancesListingResponseType CreateReservedInstancesListingResponseType(; requestId=nothing, reservedInstancesListingsSet=nothing) = new(requestId, reservedInstancesListingsSet) end -function CreateReservedInstancesListingResponseType(pd::ETree) +function CreateReservedInstancesListingResponseType(pd) o = CreateReservedInstancesListingResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.reservedInstancesListingsSet = AWS.@parse_vector(AWS.EC2.DescribeReservedInstancesListingsResponseSetItemType, LibExpat.find(pd, "reservedInstancesListingsSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.reservedInstancesListingsSet = AWS.@parse_vector(AWS.EC2.DescribeReservedInstancesListingsResponseSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "reservedInstancesListingsSet"), "item")) o end @@ -7897,14 +7933,14 @@ type NetworkAclType NetworkAclType(; networkAclId=nothing, vpcId=nothing, default=nothing, entrySet=nothing, associationSet=nothing, tagSet=nothing) = new(networkAclId, vpcId, default, entrySet, associationSet, tagSet) end -function NetworkAclType(pd::ETree) +function NetworkAclType(pd) o = NetworkAclType() - o.networkAclId = LibExpat.find(pd, "networkAclId#string") - o.vpcId = LibExpat.find(pd, "vpcId#string") - o.default = AWS.safe_parse_as(Bool, LibExpat.find(pd, "default#string")) - o.entrySet = AWS.@parse_vector(AWS.EC2.NetworkAclEntryType, LibExpat.find(pd, "entrySet/item")) - o.associationSet = AWS.@parse_vector(AWS.EC2.NetworkAclAssociationType, LibExpat.find(pd, "associationSet/item")) - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) + o.networkAclId = LightXML.content(LightXML.find_element(pd, "networkAclId")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) + o.default = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "default"))) + o.entrySet = AWS.@parse_vector(AWS.EC2.NetworkAclEntryType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "entrySet"), "item")) + o.associationSet = AWS.@parse_vector(AWS.EC2.NetworkAclAssociationType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "associationSet"), "item")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) o end @@ -7918,10 +7954,10 @@ type DescribeAddressesResponseType DescribeAddressesResponseType(; requestId=nothing, addressesSet=nothing) = new(requestId, addressesSet) end -function DescribeAddressesResponseType(pd::ETree) +function DescribeAddressesResponseType(pd) o = DescribeAddressesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.addressesSet = AWS.@parse_vector(AWS.EC2.DescribeAddressesResponseItemType, LibExpat.find(pd, "addressesSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.addressesSet = AWS.@parse_vector(AWS.EC2.DescribeAddressesResponseItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "addressesSet"), "item")) o end @@ -7935,10 +7971,10 @@ type TerminateInstancesResponseType TerminateInstancesResponseType(; requestId=nothing, instancesSet=nothing) = new(requestId, instancesSet) end -function TerminateInstancesResponseType(pd::ETree) +function TerminateInstancesResponseType(pd) o = TerminateInstancesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.instancesSet = AWS.@parse_vector(AWS.EC2.InstanceStateChangeType, LibExpat.find(pd, "instancesSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.instancesSet = AWS.@parse_vector(AWS.EC2.InstanceStateChangeType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "instancesSet"), "item")) o end @@ -7953,11 +7989,13 @@ type DiskImageType DiskImageType(; image=nothing, description=nothing, volume=nothing) = new(image, description, volume) end -function DiskImageType(pd::ETree) +function DiskImageType(pd) o = DiskImageType() - o.image = length(pd["image"]) > 0 ? DiskImageDetailType(LibExpat.find(pd,"image[1]")) : nothing - o.description = LibExpat.find(pd, "description#string") - o.volume = length(pd["volume"]) > 0 ? DiskImageVolumeType(LibExpat.find(pd,"volume[1]")) : nothing + ## o.image = length(pd["image"]) > 0 ? DiskImageDetailType(LightXML.find_element(pd,"image[1]")) : nothing + o.image = LightXML.find_element(pd,"image") != nothing ? DiskImageDetailType(LightXML.find_element(pd,"image")) : nothing + o.description = LightXML.content(LightXML.find_element(pd, "description")) + ## o.volume = length(pd["volume"]) > 0 ? DiskImageVolumeType(LightXML.find_element(pd,"volume[1]")) : nothing + o.volume = LightXML.find_element(pd,"volume") != nothing ? DiskImageVolumeType(LightXML.find_element(pd,"volume")) : nothing o end @@ -7993,32 +8031,37 @@ type RunInstancesType RunInstancesType(; imageId=nothing, minCount=nothing, maxCount=nothing, keyName=nothing, securityGroupIdSet=nothing, securityGroupSet=nothing, additionalInfo=nothing, userData=nothing, addressingType=nothing, instanceType=nothing, placement=nothing, kernelId=nothing, ramdiskId=nothing, blockDeviceMapping=nothing, monitoring=nothing, subnetId=nothing, disableApiTermination=nothing, instanceInitiatedShutdownBehavior=nothing, license=nothing, privateIpAddress=nothing, clientToken=nothing, networkInterfaceSet=nothing, iamInstanceProfile=nothing, ebsOptimized=nothing) = new(imageId, minCount, maxCount, keyName, securityGroupIdSet, securityGroupSet, additionalInfo, userData, addressingType, instanceType, placement, kernelId, ramdiskId, blockDeviceMapping, monitoring, subnetId, disableApiTermination, instanceInitiatedShutdownBehavior, license, privateIpAddress, clientToken, networkInterfaceSet, iamInstanceProfile, ebsOptimized) end -function RunInstancesType(pd::ETree) +function RunInstancesType(pd) o = RunInstancesType() - o.imageId = LibExpat.find(pd, "imageId#string") - o.minCount = AWS.safe_parse_as(Int64, LibExpat.find(pd, "minCount#string")) - o.maxCount = AWS.safe_parse_as(Int64, LibExpat.find(pd, "maxCount#string")) - o.keyName = LibExpat.find(pd, "keyName#string") - o.securityGroupIdSet = AWS.parse_vector_as(ASCIIString, "securityGroupId", LibExpat.find(pd, "item/securityGroupId")) - o.securityGroupSet = AWS.parse_vector_as(ASCIIString, "securityGroup", LibExpat.find(pd, "item/securityGroup")) - o.additionalInfo = LibExpat.find(pd, "additionalInfo#string") - o.userData = length(pd["userData"]) > 0 ? UserDataType(LibExpat.find(pd,"userData[1]")) : nothing - o.addressingType = LibExpat.find(pd, "addressingType#string") - o.instanceType = LibExpat.find(pd, "instanceType#string") - o.placement = length(pd["placement"]) > 0 ? PlacementRequestType(LibExpat.find(pd,"placement[1]")) : nothing - o.kernelId = LibExpat.find(pd, "kernelId#string") - o.ramdiskId = LibExpat.find(pd, "ramdiskId#string") - o.blockDeviceMapping = AWS.@parse_vector(AWS.EC2.BlockDeviceMappingItemType, LibExpat.find(pd, "blockDeviceMapping/item")) - o.monitoring = length(pd["monitoring"]) > 0 ? MonitoringInstanceType(LibExpat.find(pd,"monitoring[1]")) : nothing - o.subnetId = LibExpat.find(pd, "subnetId#string") - o.disableApiTermination = AWS.safe_parse_as(Bool, LibExpat.find(pd, "disableApiTermination#string")) - o.instanceInitiatedShutdownBehavior = LibExpat.find(pd, "instanceInitiatedShutdownBehavior#string") - o.license = length(pd["license"]) > 0 ? InstanceLicenseRequestType(LibExpat.find(pd,"license[1]")) : nothing - o.privateIpAddress = LibExpat.find(pd, "privateIpAddress#string") - o.clientToken = LibExpat.find(pd, "clientToken#string") - o.networkInterfaceSet = AWS.@parse_vector(AWS.EC2.InstanceNetworkInterfaceSetItemRequestType, LibExpat.find(pd, "networkInterfaceSet/item")) - o.iamInstanceProfile = length(pd["iamInstanceProfile"]) > 0 ? IamInstanceProfileRequestType(LibExpat.find(pd,"iamInstanceProfile[1]")) : nothing - o.ebsOptimized = AWS.safe_parse_as(Bool, LibExpat.find(pd, "ebsOptimized#string")) + o.imageId = LightXML.content(LightXML.find_element(pd, "imageId")) + o.minCount = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "minCount"))) + o.maxCount = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "maxCount"))) + o.keyName = LightXML.content(LightXML.find_element(pd, "keyName")) + o.securityGroupIdSet = AWS.parse_vector_as(ASCIIString, "securityGroupId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "securityGroupId")) + o.securityGroupSet = AWS.parse_vector_as(ASCIIString, "securityGroup", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "securityGroup")) + o.additionalInfo = LightXML.content(LightXML.find_element(pd, "additionalInfo")) + ## o.userData = length(pd["userData"]) > 0 ? UserDataType(LightXML.find_element(pd,"userData[1]")) : nothing + o.userData = LightXML.find_element(pd,"userData") != nothing ? UserDataType(LightXML.find_element(pd,"userData")) : nothing + o.addressingType = LightXML.content(LightXML.find_element(pd, "addressingType")) + o.instanceType = LightXML.content(LightXML.find_element(pd, "instanceType")) + ## o.placement = length(pd["placement"]) > 0 ? PlacementRequestType(LightXML.find_element(pd,"placement[1]")) : nothing + o.placement = LightXML.find_element(pd,"placement") != nothing ? PlacementRequestType(LightXML.find_element(pd,"placement")) : nothing + o.kernelId = LightXML.content(LightXML.find_element(pd, "kernelId")) + o.ramdiskId = LightXML.content(LightXML.find_element(pd, "ramdiskId")) + o.blockDeviceMapping = AWS.@parse_vector(AWS.EC2.BlockDeviceMappingItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "blockDeviceMapping"), "item")) + ## o.monitoring = length(pd["monitoring"]) > 0 ? MonitoringInstanceType(LightXML.find_element(pd,"monitoring[1]")) : nothing + o.monitoring = LightXML.find_element(pd,"monitoring") != nothing ? MonitoringInstanceType(LightXML.find_element(pd,"monitoring")) : nothing + o.subnetId = LightXML.content(LightXML.find_element(pd, "subnetId")) + o.disableApiTermination = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "disableApiTermination"))) + o.instanceInitiatedShutdownBehavior = LightXML.content(LightXML.find_element(pd, "instanceInitiatedShutdownBehavior")) + ## o.license = length(pd["license"]) > 0 ? InstanceLicenseRequestType(LightXML.find_element(pd,"license[1]")) : nothing + o.license = LightXML.find_element(pd,"license") != nothing ? InstanceLicenseRequestType(LightXML.find_element(pd,"license")) : nothing + o.privateIpAddress = LightXML.content(LightXML.find_element(pd, "privateIpAddress")) + o.clientToken = LightXML.content(LightXML.find_element(pd, "clientToken")) + o.networkInterfaceSet = AWS.@parse_vector(AWS.EC2.InstanceNetworkInterfaceSetItemRequestType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "networkInterfaceSet"), "item")) + ## o.iamInstanceProfile = length(pd["iamInstanceProfile"]) > 0 ? IamInstanceProfileRequestType(LightXML.find_element(pd,"iamInstanceProfile[1]")) : nothing + o.iamInstanceProfile = LightXML.find_element(pd,"iamInstanceProfile") ? IamInstanceProfileRequestType(LightXML.find_element(pd,"iamInstanceProfile")) : nothing + o.ebsOptimized = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "ebsOptimized"))) o end @@ -8032,10 +8075,10 @@ type DescribeAvailabilityZonesType DescribeAvailabilityZonesType(; availabilityZoneSet=nothing, filterSet=nothing) = new(availabilityZoneSet, filterSet) end -function DescribeAvailabilityZonesType(pd::ETree) +function DescribeAvailabilityZonesType(pd) o = DescribeAvailabilityZonesType() - o.availabilityZoneSet = AWS.parse_vector_as(ASCIIString, "zoneName", LibExpat.find(pd, "item/zoneName")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.availabilityZoneSet = AWS.parse_vector_as(ASCIIString, "zoneName", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "zoneName")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -8049,10 +8092,10 @@ type CreateVolumePermissionOperationType CreateVolumePermissionOperationType(; add=nothing, remove=nothing) = new(add, remove) end -function CreateVolumePermissionOperationType(pd::ETree) +function CreateVolumePermissionOperationType(pd) o = CreateVolumePermissionOperationType() - o.add = AWS.@parse_vector(AWS.EC2.CreateVolumePermissionItemType, LibExpat.find(pd, "add/item")) - o.remove = AWS.@parse_vector(AWS.EC2.CreateVolumePermissionItemType, LibExpat.find(pd, "remove/item")) + o.add = AWS.@parse_vector(AWS.EC2.CreateVolumePermissionItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "add"), "item")) + o.remove = AWS.@parse_vector(AWS.EC2.CreateVolumePermissionItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "remove"), "item")) o end @@ -8078,22 +8121,24 @@ type InstanceNetworkInterfaceSetItemType InstanceNetworkInterfaceSetItemType(; networkInterfaceId=nothing, subnetId=nothing, vpcId=nothing, description=nothing, ownerId=nothing, status=nothing, macAddress=nothing, privateIpAddress=nothing, privateDnsName=nothing, sourceDestCheck=nothing, groupSet=nothing, attachment=nothing, association=nothing, privateIpAddressesSet=nothing) = new(networkInterfaceId, subnetId, vpcId, description, ownerId, status, macAddress, privateIpAddress, privateDnsName, sourceDestCheck, groupSet, attachment, association, privateIpAddressesSet) end -function InstanceNetworkInterfaceSetItemType(pd::ETree) +function InstanceNetworkInterfaceSetItemType(pd) o = InstanceNetworkInterfaceSetItemType() - o.networkInterfaceId = LibExpat.find(pd, "networkInterfaceId#string") - o.subnetId = LibExpat.find(pd, "subnetId#string") - o.vpcId = LibExpat.find(pd, "vpcId#string") - o.description = LibExpat.find(pd, "description#string") - o.ownerId = LibExpat.find(pd, "ownerId#string") - o.status = LibExpat.find(pd, "status#string") - o.macAddress = LibExpat.find(pd, "macAddress#string") - o.privateIpAddress = LibExpat.find(pd, "privateIpAddress#string") - o.privateDnsName = LibExpat.find(pd, "privateDnsName#string") - o.sourceDestCheck = AWS.safe_parse_as(Bool, LibExpat.find(pd, "sourceDestCheck#string")) - o.groupSet = AWS.@parse_vector(AWS.EC2.GroupItemType, LibExpat.find(pd, "groupSet/item")) - o.attachment = length(pd["attachment"]) > 0 ? InstanceNetworkInterfaceAttachmentType(LibExpat.find(pd,"attachment[1]")) : nothing - o.association = length(pd["association"]) > 0 ? InstanceNetworkInterfaceAssociationType(LibExpat.find(pd,"association[1]")) : nothing - o.privateIpAddressesSet = AWS.@parse_vector(AWS.EC2.InstancePrivateIpAddressesSetItemType, LibExpat.find(pd, "privateIpAddressesSet/item")) + o.networkInterfaceId = LightXML.content(LightXML.find_element(pd, "networkInterfaceId")) + o.subnetId = LightXML.content(LightXML.find_element(pd, "subnetId")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) + o.ownerId = LightXML.content(LightXML.find_element(pd, "ownerId")) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.macAddress = LightXML.content(LightXML.find_element(pd, "macAddress")) + o.privateIpAddress = LightXML.content(LightXML.find_element(pd, "privateIpAddress")) + o.privateDnsName = LightXML.content(LightXML.find_element(pd, "privateDnsName")) + o.sourceDestCheck = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "sourceDestCheck"))) + o.groupSet = AWS.@parse_vector(AWS.EC2.GroupItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "groupSet"), "item")) + ## o.attachment = length(pd["attachment"]) > 0 ? InstanceNetworkInterfaceAttachmentType(LightXML.find_element(pd,"attachment[1]")) : nothing + o.attachment = LightXML.find_element(pd,"attachment") != nothing ? InstanceNetworkInterfaceAttachmentType(LightXML.find_element(pd,"attachment")) : nothing + ## o.association = length(pd["association"]) > 0 ? InstanceNetworkInterfaceAssociationType(LightXML.find_element(pd,"association[1]")) : nothing + o.association = LightXML.find_element(pd,"association") != nothing ? InstanceNetworkInterfaceAssociationType(LightXML.find_element(pd,"association")) : nothing + o.privateIpAddressesSet = AWS.@parse_vector(AWS.EC2.InstancePrivateIpAddressesSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "privateIpAddressesSet"), "item")) o end @@ -8110,13 +8155,13 @@ type LicenseSetItemType LicenseSetItemType(; licenseId=nothing, _type=nothing, pool=nothing, capacitySet=nothing, tagSet=nothing) = new(licenseId, _type, pool, capacitySet, tagSet) end -function LicenseSetItemType(pd::ETree) +function LicenseSetItemType(pd) o = LicenseSetItemType() - o.licenseId = LibExpat.find(pd, "licenseId#string") - o._type = LibExpat.find(pd, "type#string") - o.pool = LibExpat.find(pd, "pool#string") - o.capacitySet = AWS.@parse_vector(AWS.EC2.LicenseCapacitySetItemType, LibExpat.find(pd, "capacitySet/item")) - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) + o.licenseId = LightXML.content(LightXML.find_element(pd, "licenseId")) + o._type = LightXML.content(LightXML.find_element(pd, "type")) + o.pool = LightXML.content(LightXML.find_element(pd, "pool")) + o.capacitySet = AWS.@parse_vector(AWS.EC2.LicenseCapacitySetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "capacitySet"), "item")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) o end @@ -8133,13 +8178,15 @@ type ImportVolumeTaskDetailsType ImportVolumeTaskDetailsType(; bytesConverted=nothing, availabilityZone=nothing, description=nothing, image=nothing, volume=nothing) = new(bytesConverted, availabilityZone, description, image, volume) end -function ImportVolumeTaskDetailsType(pd::ETree) +function ImportVolumeTaskDetailsType(pd) o = ImportVolumeTaskDetailsType() - o.bytesConverted = AWS.safe_parse_as(Int64, LibExpat.find(pd, "bytesConverted#string")) - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.description = LibExpat.find(pd, "description#string") - o.image = length(pd["image"]) > 0 ? DiskImageDescriptionType(LibExpat.find(pd,"image[1]")) : nothing - o.volume = length(pd["volume"]) > 0 ? DiskImageVolumeDescriptionType(LibExpat.find(pd,"volume[1]")) : nothing + o.bytesConverted = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "bytesConverted"))) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) + ## o.image = length(pd["image"]) > 0 ? DiskImageDescriptionType(LightXML.find_element(pd,"image[1]")) : nothing + o.image = LightXML.find_element(pd,"image") != nothing ? DiskImageDescriptionType(LightXML.find_element(pd,"image")) : nothing + ## o.volume = length(pd["volume"]) > 0 ? DiskImageVolumeDescriptionType(LightXML.find_element(pd,"volume[1]")) : nothing + o.volume = LightXML.find_element(pd,"volume") != nothing ? DiskImageVolumeDescriptionType(LightXML.find_element(pd,"volume")) : nothing o end @@ -8153,10 +8200,10 @@ type DescribeReservedInstancesListingsResponseType DescribeReservedInstancesListingsResponseType(; requestId=nothing, reservedInstancesListingsSet=nothing) = new(requestId, reservedInstancesListingsSet) end -function DescribeReservedInstancesListingsResponseType(pd::ETree) +function DescribeReservedInstancesListingsResponseType(pd) o = DescribeReservedInstancesListingsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.reservedInstancesListingsSet = AWS.@parse_vector(AWS.EC2.DescribeReservedInstancesListingsResponseSetItemType, LibExpat.find(pd, "reservedInstancesListingsSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.reservedInstancesListingsSet = AWS.@parse_vector(AWS.EC2.DescribeReservedInstancesListingsResponseSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "reservedInstancesListingsSet"), "item")) o end @@ -8170,10 +8217,10 @@ type RevokeSecurityGroupIngressType RevokeSecurityGroupIngressType(; userId=nothing, ipPermissions=nothing) = new(userId, ipPermissions) end -function RevokeSecurityGroupIngressType(pd::ETree) +function RevokeSecurityGroupIngressType(pd) o = RevokeSecurityGroupIngressType() - o.userId = LibExpat.find(pd, "userId#string") - o.ipPermissions = AWS.@parse_vector(AWS.EC2.IpPermissionType, LibExpat.find(pd, "ipPermissions/item")) + o.userId = LightXML.content(LightXML.find_element(pd, "userId")) + o.ipPermissions = AWS.@parse_vector(AWS.EC2.IpPermissionType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "ipPermissions"), "item")) o end @@ -8187,10 +8234,10 @@ type StopInstancesResponseType StopInstancesResponseType(; requestId=nothing, instancesSet=nothing) = new(requestId, instancesSet) end -function StopInstancesResponseType(pd::ETree) +function StopInstancesResponseType(pd) o = StopInstancesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.instancesSet = AWS.@parse_vector(AWS.EC2.InstanceStateChangeType, LibExpat.find(pd, "instancesSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.instancesSet = AWS.@parse_vector(AWS.EC2.InstanceStateChangeType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "instancesSet"), "item")) o end @@ -8206,12 +8253,14 @@ type ImportVolumeType ImportVolumeType(; availabilityZone=nothing, image=nothing, description=nothing, volume=nothing) = new(availabilityZone, image, description, volume) end -function ImportVolumeType(pd::ETree) +function ImportVolumeType(pd) o = ImportVolumeType() - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.image = length(pd["image"]) > 0 ? DiskImageDetailType(LibExpat.find(pd,"image[1]")) : nothing - o.description = LibExpat.find(pd, "description#string") - o.volume = length(pd["volume"]) > 0 ? DiskImageVolumeType(LibExpat.find(pd,"volume[1]")) : nothing + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + ## o.image = length(pd["image"]) > 0 ? DiskImageDetailType(LightXML.find_element(pd,"image[1]")) : nothing + o.image = LightXML.find_element(pd,"image") != nothing ? DiskImageDetailType(LightXML.find_element(pd,"image")) : nothing + o.description = LightXML.content(LightXML.find_element(pd, "description")) + ## o.volume = length(pd["volume"]) > 0 ? DiskImageVolumeType(LightXML.find_element(pd,"volume[1]")) : nothing + o.volume = LightXML.find_element(pd,"volume") != nothing ? DiskImageVolumeType(LightXML.find_element(pd,"volume")) : nothing o end @@ -8233,18 +8282,19 @@ type VpnConnectionType VpnConnectionType(; vpnConnectionId=nothing, state=nothing, customerGatewayConfiguration=nothing, _type=nothing, customerGatewayId=nothing, vpnGatewayId=nothing, tagSet=nothing, vgwTelemetry=nothing, options=nothing, routes=nothing) = new(vpnConnectionId, state, customerGatewayConfiguration, _type, customerGatewayId, vpnGatewayId, tagSet, vgwTelemetry, options, routes) end -function VpnConnectionType(pd::ETree) +function VpnConnectionType(pd) o = VpnConnectionType() - o.vpnConnectionId = LibExpat.find(pd, "vpnConnectionId#string") - o.state = LibExpat.find(pd, "state#string") - o.customerGatewayConfiguration = LibExpat.find(pd, "customerGatewayConfiguration#string") - o._type = LibExpat.find(pd, "type#string") - o.customerGatewayId = LibExpat.find(pd, "customerGatewayId#string") - o.vpnGatewayId = LibExpat.find(pd, "vpnGatewayId#string") - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) - o.vgwTelemetry = AWS.@parse_vector(AWS.EC2.VpnTunnelTelemetryType, LibExpat.find(pd, "vgwTelemetry/item")) - o.options = length(pd["options"]) > 0 ? VpnConnectionOptionsResponseType(LibExpat.find(pd,"options[1]")) : nothing - o.routes = AWS.@parse_vector(AWS.EC2.VpnStaticRouteType, LibExpat.find(pd, "routes/item")) + o.vpnConnectionId = LightXML.content(LightXML.find_element(pd, "vpnConnectionId")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) + o.customerGatewayConfiguration = LightXML.content(LightXML.find_element(pd, "customerGatewayConfiguration")) + o._type = LightXML.content(LightXML.find_element(pd, "type")) + o.customerGatewayId = LightXML.content(LightXML.find_element(pd, "customerGatewayId")) + o.vpnGatewayId = LightXML.content(LightXML.find_element(pd, "vpnGatewayId")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) + o.vgwTelemetry = AWS.@parse_vector(AWS.EC2.VpnTunnelTelemetryType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "vgwTelemetry"), "item")) + ## o.options = length(pd["options"]) > 0 ? VpnConnectionOptionsResponseType(LightXML.find_element(pd,"options[1]")) : nothing + o.options = LightXML.find_element(pd,"options") != nothing ? VpnConnectionOptionsResponseType(LightXML.find_element(pd,"options")) : nothing + o.routes = AWS.@parse_vector(AWS.EC2.VpnStaticRouteType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "routes"), "item")) o end @@ -8258,10 +8308,10 @@ type DescribeInstancesType DescribeInstancesType(; instancesSet=nothing, filterSet=nothing) = new(instancesSet, filterSet) end -function DescribeInstancesType(pd::ETree) +function DescribeInstancesType(pd) o = DescribeInstancesType() - o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LibExpat.find(pd, "item/instanceId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.instancesSet = AWS.parse_vector_as(ASCIIString, "instanceId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "instanceId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -8275,10 +8325,10 @@ type DescribeImagesResponseType DescribeImagesResponseType(; requestId=nothing, imagesSet=nothing) = new(requestId, imagesSet) end -function DescribeImagesResponseType(pd::ETree) +function DescribeImagesResponseType(pd) o = DescribeImagesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.imagesSet = AWS.@parse_vector(AWS.EC2.DescribeImagesResponseItemType, LibExpat.find(pd, "imagesSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.imagesSet = AWS.@parse_vector(AWS.EC2.DescribeImagesResponseItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "imagesSet"), "item")) o end @@ -8296,14 +8346,14 @@ type CustomerGatewayType CustomerGatewayType(; customerGatewayId=nothing, state=nothing, _type=nothing, ipAddress=nothing, bgpAsn=nothing, tagSet=nothing) = new(customerGatewayId, state, _type, ipAddress, bgpAsn, tagSet) end -function CustomerGatewayType(pd::ETree) +function CustomerGatewayType(pd) o = CustomerGatewayType() - o.customerGatewayId = LibExpat.find(pd, "customerGatewayId#string") - o.state = LibExpat.find(pd, "state#string") - o._type = LibExpat.find(pd, "type#string") - o.ipAddress = LibExpat.find(pd, "ipAddress#string") - o.bgpAsn = AWS.safe_parse_as(Int64, LibExpat.find(pd, "bgpAsn#string")) - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) + o.customerGatewayId = LightXML.content(LightXML.find_element(pd, "customerGatewayId")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) + o._type = LightXML.content(LightXML.find_element(pd, "type")) + o.ipAddress = LightXML.content(LightXML.find_element(pd, "ipAddress")) + o.bgpAsn = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "bgpAsn"))) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) o end @@ -8324,17 +8374,17 @@ type SubnetType SubnetType(; subnetId=nothing, state=nothing, vpcId=nothing, cidrBlock=nothing, availableIpAddressCount=nothing, availabilityZone=nothing, defaultForAz=nothing, mapPublicIpOnLaunch=nothing, tagSet=nothing) = new(subnetId, state, vpcId, cidrBlock, availableIpAddressCount, availabilityZone, defaultForAz, mapPublicIpOnLaunch, tagSet) end -function SubnetType(pd::ETree) +function SubnetType(pd) o = SubnetType() - o.subnetId = LibExpat.find(pd, "subnetId#string") - o.state = LibExpat.find(pd, "state#string") - o.vpcId = LibExpat.find(pd, "vpcId#string") - o.cidrBlock = LibExpat.find(pd, "cidrBlock#string") - o.availableIpAddressCount = AWS.safe_parse_as(Int64, LibExpat.find(pd, "availableIpAddressCount#string")) - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.defaultForAz = AWS.safe_parse_as(Bool, LibExpat.find(pd, "defaultForAz#string")) - o.mapPublicIpOnLaunch = AWS.safe_parse_as(Bool, LibExpat.find(pd, "mapPublicIpOnLaunch#string")) - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) + o.subnetId = LightXML.content(LightXML.find_element(pd, "subnetId")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) + o.cidrBlock = LightXML.content(LightXML.find_element(pd, "cidrBlock")) + o.availableIpAddressCount = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "availableIpAddressCount"))) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.defaultForAz = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "defaultForAz"))) + o.mapPublicIpOnLaunch = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "mapPublicIpOnLaunch"))) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) o end @@ -8348,10 +8398,10 @@ type DescribeLicensesResponseType DescribeLicensesResponseType(; requestId=nothing, licenseSet=nothing) = new(requestId, licenseSet) end -function DescribeLicensesResponseType(pd::ETree) +function DescribeLicensesResponseType(pd) o = DescribeLicensesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.licenseSet = AWS.@parse_vector(AWS.EC2.LicenseSetItemType, LibExpat.find(pd, "licenseSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.licenseSet = AWS.@parse_vector(AWS.EC2.LicenseSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "licenseSet"), "item")) o end @@ -8367,12 +8417,13 @@ type NetworkInterfacePrivateIpAddressesSetItemType NetworkInterfacePrivateIpAddressesSetItemType(; privateIpAddress=nothing, privateDnsName=nothing, primary=nothing, association=nothing) = new(privateIpAddress, privateDnsName, primary, association) end -function NetworkInterfacePrivateIpAddressesSetItemType(pd::ETree) +function NetworkInterfacePrivateIpAddressesSetItemType(pd) o = NetworkInterfacePrivateIpAddressesSetItemType() - o.privateIpAddress = LibExpat.find(pd, "privateIpAddress#string") - o.privateDnsName = LibExpat.find(pd, "privateDnsName#string") - o.primary = AWS.safe_parse_as(Bool, LibExpat.find(pd, "primary#string")) - o.association = length(pd["association"]) > 0 ? NetworkInterfaceAssociationType(LibExpat.find(pd,"association[1]")) : nothing + o.privateIpAddress = LightXML.content(LightXML.find_element(pd, "privateIpAddress")) + o.privateDnsName = LightXML.content(LightXML.find_element(pd, "privateDnsName")) + o.primary = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "primary"))) + ## o.association = length(pd["association"]) > 0 ? NetworkInterfaceAssociationType(LightXML.find_element(pd,"association[1]")) : nothing + o.association = LightXML.find_element(pd,"association") != nothing ? NetworkInterfaceAssociationType(LightXML.find_element(pd,"association")) : nothing o end @@ -8386,10 +8437,11 @@ type CreateVpnConnectionResponseType CreateVpnConnectionResponseType(; requestId=nothing, vpnConnection=nothing) = new(requestId, vpnConnection) end -function CreateVpnConnectionResponseType(pd::ETree) +function CreateVpnConnectionResponseType(pd) o = CreateVpnConnectionResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.vpnConnection = length(pd["vpnConnection"]) > 0 ? VpnConnectionType(LibExpat.find(pd,"vpnConnection[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.vpnConnection = length(pd["vpnConnection"]) > 0 ? VpnConnectionType(LightXML.find_element(pd,"vpnConnection[1]")) : nothing + o.vpnConnection = LightXML.find_element(pd,"vpnConnection") != nothing ? VpnConnectionType(LightXML.find_element(pd,"vpnConnection")) : nothing o end @@ -8403,10 +8455,10 @@ type DescribeTagsResponseType DescribeTagsResponseType(; requestId=nothing, tagSet=nothing) = new(requestId, tagSet) end -function DescribeTagsResponseType(pd::ETree) +function DescribeTagsResponseType(pd) o = DescribeTagsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.tagSet = AWS.@parse_vector(AWS.EC2.TagSetItemType, LibExpat.find(pd, "tagSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.tagSet = AWS.@parse_vector(AWS.EC2.TagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) o end @@ -8420,10 +8472,11 @@ type CreateInternetGatewayResponseType CreateInternetGatewayResponseType(; requestId=nothing, internetGateway=nothing) = new(requestId, internetGateway) end -function CreateInternetGatewayResponseType(pd::ETree) +function CreateInternetGatewayResponseType(pd) o = CreateInternetGatewayResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.internetGateway = length(pd["internetGateway"]) > 0 ? InternetGatewayType(LibExpat.find(pd,"internetGateway[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.internetGateway = length(pd["internetGateway"]) > 0 ? InternetGatewayType(LightXML.find_element(pd,"internetGateway[1]")) : nothing + o.internetGateway = LightXML.find_element(pd,"internetGateway") != nothing ? InternetGatewayType(LightXML.find_element(pd,"internetGateway")) : nothing o end @@ -8437,10 +8490,11 @@ type AttachVpnGatewayResponseType AttachVpnGatewayResponseType(; requestId=nothing, attachment=nothing) = new(requestId, attachment) end -function AttachVpnGatewayResponseType(pd::ETree) +function AttachVpnGatewayResponseType(pd) o = AttachVpnGatewayResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.attachment = length(pd["attachment"]) > 0 ? AttachmentType(LibExpat.find(pd,"attachment[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.attachment = length(pd["attachment"]) > 0 ? AttachmentType(LightXML.find_element(pd,"attachment[1]")) : nothing + o.attachment = LightXML.find_element(pd,"attachment") != nothing ? AttachmentType(LightXML.find_element(pd,"attachment")) : nothing o end @@ -8454,10 +8508,10 @@ type DescribeLicensesType DescribeLicensesType(; licenseIdSet=nothing, filterSet=nothing) = new(licenseIdSet, filterSet) end -function DescribeLicensesType(pd::ETree) +function DescribeLicensesType(pd) o = DescribeLicensesType() - o.licenseIdSet = AWS.parse_vector_as(ASCIIString, "licenseId", LibExpat.find(pd, "item/licenseId")) - o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LibExpat.find(pd, "filterSet/item")) + o.licenseIdSet = AWS.parse_vector_as(ASCIIString, "licenseId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "licenseId")) + o.filterSet = AWS.@parse_vector(AWS.EC2.FilterType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "filterSet"), "item")) o end @@ -8471,10 +8525,10 @@ type AuthorizeSecurityGroupIngressType AuthorizeSecurityGroupIngressType(; userId=nothing, ipPermissions=nothing) = new(userId, ipPermissions) end -function AuthorizeSecurityGroupIngressType(pd::ETree) +function AuthorizeSecurityGroupIngressType(pd) o = AuthorizeSecurityGroupIngressType() - o.userId = LibExpat.find(pd, "userId#string") - o.ipPermissions = AWS.@parse_vector(AWS.EC2.IpPermissionType, LibExpat.find(pd, "ipPermissions/item")) + o.userId = LightXML.content(LightXML.find_element(pd, "userId")) + o.ipPermissions = AWS.@parse_vector(AWS.EC2.IpPermissionType, LightML.get_elements_by_tagname(LightXML.find_element(pd, "ipPermissions"), "item")) o end @@ -8488,10 +8542,11 @@ type CreateSubnetResponseType CreateSubnetResponseType(; requestId=nothing, subnet=nothing) = new(requestId, subnet) end -function CreateSubnetResponseType(pd::ETree) +function CreateSubnetResponseType(pd) o = CreateSubnetResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.subnet = length(pd["subnet"]) > 0 ? SubnetType(LibExpat.find(pd,"subnet[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.subnet = length(pd["subnet"]) > 0 ? SubnetType(LightXML.find_element(pd,"subnet[1]")) : nothing + o.subnet = LightXML.find_element(pd,"subnet") != nothing ? SubnetType(LightXML.find_element(pd,"subnet")) : nothing o end @@ -8521,26 +8576,28 @@ type NetworkInterfaceType NetworkInterfaceType(; networkInterfaceId=nothing, subnetId=nothing, vpcId=nothing, availabilityZone=nothing, description=nothing, ownerId=nothing, requesterId=nothing, requesterManaged=nothing, status=nothing, macAddress=nothing, privateIpAddress=nothing, privateDnsName=nothing, sourceDestCheck=nothing, groupSet=nothing, attachment=nothing, association=nothing, tagSet=nothing, privateIpAddressesSet=nothing) = new(networkInterfaceId, subnetId, vpcId, availabilityZone, description, ownerId, requesterId, requesterManaged, status, macAddress, privateIpAddress, privateDnsName, sourceDestCheck, groupSet, attachment, association, tagSet, privateIpAddressesSet) end -function NetworkInterfaceType(pd::ETree) +function NetworkInterfaceType(pd) o = NetworkInterfaceType() - o.networkInterfaceId = LibExpat.find(pd, "networkInterfaceId#string") - o.subnetId = LibExpat.find(pd, "subnetId#string") - o.vpcId = LibExpat.find(pd, "vpcId#string") - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.description = LibExpat.find(pd, "description#string") - o.ownerId = LibExpat.find(pd, "ownerId#string") - o.requesterId = LibExpat.find(pd, "requesterId#string") - o.requesterManaged = AWS.safe_parse_as(Bool, LibExpat.find(pd, "requesterManaged#string")) - o.status = LibExpat.find(pd, "status#string") - o.macAddress = LibExpat.find(pd, "macAddress#string") - o.privateIpAddress = LibExpat.find(pd, "privateIpAddress#string") - o.privateDnsName = LibExpat.find(pd, "privateDnsName#string") - o.sourceDestCheck = AWS.safe_parse_as(Bool, LibExpat.find(pd, "sourceDestCheck#string")) - o.groupSet = AWS.@parse_vector(AWS.EC2.GroupItemType, LibExpat.find(pd, "groupSet/item")) - o.attachment = length(pd["attachment"]) > 0 ? NetworkInterfaceAttachmentType(LibExpat.find(pd,"attachment[1]")) : nothing - o.association = length(pd["association"]) > 0 ? NetworkInterfaceAssociationType(LibExpat.find(pd,"association[1]")) : nothing - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) - o.privateIpAddressesSet = AWS.@parse_vector(AWS.EC2.NetworkInterfacePrivateIpAddressesSetItemType, LibExpat.find(pd, "privateIpAddressesSet/item")) + o.networkInterfaceId = LightXML.content(LightXML.find_element(pd, "networkInterfaceId")) + o.subnetId = LightXML.content(LightXML.find_element(pd, "subnetId")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + o.description = LightXML.content(LightXML.find_element(pd, "description")) + o.ownerId = LightXML.content(LightXML.find_element(pd, "ownerId")) + o.requesterId = LightXML.content(LightXML.find_element(pd, "requesterId")) + o.requesterManaged = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "requesterManaged"))) + o.status = LightXML.content(LightXML.find_element(pd, "status")) + o.macAddress = LightXML.content(LightXML.find_element(pd, "macAddress")) + o.privateIpAddress = LightXML.content(LightXML.find_element(pd, "privateIpAddress")) + o.privateDnsName = LightXML.content(LightXML.find_element(pd, "privateDnsName")) + o.sourceDestCheck = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "sourceDestCheck"))) + o.groupSet = AWS.@parse_vector(AWS.EC2.GroupItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "groupSet"), "item")) + ## o.attachment = length(pd["attachment"]) > 0 ? NetworkInterfaceAttachmentType(LightXML.find_element(pd,"attachment[1]")) : nothing + o.attachment = LightXML.find_element(pd,"attachment") != nothing ? NetworkInterfaceAttachmentType(LightXML.find_element(pd,"attachment")) : nothing + ## o.association = length(pd["association"]) > 0 ? NetworkInterfaceAssociationType(LightXML.find_element(pd,"association[1]")) : nothing + o.association = LightXML.find_element(pd,"association") != nothing ? NetworkInterfaceAssociationType(LightXML.find_element(pd,"association")) : nothing + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) + o.privateIpAddressesSet = AWS.@parse_vector(AWS.EC2.NetworkInterfacePrivateIpAddressesSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "privateIpAddressesSet"), "item")) o end @@ -8554,10 +8611,11 @@ type ImportVolumeResponseType ImportVolumeResponseType(; requestId=nothing, conversionTask=nothing) = new(requestId, conversionTask) end -function ImportVolumeResponseType(pd::ETree) +function ImportVolumeResponseType(pd) o = ImportVolumeResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.conversionTask = length(pd["conversionTask"]) > 0 ? ConversionTaskType(LibExpat.find(pd,"conversionTask[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.conversionTask = length(pd["conversionTask"]) > 0 ? ConversionTaskType(LightXML.find_element(pd,"conversionTask[1]")) : nothing + o.conversionTask = LightXML.find_element(pd,"conversionTask") != nothing ? ConversionTaskType(LightXML.find_element(pd,"conversionTask")) : nothing o end @@ -8571,10 +8629,11 @@ type ModifySnapshotAttributeType ModifySnapshotAttributeType(; snapshotId=nothing, createVolumePermission=nothing) = new(snapshotId, createVolumePermission) end -function ModifySnapshotAttributeType(pd::ETree) +function ModifySnapshotAttributeType(pd) o = ModifySnapshotAttributeType() - o.snapshotId = LibExpat.find(pd, "snapshotId#string") - o.createVolumePermission = length(pd["createVolumePermission"]) > 0 ? CreateVolumePermissionOperationType(LibExpat.find(pd,"createVolumePermission[1]")) : nothing + o.snapshotId = LightXML.content(LightXML.find_element(pd, "snapshotId")) + ## o.createVolumePermission = length(pd["createVolumePermission"]) > 0 ? CreateVolumePermissionOperationType(LightXML.find_element(pd,"createVolumePermission[1]")) : nothing + o.createVolumePermission = LightXML.find_element(pd,"createVolumePermission") != nothing ? CreateVolumePermissionOperationType(LightXML.find_element(pd,"createVolumePermission")) : nothing o end @@ -8588,10 +8647,11 @@ type CreateNetworkInterfaceResponseType CreateNetworkInterfaceResponseType(; requestId=nothing, networkInterface=nothing) = new(requestId, networkInterface) end -function CreateNetworkInterfaceResponseType(pd::ETree) +function CreateNetworkInterfaceResponseType(pd) o = CreateNetworkInterfaceResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.networkInterface = length(pd["networkInterface"]) > 0 ? NetworkInterfaceType(LibExpat.find(pd,"networkInterface[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.networkInterface = length(pd["networkInterface"]) > 0 ? NetworkInterfaceType(LightXML.find_element(pd,"networkInterface[1]")) : nothing + o.networkInterface = LightXML.find_element(pd,"networkInterface") != nothing ? NetworkInterfaceType(LightXML.find_element(pd,"networkInterface")) : nothing o end @@ -8605,10 +8665,10 @@ type CancelReservedInstancesListingResponseType CancelReservedInstancesListingResponseType(; requestId=nothing, reservedInstancesListingsSet=nothing) = new(requestId, reservedInstancesListingsSet) end -function CancelReservedInstancesListingResponseType(pd::ETree) +function CancelReservedInstancesListingResponseType(pd) o = CancelReservedInstancesListingResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.reservedInstancesListingsSet = AWS.@parse_vector(AWS.EC2.DescribeReservedInstancesListingsResponseSetItemType, LibExpat.find(pd, "reservedInstancesListingsSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.reservedInstancesListingsSet = AWS.@parse_vector(AWS.EC2.DescribeReservedInstancesListingsResponseSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "reservedInstancesListingsSet"), "item")) o end @@ -8622,10 +8682,10 @@ type MonitorInstancesResponseType MonitorInstancesResponseType(; requestId=nothing, instancesSet=nothing) = new(requestId, instancesSet) end -function MonitorInstancesResponseType(pd::ETree) +function MonitorInstancesResponseType(pd) o = MonitorInstancesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.instancesSet = AWS.@parse_vector(AWS.EC2.MonitorInstancesResponseSetItemType, LibExpat.find(pd, "instancesSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.instancesSet = AWS.@parse_vector(AWS.EC2.MonitorInstancesResponseSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "instancesSet"), "item")) o end @@ -8639,10 +8699,11 @@ type CreateCustomerGatewayResponseType CreateCustomerGatewayResponseType(; requestId=nothing, customerGateway=nothing) = new(requestId, customerGateway) end -function CreateCustomerGatewayResponseType(pd::ETree) +function CreateCustomerGatewayResponseType(pd) o = CreateCustomerGatewayResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.customerGateway = length(pd["customerGateway"]) > 0 ? CustomerGatewayType(LibExpat.find(pd,"customerGateway[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.customerGateway = length(pd["customerGateway"]) > 0 ? CustomerGatewayType(LightXML.find_element(pd,"customerGateway[1]")) : nothing + o.customerGateway = LightXML.find_element(pd,"customerGateway") != nothing ? CustomerGatewayType(LightXML.find_element(pd,"customerGateway")) : nothing o end @@ -8656,10 +8717,10 @@ type DescribeVpnConnectionsResponseType DescribeVpnConnectionsResponseType(; requestId=nothing, vpnConnectionSet=nothing) = new(requestId, vpnConnectionSet) end -function DescribeVpnConnectionsResponseType(pd::ETree) +function DescribeVpnConnectionsResponseType(pd) o = DescribeVpnConnectionsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.vpnConnectionSet = AWS.@parse_vector(AWS.EC2.VpnConnectionType, LibExpat.find(pd, "vpnConnectionSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.vpnConnectionSet = AWS.@parse_vector(AWS.EC2.VpnConnectionType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "vpnConnectionSet"), "item")) o end @@ -8708,45 +8769,51 @@ type RunningInstancesItemType RunningInstancesItemType(; instanceId=nothing, imageId=nothing, instanceState=nothing, privateDnsName=nothing, dnsName=nothing, reason=nothing, keyName=nothing, amiLaunchIndex=nothing, productCodes=nothing, instanceType=nothing, launchTime=nothing, placement=nothing, kernelId=nothing, ramdiskId=nothing, platform=nothing, monitoring=nothing, subnetId=nothing, vpcId=nothing, privateIpAddress=nothing, ipAddress=nothing, sourceDestCheck=nothing, groupSet=nothing, stateReason=nothing, architecture=nothing, rootDeviceType=nothing, rootDeviceName=nothing, blockDeviceMapping=nothing, instanceLifecycle=nothing, spotInstanceRequestId=nothing, license=nothing, virtualizationType=nothing, clientToken=nothing, tagSet=nothing, hypervisor=nothing, networkInterfaceSet=nothing, iamInstanceProfile=nothing, ebsOptimized=nothing) = new(instanceId, imageId, instanceState, privateDnsName, dnsName, reason, keyName, amiLaunchIndex, productCodes, instanceType, launchTime, placement, kernelId, ramdiskId, platform, monitoring, subnetId, vpcId, privateIpAddress, ipAddress, sourceDestCheck, groupSet, stateReason, architecture, rootDeviceType, rootDeviceName, blockDeviceMapping, instanceLifecycle, spotInstanceRequestId, license, virtualizationType, clientToken, tagSet, hypervisor, networkInterfaceSet, iamInstanceProfile, ebsOptimized) end -function RunningInstancesItemType(pd::ETree) +function RunningInstancesItemType(pd) o = RunningInstancesItemType() - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.imageId = LibExpat.find(pd, "imageId#string") - o.instanceState = length(pd["instanceState"]) > 0 ? InstanceStateType(LibExpat.find(pd,"instanceState[1]")) : nothing - o.privateDnsName = LibExpat.find(pd, "privateDnsName#string") - o.dnsName = LibExpat.find(pd, "dnsName#string") - o.reason = LibExpat.find(pd, "reason#string") - o.keyName = LibExpat.find(pd, "keyName#string") - o.amiLaunchIndex = LibExpat.find(pd, "amiLaunchIndex#string") - o.productCodes = AWS.@parse_vector(AWS.EC2.ProductCodesSetItemType, LibExpat.find(pd, "productCodes/item")) - o.instanceType = LibExpat.find(pd, "instanceType#string") - o.launchTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "launchTime#string")) - o.placement = length(pd["placement"]) > 0 ? PlacementResponseType(LibExpat.find(pd,"placement[1]")) : nothing - o.kernelId = LibExpat.find(pd, "kernelId#string") - o.ramdiskId = LibExpat.find(pd, "ramdiskId#string") - o.platform = LibExpat.find(pd, "platform#string") - o.monitoring = length(pd["monitoring"]) > 0 ? InstanceMonitoringStateType(LibExpat.find(pd,"monitoring[1]")) : nothing - o.subnetId = LibExpat.find(pd, "subnetId#string") - o.vpcId = LibExpat.find(pd, "vpcId#string") - o.privateIpAddress = LibExpat.find(pd, "privateIpAddress#string") - o.ipAddress = LibExpat.find(pd, "ipAddress#string") - o.sourceDestCheck = AWS.safe_parse_as(Bool, LibExpat.find(pd, "sourceDestCheck#string")) - o.groupSet = AWS.@parse_vector(AWS.EC2.GroupItemType, LibExpat.find(pd, "groupSet/item")) - o.stateReason = length(pd["stateReason"]) > 0 ? StateReasonType(LibExpat.find(pd,"stateReason[1]")) : nothing - o.architecture = LibExpat.find(pd, "architecture#string") - o.rootDeviceType = LibExpat.find(pd, "rootDeviceType#string") - o.rootDeviceName = LibExpat.find(pd, "rootDeviceName#string") - o.blockDeviceMapping = AWS.@parse_vector(AWS.EC2.InstanceBlockDeviceMappingResponseItemType, LibExpat.find(pd, "blockDeviceMapping/item")) - o.instanceLifecycle = LibExpat.find(pd, "instanceLifecycle#string") - o.spotInstanceRequestId = LibExpat.find(pd, "spotInstanceRequestId#string") - o.license = length(pd["license"]) > 0 ? InstanceLicenseResponseType(LibExpat.find(pd,"license[1]")) : nothing - o.virtualizationType = LibExpat.find(pd, "virtualizationType#string") - o.clientToken = LibExpat.find(pd, "clientToken#string") - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) - o.hypervisor = LibExpat.find(pd, "hypervisor#string") - o.networkInterfaceSet = AWS.@parse_vector(AWS.EC2.InstanceNetworkInterfaceSetItemType, LibExpat.find(pd, "networkInterfaceSet/item")) - o.iamInstanceProfile = length(pd["iamInstanceProfile"]) > 0 ? IamInstanceProfileResponseType(LibExpat.find(pd,"iamInstanceProfile[1]")) : nothing - o.ebsOptimized = AWS.safe_parse_as(Bool, LibExpat.find(pd, "ebsOptimized#string")) + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.imageId = LightXML.content(LightXML.find_element(pd, "imageId")) + ## o.instanceState = length(pd["instanceState"]) > 0 ? InstanceStateType(LightXML.find_element(pd,"instanceState[1]")) : nothing + o.instanceState = LightXML.find_element(pd,"instanceState") != nothing ? InstanceStateType(LightXML.find_element(pd,"instanceState")) : nothing + o.privateDnsName = LightXML.content(LightXML.find_element(pd, "privateDnsName")) + o.dnsName = LightXML.content(LightXML.find_element(pd, "dnsName")) + o.reason = LightXML.content(LightXML.find_element(pd, "reason")) + o.keyName = LightXML.content(LightXML.find_element(pd, "keyName")) + o.amiLaunchIndex = LightXML.content(LightXML.find_element(pd, "amiLaunchIndex")) + o.productCodes = LightXML.find_element(pd, "productCodes") != nothing ? AWS.@parse_vector(AWS.EC2.ProductCodesSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "productCodes"), "item")) : nothing + o.instanceType = LightXML.content(LightXML.find_element(pd, "instanceType")) + o.launchTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "launchTime"))) + ## o.placement = length(pd["placement"]) > 0 ? PlacementResponseType(LightXML.find_element(pd,"placement[1]")) : nothing + o.placement = LightXML.find_element(pd,"placement") != nothing ? PlacementResponseType(LightXML.find_element(pd,"placement")) : nothing + + o.ramdiskId = LightXML.find_element(pd, "ramdiskId") != nothing ?LightXML.content(LightXML.find_element(pd, "ramdiskId")) : nothing + o.platform = LightXML.find_element(pd, "platform") != nothing ?LightXML.content(LightXML.find_element(pd, "platform")) : nothing + ## o.monitoring = length(pd["monitoring"]) > 0 ? InstanceMonitoringStateType(LightXML.find_element(pd,"monitoring[1]")) : nothing + o.monitoring = LightXML.find_element(pd,"monitoring") != nothing ? InstanceMonitoringStateType(LightXML.find_element(pd,"monitoring")) : nothing + o.subnetId = LightXML.find_element(pd, "subnetId") != nothing ? LightXML.content(LightXML.find_element(pd, "subnetId")) : nothing + o.vpcId = LightXML.find_element(pd, "vpcId") != nothing ?LightXML.content(LightXML.find_element(pd, "vpcId")) : nothing + o.privateIpAddress = LightXML.find_element(pd, "privateIpAddress") != nothing ?LightXML.content(LightXML.find_element(pd, "privateIpAddress")) : nothing + o.ipAddress = LightXML.find_element(pd, "ipAddress") != nothing ? LightXML.content(LightXML.find_element(pd, "ipAddress")) : nothing + o.sourceDestCheck = LightXML.find_element(pd, "sourceDestCheck") != nothing ? AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "sourceDestCheck"))) : nothing + o.groupSet = AWS.@parse_vector(AWS.EC2.GroupItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "groupSet"), "item")) + ## o.stateReason = length(pd["stateReason"]) > 0 ? StateReasonType(LightXML.find_element(pd,"stateReason[1]")) : nothing + o.stateReason = LightXML.find_element(pd,"stateReason") != nothing ? StateReasonType(LightXML.find_element(pd,"stateReason")) : nothing + o.architecture = LightXML.content(LightXML.find_element(pd, "architecture")) + o.rootDeviceType = LightXML.content(LightXML.find_element(pd, "rootDeviceType")) + + o.blockDeviceMapping = AWS.@parse_vector(AWS.EC2.InstanceBlockDeviceMappingResponseItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "blockDeviceMapping"), "item")) + o.instanceLifecycle = LightXML.find_element(pd, "instanceLifecycle") != nothing ? LightXML.content(LightXML.find_element(pd, "instanceLifecycle")) : nothing + o.spotInstanceRequestId = LightXML.find_element(pd, "spotInstanceRequestId") != nothing ? LightXML.content(LightXML.find_element(pd, "spotInstanceRequestId")) : nothing + ## o.license = length(pd["license"]) > 0 ? InstanceLicenseResponseType(LightXML.find_element(pd,"license[1]")) : nothing + o.license = LightXML.find_element(pd,"license") != nothing ? InstanceLicenseResponseType(LightXML.find_element(pd,"license")) : nothing + o.virtualizationType = LightXML.content(LightXML.find_element(pd, "virtualizationType")) + o.clientToken = LightXML.content(LightXML.find_element(pd, "clientToken")) + o.tagSet = LightXML.find_element(pd, "tagSet") != nothing ? AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) : nothing + o.hypervisor = LightXML.content(LightXML.find_element(pd, "hypervisor")) + o.networkInterfaceSet = AWS.@parse_vector(AWS.EC2.InstanceNetworkInterfaceSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "networkInterfaceSet"), "item")) + ## o.iamInstanceProfile = length(pd["iamInstanceProfile"]) > 0 ? IamInstanceProfileResponseType(LightXML.find_element(pd,"iamInstanceProfile[1]")) : nothing + o.iamInstanceProfile = LightXML.find_element(pd,"iamInstanceProfile") != nothing ? IamInstanceProfileResponseType(LightXML.find_element(pd,"iamInstanceProfile")) : nothing + o.ebsOptimized = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "ebsOptimized"))) o end @@ -8760,10 +8827,10 @@ type DescribeSnapshotsResponseType DescribeSnapshotsResponseType(; requestId=nothing, snapshotSet=nothing) = new(requestId, snapshotSet) end -function DescribeSnapshotsResponseType(pd::ETree) +function DescribeSnapshotsResponseType(pd) o = DescribeSnapshotsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.snapshotSet = AWS.@parse_vector(AWS.EC2.DescribeSnapshotsSetItemResponseType, LibExpat.find(pd, "snapshotSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.snapshotSet = AWS.@parse_vector(AWS.EC2.DescribeSnapshotsSetItemResponseType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "snapshotSet"), "item")) o end @@ -8777,10 +8844,11 @@ type CreateVpcResponseType CreateVpcResponseType(; requestId=nothing, vpc=nothing) = new(requestId, vpc) end -function CreateVpcResponseType(pd::ETree) +function CreateVpcResponseType(pd) o = CreateVpcResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.vpc = length(pd["vpc"]) > 0 ? VpcType(LibExpat.find(pd,"vpc[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.vpc = length(pd["vpc"]) > 0 ? VpcType(LightXML.find_element(pd,"vpc[1]")) : nothing + o.vpc = LightXML.find_element(pd,"vpc") != nothing ? VpcType(LightXML.find_element(pd,"vpc")) : nothing o end @@ -8797,13 +8865,14 @@ type ImportInstanceType ImportInstanceType(; description=nothing, launchSpecification=nothing, diskImageSet=nothing, keepPartialImports=nothing, platform=nothing) = new(description, launchSpecification, diskImageSet, keepPartialImports, platform) end -function ImportInstanceType(pd::ETree) +function ImportInstanceType(pd) o = ImportInstanceType() - o.description = LibExpat.find(pd, "description#string") - o.launchSpecification = length(pd["launchSpecification"]) > 0 ? ImportInstanceLaunchSpecificationType(LibExpat.find(pd,"launchSpecification[1]")) : nothing - o.diskImageSet = AWS.@parse_vector(AWS.EC2.DiskImageType, LibExpat.find(pd, "diskImageSet/item")) - o.keepPartialImports = AWS.safe_parse_as(Bool, LibExpat.find(pd, "keepPartialImports#string")) - o.platform = LibExpat.find(pd, "platform#string") + o.description = LightXML.content(LightXML.find_element(pd, "description")) + ## o.launchSpecification = length(pd["launchSpecification"]) > 0 ? ImportInstanceLaunchSpecificationType(LightXML.find_element(pd,"launchSpecification[1]")) : nothing + o.launchSpecification = LightXML.find_element(pd,"launchSpecification") ? ImportInstanceLaunchSpecificationType(LightXML.find_element(pd,"launchSpecification")) : nothing + o.diskImageSet = AWS.@parse_vector(AWS.EC2.DiskImageType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "diskImageSet"), "item")) + o.keepPartialImports = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "keepPartialImports"))) + o.platform = LightXML.content(LightXML.find_element(pd, "platform")) o end @@ -8823,16 +8892,18 @@ type BundleInstanceTaskType BundleInstanceTaskType(; instanceId=nothing, bundleId=nothing, state=nothing, startTime=nothing, updateTime=nothing, storage=nothing, progress=nothing, error=nothing) = new(instanceId, bundleId, state, startTime, updateTime, storage, progress, error) end -function BundleInstanceTaskType(pd::ETree) +function BundleInstanceTaskType(pd) o = BundleInstanceTaskType() - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.bundleId = LibExpat.find(pd, "bundleId#string") - o.state = LibExpat.find(pd, "state#string") - o.startTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "startTime#string")) - o.updateTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "updateTime#string")) - o.storage = length(pd["storage"]) > 0 ? BundleInstanceTaskStorageType(LibExpat.find(pd,"storage[1]")) : nothing - o.progress = LibExpat.find(pd, "progress#string") - o.error = length(pd["error"]) > 0 ? BundleInstanceTaskErrorType(LibExpat.find(pd,"error[1]")) : nothing + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.bundleId = LightXML.content(LightXML.find_element(pd, "bundleId")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) + o.startTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "startTime"))) + o.updateTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "updateTime"))) + ## o.storage = length(pd["storage"]) > 0 ? BundleInstanceTaskStorageType(LightXML.find_element(pd,"storage[1]")) : nothing + o.storage = LightXML.find_element(pd,"storage") != nothing ? BundleInstanceTaskStorageType(LightXML.find_element(pd,"storage")) : nothing + o.progress = LightXML.content(LightXML.find_element(pd, "progress")) + ## o.error = length(pd["error"]) > 0 ? BundleInstanceTaskErrorType(LightXML.find_element(pd,"error[1]")) : nothing + o.error = LightXML.find_element(pd,"error") != nothing ? BundleInstanceTaskErrorType(LightXML.find_element(pd,"error")) : nothing o end @@ -8846,10 +8917,11 @@ type CancelBundleTaskResponseType CancelBundleTaskResponseType(; requestId=nothing, bundleInstanceTask=nothing) = new(requestId, bundleInstanceTask) end -function CancelBundleTaskResponseType(pd::ETree) +function CancelBundleTaskResponseType(pd) o = CancelBundleTaskResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.bundleInstanceTask = length(pd["bundleInstanceTask"]) > 0 ? BundleInstanceTaskType(LibExpat.find(pd,"bundleInstanceTask[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.bundleInstanceTask = length(pd["bundleInstanceTask"]) > 0 ? BundleInstanceTaskType(LightXML.find_element(pd,"bundleInstanceTask[1]")) : nothing + o.bundleInstanceTask = LightXML.find_element(pd,"bundleInstanceTask") != nothing ? BundleInstanceTaskType(LightXML.find_element(pd,"bundleInstanceTask")) : nothing o end @@ -8875,22 +8947,25 @@ type LaunchSpecificationResponseType LaunchSpecificationResponseType(; imageId=nothing, keyName=nothing, groupSet=nothing, addressingType=nothing, instanceType=nothing, placement=nothing, kernelId=nothing, ramdiskId=nothing, blockDeviceMapping=nothing, monitoring=nothing, subnetId=nothing, networkInterfaceSet=nothing, iamInstanceProfile=nothing, ebsOptimized=nothing) = new(imageId, keyName, groupSet, addressingType, instanceType, placement, kernelId, ramdiskId, blockDeviceMapping, monitoring, subnetId, networkInterfaceSet, iamInstanceProfile, ebsOptimized) end -function LaunchSpecificationResponseType(pd::ETree) +function LaunchSpecificationResponseType(pd) o = LaunchSpecificationResponseType() - o.imageId = LibExpat.find(pd, "imageId#string") - o.keyName = LibExpat.find(pd, "keyName#string") - o.groupSet = AWS.@parse_vector(AWS.EC2.GroupItemType, LibExpat.find(pd, "groupSet/item")) - o.addressingType = LibExpat.find(pd, "addressingType#string") - o.instanceType = LibExpat.find(pd, "instanceType#string") - o.placement = length(pd["placement"]) > 0 ? SpotPlacementRequestType(LibExpat.find(pd,"placement[1]")) : nothing - o.kernelId = LibExpat.find(pd, "kernelId#string") - o.ramdiskId = LibExpat.find(pd, "ramdiskId#string") - o.blockDeviceMapping = AWS.@parse_vector(AWS.EC2.BlockDeviceMappingItemType, LibExpat.find(pd, "blockDeviceMapping/item")) - o.monitoring = length(pd["monitoring"]) > 0 ? MonitoringInstanceType(LibExpat.find(pd,"monitoring[1]")) : nothing - o.subnetId = LibExpat.find(pd, "subnetId#string") - o.networkInterfaceSet = AWS.@parse_vector(AWS.EC2.InstanceNetworkInterfaceSetItemRequestType, LibExpat.find(pd, "networkInterfaceSet/item")) - o.iamInstanceProfile = length(pd["iamInstanceProfile"]) > 0 ? IamInstanceProfileRequestType(LibExpat.find(pd,"iamInstanceProfile[1]")) : nothing - o.ebsOptimized = AWS.safe_parse_as(Bool, LibExpat.find(pd, "ebsOptimized#string")) + o.imageId = LightXML.content(LightXML.find_element(pd, "imageId")) + o.keyName = LightXML.content(LightXML.find_element(pd, "keyName")) + o.groupSet = AWS.@parse_vector(AWS.EC2.GroupItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "groupSet"), "item")) + o.addressingType = LightXML.content(LightXML.find_element(pd, "addressingType")) + o.instanceType = LightXML.content(LightXML.find_element(pd, "instanceType")) + ## o.placement = length(pd["placement"]) > 0 ? SpotPlacementRequestType(LightXML.find_element(pd,"placement[1]")) : nothing + o.placement = LightXML.find_element(pd,"placement") != nothing ? SpotPlacementRequestType(LightXML.find_element(pd,"placement")) : nothing + o.kernelId = LightXML.content(LightXML.find_element(pd, "kernelId")) + o.ramdiskId = LightXML.content(LightXML.find_element(pd, "ramdiskId")) + o.blockDeviceMapping = AWS.@parse_vector(AWS.EC2.BlockDeviceMappingItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "blockDeviceMapping"), "item")) + ## o.monitoring = length(pd["monitoring"]) > 0 ? MonitoringInstanceType(LightXML.find_element(pd,"monitoring[1]")) : nothing + o.monitoring = LightXML.find_element(pd,"monitoring") != nothing ? MonitoringInstanceType(LightXML.find_element(pd,"monitoring")) : nothing + o.subnetId = LightXML.content(LightXML.find_element(pd, "subnetId")) + o.networkInterfaceSet = AWS.@parse_vector(AWS.EC2.InstanceNetworkInterfaceSetItemRequestType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "networkInterfaceSet"), "item")) + ## o.iamInstanceProfile = length(pd["iamInstanceProfile"]) > 0 ? IamInstanceProfileRequestType(LightXML.find_element(pd,"iamInstanceProfile[1]")) : nothing + o.iamInstanceProfile = LightXML.find_element(pd,"iamInstanceProfile") != nothing ? IamInstanceProfileRequestType(LightXML.find_element(pd,"iamInstanceProfile")) : nothing + o.ebsOptimized = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "ebsOptimized"))) o end @@ -8910,16 +8985,16 @@ type SecurityGroupItemType SecurityGroupItemType(; ownerId=nothing, groupId=nothing, groupName=nothing, groupDescription=nothing, vpcId=nothing, ipPermissions=nothing, ipPermissionsEgress=nothing, tagSet=nothing) = new(ownerId, groupId, groupName, groupDescription, vpcId, ipPermissions, ipPermissionsEgress, tagSet) end -function SecurityGroupItemType(pd::ETree) +function SecurityGroupItemType(pd) o = SecurityGroupItemType() - o.ownerId = LibExpat.find(pd, "ownerId#string") - o.groupId = LibExpat.find(pd, "groupId#string") - o.groupName = LibExpat.find(pd, "groupName#string") - o.groupDescription = LibExpat.find(pd, "groupDescription#string") - o.vpcId = LibExpat.find(pd, "vpcId#string") - o.ipPermissions = AWS.@parse_vector(AWS.EC2.IpPermissionType, LibExpat.find(pd, "ipPermissions/item")) - o.ipPermissionsEgress = AWS.@parse_vector(AWS.EC2.IpPermissionType, LibExpat.find(pd, "ipPermissionsEgress/item")) - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) + o.ownerId = LightXML.content(LightXML.find_element(pd, "ownerId")) + o.groupId = LightXML.content(LightXML.find_element(pd, "groupId")) + o.groupName = LightXML.content(LightXML.find_element(pd, "groupName")) + o.groupDescription = LightXML.content(LightXML.find_element(pd, "groupDescription")) + o.vpcId = LightXML.content(LightXML.find_element(pd, "vpcId")) + o.ipPermissions = AWS.@parse_vector(AWS.EC2.IpPermissionType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "ipPermissions"), "item")) + o.ipPermissionsEgress = AWS.@parse_vector(AWS.EC2.IpPermissionType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "ipPermissionsEgress"), "item")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) o end @@ -8933,10 +9008,11 @@ type CreateNetworkAclResponseType CreateNetworkAclResponseType(; requestId=nothing, networkAcl=nothing) = new(requestId, networkAcl) end -function CreateNetworkAclResponseType(pd::ETree) +function CreateNetworkAclResponseType(pd) o = CreateNetworkAclResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.networkAcl = length(pd["networkAcl"]) > 0 ? NetworkAclType(LibExpat.find(pd,"networkAcl[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.networkAcl = length(pd["networkAcl"]) > 0 ? NetworkAclType(LightXML.find_element(pd,"networkAcl[1]")) : nothing + o.networkAcl = LightXML.find_element(pd,"networkAcl") != nothing ? NetworkAclType(LightXML.find_element(pd,"networkAcl")) : nothing o end @@ -8950,10 +9026,11 @@ type CreateVpnGatewayResponseType CreateVpnGatewayResponseType(; requestId=nothing, vpnGateway=nothing) = new(requestId, vpnGateway) end -function CreateVpnGatewayResponseType(pd::ETree) +function CreateVpnGatewayResponseType(pd) o = CreateVpnGatewayResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.vpnGateway = length(pd["vpnGateway"]) > 0 ? VpnGatewayType(LibExpat.find(pd,"vpnGateway[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.vpnGateway = length(pd["vpnGateway"]) > 0 ? VpnGatewayType(LightXML.find_element(pd,"vpnGateway[1]")) : nothing + o.vpnGateway = LightXML.find_element(pd,"vpnGateway") != nothing ? VpnGatewayType(LightXML.find_element(pd,"vpnGateway")) : nothing o end @@ -8971,14 +9048,14 @@ type RunInstancesResponseType RunInstancesResponseType(; requestId=nothing, reservationId=nothing, ownerId=nothing, groupSet=nothing, instancesSet=nothing, requesterId=nothing) = new(requestId, reservationId, ownerId, groupSet, instancesSet, requesterId) end -function RunInstancesResponseType(pd::ETree) +function RunInstancesResponseType(pd) o = RunInstancesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.reservationId = LibExpat.find(pd, "reservationId#string") - o.ownerId = LibExpat.find(pd, "ownerId#string") - o.groupSet = AWS.@parse_vector(AWS.EC2.GroupItemType, LibExpat.find(pd, "groupSet/item")) - o.instancesSet = AWS.@parse_vector(AWS.EC2.RunningInstancesItemType, LibExpat.find(pd, "instancesSet/item")) - o.requesterId = LibExpat.find(pd, "requesterId#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.reservationId = LightXML.content(LightXML.find_element(pd, "reservationId")) + o.ownerId = LightXML.content(LightXML.find_element(pd, "ownerId")) + o.groupSet = AWS.@parse_vector(AWS.EC2.GroupItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "groupSet"), "item")) + o.instancesSet = AWS.@parse_vector(AWS.EC2.RunningInstancesItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "instancesSet"), "item")) + ## MDP TODO o.requesterId = LightXML.content(LightXML.find_element(pd, "requesterId")) o end @@ -8992,10 +9069,10 @@ type RevokeSecurityGroupEgressType RevokeSecurityGroupEgressType(; groupId=nothing, ipPermissions=nothing) = new(groupId, ipPermissions) end -function RevokeSecurityGroupEgressType(pd::ETree) +function RevokeSecurityGroupEgressType(pd) o = RevokeSecurityGroupEgressType() - o.groupId = LibExpat.find(pd, "groupId#string") - o.ipPermissions = AWS.@parse_vector(AWS.EC2.IpPermissionType, LibExpat.find(pd, "ipPermissions/item")) + o.groupId = LightXML.content(LightXML.find_element(pd, "groupId")) + o.ipPermissions = AWS.@parse_vector(AWS.EC2.IpPermissionType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "ipPermissions"), "item")) o end @@ -9009,10 +9086,10 @@ type DescribeNetworkAclsResponseType DescribeNetworkAclsResponseType(; requestId=nothing, networkAclSet=nothing) = new(requestId, networkAclSet) end -function DescribeNetworkAclsResponseType(pd::ETree) +function DescribeNetworkAclsResponseType(pd) o = DescribeNetworkAclsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.networkAclSet = AWS.@parse_vector(AWS.EC2.NetworkAclType, LibExpat.find(pd, "networkAclSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.networkAclSet = AWS.@parse_vector(AWS.EC2.NetworkAclType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "networkAclSet"), "item")) o end @@ -9026,10 +9103,10 @@ type DescribeNetworkInterfacesResponseType DescribeNetworkInterfacesResponseType(; requestId=nothing, networkInterfaceSet=nothing) = new(requestId, networkInterfaceSet) end -function DescribeNetworkInterfacesResponseType(pd::ETree) +function DescribeNetworkInterfacesResponseType(pd) o = DescribeNetworkInterfacesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.networkInterfaceSet = AWS.@parse_vector(AWS.EC2.NetworkInterfaceType, LibExpat.find(pd, "networkInterfaceSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.networkInterfaceSet = AWS.@parse_vector(AWS.EC2.NetworkInterfaceType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "networkInterfaceSet"), "item")) o end @@ -9044,11 +9121,11 @@ type DescribeReservedInstancesOfferingsResponseType DescribeReservedInstancesOfferingsResponseType(; requestId=nothing, reservedInstancesOfferingsSet=nothing, nextToken=nothing) = new(requestId, reservedInstancesOfferingsSet, nextToken) end -function DescribeReservedInstancesOfferingsResponseType(pd::ETree) +function DescribeReservedInstancesOfferingsResponseType(pd) o = DescribeReservedInstancesOfferingsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.reservedInstancesOfferingsSet = AWS.@parse_vector(AWS.EC2.DescribeReservedInstancesOfferingsResponseSetItemType, LibExpat.find(pd, "reservedInstancesOfferingsSet/item")) - o.nextToken = LibExpat.find(pd, "nextToken#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.reservedInstancesOfferingsSet = AWS.@parse_vector(AWS.EC2.DescribeReservedInstancesOfferingsResponseSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "reservedInstancesOfferingsSet"), "item")) + o.nextToken = LightXML.content(LightXML.find_element(pd, "nextToken")) o end @@ -9076,24 +9153,26 @@ type SpotInstanceRequestSetItemType SpotInstanceRequestSetItemType(; spotInstanceRequestId=nothing, spotPrice=nothing, _type=nothing, state=nothing, fault=nothing, status=nothing, validFrom=nothing, validUntil=nothing, launchGroup=nothing, availabilityZoneGroup=nothing, launchSpecification=nothing, instanceId=nothing, createTime=nothing, productDescription=nothing, tagSet=nothing, launchedAvailabilityZone=nothing) = new(spotInstanceRequestId, spotPrice, _type, state, fault, status, validFrom, validUntil, launchGroup, availabilityZoneGroup, launchSpecification, instanceId, createTime, productDescription, tagSet, launchedAvailabilityZone) end -function SpotInstanceRequestSetItemType(pd::ETree) +function SpotInstanceRequestSetItemType(pd) o = SpotInstanceRequestSetItemType() - o.spotInstanceRequestId = LibExpat.find(pd, "spotInstanceRequestId#string") - o.spotPrice = LibExpat.find(pd, "spotPrice#string") - o._type = LibExpat.find(pd, "type#string") - o.state = LibExpat.find(pd, "state#string") - o.fault = length(pd["fault"]) > 0 ? SpotInstanceStateFaultType(LibExpat.find(pd,"fault[1]")) : nothing - o.status = length(pd["status"]) > 0 ? SpotInstanceStatusMessageType(LibExpat.find(pd,"status[1]")) : nothing - o.validFrom = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "validFrom#string")) - o.validUntil = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "validUntil#string")) - o.launchGroup = LibExpat.find(pd, "launchGroup#string") - o.availabilityZoneGroup = LibExpat.find(pd, "availabilityZoneGroup#string") - o.launchSpecification = length(pd["launchSpecification"]) > 0 ? LaunchSpecificationResponseType(LibExpat.find(pd,"launchSpecification[1]")) : nothing - o.instanceId = LibExpat.find(pd, "instanceId#string") - o.createTime = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "createTime#string")) - o.productDescription = LibExpat.find(pd, "productDescription#string") - o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LibExpat.find(pd, "tagSet/item")) - o.launchedAvailabilityZone = LibExpat.find(pd, "launchedAvailabilityZone#string") + o.spotInstanceRequestId = LightXML.content(LightXML.find_element(pd, "spotInstanceRequestId")) + o.spotPrice = LightXML.content(LightXML.find_element(pd, "spotPrice")) + o._type = LightXML.content(LightXML.find_element(pd, "type")) + o.state = LightXML.content(LightXML.find_element(pd, "state")) + ## o.fault = length(pd["fault"]) > 0 ? SpotInstanceStateFaultType(LightXML.find_element(pd,"fault[1]")) : nothing + o.fault = LightXML.find_element(pd,"fault") != nothing ? SpotInstanceStateFaultType(LightXML.find_element(pd,"fault")) : nothing + o.status = LightXML.find_element(pd,"status") != nothing ? SpotInstanceStatusMessageType(LightXML.find_element(pd,"status")) : nothing + o.validFrom = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "validFrom"))) + o.validUntil = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "validUntil"))) + o.launchGroup = LightXML.content(LightXML.find_element(pd, "launchGroup")) + o.availabilityZoneGroup = LightXML.content(LightXML.find_element(pd, "availabilityZoneGroup")) + ## o.launchSpecification = length(pd["launchSpecification"]) > 0 ? LaunchSpecificationResponseType(LightXML.find_element(pd,"launchSpecification[1]")) : nothing + o.launchSpecification = LightXML.find_element(pd,"launchSpecification") != nothing ? LaunchSpecificationResponseType(LightXML.find_element(pd,"launchSpecification")) : nothing + o.instanceId = LightXML.content(LightXML.find_element(pd, "instanceId")) + o.createTime = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "createTime"))) + o.productDescription = LightXML.content(LightXML.find_element(pd, "productDescription")) + o.tagSet = AWS.@parse_vector(AWS.EC2.ResourceTagSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "tagSet"), "item")) + o.launchedAvailabilityZone = LightXML.content(LightXML.find_element(pd, "launchedAvailabilityZone")) o end @@ -9107,10 +9186,11 @@ type ImportInstanceResponseType ImportInstanceResponseType(; requestId=nothing, conversionTask=nothing) = new(requestId, conversionTask) end -function ImportInstanceResponseType(pd::ETree) +function ImportInstanceResponseType(pd) o = ImportInstanceResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.conversionTask = length(pd["conversionTask"]) > 0 ? ConversionTaskType(LibExpat.find(pd,"conversionTask[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.conversionTask = length(pd["conversionTask"]) > 0 ? ConversionTaskType(LightXML.find_element(pd,"conversionTask[1]")) : nothing + o.conversionTask = LightXML.find_element(pd,"conversionTask") != nothing ? ConversionTaskType(LightXML.find_element(pd,"conversionTask")) : nothing o end @@ -9127,13 +9207,14 @@ type VolumeStatusItemType VolumeStatusItemType(; volumeId=nothing, availabilityZone=nothing, volumeStatus=nothing, eventsSet=nothing, actionsSet=nothing) = new(volumeId, availabilityZone, volumeStatus, eventsSet, actionsSet) end -function VolumeStatusItemType(pd::ETree) +function VolumeStatusItemType(pd) o = VolumeStatusItemType() - o.volumeId = LibExpat.find(pd, "volumeId#string") - o.availabilityZone = LibExpat.find(pd, "availabilityZone#string") - o.volumeStatus = length(pd["volumeStatus"]) > 0 ? VolumeStatusInfoType(LibExpat.find(pd,"volumeStatus[1]")) : nothing - o.eventsSet = AWS.@parse_vector(AWS.EC2.VolumeStatusEventItemType, LibExpat.find(pd, "eventsSet/item")) - o.actionsSet = AWS.@parse_vector(AWS.EC2.VolumeStatusActionItemType, LibExpat.find(pd, "actionsSet/item")) + o.volumeId = LightXML.content(LightXML.find_element(pd, "volumeId")) + o.availabilityZone = LightXML.content(LightXML.find_element(pd, "availabilityZone")) + ## o.volumeStatus = length(pd["volumeStatus"]) > 0 ? VolumeStatusInfoType(LightXML.find_element(pd,"volumeStatus[1]")) : nothing + o.volumeStatus = LightXML.find_element(pd,"volumeStatus") != nothing ? VolumeStatusInfoType(LightXML.find_element(pd,"volumeStatus")) : nothing + o.eventsSet = AWS.@parse_vector(AWS.EC2.VolumeStatusEventItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "eventsSet"), "item")) + o.actionsSet = AWS.@parse_vector(AWS.EC2.VolumeStatusActionItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "actionsSet"), "item")) o end @@ -9147,10 +9228,10 @@ type DescribeSpotInstanceRequestsResponseType DescribeSpotInstanceRequestsResponseType(; requestId=nothing, spotInstanceRequestSet=nothing) = new(requestId, spotInstanceRequestSet) end -function DescribeSpotInstanceRequestsResponseType(pd::ETree) +function DescribeSpotInstanceRequestsResponseType(pd) o = DescribeSpotInstanceRequestsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.spotInstanceRequestSet = AWS.@parse_vector(AWS.EC2.SpotInstanceRequestSetItemType, LibExpat.find(pd, "spotInstanceRequestSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.spotInstanceRequestSet = AWS.@parse_vector(AWS.EC2.SpotInstanceRequestSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "spotInstanceRequestSet"), "item")) o end @@ -9164,10 +9245,10 @@ type DescribeCustomerGatewaysResponseType DescribeCustomerGatewaysResponseType(; requestId=nothing, customerGatewaySet=nothing) = new(requestId, customerGatewaySet) end -function DescribeCustomerGatewaysResponseType(pd::ETree) +function DescribeCustomerGatewaysResponseType(pd) o = DescribeCustomerGatewaysResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.customerGatewaySet = AWS.@parse_vector(AWS.EC2.CustomerGatewayType, LibExpat.find(pd, "customerGatewaySet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.customerGatewaySet = AWS.@parse_vector(AWS.EC2.CustomerGatewayType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "customerGatewaySet"), "item")) o end @@ -9182,11 +9263,11 @@ type DescribeVolumeStatusResponseType DescribeVolumeStatusResponseType(; requestId=nothing, volumeStatusSet=nothing, nextToken=nothing) = new(requestId, volumeStatusSet, nextToken) end -function DescribeVolumeStatusResponseType(pd::ETree) +function DescribeVolumeStatusResponseType(pd) o = DescribeVolumeStatusResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.volumeStatusSet = AWS.@parse_vector(AWS.EC2.VolumeStatusItemType, LibExpat.find(pd, "volumeStatusSet/item")) - o.nextToken = LibExpat.find(pd, "nextToken#string") + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.volumeStatusSet = AWS.@parse_vector(AWS.EC2.VolumeStatusItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "volumeStatusSet"), "item")) + o.nextToken = LightXML.content(LightXML.find_element(pd, "nextToken")) o end @@ -9200,10 +9281,10 @@ type DescribeVpnGatewaysResponseType DescribeVpnGatewaysResponseType(; requestId=nothing, vpnGatewaySet=nothing) = new(requestId, vpnGatewaySet) end -function DescribeVpnGatewaysResponseType(pd::ETree) +function DescribeVpnGatewaysResponseType(pd) o = DescribeVpnGatewaysResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.vpnGatewaySet = AWS.@parse_vector(AWS.EC2.VpnGatewayType, LibExpat.find(pd, "vpnGatewaySet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.vpnGatewaySet = AWS.@parse_vector(AWS.EC2.VpnGatewayType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "vpnGatewaySet"), "item")) o end @@ -9231,24 +9312,28 @@ type LaunchSpecificationRequestType LaunchSpecificationRequestType(; imageId=nothing, keyName=nothing, securityGroupIdSet=nothing, securityGroupSet=nothing, userData=nothing, addressingType=nothing, instanceType=nothing, placement=nothing, kernelId=nothing, ramdiskId=nothing, blockDeviceMapping=nothing, monitoring=nothing, subnetId=nothing, networkInterfaceSet=nothing, iamInstanceProfile=nothing, ebsOptimized=nothing) = new(imageId, keyName, securityGroupIdSet, securityGroupSet, userData, addressingType, instanceType, placement, kernelId, ramdiskId, blockDeviceMapping, monitoring, subnetId, networkInterfaceSet, iamInstanceProfile, ebsOptimized) end -function LaunchSpecificationRequestType(pd::ETree) +function LaunchSpecificationRequestType(pd) o = LaunchSpecificationRequestType() - o.imageId = LibExpat.find(pd, "imageId#string") - o.keyName = LibExpat.find(pd, "keyName#string") - o.securityGroupIdSet = AWS.parse_vector_as(ASCIIString, "securityGroupId", LibExpat.find(pd, "item/securityGroupId")) - o.securityGroupSet = AWS.parse_vector_as(ASCIIString, "securityGroup", LibExpat.find(pd, "item/securityGroup")) - o.userData = length(pd["userData"]) > 0 ? UserDataType(LibExpat.find(pd,"userData[1]")) : nothing - o.addressingType = LibExpat.find(pd, "addressingType#string") - o.instanceType = LibExpat.find(pd, "instanceType#string") - o.placement = length(pd["placement"]) > 0 ? SpotPlacementRequestType(LibExpat.find(pd,"placement[1]")) : nothing - o.kernelId = LibExpat.find(pd, "kernelId#string") - o.ramdiskId = LibExpat.find(pd, "ramdiskId#string") - o.blockDeviceMapping = AWS.@parse_vector(AWS.EC2.BlockDeviceMappingItemType, LibExpat.find(pd, "blockDeviceMapping/item")) - o.monitoring = length(pd["monitoring"]) > 0 ? MonitoringInstanceType(LibExpat.find(pd,"monitoring[1]")) : nothing - o.subnetId = LibExpat.find(pd, "subnetId#string") - o.networkInterfaceSet = AWS.@parse_vector(AWS.EC2.InstanceNetworkInterfaceSetItemRequestType, LibExpat.find(pd, "networkInterfaceSet/item")) - o.iamInstanceProfile = length(pd["iamInstanceProfile"]) > 0 ? IamInstanceProfileRequestType(LibExpat.find(pd,"iamInstanceProfile[1]")) : nothing - o.ebsOptimized = AWS.safe_parse_as(Bool, LibExpat.find(pd, "ebsOptimized#string")) + o.imageId = LightXML.content(LightXML.find_element(pd, "imageId")) + o.keyName = LightXML.content(LightXML.find_element(pd, "keyName")) + o.securityGroupIdSet = AWS.parse_vector_as(ASCIIString, "securityGroupId", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "securityGroupId")) + o.securityGroupSet = AWS.parse_vector_as(ASCIIString, "securityGroup", LightXML.get_elements_by_tagname(LightXML.find_element(pd, "item"), "securityGroup")) + ## o.userData = length(pd["userData"]) > 0 ? UserDataType(LightXML.find_element(pd,"userData[1]")) : nothing + o.userData = LightXML.find_element(pd,"userData") != nothing ? UserDataType(LightXML.find_element(pd,"userData")) : nothing + o.addressingType = LightXML.content(LightXML.find_element(pd, "addressingType")) + o.instanceType = LightXML.content(LightXML.find_element(pd, "instanceType")) + ## o.placement = length(pd["placement"]) > 0 ? SpotPlacementRequestType(LightXML.find_element(pd,"placement[1]")) : nothing + o.placement = LightXML.find_element(pd,"placement") != nothing ? SpotPlacementRequestType(LightXML.find_element(pd,"placement")) : nothing + o.kernelId = LightXML.content(LightXML.find_element(pd, "kernelId")) + o.ramdiskId = LightXML.content(LightXML.find_element(pd, "ramdiskId")) + o.blockDeviceMapping = AWS.@parse_vector(AWS.EC2.BlockDeviceMappingItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "blockDeviceMapping"), "item")) + ## o.monitoring = length(pd["monitoring"]) > 0 ? MonitoringInstanceType(LightXML.find_element(pd,"monitoring[1]")) : nothing + o.monitoring = LightXML.find_element(pd,"monitoring") != nothing ? MonitoringInstanceType(LightXML.find_element(pd,"monitoring")) : nothing + o.subnetId = LightXML.content(LightXML.find_element(pd, "subnetId")) + o.networkInterfaceSet = AWS.@parse_vector(AWS.EC2.InstanceNetworkInterfaceSetItemRequestType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "networkInterfaceSet"), "item")) + ## o.iamInstanceProfile = length(pd["iamInstanceProfile"]) > 0 ? IamInstanceProfileRequestType(LightXML.find_element(pd,"iamInstanceProfile[1]")) : nothing + o.iamInstanceProfile = LightXML.find_element(pd,"iamInstanceProfile") != nothing ? IamInstanceProfileRequestType(LightXML.find_element(pd,"iamInstanceProfile")) : nothing + o.ebsOptimized = AWS.safe_parse_as(Bool, LightXML.content(LightXML.find_element(pd, "ebsOptimized"))) o end @@ -9265,13 +9350,14 @@ type ReservationInfoType ReservationInfoType(; reservationId=nothing, ownerId=nothing, groupSet=nothing, instancesSet=nothing, requesterId=nothing) = new(reservationId, ownerId, groupSet, instancesSet, requesterId) end -function ReservationInfoType(pd::ETree) +function ReservationInfoType(pd) o = ReservationInfoType() - o.reservationId = LibExpat.find(pd, "reservationId#string") - o.ownerId = LibExpat.find(pd, "ownerId#string") - o.groupSet = AWS.@parse_vector(AWS.EC2.GroupItemType, LibExpat.find(pd, "groupSet/item")) - o.instancesSet = AWS.@parse_vector(AWS.EC2.RunningInstancesItemType, LibExpat.find(pd, "instancesSet/item")) - o.requesterId = LibExpat.find(pd, "requesterId#string") + o.reservationId = LightXML.content(LightXML.find_element(pd, "reservationId")) + o.ownerId = LightXML.content(LightXML.find_element(pd, "ownerId")) + o.groupSet = AWS.@parse_vector(AWS.EC2.GroupItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "groupSet"), "item")) + o.instancesSet = AWS.@parse_vector(AWS.EC2.RunningInstancesItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "instancesSet"), "item")) + ## MDP TODO o.requesterId = LightXML.content(LightXML.find_element(pd, "requesterId")) + o.requesterId = LightXML.content(LightXML.find_element(pd, "ownerId")) o end @@ -9285,10 +9371,10 @@ type DescribeBundleTasksResponseType DescribeBundleTasksResponseType(; requestId=nothing, bundleInstanceTasksSet=nothing) = new(requestId, bundleInstanceTasksSet) end -function DescribeBundleTasksResponseType(pd::ETree) +function DescribeBundleTasksResponseType(pd) o = DescribeBundleTasksResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.bundleInstanceTasksSet = AWS.@parse_vector(AWS.EC2.BundleInstanceTaskType, LibExpat.find(pd, "bundleInstanceTasksSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.bundleInstanceTasksSet = AWS.@parse_vector(AWS.EC2.BundleInstanceTaskType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "bundleInstanceTasksSet"), "item")) o end @@ -9302,10 +9388,11 @@ type CreateRouteTableResponseType CreateRouteTableResponseType(; requestId=nothing, routeTable=nothing) = new(requestId, routeTable) end -function CreateRouteTableResponseType(pd::ETree) +function CreateRouteTableResponseType(pd) o = CreateRouteTableResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.routeTable = length(pd["routeTable"]) > 0 ? RouteTableType(LibExpat.find(pd,"routeTable[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.routeTable = length(pd["routeTable"]) > 0 ? RouteTableType(LightXML.find_element(pd,"routeTable[1]")) : nothing + o.routeTable = LightXML.find_element(pd,"routeTable") != nothing ? RouteTableType(LightXML.find_element(pd,"routeTable")) : nothing o end @@ -9319,10 +9406,10 @@ type RequestSpotInstancesResponseType RequestSpotInstancesResponseType(; requestId=nothing, spotInstanceRequestSet=nothing) = new(requestId, spotInstanceRequestSet) end -function RequestSpotInstancesResponseType(pd::ETree) +function RequestSpotInstancesResponseType(pd) o = RequestSpotInstancesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.spotInstanceRequestSet = AWS.@parse_vector(AWS.EC2.SpotInstanceRequestSetItemType, LibExpat.find(pd, "spotInstanceRequestSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.spotInstanceRequestSet = AWS.@parse_vector(AWS.EC2.SpotInstanceRequestSetItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "spotInstanceRequestSet"), "item")) o end @@ -9336,10 +9423,10 @@ type DescribeSubnetsResponseType DescribeSubnetsResponseType(; requestId=nothing, subnetSet=nothing) = new(requestId, subnetSet) end -function DescribeSubnetsResponseType(pd::ETree) +function DescribeSubnetsResponseType(pd) o = DescribeSubnetsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.subnetSet = AWS.@parse_vector(AWS.EC2.SubnetType, LibExpat.find(pd, "subnetSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.subnetSet = AWS.@parse_vector(AWS.EC2.SubnetType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "subnetSet"), "item")) o end @@ -9359,16 +9446,17 @@ type RequestSpotInstancesType RequestSpotInstancesType(; spotPrice=nothing, instanceCount=nothing, _type=nothing, validFrom=nothing, validUntil=nothing, launchGroup=nothing, availabilityZoneGroup=nothing, launchSpecification=nothing) = new(spotPrice, instanceCount, _type, validFrom, validUntil, launchGroup, availabilityZoneGroup, launchSpecification) end -function RequestSpotInstancesType(pd::ETree) +function RequestSpotInstancesType(pd) o = RequestSpotInstancesType() - o.spotPrice = LibExpat.find(pd, "spotPrice#string") - o.instanceCount = AWS.safe_parse_as(Int64, LibExpat.find(pd, "instanceCount#string")) - o._type = LibExpat.find(pd, "type#string") - o.validFrom = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "validFrom#string")) - o.validUntil = AWS.safe_parse_as(Base.Dates.DateTime, LibExpat.find(pd, "validUntil#string")) - o.launchGroup = LibExpat.find(pd, "launchGroup#string") - o.availabilityZoneGroup = LibExpat.find(pd, "availabilityZoneGroup#string") - o.launchSpecification = length(pd["launchSpecification"]) > 0 ? LaunchSpecificationRequestType(LibExpat.find(pd,"launchSpecification[1]")) : nothing + o.spotPrice = LightXML.content(LightXML.find_element(pd, "spotPrice")) + o.instanceCount = AWS.safe_parse_as(Int64, LightXML.content(LightXML.find_element(pd, "instanceCount"))) + o._type = LightXML.content(LightXML.find_element(pd, "type")) + o.validFrom = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "validFrom"))) + o.validUntil = AWS.safe_parse_as(Base.Dates.DateTime, LightXML.content(LightXML.find_element(pd, "validUntil"))) + o.launchGroup = LightXML.content(LightXML.find_element(pd, "launchGroup")) + o.availabilityZoneGroup = LightXML.content(LightXML.find_element(pd, "availabilityZoneGroup")) + ## o.launchSpecification = length(pd["launchSpecification"]) > 0 ? LaunchSpecificationRequestType(LightXML.find_element(pd,"launchSpecification[1]")) : nothing + o.launchSpecification = LightXML.find_element(pd,"launchSpecification") != nothing ? LaunchSpecificationRequestType(LightXML.find_element(pd,"launchSpecification")) : nothing o end @@ -9382,10 +9470,11 @@ type BundleInstanceResponseType BundleInstanceResponseType(; requestId=nothing, bundleInstanceTask=nothing) = new(requestId, bundleInstanceTask) end -function BundleInstanceResponseType(pd::ETree) +function BundleInstanceResponseType(pd) o = BundleInstanceResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.bundleInstanceTask = length(pd["bundleInstanceTask"]) > 0 ? BundleInstanceTaskType(LibExpat.find(pd,"bundleInstanceTask[1]")) : nothing + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + ## o.bundleInstanceTask = length(pd["bundleInstanceTask"]) > 0 ? BundleInstanceTaskType(LightXML.find_element(pd,"bundleInstanceTask[1]")) : nothing + o.bundleInstanceTask = LightXML.find_element(pd,"bundleInstanceTask") != nothing ? BundleInstanceTaskType(LightXML.find_element(pd,"bundleInstanceTask")) : nothing o end @@ -9399,10 +9488,10 @@ type DescribeInstancesResponseType DescribeInstancesResponseType(; requestId=nothing, reservationSet=nothing) = new(requestId, reservationSet) end -function DescribeInstancesResponseType(pd::ETree) +function DescribeInstancesResponseType(pd) o = DescribeInstancesResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.reservationSet = AWS.@parse_vector(AWS.EC2.ReservationInfoType, LibExpat.find(pd, "reservationSet/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.reservationSet = LightXML.find_element(pd, "reservationSet") != nothing ? AWS.@parse_vector(AWS.EC2.ReservationInfoType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "reservationSet"), "item")) : nothing o end @@ -9416,10 +9505,10 @@ type DescribeSecurityGroupsResponseType DescribeSecurityGroupsResponseType(; requestId=nothing, securityGroupInfo=nothing) = new(requestId, securityGroupInfo) end -function DescribeSecurityGroupsResponseType(pd::ETree) +function DescribeSecurityGroupsResponseType(pd) o = DescribeSecurityGroupsResponseType() - o.requestId = LibExpat.find(pd, "requestId#string") - o.securityGroupInfo = AWS.@parse_vector(AWS.EC2.SecurityGroupItemType, LibExpat.find(pd, "securityGroupInfo/item")) + o.requestId = LightXML.content(LightXML.find_element(pd, "requestId")) + o.securityGroupInfo = AWS.@parse_vector(AWS.EC2.SecurityGroupItemType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "securityGroupInfo"), "item")) o end diff --git a/src/s3_types.jl b/src/s3_types.jl index d4c61c906c..6e8d1a68f9 100644 --- a/src/s3_types.jl +++ b/src/s3_types.jl @@ -31,8 +31,8 @@ macro declare_utype(utype) end xml(o::$(esc(utype))) = xml($(string(utype)), [("ID", o.id), ("DisplayName", o.displayName)]) - function $(esc(utype))(pd::ETree) - o = $(esc(utype))(LibExpat.find(pd, "ID#string"), LibExpat.find(pd, "DisplayName#string")) + function $(esc(utype))(pd) + o = $(esc(utype))(LightXML.content(LightXML.find_element(pd, "ID")), LightXML.content(LightXML.find_element(pd, "DisplayName"))) end $(esc(utype))(nothing::Void) = nothing end @@ -69,20 +69,21 @@ type Grant end xml(o::Grant) = xml("Grant", [o.grantee, ("Permission", o.permission)]) # permission must be one of "READ", "WRITE", "READ_ACP", "WRITE_ACP" or "FULL_CONTROL" -function Grant(pd_g::ETree) - grantee_pd = LibExpat.find(pd_g, "Grantee[1]") +function Grant(pd_g) + ## TODO + grantee_pd = LightXML.find_element(pd_g, "Grantee[1]") grantee_type = grantee_pd.attr["xsi:type"] if grantee_type == "AmazonCustomerByEmail" - grantee=GranteeEmail(LibExpat.find(grantee_pd, "EmailAddress#string")) + grantee=GranteeEmail(LightXML.content(LightXML.find_element(grantee_pd, "EmailAddress"))) elseif grantee_type == "CanonicalUser" - grantee=GranteeID(LibExpat.find(grantee_pd, "ID#string"), LibExpat.find(grantee_pd, "DisplayName#string")) + grantee=GranteeID(LightXML.content(LightXML.find_element(grantee_pd, "ID")), LightXML.content(LightXML.find_element(grantee_pd, "DisplayName"))) elseif grantee_type == "Group" - grantee=GranteeURI(LibExpat.find(grantee_pd, "URI#string")) + grantee=GranteeURI(LightXML.content(LightXML.find_element(grantee_pd, "URI"))) else error("Unknown grantee type") end - permission = LibExpat.find(pd_g, "Permission#string") + permission = LightXML.content(LightXML.find_element(pd_g, "Permission")) Grant(grantee, permission) end export Grant @@ -97,14 +98,14 @@ type BucketLoggingStatus end BucketLoggingStatus() = BucketLoggingStatus(false, nothing, nothing, nothing) -function BucketLoggingStatus(pd_bls::ETree) +function BucketLoggingStatus(pd_bls) bls = BucketLoggingStatus() if length(pd_bls["LoggingEnabled"]) > 0 - bls.targetBucket = LibExpat.find(pd_bls, "LoggingEnabled/TargetBucket#string") - bls.targetPrefix = LibExpat.find(pd_bls, "LoggingEnabled/TargetPrefix#string") + bls.targetBucket = LightXML.content(LightXML.find_element(LightXML.find_element(pd_bls, "LoggingEnabled"), "TargetBucket")) + bls.targetPrefix = LightXML.content(LightXML.find_element(LightXML.find_element(pd_bls, "LoggingEnabled"), "TargetPrefix")) - grants = LibExpat.find(pd_bls, "LoggingEnabled/TargetGrants/Grant") - bls.targetGrants = AWS.@parse_vector(AWS.S3.Grant, grants) + ## grants = LightXML.find_element(pd_bls, "LoggingEnabled/TargetGrants/Grant") + bls.targetGrants = AWS.@parse_vector(AWS.S3.Grant, LightXML.get_elements_by_tagname(LightXML.find_element(LightXML.find_element(pd_bls, "LoggingEnabled"), "TargetGrants"), "Grant")) end bls end @@ -130,9 +131,9 @@ type AccessControlPolicy accessControlList::Vector{Grant} end -function AccessControlPolicy(pd_acl::ETree) - owner = Owner(LibExpat.find(pd_acl, "Owner[1]")) - accessControlList = AWS.@parse_vector(AWS.S3.Grant, LibExpat.find(pd_acl, "AccessControlList/Grant")) +function AccessControlPolicy(pd_acl) + owner = Owner(LightXML.find_element(pd_acl, "Owner")) + accessControlList = AWS.@parse_vector(AWS.S3.Grant, LightXML.get_elements_by_tagname(LightXML.find_element(pd_acl, "AccessControlList"), "Grant")) return AccessControlPolicy(owner, accessControlList) end @@ -149,7 +150,7 @@ export AccessControlPolicy type CreateBucketConfiguration locationConstraint::Union{AbstractString, Void} end -CreateBucketConfiguration(pd_cbc::ETree) = CreateBucketConfiguration(LibExpat.find(pd_cbc, "LocationConstraint#string")) +CreateBucketConfiguration(pd_cbc) = CreateBucketConfiguration(LightXML.content(LightXML.find_element(pd_cbc, "LocationConstraint"))) xml(o::CreateBucketConfiguration) = xml_hdr("CreateBucketConfiguration") * xml("LocationConstraint", o.locationConstraint) * xml_ftr("CreateBucketConfiguration") @@ -165,14 +166,14 @@ type Contents owner::Union{Owner, Void} storageClass::Union{AbstractString, Void} end -function Contents(pd_le::ETree) - key = LibExpat.find(pd_le, "Key#string") - datestr = LibExpat.find(pd_le, "LastModified#string") +function Contents(pd_le) + key = LightXML.content(LightXML.find_element(pd_le, "Key")) + datestr = LightXML.content(LightXML.find_element(pd_le, "LastModified")) t = DateTime(datestr[1:end-1], "y-m-dTH:M:S.s") - etag = LibExpat.find(pd_le, "ETag#string") - size = AWS.safe_parseint64(LibExpat.find(pd_le, "Size#string")) - owner=Owner(LibExpat.find(pd_le, "Owner[1]")) - storageClass = LibExpat.find(pd_le, "StorageClass#string") + etag = LightXML.content(LightXML.find_element(pd_le, "ETag")) + size = AWS.safe_parseint64(LightXML.content(LightXML.find_element(pd_le, "Size"))) + owner=Owner(LightXML.find_element(pd_le, "Owner")) + storageClass = LightXML.content(LightXML.find_element(pd_le, "StorageClass")) Contents(key, t, etag, size, owner, storageClass) end @@ -183,7 +184,7 @@ export Contents type CommonPrefixes prefix::Union{AbstractString, Void} end -CommonPrefixes(pd_cp::ETree) = CommonPrefixes(LibExpat.find(pd_cp, "Prefix#string")) +CommonPrefixes(pd_cp) = CommonPrefixes(LightXML.content(LightXML.find_element(pd_cp, "Prefix"))) export CommonPrefixes @@ -201,15 +202,15 @@ type ListBucketResult ListBucketResult() = new(nothing,nothing,nothing,nothing,nothing,nothing,nothing,Contents[], CommonPrefixes[]) end -function ListBucketResult(pd_lbr::ETree) +function ListBucketResult(pd_lbr) lbr = ListBucketResult() - lbr.name = LibExpat.find(pd_lbr, "Name#string") - lbr.prefix = LibExpat.find(pd_lbr, "Prefix#string") - lbr.marker = LibExpat.find(pd_lbr, "Marker#string") - lbr.nextMarker = LibExpat.find(pd_lbr, "NextMarker#string") - lbr.maxKeys = AWS.safe_parseint(LibExpat.find(pd_lbr, "MaxKeys#string")) - lbr.delimiter = LibExpat.find(pd_lbr, "Delimiter#string") - lbr.isTruncated = AWS.safe_parsebool(LibExpat.find(pd_lbr, "IsTruncated#string")) + lbr.name = LightXML.content(LightXML.find_element(pd_lbr, "Name")) + lbr.prefix = LightXML.content(LightXML.find_element(pd_lbr, "Prefix")) + lbr.marker = LightXML.content(LightXML.find_element(pd_lbr, "Marker")) + lbr.nextMarker = LightXML.content(LightXML.find_element(pd_lbr, "NextMarker")) + lbr.maxKeys = AWS.safe_parseint(LightXML.content(LightXML.find_element(pd_lbr, "MaxKeys"))) + lbr.delimiter = LightXML.content(LightXML.find_element(pd_lbr, "Delimiter")) + lbr.isTruncated = AWS.safe_parsebool(LightXML.content(LightXML.find_element(pd_lbr, "IsTruncated"))) lbr.contents = AWS.@parse_vector(AWS.S3.Contents, pd_lbr["Contents"]) lbr.commonPrefixes = AWS.@parse_vector(AWS.S3.CommonPrefixes, pd_lbr["CommonPrefixes"]) lbr @@ -226,16 +227,16 @@ type Version owner::Union{Owner, Void} storageClass::Union{AbstractString, Void} end -function Version(pd_v::ETree) - key = LibExpat.find(pd_v, "Key#string") - versionId = LibExpat.find(pd_v, "VersionId#string") - isLatest = (lowercase(LibExpat.find(pd_v, "IsLatest#string")) == "true") ? true : false - datestr = LibExpat.find(pd_v, "LastModified#string") +function Version(pd_v) + key = LightXML.content(LightXML.find_element(pd_v, "Key")) + versionId = LightXML.content(LightXML.find_element(pd_v, "VersionId")) + isLatest = (lowercase(LightXML.content(LightXML.find_element(pd_v, "IsLatest"))) == "true") ? true : false + datestr = LightXML.content(LightXML.find_element(pd_v, "LastModified")) t = DateTime(datestr[1:end-1], "y-m-dTH:M:S.s") - etag = LibExpat.find(pd_v, "ETag#string") - size = AWS.safe_parseint64(LibExpat.find(pd_v, "Size#string")) - owner=Owner(LibExpat.find(pd_v, "Owner[1]")) - storageClass = LibExpat.find(pd_v, "StorageClass#string") + etag = LightXML.content(LightXML.find_element(pd_v, "ETag")) + size = AWS.safe_parseint64(LightXML.content(LightXML.find_element(pd_v, "Size"))) + owner=Owner(LightXML.find_element(pd_v, "Owner")) + storageClass = LightXML.content(LightXML.find_element(pd_v, "StorageClass")) Version(key, versionId, isLatest, t, etag, size, owner, storageClass) end @@ -250,13 +251,13 @@ type DeleteMarker lastModified::DateTime owner::Union{Owner, Void} end -function DeleteMarker(pd_dm::ETree) - key = LibExpat.find(pd_dm, "Key#string") - versionId = LibExpat.find(pd_dm, "VersionId#string") - isLatest = (lowercase(LibExpat.find(pd_dm, "IsLatest#string")) == "true") ? true : false - datestr = LibExpat.find(pd_dm, "LastModified#string") +function DeleteMarker(pd_dm) + key = LightXML.content(LightXML.find_element(pd_dm, "Key")) + versionId = LightXML.content(LightXML.find_element(pd_dm, "VersionId")) + isLatest = (lowercase(LightXML.content(LightXML.find_element(pd_dm, "IsLatest"))) == "true") ? true : false + datestr = LightXML.content(LightXML.find_element(pd_dm, "LastModified")) t = DateTime(datestr[1:end-1], "y-m-dTH:M:S.s") - owner=Owner(LibExpat.find(pd_dm, "Owner[1]")) + owner=Owner(LightXML.find_element(pd_dm, "Owner")) DeleteMarker(key, versionId, isLatest, t, owner) end export DeleteMarker @@ -280,20 +281,20 @@ type ListVersionsResult ListVersionsResult() = new() end -function ListVersionsResult(pd_lvr::ETree) +function ListVersionsResult(pd_lvr) lvr = ListVersionsResult() - lvr.name = LibExpat.find(pd_lvr, "Name#string") - lvr.prefix = LibExpat.find(pd_lvr, "Prefix#string") - lvr.keyMarker = LibExpat.find(pd_lvr, "KeyMarker#string") - lvr.versionIdMarker = LibExpat.find(pd_lvr, "VersionIdMarker#string") - lvr.nextKeyMarker = LibExpat.find(pd_lvr, "NextKeyMarker#string") - lvr.nextVersionIdMarker = LibExpat.find(pd_lvr, "NextVersionIdMarker#string") - lvr.maxKeys = AWS.safe_parseint(LibExpat.find(pd_lvr, "MaxKeys#string")) - lvr.delimiter = LibExpat.find(pd_lvr, "Delimiter#string") - lvr.isTruncated = AWS.safe_parsebool(LibExpat.find(pd_lvr, "IsTruncated#string")) - lvr.version = AWS.@parse_vector(AWS.S3.Version, LibExpat.find(pd_lvr, "Version")) - lvr.deleteMarker = AWS.@parse_vector(AWS.S3.DeleteMarker, LibExpat.find(pd_lvr, "DeleteMarker")) - lvr.commonPrefixes = AWS.@parse_vector(AWS.S3.CommonPrefixes, LibExpat.find(pd_lvr, "CommonPrefixes")) + lvr.name = LightXML.content(LightXML.find_element(pd_lvr, "Name")) + lvr.prefix = LightXML.content(LightXML.find_element(pd_lvr, "Prefix")) + lvr.keyMarker = LightXML.content(LightXML.find_element(pd_lvr, "KeyMarker")) + lvr.versionIdMarker = LightXML.content(LightXML.find_element(pd_lvr, "VersionIdMarker")) + lvr.nextKeyMarker = LightXML.content(LightXML.find_element(pd_lvr, "NextKeyMarker")) + lvr.nextVersionIdMarker = LightXML.content(LightXML.find_element(pd_lvr, "NextVersionIdMarker")) + lvr.maxKeys = AWS.safe_parseint(LightXML.content(LightXML.find_element(pd_lvr, "MaxKeys"))) + lvr.delimiter = LightXML.content(LightXML.find_element(pd_lvr, "Delimiter")) + lvr.isTruncated = AWS.safe_parsebool(LightXML.content(LightXML.find_element(pd_lvr, "IsTruncated"))) + lvr.version = AWS.@parse_vector(AWS.S3.Version, LightXML.get_elements_by_tagname(pd_lvr, "Version")) + lvr.deleteMarker = AWS.@parse_vector(AWS.S3.DeleteMarker, LightXML.get_elements_by_tagname(pd_lvr, "DeleteMarker")) + lvr.commonPrefixes = AWS.@parse_vector(AWS.S3.CommonPrefixes, LightXML.get_elements_by_tagname(pd_lvr, "CommonPrefixes")) lvr end export ListVersionsResult @@ -304,11 +305,11 @@ type Bucket name::Union{AbstractString, Void} creationDate::DateTime end -function Bucket(pd_b::ETree) - datestr = LibExpat.find(pd_b, "CreationDate#string") +function Bucket(pd_b) + datestr = LightXML.content(LightXML.find_element(pd_b, "CreationDate")) t = DateTime(datestr[1:end-1], "y-m-dTH:M:S.s") - Bucket(LibExpat.find(pd_b, "Name#string"), t) + Bucket(LightXML.content(LightXML.find_element(pd_b, "Name")), t) end export Bucket @@ -319,9 +320,9 @@ type ListAllMyBucketsResult owner::Union{Owner, Void} buckets::Vector{Bucket} end -function ListAllMyBucketsResult(pd_lab::ETree) - owner = Owner(LibExpat.find(pd_lab, "Owner[1]")) - buckets = AWS.@parse_vector(AWS.S3.AWS.S3.Bucket, LibExpat.find(pd_lab, "Buckets/Bucket")) +function ListAllMyBucketsResult(pd_lab) + owner = Owner(LightXML.find_element(pd_lab, "Owner")) + buckets = AWS.@parse_vector(AWS.S3.AWS.S3.Bucket, LightXML.get_elements_by_tagname(LightXML.find_element(pd_lab, "Buckets"), "Bucket")) ListAllMyBucketsResult(owner, buckets) end export ListAllMyBucketsResult @@ -331,11 +332,11 @@ type CopyObjectResult lastModified::DateTime eTag::Union{AbstractString, Void} end -function CopyObjectResult(pd_cor::ETree) - datestr = LibExpat.find(pd_cor, "LastModified#string") +function CopyObjectResult(pd_cor) + datestr = LightXML.content(LightXML.find_element(pd_cor, "LastModified")) t = DateTime(datestr[1:end-1], "y-m-dTH:M:S.s") - CopyObjectResult(t, LibExpat.find(pd_cor, "ETag#string")) + CopyObjectResult(t, LightXML.content(LightXML.find_element(pd_cor, "ETag"))) end export CopyObjectResult @@ -345,7 +346,7 @@ type RequestPaymentConfiguration payer::Union{AbstractString, Void} end xml(o::RequestPaymentConfiguration) = xml_hdr("RequestPaymentConfiguration") * xml("Payer", o.payer) * xml_ftr("RequestPaymentConfiguration") -RequestPaymentConfiguration(pd_rpc::ETree) = RequestPaymentConfiguration(LibExpat.find(pd_rpc, "Payer#string")) +RequestPaymentConfiguration(pd_rpc) = RequestPaymentConfiguration(LightXML.content(LightXML.find_element(pd_rpc, "Payer"))) export RequestPaymentConfiguration type VersioningConfiguration @@ -358,9 +359,9 @@ function xml(o::VersioningConfiguration) ((o.mfaDelete != "") ? xml("MfaDelete", o.mfaDelete) : "") * xml_ftr("VersioningConfiguration") end -function VersioningConfiguration(pd_vc::ETree) - status = length(pd_vc["Status"]) > 0 ? LibExpat.find(pd_vc, "Status#string") : "" - mfaDelete = length(pd_vc["MfaDelete"]) > 0 ? LibExpat.find(pd_vc, "MfaDelete#string") : "" +function VersioningConfiguration(pd_vc) + status = LightXML.find_element(pd_vc, "Status") != nothing ? LightXML.content(LightXML.find_element(pd_vc, "Status")) : "" + mfaDelete = LightXML.find_element(pd_vc, "MfaDelete") != nothing ? LightXML.content(LightXML.find_element(pd_vc, "MfaDelete")) : "" VersioningConfiguration(status, mfaDelete) end @@ -370,11 +371,12 @@ type TopicConfiguration topic::Union{AbstractString, Void} event::Vector{AbstractString} end -function TopicConfiguration(pd_tc::ETree) - topic = LibExpat.find(pd_tc, "Topic#string") +function TopicConfiguration(pd_tc) + topic = LightXML.content(LightXML.find_element(pd_tc, "Topic")) event = AbstractString[] - for pde in LibExpat.find(pd_tc, "Event") - push!(event, pde.text) + for pde in LightXML.find_element(pd_tc, "Event") + ## push!(event, pde.text) + push!(event, LightXML.content(pde)) end TopicConfiguration(topic, event) end @@ -394,7 +396,7 @@ export TopicConfiguration type NotificationConfiguration topicConfiguration::Union{Vector{TopicConfiguration}, Void} end -NotificationConfiguration(pd::ETree) = NotificationConfiguration(AWS.@parse_vector(AWS.S3.TopicConfiguration, LibExpat.find(pd, "TopicConfiguration"))) +NotificationConfiguration(pd) = NotificationConfiguration(AWS.@parse_vector(AWS.S3.TopicConfiguration, LightXML.get_elements_by_tagname(pd, "TopicConfiguration"))) function xml(o::NotificationConfiguration) if o.topicConfiguration == nothing @@ -415,8 +417,8 @@ type InitiateMultipartUploadResult key::Union{AbstractString, Void} uploadId::Union{AbstractString, Void} end -function InitiateMultipartUploadResult(pd::ETree) - InitiateMultipartUploadResult(LibExpat.find(pd, "Bucket#string"), LibExpat.find(pd, "Key#string"), LibExpat.find(pd, "UploadId#string")) +function InitiateMultipartUploadResult(pd) + InitiateMultipartUploadResult(LightXML.content(LightXML.find_element(pd, "Bucket")), LightXML.content(LightXML.find_element(pd, "Key")), LightXML.content(LightXML.find_element(pd, "UploadId"))) end export InitiateMultipartUploadResult @@ -426,10 +428,10 @@ type CopyPartResult lastModified::DateTime eTag::Union{AbstractString, Void} end -function CopyPartResult(pd::ETree) - datestr = LibExpat.find(pd, "LastModified#string") +function CopyPartResult(pd) + datestr = LightXML.content(LightXML.find_element(pd, "LastModified")) t = DateTime(datestr[1:end-1], "y-m-dTH:M:S") - CopyPartResult(t, LibExpat.find(pd, "ETag#string")) + CopyPartResult(t, LightXML.content(LightXML.find_element(pd, "ETag"))) end export CopyPartResult @@ -444,11 +446,11 @@ type Part end # We don't need to xmlify lastModified and Size... xml(o::Part) = xml("Part", [("PartNumber", o.partNumber), ("ETag", o.eTag)]) -function Part(pd::ETree) - datestr = LibExpat.find(pd, "LastModified#string") +function Part(pd) + datestr = LightXML.content(LightXML.find_element(pd, "LastModified")) t = DateTime(datestr[1:end-1], "y-m-dTH:M:S.s") - Part(LibExpat.find(pd, "PartNumber#string"), t, LibExpat.find(pd, "ETag#string"), int64(LibExpat.find(pd, "Size#string"))) + Part(LightXML.content(LightXML.find_element(pd, "PartNumber")), t, LightXML.content(LightXML.find_element(pd, "ETag")), int64(LightXML.content(LightXML.find_element(pd, "Size")))) end export Part @@ -465,12 +467,12 @@ type CompleteMultipartUploadResult key::Union{AbstractString, Void} eTag::Union{AbstractString, Void} end -CompleteMultipartUploadResult(pd::ETree) = +CompleteMultipartUploadResult(pd) = CompleteMultipartUploadResult( - LibExpat.find(pd, "Location#string"), - LibExpat.find(pd, "Bucket#string"), - LibExpat.find(pd, "Key#string"), - LibExpat.find(pd, "ETag#string"), + LightXML.content(LightXML.find_element(pd, "Location")), + LightXML.content(LightXML.find_element(pd, "Bucket")), + LightXML.content(LightXML.find_element(pd, "Key")), + LightXML.content(LightXML.find_element(pd, "ETag")), ) export CompleteMultipartUploadResult @@ -488,19 +490,19 @@ type ListPartsResult isTruncated::Union{Bool, Void} parts::Vector{Part} end -function ListPartsResult(pd::ETree) +function ListPartsResult(pd) ListPartsResult( - LibExpat.find(pd, "Bucket#string"), - LibExpat.find(pd, "Key#string"), - LibExpat.find(pd, "UploadId#string"), - Initiator(LibExpat.find(pd, "Initiator[1]")), - Owner(LibExpat.find(pd, "Owner[1]")), - LibExpat.find(pd, "StorageClass#string"), - LibExpat.find(pd, "PartNumberMarker#string"), - LibExpat.find(pd, "NextPartNumberMarker#string"), - int(LibExpat.find(pd, "MaxParts#string")), - (lowercase(LibExpat.find(pd, "IsTruncated#string")) == "true") ? true : false, - AWS.@parse_vector(AWS.S3.Part, LibExpat.find(pd, "Part")) + LightXML.content(LightXML.find_element(pd, "Bucket")), + LightXML.content(LightXML.find_element(pd, "Key")), + LightXML.content(LightXML.find_element(pd, "UploadId")), + Initiator(LightXML.find_element(pd, "Initiator")), + Owner(LightXML.find_element(pd, "Owner")), + LightXML.content(LightXML.find_element(pd, "StorageClass")), + LightXML.content(LightXML.find_element(pd, "PartNumberMarker")), + LightXML.content(LightXML.find_element(pd, "NextPartNumberMarker")), + int(LightXML.content(LightXML.find_element(pd, "MaxParts"))), + (lowercase(LightXML.content(LightXML.find_element(pd, "IsTruncated"))) == "true") ? true : false, + AWS.@parse_vector(AWS.S3.Part, LightXML.get_elements_by_tagname(pd, "Part")) ) end export ListPartsResult @@ -513,15 +515,15 @@ type Upload storageClass::Union{AbstractString, Void} initiated::Union{DateTime, Void} end -function Upload(pd::ETree) - datestr = LibExpat.find(pd, "Initiated#string") +function Upload(pd) + datestr = LightXML.content(LightXML.find_element(pd, "Initiated")) t = DateTime(datestr[1:end-1], "y-m-dTH:M:S.s") Upload( - LibExpat.find(pd, "Key#string"), - LibExpat.find(pd, "UploadId#string"), - Initiator(LibExpat.find(pd, "Initiator[1]")), - Owner(LibExpat.find(pd, "Owner[1]")), - LibExpat.find(pd, "StorageClass#string"), + LightXML.content(LightXML.find_element(pd, "Key")), + LightXML.content(LightXML.find_element(pd, "UploadId")), + Initiator(LightXML.find_element(pd, "Initiator")), + Owner(LightXML.find_element(pd, "Owner")), + LightXML.content(LightXML.find_element(pd, "StorageClass")), t ) end @@ -540,19 +542,19 @@ type ListMultipartUploadsResult upload::Union{Vector{Upload}, Void} commonPrefixes::Union{Vector{CommonPrefixes}, Void} end -function ListMultipartUploadsResult(pd::ETree) +function ListMultipartUploadsResult(pd) ListMultipartUploadsResult( - LibExpat.find(pd, "Bucket#string"), - LibExpat.find(pd, "Prefix#string"), - LibExpat.find(pd, "KeyMarker#string"), - LibExpat.find(pd, "UploadIdMarker#string"), - LibExpat.find(pd, "NextKeyMarker#string"), - LibExpat.find(pd, "NextUploadIdMarker#string"), - AWS.safe_parseint(LibExpat.find(pd, "MaxUploads#string")), - LibExpat.find(pd, "Delimiter#string"), - AWS.safe_parsebool(LibExpat.find(pd, "IsTruncated#string")), - AWS.@parse_vector(AWS.S3.Upload, LibExpat.find(pd, "Upload")), - AWS.@parse_vector(AWS.S3.CommonPrefixes, LibExpat.find(pd, "CommonPrefixes")) + LightXML.content(LightXML.find_element(pd, "Bucket")), + LightXML.content(LightXML.find_element(pd, "Prefix")), + LightXML.content(LightXML.find_element(pd, "KeyMarker")), + LightXML.content(LightXML.find_element(pd, "UploadIdMarker")), + LightXML.content(LightXML.find_element(pd, "NextKeyMarker")), + LightXML.content(LightXML.find_element(pd, "NextUploadIdMarker")), + AWS.safe_parseint(LightXML.content(LightXML.find_element(pd, "MaxUploads"))), + LightXML.content(LightXML.find_element(pd, "Delimiter")), + AWS.safe_parsebool(LightXML.content(LightXML.find_element(pd, "IsTruncated"))), + AWS.@parse_vector(AWS.S3.Upload, LightXML.get_elements_by_tagname(pd, "Upload")), + AWS.@parse_vector(AWS.S3.CommonPrefixes, LightXML.get_elements_by_tagname(pd, "CommonPrefixes")) ) end export ListMultipartUploadsResult @@ -575,14 +577,14 @@ xml(o::CORSRule) = xml("CORSRule", [ ("ExposeHeader", o.exposeHeader) ]) -function CORSRule(pd::ETree) - id = LibExpat.find(pd, "ID#string") - allowedMethod = parse_vector_as(AbstractString, "AllowedMethod", LibExpat.find(pd, "AllowedMethod")) - allowedOrigin = parse_vector_as(AbstractString, "AllowedOrigin", LibExpat.find(pd, "AllowedOrigin")) - allowedHeader = parse_vector_as(AbstractString, "AllowedHeader", LibExpat.find(pd, "AllowedHeader")) - seconds = LibExpat.find(pd, "MaxAgeSeconds#string") +function CORSRule(pd) + id = LightXML.content(LightXML.find_element(pd, "ID")) + allowedMethod = parse_vector_as(AbstractString, "AllowedMethod", LightXML.get_elements_by_tagname(pd, "AllowedMethod")) + allowedOrigin = parse_vector_as(AbstractString, "AllowedOrigin", LightXML.get_elements_by_tagname(pd, "AllowedOrigin")) + allowedHeader = parse_vector_as(AbstractString, "AllowedHeader", LightXML.get_elements_by_tagname(pd, "AllowedHeader")) + seconds = LightXML.content(LightXML.find_element(pd, "MaxAgeSeconds")) if (seconds != nothing) maxAgeSeconds = int(seconds) end - exposeHeader = parse_vector_as(AbstractString, "ExposeHeader", LibExpat.find(pd, "ExposeHeader")) + exposeHeader = parse_vector_as(AbstractString, "ExposeHeader", LightXML.get_elements_by_tagname(pd, "ExposeHeader")) CORSRule(id, allowedMethod, allowedOrigin, allowedHeader, maxAgeSeconds, exposeHeader) @@ -594,7 +596,7 @@ type CORSConfiguration corsrules::Vector{CORSRule} end xml(o::CORSConfiguration) = xml("CORSConfiguration", o.corsrules) -CORSConfiguration(pd::ETree) = AWS.@parse_vector(AWS.S3.CORSRule, LibExpat.find(pd, "CORSRule")) +CORSConfiguration(pd) = AWS.@parse_vector(AWS.S3.CORSRule, LightXML.get_elements_by_tagname(pd, "CORSRule")) type S3Error @@ -604,12 +606,12 @@ type S3Error hostId::Union{AbstractString, Void} requestId::Union{AbstractString, Void} end -function S3Error(pde::ETree) - code = LibExpat.find(pde, "Code#string") - message = LibExpat.find(pde, "Message#string") - resource = LibExpat.find(pde, "Resource#string") - hostId = LibExpat.find(pde, "HostId#string") - requestId = LibExpat.find(pde, "RequestId#string") +function S3Error(pde) + code = LightXML.content(LightXML.find_element(pde, "Code")) + message = LightXML.content(LightXML.find_element(pde, "Message")) + resource = LightXML.content(LightXML.find_element(pde, "Resource")) + hostId = LightXML.content(LightXML.find_element(pde, "HostId")) + requestId = LightXML.content(LightXML.find_element(pde, "RequestId")) S3Error(code, message, resource, hostId, requestId) end @@ -948,12 +950,12 @@ type Deleted marker_version_id::Union{AbstractString, Void} end Deleted() = Deleted(nothing,nothing,nothing,nothing) -function Deleted(pd::ETree) +function Deleted(pd) d = Deleted() - d.key = LibExpat.find(pd, "Key#string") - d.version_id = LibExpat.find(pd, "VersionId#string") - d.marker = AWS.safe_parsebool(LibExpat.find(pd, "DeleteMarker#string")) - d.marker_version_id = LibExpat.find(pd, "DeleteMarkerVersionId#string") + d.key = LightXML.content(LightXML.find_element(pd, "Key")) + d.version_id = LightXML.content(LightXML.find_element(pd, "VersionId")) + d.marker = AWS.safe_parsebool(LightXML.content(LightXML.find_element(pd, "DeleteMarker"))) + d.marker_version_id = LightXML.content(LightXML.find_element(pd, "DeleteMarkerVersionId")) d end export Deleted @@ -967,12 +969,12 @@ type DeleteError message::Union{AbstractString, Void} end DeleteError() = DeleteError(nothing,nothing,nothing,nothing) -function DeleteError(pd::ETree) +function DeleteError(pd) de = DeleteError() - de.key = LibExpat.find(pd, "Key#string") - de.version_id = LibExpat.find(pd, "VersionId#string") - de.code = LibExpat.find(pd, "Code#string") - de.message = LibExpat.find(pd, "Message#string") + de.key = LightXML.content(LightXML.find_element(pd, "Key")) + de.version_id = LightXML.content(LightXML.find_element(pd, "VersionId")) + de.code = LightXML.content(LightXML.find_element(pd, "Code")) + de.message = LightXML.content(LightXML.find_element(pd, "Message")) de end export DeleteError @@ -983,7 +985,7 @@ type DeleteResult delete_errors::Union{Vector{DeleteError}, Void} end DeleteResult() = DeleteResult(nothing, nothing) -function DeleteResult(pd::ETree) +function DeleteResult(pd) dr = DeleteResult() deleted = pd["Deleted"] if length(deleted) > 0 diff --git a/src/sign.jl b/src/sign.jl index f645c69ca3..ac47c8d19a 100644 --- a/src/sign.jl +++ b/src/sign.jl @@ -1,3 +1,4 @@ + function canonicalize_and_sign(env::AWSEnv, service, method, params) if env.sig_ver == 2 signature_version_2(env, service, method, copy(params)) @@ -9,7 +10,39 @@ function canonicalize_and_sign(env::AWSEnv, service, method, params) end export canonicalize_and_sign -function signature_version_2(env::AWSEnv, service, method, request_parameters) +#= +import URIParser +function urlencode_params(params::Vector{Tuple}) + buf = IOBuffer() + for param in params + print(buf, URIParser.escape(param[1])) + print(buf, '=') + print(buf, URIParser.escape(param[2])) + print(buf, '&') + end + if buf.size > 0 + buf.size -= 1 # trim off last & + end + return takebuf_string(buf) +end + +function urlencode_form(params::Vector{Tuple}) + buf = IOBuffer() + for param in params + print(buf, URIParser.escape_form(param[1])) + print(buf, '=') + print(buf, URIParser.escape_form(param[2])) + print(buf, '&') + end + if buf.size > 0 + buf.size -= 1 # trim off last & + end + return takebuf_string(buf) +end +=# + + +function signature_version_2(env::AWSEnv, service, use_post, request_parameters) if env.aws_token != "" push!(request_parameters, ("SecurityToken", env.aws_token)) end @@ -17,7 +50,9 @@ function signature_version_2(env::AWSEnv, service, method, request_parameters) push!(request_parameters, ("SignatureMethod", "HmacSHA256")) sort!(request_parameters) - canonical_querystring = HTTPC.urlencode_query_params(request_parameters) + canonical_querystring = Requests.format_query_str(request_parameters) + + method = use_post ? "POST" : "GET" string_to_sign = method * "\n" * ep_host(env, service) * "\n" * env.ep_path * "\n" * canonical_querystring @@ -33,32 +68,43 @@ function signature_version_2(env::AWSEnv, service, method, request_parameters) println("--------\nString to sign:\n" * string_to_sign * "\n--------") end - return (Tuple[], HTTPC.urlencode_query_params(request_parameters)) + return (Tuple[], Requests.format_query_str(request_parameters)) end -function signature_version_4(env::AWSEnv, service, method, request_parameters) +function signature_version_4(env::AWSEnv, service, use_post, request_parameters) # inputs to request sort!(request_parameters) amzdate = get_utc_timestamp(; basic=true) datestamp = amzdate[1:searchindex(amzdate, "T")-1] payload = "" ##### Assume empty payload for the moment. + if use_post + ## payload = urlencode_form(request_parameters) + payload = Requests.format_query_str(request_parameters) + request_parameters = Array(Tuple, 0) + end + + method = use_post ? "POST" : "GET" + # Task 1: canonical request canonical_uri = env.ep_path - canonical_querystring = HTTPC.urlencode_query_params(request_parameters) + canonical_querystring = Requests.format_query_str(request_parameters) + ## canonical_querystring = urlencode_params(request_parameters) canonical_headers = "host:" * ep_host(env, service) * "\n" * "x-amz-date:" * amzdate * "\n" signed_headers = "host;x-amz-date" payload_hash = bytes2hex(Crypto.sha256(payload)) canonical_request = method * "\n" * canonical_uri * "\n" * canonical_querystring * "\n" * canonical_headers * "\n" * signed_headers * "\n" * payload_hash + # Task 2: string to sign algorithm = "AWS4-HMAC-SHA256" - credential_scope = datestamp * "/" * env.region * "/" * service * "/" * "aws4_request" + credential_scope = datestamp * "/" * env.region * "/" * service * "/" * "aws4_request" + string_to_sign = algorithm * "\n" * amzdate * "\n" * credential_scope * "\n" * bytes2hex(Crypto.sha256(canonical_request)) # Task 3: calculate the signature - signing_key = get_signature_key(env.aws_seckey, datestamp, env.region, service) + signing_key = get_signature_key(env.aws_seckey, datestamp, env.region, service, method) signature = bytes2hex(sign(signing_key, string_to_sign)) # Task 4: add signing information to request ##### how to return header to caller? @@ -70,6 +116,10 @@ function signature_version_4(env::AWSEnv, service, method, request_parameters) push!(headers, ("X-Amz-Security-Token", env.aws_token)) end + if use_post + push!(headers, ("Content-Type", "application/x-www-form-urlencoded")) + end + if (env.dbg) || (env.dry_run) println("Parameters:") for (k, v) in request_parameters @@ -84,10 +134,11 @@ function signature_version_4(env::AWSEnv, service, method, request_parameters) end end - return (headers, HTTPC.urlencode_query_params(request_parameters)) + return (headers, canonical_querystring, Requests.format_query_str(request_parameters)) + ## return (headers, canonical_querystring, urlencode_params(request_parameters)) end -function get_signature_key(key, datestamp, region, service) +function get_signature_key(key, datestamp, region, service, method) kDate = sign("AWS4" * key, datestamp) kRegion = sign(kDate, region) kService = sign(kRegion, service) diff --git a/src/sqs_operations.jl b/src/sqs_operations.jl new file mode 100644 index 0000000000..03f40e3028 --- /dev/null +++ b/src/sqs_operations.jl @@ -0,0 +1,311 @@ +function CreateQueue(env::AWSEnv, msg::CreateQueueType) + sqsresp::SQSResponse = call_sqs(env, "CreateQueue" , msg) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = CreateQueueResponseType(sqsresp.pd) + end + sqsresp +end +function CreateQueue(env::AWSEnv; kwargs...) + msg=CreateQueueType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + CreateQueue(env, msg) +end +export CreateQueue + + +function DeleteQueue(env::AWSEnv, msg::DeleteQueueType) + sqsresp::SQSResponse = call_sqs(env, "DeleteQueue" , msg) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = DeleteQueueResponseType(sqsresp.pd) + end + sqsresp +end +function DeleteQueue(env::AWSEnv; kwargs...) + msg=DeleteQueueType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + DeleteQueue(env, msg) +end +export DeleteQueue + + +function GetQueueAttributes(env::AWSEnv, msg::GetQueueAttributesType) + sqsresp::SQSResponse = call_sqs(env, "GetQueueAttributes" , msg) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = GetQueueAttributesResponseType(sqsresp.pd) + end + sqsresp +end +function GetQueueAttributes(env::AWSEnv; kwargs...) + msg=GetQueueAttributesType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + GetQueueAttributes(env, msg) +end +export GetQueueAttributes + + +function GetQueueUrl(env::AWSEnv, msg::GetQueueUrlType) + sqsresp::SQSResponse = call_sqs(env, "GetQueueUrl" , msg) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = GetQueueUrlResponseType(sqsresp.pd) + end + sqsresp +end +function GetQueueUrl(env::AWSEnv; kwargs...) + msg=GetQueueUrlType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + GetQueueUrl(env, msg) +end +export GetQueueUrl + + +function ListQueues(env::AWSEnv, msg::ListQueuesType) + sqsresp::SQSResponse = call_sqs(env, "ListQueues" , msg) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = ListQueuesResponseType(sqsresp.pd) + end + sqsresp +end +function ListQueues(env::AWSEnv; kwargs...) + msg=ListQueuesType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + ListQueues(env, msg) +end +export ListQueues + + +function ReceiveMessage(env::AWSEnv, msg::ReceiveMessageType) + sqsresp::SQSResponse = call_sqs(env, "ReceiveMessage" , msg, false) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = ReceiveMessageResponseType(sqsresp.pd) + end + sqsresp +end +function ReceiveMessage(env::AWSEnv; kwargs...) + msg=ReceiveMessageType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + ReceiveMessage(env, msg) +end +export ReceiveMessage + + +function SendMessage(env::AWSEnv, msg::SendMessageType) + sqsresp::SQSResponse = call_sqs(env, "SendMessage" , msg, false) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = SendMessageResponseType(sqsresp.pd) + end + sqsresp +end +function SendMessage(env::AWSEnv; kwargs...) + msg=SendMessageType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + SendMessage(env, msg) +end +export SendMessage + + +function SetQueueAttributes(env::AWSEnv, msg::SetQueueAttributesType) + sqsresp::SQSResponse = call_sqs(env, "SetQueueAttributes" , msg) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = SetQueueAttributesResponseType(sqsresp.pd) + end + sqsresp +end +function SetQueueAttributes(env::AWSEnv; kwargs...) + msg=SetQueueAttributesType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + SetQueueAttributes(env, msg) +end +export SetQueueAttributes + + +function DeleteMessage(env::AWSEnv, msg::DeleteMessageType) + sqsresp::SQSResponse = call_sqs(env, "DeleteMessage" , msg) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = DeleteMessageResponseType(sqsresp.pd) + end + sqsresp +end +function DeleteMessage(env::AWSEnv; kwargs...) + msg=DeleteMessageType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + DeleteMessage(env, msg) +end +export DeleteMessage + +#= +ChangeMessageVisibility +ChangeMessageVisibilityBatch +ListDeadLetterSourceQueues +PurgeQueue +AddPermission +RemovePermission +=# + +function SendMessageBatch(env::AWSEnv, msg::SendMessageBatchType) + sqsresp::SQSResponse = call_sqs(env, "SendMessageBatch" , msg) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = SendMessageBatchResponseType(sqsresp.pd) + end + sqsresp +end +function SendMessageBatch(env::AWSEnv; kwargs...) + msg=SendMessageBatchType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + SendMessageBatch(env, msg) +end +export SendMessageBatch + + +function DeleteMessageBatch(env::AWSEnv, msg::DeleteMessageBatchType) + sqsresp::SQSResponse = call_sqs(env, "DeleteMessageBatch" , msg) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = DeleteMessageBatchResponseType(sqsresp.pd) + end + sqsresp +end +function DeleteMessageBatch(env::AWSEnv; kwargs...) + msg=DeleteMessageBatchType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + DeleteMessageBatch(env, msg) +end +export DeleteMessageBatch + + +function ChangeMessageVisibility(env::AWSEnv, msg::ChangeMessageVisibilityType) + sqsresp::SQSResponse = call_sqs(env, "ChangeMessageVisibility" , msg) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = ChangeMessageVisibilityResponseType(sqsresp.pd) + end + sqsresp +end +function ChangeMessageVisibility(env::AWSEnv; kwargs...) + msg=ChangeMessageVisibilityType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + ChangeMessageVisibility(env, msg) +end +export ChangeMessageVisibility + +function ChangeMessageVisibilityBatch(env::AWSEnv, msg::ChangeMessageVisibilityBatchType) + sqsresp::SQSResponse = call_sqs(env, "ChangeMessageVisibilityBatch" , msg) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = ChangeMessageVisibilityResponseBatchType(sqsresp.pd) + end + sqsresp +end +function ChangeMessageVisibilityBatch(env::AWSEnv; kwargs...) + msg=ChangeMessageVisibilityBatchType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + ChangeMessageVisibilityBatch(env, msg) +end +export ChangeMessageVisibilityBatch + +function ListDeadLetterSourceQueues(env::AWSEnv, msg::ListDeadLetterSourceQueuesType) + sqsresp::SQSResponse = call_sqs(env, "ListDeadLetterSourceQueues" , msg) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = ListDeadLetterSourceQueuesResponseType(sqsresp.pd) + end + sqsresp +end +function ListDeadLetterSourceQueues(env::AWSEnv; kwargs...) + msg=ListDeadLetterSourceQueuesType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + ListDeadLetterSourceQueues(env, msg) +end +export ListDeadLetterSourceQueues + +function PurgeQueue(env::AWSEnv, msg::PurgeQueueType) + sqsresp::SQSResponse = call_sqs(env, "PurgeQueue" , msg) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = PurgeQueueResponseType(sqsresp.pd) + end + sqsresp +end +function PurgeQueue(env::AWSEnv; kwargs...) + msg=PurgeQueueType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + PurgeQueue(env, msg) +end +export PurgeQueue + +function AddPermission(env::AWSEnv, msg::AddPermissionType) + sqsresp::SQSResponse = call_sqs(env, "AddPermission" , msg) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = AddPermissionResponseType(sqsresp.pd) + end + sqsresp +end +function AddPermission(env::AWSEnv; kwargs...) + msg=AddPermissionType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + AddPermission(env, msg) +end +export AddPermission + +function RemovePermission(env::AWSEnv, msg::RemovePermissionType) + sqsresp::SQSResponse = call_sqs(env, "RemovePermission" , msg) + if (sqsresp.pd != nothing) && (sqsresp.obj == nothing) + sqsresp.obj = RemovePermissionResponseType(sqsresp.pd) + end + sqsresp +end +function RemovePermission(env::AWSEnv; kwargs...) + msg=RemovePermissionType() + for p in kwargs + setfield!(msg, p[1], p[2]) + end + RemovePermission(env, msg) +end +export RemovePermission + + +ValidRqstMsgs = Dict( + "CreateQueueType"=>true, + "GetQueueUrlType"=>true, + "ListQueuesType"=>true, + "DeleteQueueType"=>true, + "DeleteMessageType"=>true, + "GetQueueAttributesType"=>true, + "ReceiveMessageType"=>true, + "SendMessageType"=>true, + "SetQueueAttributesType"=>true, + "SendMessageBatchType"=>true, + "DeleteMessageBatchType"=>true, + "ChangeMessageVisibilityType"=>true, + "ChangeMessageVisibilityBatchType"=>true, + "ListDeadLetterSourceQueuesType"=>true, + "PurgeQueueType"=>true, + "AddPermissionType"=>true, + "RemovePermissionType"=>true +) diff --git a/src/sqs_typed.jl b/src/sqs_typed.jl new file mode 100644 index 0000000000..d393353cd0 --- /dev/null +++ b/src/sqs_typed.jl @@ -0,0 +1,76 @@ + +include("sqs_types.jl") +include("sqs_operations.jl") + + +function is_basic_type(v) + if isa(v, AbstractString) || isa(v, Int) || isa(v, Int32) || + isa(v, Int64) || isa(v, Float64) || isa(v, Bool) || + isa(v, DateTime) || isa(v, Vector{UInt8}) + + return true + end + return false +end + +corrections_map = Dict() + +function add_to_params(params, obj, pfx) + for m in fieldnames(typeof(obj)) + fld_val = getfield(obj, m) + if (m != :queueUrl && fld_val != nothing) + fld_name = string(m) + if haskey(corrections_map, (typebasename(obj), fld_name)) + arg_name = corrections_map[(typebasename(obj), fld_name)] + elseif endswith(fld_name, "Set") + arg_name = fld_name[1:end-3] + else + arg_name = fld_name + end + + if startswith(arg_name, "_") + # handle field names that match julia reserved types.... + arg_name = arg_name[2:end] + end + + #Captitalize the first letter for the argument. + arg_name = uppercase(arg_name[1:1]) * arg_name[2:end] + + if is_basic_type(fld_val) + push!(params, (pfx * arg_name, aws_string(fld_val))) + elseif isa(fld_val, Array) + for (idx, fv) in enumerate(fld_val) + subarg_name = "$(pfx)$(arg_name).$(idx)" + if is_basic_type(fv) + push!(params, (subarg_name, aws_string(fv))) + else + add_to_params(params, fv, subarg_name*".") + end + end + else + # compound type + add_to_params(params, fld_val, "$(pfx)$(arg_name).") + end + end + end +end + +function call_sqs(env::AWSEnv, action::AbstractString, msg=nothing, use_post=false) + ep = nothing + params = Array(Tuple, 0) + if (msg != nothing) + # make sure it is a valid type + msg_name = typebasename(msg) + if !haskey(ValidRqstMsgs, msg_name) error("Invalid message for request: $msg_name") end + + add_to_params(params, msg, "") + + # queueUrl becomes the endpoint, not a query parameter + if in(:queueUrl, fieldnames(msg)) + ep = msg.queueUrl + end + end + sqs_execute(env, action, ep, params, use_post) +end + +typebasename(a) = split(string(typeof(a)), ".")[end] diff --git a/src/sqs_types.jl b/src/sqs_types.jl new file mode 100644 index 0000000000..cf12260a4b --- /dev/null +++ b/src/sqs_types.jl @@ -0,0 +1,799 @@ +type AttributeType + name::Union{ASCIIString, Void} + value::Union{ASCIIString, Void} + + AttributeType(; name=nothing, value=nothing) = + new(name, value) +end +function AttributeType(pd::LightXML.XMLElement) + o = AttributeType() + o.name = LightXML.content(LightXML.find_element(pd, "Name")) + o.value = LightXML.content(LightXML.find_element(pd, "Value")) + o +end + +export AttributeType + + +# Note: dataType="Binary" is not supported because HTTPC.urlencode_query_params is not presently capable of encoding binary data into a URL. +# Need to either enhance HTTPClient package, or place binary data into POST message instead of GET. +type MessageAttributeValueType + dataType::Union{AbstractString, Void} + binaryValue::Union{Vector{UInt8}, Void} + stringValue::Union{AbstractString, Void} + + MessageAttributeValueType(; dataType=nothing, binaryValue=nothing, stringValue=nothing) = + new(dataType, binaryValue, stringValue) +end +function MessageAttributeValueType(pd::LightXML.XMLElement) + o = MessageAttributeValueType() + o.dataType = LightXML.find_element(pd, "DataType") != nothing ? LightXML.content(LightXML.find_element(pd, "DataType")) : nothing + o.binaryValue = LightXML.find_element(pd, "BinaryValue") != nothing ? AWS.safe_parseb64(LightXML.content(LightXML.find_element(pd, "BinaryValue"))) : nothing + o.stringValue = LightXML.find_element(pd, "StringValue") != nothing ? LightXML.content(LightXML.find_element(pd, "StringValue")) : nothing + o +end + +export MessageAttributeValueType + + +type MessageAttributeType + name::Union{ASCIIString, Void} + value::Union{MessageAttributeValueType, Void} + + MessageAttributeType(; name=nothing, value=nothing) = + new(name, value) +end +function MessageAttributeType(pd::LightXML.XMLElement) + o = MessageAttributeType() + o.name = LightXML.content(LightXML.find_element(pd, "Name")) + o.value = MessageAttributeValueType(LightXML.find_element(pd, "Value")) + o +end + +export MessageAttributeType + + +type CreateQueueType + queueName::Union{ASCIIString, Void} + attributeSet::Union{Vector{AttributeType}, Void} + + CreateQueueType(; queueName=nothing, attributeSet=nothing) = + new(queueName, attributeSet) +end +function CreateQueueType(pd::LightXML.XMLElement) + o = CreateQueueType() + o.queueName = LightXML.content(LightXML.find_element(pd, "QueueName")) + o.attributeSet = AWS.@parse_vector(AWS.SQS.AttributeType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "Attribute"))) + o +end + +export CreateQueueType + + +type CreateQueueResponseType + queueUrl::Union{ASCIIString, Void} + requestId::Union{ASCIIString, Void} + + CreateQueueResponseType(; queueUrl=nothing, requestId=nothing) = + new(queueUrl, requestId) +end +function CreateQueueResponseType(pd::LightXML.XMLElement) + o = CreateQueueResponseType() + o.queueUrl = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "CreateQueueResult"), "QueueUrl")) + o.requestId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "ResponseMetadata"), "RequestId")) + o +end + +export CreateQueueResponseType + + +type GetQueueUrlType + queueName::Union{ASCIIString, Void} + queueOwnerAWSAccountId::Union{ASCIIString, Void} + + GetQueueUrlType(; queueName=nothing, queueOwnerAWSAccountId=nothing) = + new(queueName, queueOwnerAWSAccountId) +end +function GetQueueUrlType(pd::LightXML.XMLElement) + o = GetQueueUrlType() + o.queueName = LightXML.content(LightXML.find_element(pd, "QueueName")) + o.queueOwnerAWSAccountId = LightXML.content(LightXML.find_element(pd, "QueueOwnerAWSAccountId")) + o +end + +export GetQueueUrlType + + +type GetQueueUrlResponseType + queueUrl::Union{ASCIIString, Void} + requestId::Union{ASCIIString, Void} + + GetQueueUrlResponseType(; queueUrl=nothing, requestId=nothing) = + new(queueUrl, requestId) +end +function GetQueueUrlResponseType(pd::LightXML.XMLElement) + o = GetQueueUrlResponseType() + o.queueUrl = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "GetQueueUrlResult"), "QueueUrl")) + o.requestId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "ResponseMetadata"), "RequestId")) + o +end + +export GetQueueUrlResponseType + + +type ListQueuesType + queueNamePrefix::Union{ASCIIString, Void} + + ListQueuesType(; queueNamePrefix=nothing) = + new(queueNamePrefix) +end +function ListQueuesType(pd::LightXML.XMLElement) + o = ListQueuesType() + o.queueName = LightXML.content(LightXML.find_element(pd, "QueueNamePrefix")) + o +end + +export ListQueuesType + + +type ListQueuesResponseType + queueUrlSet::Union{Vector{ASCIIString}, Void} + requestId::Union{ASCIIString, Void} + + ListQueuesResponseType(; queueUrlSet=nothing, requestId=nothing) = + new(queueUrlSet, requestId) +end +function ListQueuesResponseType(pd::LightXML.XMLElement) + o = ListQueuesResponseType() + o.queueUrlSet = ASCIIString[LightXML.content(url) for url in LightXML.get_elements_by_tagname(LightXML.find_element(pd, "ListQueuesResult"), "QueueUrl")] + o.requestId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "ResponseMetadata"), "RequestId")) + o +end + +export ListQueuesResponseType + + +# ChangeMessageVisibilityType +# ChangeMessageVisibilityResponseType + +type DeleteMessageType + queueUrl::Union{ASCIIString, Void} + receiptHandle::Union{ASCIIString, Void} + + DeleteMessageType(; queueUrl=nothing, receiptHandle=nothing) = + new(queueUrl, receiptHandle) +end +function DeleteMessageType(pd::LightXML.XMLElement) + o = DeleteMessageType() + o.queueUrl = LightXML.content(LightXML.find_element(pd, "QueueUrl")) + o.receiptHandle = LightXML.content(LightXML.find_element(pd, "ReceiptHandle")) + o +end + +export DeleteMessageType + + +type DeleteMessageResponseType + requestId::Union{ASCIIString, Void} + + DeleteMessageResponseType(; requestId=nothing) = + new(requestId) +end +function DeleteMessageResponseType(pd::LightXML.XMLElement) + o = DeleteMessageResponseType() + o.requestId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "ResponseMetadata"), "RequestId")) + o +end + +export DeleteMessageResponseType + +type DeleteQueueType + queueUrl::Union{ASCIIString, Void} + + DeleteQueueType(; queueUrl=nothing) = + new(queueUrl) +end +function DeleteQueueType(pd::LightXML.XMLElement) + o = DeleteQueueType() + o.queueUrl = LightXML.content(LightXML.find_element(pd, "QueueUrl")) + o +end + +export DeleteQueueType + + +type DeleteQueueResponseType + requestId::Union{ASCIIString, Void} + + DeleteQueueResponseType(; requestId=nothing) = + new(requestId) +end +function DeleteQueueResponseType(pd::LightXML.XMLElement) + o = DeleteQueueResponseType() + o.requestId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "ResponseMetadata"), "RequestId")) + o +end + +export DeleteQueueResponseType + + +type GetQueueAttributesType + attributeNameSet::Union{Vector{ASCIIString}, Void} + queueUrl::Union{ASCIIString, Void} + + GetQueueAttributesType(; attributeNameSet=nothing, queueUrl=nothing) = + new(attributeNameSet, queueUrl) +end +function GetQueueAttributesType(pd::LightXML.XMLElement) + o = GetQueueAttributesType() + o.attributeNameSet = AWS.@parse_vector(ASCIIString, LightXML.get_elements_by_tagname(pd, "AttributeName")) + o.queueUrl = LightXML.content(LightXML.find_element(pd, "QueueUrl")) + o +end + +export GetQueueAttributesType + + +type GetQueueAttributesResponseType + attributeSet::Union{Vector{AttributeType}, Void} + requestId::Union{ASCIIString, Void} + + GetQueueAttributesResponseType(; attributeSet=nothing, requestId=nothing) = + new(attributeSet, requestId) +end +function GetQueueAttributesResponseType(pd::LightXML.XMLElement) + o = GetQueueAttributesResponseType() + o.attributeSet = AWS.@parse_vector(AWS.SQS.AttributeType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "GetQueueAttributesResult"), "Attribute")) + o.requestId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "ResponseMetadata"), "RequestId")) + o +end + +export GetQueueAttributesResponseType + + +type ReceiveMessageType + maxNumberOfMessages::Union{Int, Void} + visibilityTimeout::Union{Int, Void} + waitTimeSeconds::Union{Int, Void} + attributeNameSet::Union{Vector{ASCIIString}, Void} + messageAttributeNameSet::Union{Vector{ASCIIString}, Void} + queueUrl::Union{ASCIIString, Void} + + ReceiveMessageType(; maxNumberOfMessages=nothing, visibilityTimeout=nothing, waitTimeSeconds=nothing, attributeNameSet=nothing, messageAttributeNameSet=nothing, queueUrl=nothing) = + new(maxNumberOfMessages, visibilityTimeout, waitTimeSeconds, attributeNameSet, messageAttributeNameSet, queueUrl) +end +function ReceiveMessageType(pd::LightXML.XMLElement) + o = ReceiveMessageType() + o.maxNumberOfMessages = AWS.safe_parseint(LightXML.content(LightXML.find_element(pd, "MaxNumberOfMessages"))) + o.visibilityTimeout = AWS.safe_parseint(LightXML.content(LightXML.find_element(pd, "VisibilityTimeout"))) + o.waitTimeSeconds = AWS.safe_parseint(LightXML.content(LightXML.find_element(pd, "WaitTimeSeconds"))) + o.attributeNameSet = AWS.@parse_vector(ASCIIString, LightXML.content(LightXML.get_elements_by_tagname(pd, "AttributeName"))) + o.messageAttributeNameSet = AWS.@parse_vector(ASCIIString, LightXML.content(LightXML.get_elements_by_tagname(pd, "MessageAttributeName"))) + o.queueUrl = LightXML.content(LightXML.find_element(pd, "QueueUrl")) + o +end + +export ReceiveMessageType + + +type MessageType + messageId::Union{ASCIIString, Void} + receiptHandle::Union{ASCIIString, Void} + MD5OfBody::Union{ASCIIString, Void} + MD5OfMessageAttributes::Union{ASCIIString, Void} + body::Union{AbstractString, Void} + attributeSet::Union{Vector{AttributeType}, Void} + messageAttributeSet::Union{Vector{MessageAttributeType}, Void} + + MessageType(; messageId=nothing, receiptHandle=nothing, MD5OfBody=nothing, MD5OfMessageAttributes=nothing, body=nothing, attributeSet=nothing, messageAttributeSet=nothing) = + new(messageId, receiptHandle, MD5OfBody, MD5OfMessageAttributes, body, attributeSet, messageAttributeSet) +end +function MessageType(pd::LightXML.XMLElement) + o = MessageType() + o.messageId = LightXML.content(LightXML.find_element(pd, "MessageId")) + o.receiptHandle = LightXML.content(LightXML.find_element(pd, "ReceiptHandle")) + o.MD5OfBody = LightXML.content(LightXML.find_element(pd, "MD5OfBody")) + ## MDP o.MD5OfMessageAttributes = LightXML.content(LightXML.find_element(pd, "MD5OfMessageAttributes")) + o.body = LightXML.content(LightXML.find_element(pd, "Body")) + o.attributeSet = AWS.@parse_vector(AWS.SQS.AttributeType, LightXML.get_elements_by_tagname(pd, "Attribute")) + o.messageAttributeSet = AWS.@parse_vector(AWS.SQS.MessageAttributeType, LightXML.get_elements_by_tagname(pd, "MessageAttribute")) + o +end + +export MessageType + + +type ReceiveMessageResponseType + messageSet::Union{Vector{MessageType}, Void} + requestId::Union{ASCIIString, Void} + + ReceiveMessageResponseType(; messageSet=nothing, requestId=nothing) = + new(messageSet, requestId) +end +function ReceiveMessageResponseType(pd::LightXML.XMLElement) + o = ReceiveMessageResponseType() + o.messageSet = AWS.@parse_vector(AWS.SQS.MessageType, LightXML.get_elements_by_tagname(LightXML.find_element(pd, "ReceiveMessageResult"), "Message")) + o.requestId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "ResponseMetadata"), "RequestId")) + o +end + +export ReceiveMessageResponseType + + +type SendMessageType + delaySeconds::Union{Int, Void} + messageAttributeSet::Union{Vector{MessageAttributeType}, Void} + messageBody::Union{AbstractString, Void} + queueUrl::Union{ASCIIString, Void} + + SendMessageType(; delaySeconds=nothing, messageBody=nothing, queueUrl=nothing) = + new(delaySeconds, messageBody, queueUrl) +end +function SendMessageType(pd::LightXML.XMLElement) + o = SendMessageType() + o.delaySeconds = AWS.safe_parseint(LightXML.content(LightXML.find_element(pd, "DelaySeconds"))) + o.messageAttributeSet = AWS.@parse_vector(AWS.SQS.MessageAttributeType, LightXML.get_elements_by_tagname(pd, "MessageAttribute")) + o.messageBody = LightXML.content(LightXML.find_element(pd, "MessageBody")) + o.queueUrl = LightXML.content(LightXML.find_element(pd, "QueueUrl")) + o +end + +export SendMessageType + + +type SendMessageResponseType + MD5OfMessageBody::Union{ASCIIString, Void} + MD5OfMessageAttributes::Union{ASCIIString, Void} + messageId::Union{ASCIIString, Void} + requestId::Union{ASCIIString, Void} + + SendMessageResponseType(; MD5OfMessageBody=nothing, MD5OfMessageAttributes=nothing, messageId=nothing, requestId=nothing) = + new(MD5OfMessageBody, MD5OfMessageAttributes, messageId, requestId) +end +function SendMessageResponseType(pd::LightXML.XMLElement) + o = SendMessageResponseType() + o.MD5OfMessageBody = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "SendMessageResult"), "MD5OfMessageBody")) + ## MDP TODO o.MD5OfMessageAttributes = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "SendMessageResult"), "MD5OfMessageAttributes")) + o.messageId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "SendMessageResult"), "MessageId")) + o.requestId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "ResponseMetadata"), "RequestId")) + o +end + +export SendMessageResponseType + + +type SetQueueAttributesType + attributeSet::Union{Vector{AttributeType}, Void} + queueUrl::Union{ASCIIString, Void} + + SetQueueAttributesType(; attributeSet=nothing, queueUrl=nothing) = + new(attributeSet, queueUrl) +end +function SetQueueAttributesType(pd::LightXML.XMLElement) + o = SetQueueAttributesType() + o.attributeSet = AWS.@parse_vector(AWS.SQS.AttributeType, LightXML.get_elements_by_tagname(pd, "Attribute")) + o.queueUrl = LightXML.content(LightXML.find_element(pd, "QueueUrl")) + o +end + +export SetQueueAttributesType + + +type SetQueueAttributesResponseType + requestId::Union{ASCIIString, Void} + + SetQueueAttributesResponseType(; requestId=nothing) = + new(requestId) +end +function SetQueueAttributesResponseType(pd::LightXML.XMLElement) + o = SetQueueAttributesResponseType() + o.requestId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "ResponseMetadata"), "RequestId")) + o +end + +export SetQueueAttributesResponseType + +type SendMessageBatchRequestEntryType + delaySeconds::Union{Int, Void} + id::Union{ASCIIString, Void} + messageAttributeSet::Union{Vector{MessageAttributeType}, Void} + messageBody::Union{AbstractString, Void} + + SendMessageBatchRequestEntryType(; delaySeconds=nothing, id=nothing, messageAttributeSet=nothing, messageBody=nothing) = + new(delaySeconds, id, messageAttributeSet, messageBody) +end + +function SendMessageBatchRequestEntryType(pd::LightXML.XMLElement) + o = SendMessageBatchRequestEntryType() + o.delaySeconds = AWS.safe_parseint(LightXML.content(LightXML.find_element(pd, "DelaySeconds"))) + o.messageAttributeSet = AWS.@parse_vector(AWS.SQS.MessageAttributeType, LightXML.get_elements_by_tagname(pd, "MessageAttribute")) + o.messageBody = LightXML.content(LightXML.find_element(pd, "MessageBody")) +end + +export SendMessageBatchRequestEntryType + +type SendMessageBatchType + sendMessageBatchRequestEntrySet::Union{Vector{SendMessageBatchRequestEntryType}, Void} + queueUrl::Union{ASCIIString, Void} + + SendMessageBatchType(; sendMessageBatchRequestEntrySet=nothing, queueUrl=nothing) = + new(sendMessageBatchRequestEntrySet, queueUrl) +end + +function SendMessageBatchType(pd::LightXML.XMLElement) + o = SendMessageBatchType() + o.sendMessageBatchRequestSet = AWS.@parse_vector(AWS.SQS.SendMessageBatchRequestEntryType, LightXML.get_elements_by_tagname(pd, "SendMessageBatchRequestEntry")) + o.queueUrl = LightXML.content(LightXML.find_element(pd, "QueueUrl")) +end + +export SendMessageBatchType + +type SendMessageBatchResultEntryType + id::Union{ASCIIString, Void} + MD5OfMessageAttributes::Union{ASCIIString, Void} + MD5OfBody::Union{ASCIIString, Void} + messageId::Union{ASCIIString, Void} + + SendMessageBatchResultEntryType(; id=nothing, MD5OfMessageAttributes=nothing, MD5OfBody=nothing, messageId=nothing) = + new(id, MD5OfMessageAttributes, MD5OfBody, messageId) +end + +function SendMessageBatchResultEntryType(pd::LightXML.XMLElement) + o = SendMessageBatchResultEntryType() + o.id = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "ResponseMetadata"), "Id")) + ## MDP TODO o.MD5OfMessageAttributes = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "SendMessageResult"), "MD5OfMessageAttributes")) + o.MD5OfBody = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "SendMessageResult"), "MD5OfBody")) + o.messageId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "SendMessageResult"), "MessageId")) +end + +export SendMessageBatchResultEntryType + +type SendMessageBatchResultErrorEntryType + code::Union{ASCIIString, Void} + id::Union{ASCIIString, Void} + message::Union{ASCIIString, Void} + senderFault::Union{Bool, Void} + + SendMessageBatchResultErrorEntryType(; code=nothing, id=nothing, message=nothing, senderFault=nothing) = + new(code, id, message, senderFault) +end + +function SendMessageBatchResultErrorEntryType(pd::LightXML.XMLElement) + o = SendMessageBatchResultErrorEntryType() + o.code = LightXML.content(LightXML.find_element(pd, "Code")) + o.id = LightXML.content(LightXML.find_element(pd, "Id")) + o.message = LightXML.content(LightXML.find_element(pd, "Message")) + o.senderFault = LightXML.content(LightXML.find_element(pd, "SenderFault")) +end + +export SendMessageBatchResultErrorEntryType + +type SendMessageBatchResponseType + sendMessageBatchResultSet::Union{Vector{SendMessageBatchResultEntryType}, Void} + sendMessageBatchErrorSet::Union{Vector{SendMessageBatchResultErrorEntryType}, Void} + + SendMessageBatchResponseType(; sendMessageBatchResultSet=nothing, sendMessageBatchErrorSet=nothing) = + new(sendMessageBatchResultSet, sendMessageBatchErrorSet) +end + +function SendMessageBatchResponseType(pd::LightXML.XMLElement) + o = SendMessageBatchResponseType() + o.sendMessageBatchResultSet = AWS.@parse_vector(AWS.SQS.SendMessageBatchResultEntryType, LightXML.get_elements_by_tagname(pd, "SendMessageBatchResultEntry")) + o.sendMessageBatchErrorSet = AWS.@parse_vector(AWS.SQS.SendMessageBatchResultErrorEntryType, LightXML.get_elements_by_tagname(pd, "SendMessageBatchResultErrorEntry")) +end + +export SendMessageBatchResponseType + +type DeleteMessageBatchRequestEntryType + id::Union{ASCIIString, Void} + receiptHandle::Union{ASCIIString, Void} + + DeleteMessageBatchRequestEntryType(; id=nothing, receiptHandle=nothing) = + new(id, receiptHandle) +end + +function DeleteMessageBatchRequestEntryType(pd::LightXML.XMLElement) + o = DeleteMessageBatchRequestEntryType() + o.id = LightXML.content(LightXML.find_element(pd, "Id")) + o.receiptHandle = LightXML.content(LightXML.find_element(pd, "ReceiptHandle")) +end + +export DeleteMessageBatchRequestEntryType + +type DeleteMessageBatchType + deleteMessageBatchRequestEntrySet::Union{Vector{DeleteMessageBatchRequestEntryType}, Void} + queueUrl::Union{ASCIIString, Void} + + DeleteMessageBatchType(; deleteMessageBatchRequestEntrySet=nothing, queueUrl=nothing) = + new(deleteMessageBatchRequestEntrySet, queueUrl) +end + +function DeleteMessageBatchType(pd::LightXML.XMLElement) + o = DeleteMessageBatchType() + o.deleteMessageBatchRequestSet = AWS.@parse_vector(AWS.SQS.DeleteMessageBatchRequestEntryType, LightXML.get_elements_by_tagname(pd, "DeleteMessageBatchRequestEntry")) + o.queueUrl = LightXML.content(LightXML.find_element(pd, "QueueUrl")) +end + +export DeleteMessageBatchType + +type DeleteMessageBatchResultErrorEntryType + code::Union{ASCIIString, Void} + id::Union{ASCIIString, Void} + message::Union{ASCIIString, Void} + senderFault::Union{Bool, Void} + + DeleteMessageBatchResultErrorEntryType(; code=nothing, id=nothing, message=nothing, senderFault=nothing) = + new(code, id, message, senderFault) +end + +function DeleteMessageBatchResultErrorEntryType(pd::LightXML.XMLElement) + o = DeleteMessageBatchResultErrorEntryType() + o.code = LightXML.content(LightXML.find_element(pd, "Code")) + o.id = LightXML.content(LightXML.find_element(pd, "Id")) + o.message = LightXML.content(LightXML.find_element(pd, "Message")) + o.senderFault = LightXML.content(LightXML.find_element(pd, "SenderFault")) +end + +export DeleteMessageBatchResultErrorEntryType + +type DeleteMessageBatchResultEntryType + deleteMessageBatchResultEntrySet::Union{Vector{DeleteMessageBatchResultEntryType}, Void} + queueUrl::Union{ASCIIString, Void} + + DeleteMessageBatchResultEntryType(; deleteMessageBatchResultEntrySet=nothing, queueUrl=nothing) = + new(deleteMessageBatchResultEntrySet, queueUrl) +end + +function DeleteMessageBatchResultEntryType(pd::LightXML.XMLElement) + o = DeleteMessageBatchResultEntryType() + o.deleteMessageBatchResultSet = AWS.@parse_vector(AWS.SQS.DeleteMessageBatchResultEntryType, LightXML.get_elements_by_tagname(pd, "DeleteMessageBatchResultEntry")) + o.queueUrl = LightXML.content(LightXML.find_element(pd, "QueueUrl")) +end + +export DeleteMessageBatchResultEntryType + +type DeleteMessageBatchResponseType + deleteMessageBatchResultSet::Union{Vector{DeleteMessageBatchResultEntryType}, Void} + deleteMessageBatchErrorSet::Union{Vector{DeleteMessageBatchResultErrorEntryType}, Void} + + DeleteMessageBatchResponseType(; deleteMessageBatchResultSet=nothing, deleteMessageBatchErrorSet=nothing) = + new(deleteMessageBatchResultSet, deleteMessageBatchErrorSet) +end + +function DeleteMessageBatchResponseType(pd::LightXML.XMLElement) + o = DeleteMessageBatchResponseType() + o.deleteMessageBatchResultSet = AWS.@parse_vector(AWS.SQS.DeleteMessageBatchResultEntryType, LightXML.get_elements_by_tagname(pd, "DeleteMessageBatchResultEntry")) + o.deleteMessageBatchErrorSet = AWS.@parse_vector(AWS.SQS.DeleteMessageBatchResultErrorEntryType, LightXML.get_elements_by_tagname(pd, "DeleteMessageBatchResultErrorEntry")) +end + +export DeleteMessageBatchResponseType + +type ChangeMessageVisibilityType + queueUrl::Union{ASCIIString, Void} + receiptHandle::Union{ASCIIString, Void} + visibilityTimeout::Union{Int64, Void} + + ChangeMessageVisibilityType(; queueUrl=nothing, receiptHandle=nothing, visibilityTimeout=nothing) = + new(queueUrl, receiptHandle, visibilityTimeout) +end + +export ChangeMessageVisibilityType + +type ChangeMessageVisibilityResponseType + requestId::Union{ASCIIString, Void} + + ChangeMessageVisibilityResponseType(; requestId=nothing) = + new(requestId) +end +function ChangeMessageVisibilityResponseType(pd::LightXML.XMLElement) + o = ChangeMessageVisibilityResponseType() + o.requestId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "ResponseMetadata"), "RequestId")) + o +end + +export ChangeMessageVisibilityResponseType + +type ChangeMessageVisibilityBatchRequestEntryType + id::Union{ASCIIString, Void} + receiptHandle::Union{ASCIIString, Void} + visibilityTimeout::Union{Int64, Void} + + ChangeMessageVisibilityBatchRequestEntryType(; id=nothing, receiptHandle=nothing, visibilityTimeout=nothing) = + new(id, receiptHandle, visibilityTimeout) +end + +export ChangeMessageVisibilityBatchRequestEntryType + + +type ChangeMessageVisibilityBatchType + queueUrl::Union{ASCIIString, Void} + changeMessageVisibilityBatchRequestEntrySet::Union{Vector{ChangeMessageVisibilityBatchRequestEntryType}, Void} + + ChangeMessageVisibilityBatchType(; queueUrl=nothing, changeMessageVisibilityBatchRequestEntrySet=nothing) = + new(queueUrl, changeMessageVisibilityBatchRequestEntrySet) +end + +export ChangeMessageVisibilityBatchType + +type ChangeMessageVisibilityBatchResultEntryType + id::Union{Int64, Void} + + ChangeMessageVisibilityBatchResultEntryType(; id=nothing) = + new(id) +end + +function ChangeMessageVisibilityBatchResultEntryType(pd::LightXML.XMLElement) + o = ChangeMessageVisibilityBatchResultEntryType() + o.id = AWS.safe_parseint(LightXML.content(LightXML.find_element(pd, "Id"))) + o +end + +export ChangeMessageVisibilityBatchResultEntryType + +type ChangeMessageVisibilityBatchResultErrorEntryType + code::Union{ASCIIString, Void} + id::Union{ASCIIString, Void} + message::Union{ASCIIString, Void} + senderFault::Union{Bool, Void} + + ChangeMessageVisibilityBatchResultErrorEntryType(; code=nothing, id=nothing, message=nothing, senderFault=nothing) = + new(code, id, message, senderFault) +end + +function ChangeMessageVisibilityBatchResultErrorEntryType(pd::LightXML.XMLElement) + o = ChangeMessageVisibilityBatchResultErrorEntryType() + o.code = LightXML.content(LightXML.find_element(pd, "Code")) + o.id = LightXML.content(LightXML.find_element(pd, "Id")) + o.message = LightXML.content(LightXML.find_element(pd, "Message")) + o.senderFault = LightXML.content(LightXML.find_element(pd, "SenderFault")) +end + +export ChangeMessageVisibilityBatchResultErrorEntryType + + +type ChangeMessageVisibilityResponseBatchType + changeMessageVisibilityBatchResultEntrySet::Union{Vector{ChangeMessageVisibilityBatchResultEntryType}, Void} + changeMessageVisibilityBatchResultErrorEntrySet::Union{Vector{ChangeMessageVisibilityBatchResultErrorEntryType}, Void} + + ChangeMessageVisibilityResponseBatchType(; changeMessageVisibilityBatchResultEntrySet=nothing, changeMessageVisibilityBatchResultErrorEntrySet=nothing) = + new(changeMessageVisibilityBatchResultEntrySet, changeMessageVisibilityBatchResultErrorEntrySet) +end + +function ChangeMessageVisibilityResponseBatchType(pd::LightXML.XMLElement) + o = ChangeMessageVisibilityResponseBatchType() + o.changeMessageVisibilityBatchResultEntrySet = AWS.@parse_vector(AWS.SQS.ChangeMessageVisibilityBatchResultEntryType, LightXML.get_elements_by_tagname(pd, "ChangeMessageVisibilityBatchResultEntry")) + o.changeMessageVisibilityBatchResultErrorEntrySet = AWS.@parse_vector(AWS.SQS.ChangeMessageVisibilityBatchResultErrorEntryType, LightXML.get_elements_by_tagname(pd, "ChangeMessageVisibilityBatchResultErrorEntry")) + o +end + +export ChangeMessageVisibilityResponseBatchType + +type ListDeadLetterSourceQueuesType + queueUrl::Union{ASCIIString, Void} + + ListDeadLetterSourceQueuesType(; queueUrl=nothing) = + new(queueUrl) +end + +export ListDeadLetterSourceQueuesType + +type ListDeadLetterSourceQueuesResultType + queueUrls::Union{Vector{ASCIIString}, Void} + + ListDeadLetterSourceQueuesResultType(; queueUrls=nothing) = + new(queueUrls) +end + +function ListDeadLetterSourceQueuesResultType(pd::LightXML.XMLElement) + o = ListDeadLetterSourceQueuesResultType() + o.queueUrlSet = ASCIIString[LightXML.content(url) for url in LightXML.get_elements_by_tagname(LightXML.find_element(pd, "ListDeadLetterSourceQueuesResult"), "QueueUrl")] +end + +export ListDeadLetterSourceQueuesResultType + +type ListDeadLetterSourceQueuesResponseType + requestId::Union{ASCIIString, Void} + listDeadLetterSourceQueuesResultType::Union{ListDeadLetterSourceQueuesResultType, Void} + + ListDeadLetterSourceQueuesResponseType(; requestId=nothing, listDeadLetterSourceQueuesResultType=nothing) = + new(requestId, listDeadLetterSourceQueuesResultType) +end + +function ListDeadLetterSourceQueuesResponseType(pd::LightXML.XMLElement) + o = ListDeadLetterSourceQueuesResponseType() + o.requestId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "ResponseMetadata"), "RequestId")) + o.listDeadLetterSourceQueuesResultType = LightXML.find_element(LightXML.find_element(pd, "ListDeadLetterSourceQueuesResult"), "QueueUrl") != nothing ? ListDeadLetterSourceQueuesResultType(LightXML.find_element(LightXML.find_element(pd, "ListDeadLetterSourceQueuesResult"), "QueueUrl")) : nothing +end + +export ListDeadLetterSourceQueuesResponseType + + +type PurgeQueueType + queueUrl::Union{ASCIIString, Void} + + PurgeQueueType(; queueUrl=nothing) = + new(queueUrl) +end + +export PurgeQueueType + +type PurgeQueueResponseType + requestId::Union{ASCIIString, Void} + + PurgeQueueResponseType(; requestId=nothing) = + new(requestId) +end + +function PurgeQueueResponseType(pd::LightXML.XMLElement) + o = PurgeQueueResponseType() + o.requestId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "ResponseMetadata"), "RequestId")) +end + +export PurgeQueueResponseType + + +#= +type ActionAccountType + aWSAccountId::Union{ASCIIString, Void} + actionName::Union{ASCIIString, Void} + + ActionAccountType(; aWSAccountId=nothing, actionName=nothing) = + new(aWSAccountId, actionName) +end + +export ActionAccountType +=# + +type AddPermissionType + queueUrl::Union{ASCIIString, Void} + label::Union{ASCIIString, Void} + aWSAccountIdSet::Union{Vector{ASCIIString}, Void} + actionNameSet::Union{Vector{ASCIIString}, Void} + ## actionAccountSet::Union{Vector{ActionAccountType}, Void} + + AddPermissionType(; queueUrl=nothing, label=nothing, aWSAccountIdSet=nothing, actionNameSet=nothing) = + new(queueUrl, label, aWSAccountIdSet, actionNameSet) +end + +export AddPermissionType + +type AddPermissionResponseType + requestId::Union{ASCIIString, Void} + + AddPermissionResponseType(; requestId=nothing) = + new(requestId) +end + +function AddPermissionResponseType(pd::LightXML.XMLElement) + o = AddPermissionResponseType() + + o.requestId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "ResponseMetadata"), "RequestId")) +end + +export AddPermissionResponseType + +type RemovePermissionType + queueUrl::Union{ASCIIString, Void} + label::Union{ASCIIString, Void} + + RemovePermissionType(; queueUrl=nothing, label=nothing) = + new(queueUrl, label) +end + +export RemovePermissionType + +type RemovePermissionResponseType + requestId::Union{ASCIIString, Void} + + RemovePermissionResponseType(; requestId=nothing) = + new(requestId) +end + +function RemovePermissionResponseType(pd::LightXML.XMLElement) + o = RemovePermissionResponseType() + + o.requestId = LightXML.content(LightXML.find_element(LightXML.find_element(pd, "ResponseMetadata"), "RequestId")) +end + +export RemovePermissionResponseType + diff --git a/test/config.jl.example b/test/config.jl.example index a80ba8a72f..ebe4867dda 100644 --- a/test/config.jl.example +++ b/test/config.jl.example @@ -1,6 +1,19 @@ +### Config required for EC2, S3 & SQS +### Please change the id and key as appropriate +id="XXXXXXXXXXXXXXXXXXXX" +key="YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" +dbg=false +region=AWS.US_WEST_2 + +### Config related to EC2 only const ami = "ami-0d848f64" # This is the Julia installed version of 13_04 const dir_on_ami = "/home/ubuntu/julia/usr/bin" const insttype = "m1.large" const keyname = "" const owner = "awstest" const keyfile = "" + + +### Config related to SQS only +### Please change the AWS account id as appropriate +awsAccountID="111111111111" diff --git a/test/testec2.jl b/test/testec2.jl index 000e30a307..17ea47ea81 100644 --- a/test/testec2.jl +++ b/test/testec2.jl @@ -4,12 +4,13 @@ using AWS include("config.jl") n=2 -env=AWSEnv() +env=AWSEnv(; id=id, key=key, dbg=dbg, region=region) +## env=AWSEnv() instances = ec2_launch(ami, keyname; env=env, owner=owner, insttype=insttype, n=n, clustername="ec2test") println(instances) -instances=ec2_instances_by_tag("Owner", owner) -println(instances) +all_instances=ec2_instances_by_tag("Owner", owner, env=env, running_only=false) +println(all_instances) try ec2_show_status(instances) @@ -46,8 +47,25 @@ catch e # We anyway need to terminate the instances.... end +resp = EC2.DescribeInstances(env) +## @show resp + +EC2.check_running(env, instances) +EC2.MonitorInstances(env) + + + rmprocs(workers()) -ec2_terminate(instances) +println("Sleeping for 20 secs !!!") +sleep(20) + +println("Stopping instances !!!") +ec2_stop(instances; env=env) + +println("Terminating instances !!!") +@show instances +ec2_terminate(instances; env=env) -ec2_show_status(instances) +println("Checking instance status !!!") +ec2_show_status(instances; env=env) diff --git a/test/tests3.jl b/test/tests3.jl index 6b8feab2aa..ceff776870 100644 --- a/test/tests3.jl +++ b/test/tests3.jl @@ -1,9 +1,13 @@ using AWS using AWS.S3 -env = AWSEnv(timeout=60.0) +include("config.jl") -bkt = "rnam0987" +env=AWSEnv(; id=id, key=key, dbg=dbg) + +## env = AWSEnv(timeout=60.0) + +bkt = "1-test-temp-bkt" println("List all buckets") resp=S3.list_all_buckets(env) @@ -41,6 +45,10 @@ resp = S3.get_object(env, bkt, "file2") println(resp) +println("Sleep for 30 secs ....") +sleep(30) + + println("Delete file 1") resp = S3.del_object(env, bkt, "file1") println(resp) diff --git a/test/testsqs.jl b/test/testsqs.jl new file mode 100644 index 0000000000..060d89451d --- /dev/null +++ b/test/testsqs.jl @@ -0,0 +1,261 @@ +using AWS, AWS.SQS + +include("config.jl") + + +env=AWSEnv(; id=id, key=key, dbg=dbg, region=region) +## env=AWSEnv(; id=id, key=key, dbg=dbg) + +queueName="MyTest1" + +println("List all queues !!!") +queues = SQS.ListQueues(env) + +println("Create queue") +attributes = AttributeType[] +push!(attributes, AttributeType(name="DelaySeconds",value="300")) +push!(attributes, AttributeType(name="VisibilityTimeout",value="120")) +resp = CreateQueue(env; queueName=queueName, attributeSet=attributes) +if resp.http_code < 299 + println("Test for Create Queue Passed") +else + println("Test for Create Queue Failed") +end + +qurl = resp.obj.queueUrl +@show qurl + +println("Get queue attributes") +resp = GetQueueAttributes(env; queueUrl=qurl, attributeNameSet=["All"]) +if resp.http_code < 299 + println("Test for Get Queue Attributes Passed") +else + println("Test for Get Queue Attributes Failed") +end + +println("Send Message") +msgAttributes = MessageAttributeType[] +push!(msgAttributes, MessageAttributeType(name="some-attribute", + value=MessageAttributeValueType(dataType="Number.integer-ish", stringValue="0"))) +push!(msgAttributes, MessageAttributeType(name="other-attribute", + value=MessageAttributeValueType(dataType="String.yyy", stringValue="My yyy string"))) +push!(msgAttributes, MessageAttributeType(name="bin-attribute", + value=MessageAttributeValueType(dataType="Binary.jpg", binaryValue=[0x0,0x1,0x2,0x3,0x4,0x5,0x6]))) +resp = SendMessage(env; queueUrl=qurl, delaySeconds=0, messageBody="test", messageAttributeSet=msgAttributes) +if resp.http_code < 299 + println("Test for Send Message Passed") +else + println("Test for Send Message Failed") +end + + +println("Receive Message") +resp=ReceiveMessage(env; queueUrl=qurl, attributeNameSet=["All"], messageAttributeNameSet=["All"]) +if resp.http_code < 299 + println("Test for Receive Message Passed") +else + println("Test for Receive Message Failed") +end + +msg = resp.obj.messageSet[1] +msg_body = msg.body + # msg_body == "test" + +println("Delete Message") +resp = DeleteMessage(env; queueUrl=qurl, receiptHandle=msg.receiptHandle) +if resp.http_code < 299 + println("Test for Delete Message Passed") +else + println("Test for Delete Message Failed") +end + + +println("Send Message Batch") +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +## Test for SendMessageBatch +id1 = "SendMessageBatchMessage1" +delaySeconds1 = 10 +msgAttributes1 = MessageAttributeType[] +push!(msgAttributes1, MessageAttributeType(name="some-attribute", + value=MessageAttributeValueType(dataType="Number.integer-ish", stringValue="111"))) +push!(msgAttributes1, MessageAttributeType(name="other-attribute", + value=MessageAttributeValueType(dataType="String.yyy", stringValue="My 111 string"))) +push!(msgAttributes1, MessageAttributeType(name="bin-attribute", + value=MessageAttributeValueType(dataType="Binary.jpg", binaryValue=[0x0,0x1,0x2,0x3,0x4,0x5,0x6]))) +messageBody1 = "Message Body 1" +sendMessageBatchRequestEntryType1 = SendMessageBatchRequestEntryType(; delaySeconds=delaySeconds1, id=id1, messageAttributeSet=msgAttributes1, messageBody=messageBody1) + +id2 = "SendMessageBatchMessage2" +delaySeconds2 = 10 +msgAttributes2 = MessageAttributeType[] +push!(msgAttributes2, MessageAttributeType(name="some-attribute", + value=MessageAttributeValueType(dataType="Number.integer-ish", stringValue="222"))) +push!(msgAttributes2, MessageAttributeType(name="other-attribute", + value=MessageAttributeValueType(dataType="String.yyy", stringValue="My 222 string"))) +push!(msgAttributes2, MessageAttributeType(name="bin-attribute", + value=MessageAttributeValueType(dataType="Binary.jpg", binaryValue=[0x0,0x1,0x2,0x3,0x4,0x5,0x6]))) +messageBody2 = "Message Body 2" +sendMessageBatchRequestEntryType2 = SendMessageBatchRequestEntryType(; delaySeconds=delaySeconds2, id=id2, messageAttributeSet=msgAttributes2, messageBody=messageBody2) + + +id3 = "SendMessageBatchMessage3" +delaySeconds3 = 10 +messageBody3 = "Message Body 3" +sendMessageBatchRequestEntryType3 = SendMessageBatchRequestEntryType(; delaySeconds=delaySeconds3, id=id3, messageBody=messageBody3) + +id4 = "SendMessageBatchMessage4" +delaySeconds4 = 10 +messageBody4 = "Message Body 4" +sendMessageBatchRequestEntryType4 = SendMessageBatchRequestEntryType(; delaySeconds=delaySeconds4, id=id4, messageBody=messageBody4) + +sendMessageBatchRequestEntrySet = Vector{SendMessageBatchRequestEntryType}() +push!(sendMessageBatchRequestEntrySet, sendMessageBatchRequestEntryType1) +push!(sendMessageBatchRequestEntrySet, sendMessageBatchRequestEntryType2) +push!(sendMessageBatchRequestEntrySet, sendMessageBatchRequestEntryType3) +push!(sendMessageBatchRequestEntrySet, sendMessageBatchRequestEntryType4) + +sendMessageBatchType = SendMessageBatchType(; sendMessageBatchRequestEntrySet=sendMessageBatchRequestEntrySet, queueUrl=qurl) +resp = SendMessageBatch(env, sendMessageBatchType) +if resp.http_code < 299 + println("Test for Send Message Batch Passed") +else + println("Test for Send Message Batch Failed") +end + +println("Sleeping for 20 secs !!!") +sleep(20) + +println("Delete Message Batch") +## Test case for DeleteMessageBatch +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +## resp1=ReceiveMessage(env; queueUrl=qurl, attributeNameSet=["All"], messageAttributeNameSet=["All"]) +resp1=ReceiveMessage(env; queueUrl=qurl) +msg1 = resp1.obj.messageSet[1] +## resp2=ReceiveMessage(env; queueUrl=qurl, attributeNameSet=["All"], messageAttributeNameSet=["All"]) +resp2=ReceiveMessage(env; queueUrl=qurl) +msg2 = resp2.obj.messageSet[1] + +deleteMessageBatchRequestEntryType1 = DeleteMessageBatchRequestEntryType(; id=id1, receiptHandle=msg1.receiptHandle) +deleteMessageBatchRequestEntryType2 = DeleteMessageBatchRequestEntryType(; id=id2, receiptHandle=msg2.receiptHandle) +deleteMessageBatchRequestEntrySet = Vector{DeleteMessageBatchRequestEntryType}() +push!(deleteMessageBatchRequestEntrySet, deleteMessageBatchRequestEntryType1) +push!(deleteMessageBatchRequestEntrySet, deleteMessageBatchRequestEntryType2) + +deleteMessageBatchType = DeleteMessageBatchType(; deleteMessageBatchRequestEntrySet=deleteMessageBatchRequestEntrySet, queueUrl=qurl) +resp = DeleteMessageBatch(env, deleteMessageBatchType) +if resp.http_code < 299 + println("Test for Delete Message Batch Passed") +else + println("Test for Delete Message Batch Failed") +end + + + +println("Change Message Visibility") +## Test case for ChangeMessageVisibility +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +resp=ReceiveMessage(env; queueUrl=qurl) +msg = resp.obj.messageSet[1] + +changeMessageVisibilityType = ChangeMessageVisibilityType(; queueUrl=qurl, receiptHandle=msg.receiptHandle, visibilityTimeout=30) +resp = ChangeMessageVisibility(env, changeMessageVisibilityType) +if resp.http_code < 299 + println("Test for Change Message Visibility Passed") +else + println("Test for Change Message Visibility Failed") +end + + + +println("Change Message Visibility Batch") +## Test case for ChangeMessageVisibilityBatch +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +resp1=ReceiveMessage(env; queueUrl=qurl) +msg1 = resp1.obj.messageSet[1] +id1=resp1.obj.messageSet[1].messageId + +resp2=ReceiveMessage(env; queueUrl=qurl) +msg2 = resp2.obj.messageSet[1] +id2=resp2.obj.messageSet[1].messageId + +changeMessageVisibilityBatchRequestEntryType1 = ChangeMessageVisibilityBatchRequestEntryType(; id=id1, receiptHandle=msg1.receiptHandle, visibilityTimeout=60) +changeMessageVisibilityBatchRequestEntryType2 = ChangeMessageVisibilityBatchRequestEntryType(; id=id2, receiptHandle=msg2.receiptHandle, visibilityTimeout=90) +changeMessageVisibilityBatchRequestEntrySet = Vector{ChangeMessageVisibilityBatchRequestEntryType}() +push!(changeMessageVisibilityBatchRequestEntrySet, changeMessageVisibilityBatchRequestEntryType1) +push!(changeMessageVisibilityBatchRequestEntrySet, changeMessageVisibilityBatchRequestEntryType2) + +changeMessageVisibilityBatchType = ChangeMessageVisibilityBatchType(; queueUrl=qurl, changeMessageVisibilityBatchRequestEntrySet=changeMessageVisibilityBatchRequestEntrySet) +resp = ChangeMessageVisibilityBatch(env, changeMessageVisibilityBatchType) +if resp.http_code < 299 + println("Test for Change Message Visibility Batch Passed") +else + println("Test for Change Message Visibility Batch Failed") +end + + + +println("List Dead Letter Source Queues") +## Test case for ListDeadLetterSourceQueues +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +resp = ListDeadLetterSourceQueues(env; queueUrl=qurl) +if resp.http_code < 299 + println("Test for List Dead Letter Source Queues Passed") +else + println("Test for List Dead Letter Source Queues Failed") +end + + +println("Purge Queue") +## Test case for PurgeQueue +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +resp = PurgeQueue(env; queueUrl=qurl) +if resp.http_code < 299 + println("Test for Purge Queue Passed") +else + println("Test for Purge Queue Failed") +end + + +println("Add Permission") +## Test case for AddPermission +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl + +aWSAccountIdSet = Vector{ASCIIString}() +actionNameSet = Vector{ASCIIString}() + +push!(aWSAccountIdSet, awsAccountID) +push!(actionNameSet, "SendMessage") + +push!(aWSAccountIdSet, awsAccountID) +push!(actionNameSet, "ReceiveMessage") + +resp = AddPermission(env; queueUrl=qurl, label="My Permission 1", aWSAccountIdSet=aWSAccountIdSet, actionNameSet=actionNameSet) +if resp.http_code < 299 + println("Test for Add Permission Passed") +else + println("Test for Add Permission Failed") + println("Check if the AWS Account ID exists !!") +end + + +println("Remove Permission") +## Test case for RemovePermission +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +resp = RemovePermission(env; queueUrl=qurl, label="My Permission 1") +if resp.http_code < 299 + println("Test for Remove Permission Passed") +else + println("Test for Remove Permission Failed") +end + + + +println("Testing DeleteQueue") +qurl=GetQueueUrl(env; queueName=queueName).obj.queueUrl +DeleteQueue(env; queueUrl=qurl) +if resp.http_code < 299 + println("Test for Delete Queue Passed") +else + println("Test for Delete Queue Failed") +end +