Sha256: 4a5730188e286956c349bf92626a7de4a519832118bc5882cd2608a5fedf2ecd
Contents?: true
Size: 1.9 KB
Versions: 1
Compression:
Stored size: 1.9 KB
Contents
module Fog module CDN class AWS class Real require 'rackspace-fog/aws/parsers/cdn/post_invalidation' # List information about distributions in CloudFront # # ==== Parameters # * distribution_id<~String> - Id of distribution for invalidations # * paths<~Array> - Array of string paths to objects to invalidate # * caller_reference<~String> - Used to prevent replay, defaults to Time.now.to_i.to_s # # # ==== Returns # * response<~Excon::Response>: # * body<~Hash>: # * 'Id'<~String> - Id of invalidation # * 'Status'<~String> - Status of invalidation # * 'CreateTime'<~Integer> - Time of invalidation creation # * 'InvalidationBatch'<~Array>: # * 'Path'<~Array> - Array of strings of objects to invalidate # * 'CallerReference'<~String> - Used to prevent replay, defaults to Time.now.to_i.to_s # # ==== See Also # http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/CreateInvalidation.html def post_invalidation(distribution_id, paths, caller_reference = Time.now.to_i.to_s) body = '<?xml version="1.0" encoding="UTF-8"?>' body << "<InvalidationBatch>" for path in [*paths] body << "<Path>" << path << "</Path>" end body << "<CallerReference>" << caller_reference << "</CallerReference>" body << "</InvalidationBatch>" request({ :body => body, :expects => 201, :headers => {'Content-Type' => 'text/xml'}, :idempotent => true, :method => 'POST', :parser => Fog::Parsers::CDN::AWS::PostInvalidation.new, :path => "/distribution/#{distribution_id}/invalidation" }) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rackspace-fog-1.4.2 | lib/rackspace-fog/aws/requests/cdn/post_invalidation.rb |