class Fog::AWS::CDN::Invalidation
Public Class Methods
new(new_attributes={})
click to toggle source
Calls superclass method
# File lib/fog/aws/models/cdn/invalidation.rb, line 12 def initialize(new_attributes={}) new_attributes[:caller_reference] ||= Time.now.utc.to_i.to_s super(invalidation_to_attributes(new_attributes)) end
Public Instance Methods
destroy()
click to toggle source
# File lib/fog/aws/models/cdn/invalidation.rb, line 34 def destroy # invalidations can't be removed, but tests are requiring they do :) true end
distribution()
click to toggle source
# File lib/fog/aws/models/cdn/invalidation.rb, line 17 def distribution @distribution end
ready?()
click to toggle source
# File lib/fog/aws/models/cdn/invalidation.rb, line 21 def ready? requires :id, :status status == 'Completed' end
save()
click to toggle source
# File lib/fog/aws/models/cdn/invalidation.rb, line 26 def save requires :paths, :caller_reference raise "Submitted invalidation cannot be submitted again" if persisted? response = service.post_invalidation(distribution.identity, paths, caller_reference) merge_attributes(invalidation_to_attributes(response.body)) true end
Private Instance Methods
distribution=(dist)
click to toggle source
# File lib/fog/aws/models/cdn/invalidation.rb, line 41 def distribution=(dist) @distribution = dist end
invalidation_to_attributes(new_attributes={})
click to toggle source
# File lib/fog/aws/models/cdn/invalidation.rb, line 45 def invalidation_to_attributes(new_attributes={}) invalidation_batch = new_attributes.delete('InvalidationBatch') || {} if invalidation_batch['Path'] new_attributes[:paths] = invalidation_batch['Path'] end if invalidation_batch['CallerReference'] new_attributes[:caller_reference] = invalidation_batch['CallerReference'] end new_attributes end