def put_distribution_config(distribution_id, etag, options = {})
data = '<?xml version="1.0" encoding="UTF-8"?>'
data << "<DistributionConfig xmlns=\"http://cloudfront.amazonaws.com/doc/#{@version}/\">"
for key, value in options
case value
when Array
for item in value
data << "<#{key}>#{item}</#{key}>"
end
when Hash
data << "<#{key}>"
for inner_key, inner_value in value
data << "<#{inner_key}>#{inner_value}</#{inner_key}>"
end
data << "</#{key}>"
else
data << "<#{key}>#{value}</#{key}>"
end
end
data << "</DistributionConfig>"
request({
:body => data,
:expects => 200,
:headers => {
'Content-Type' => 'text/xml',
'If-Match' => etag
},
:idempotent => true,
:method => 'PUT',
:parser => Fog::Parsers::CDN::AWS::Distribution.new,
:path => "/distribution/#{distribution_id}/config"
})
end