items part of DistributionConfig
# File lib/fog/aws/models/cdn/distribution.rb, line 31 def initialize(new_attributes = {}) super(distribution_config_to_attributes(new_attributes)) end
# File lib/fog/aws/models/cdn/distribution.rb, line 35 def invalidations @invalidations ||= begin Fog::CDN::AWS::Invalidations.new( :distribution => self, :service => service ) end end
# File lib/fog/aws/models/cdn/distribution.rb, line 44 def save requires_one :s3_origin, :custom_origin options = attributes_to_options response = identity ? put_distribution_config(identity, etag, options) : post_distribution(options) etag = response.headers['ETag'] merge_attributes(response.body) true end
# File lib/fog/aws/models/cdn/distribution.rb, line 67 def attributes_to_options options = { 'CallerReference' => caller_reference, 'S3Origin' => s3_origin, 'CustomOrigin' => custom_origin, 'CNAME' => cname, 'Comment' => comment, 'Enabled' => enabled, 'Logging' => logging, 'TrustedSigners' => trusted_signers, 'DefaultRootObject' => default_root_object } options.reject! { |k,v| v.nil? } options.reject! { |k,v| v.respond_to?(:empty?) && v.empty? } options end
# File lib/fog/aws/models/cdn/distribution.rb, line 55 def delete_distribution(identity, etag) service.delete_distribution(identity, etag) end
# File lib/fog/aws/models/cdn/distribution.rb, line 84 def distribution_config_to_attributes(new_attributes = {}) new_attributes.merge(new_attributes.delete('DistributionConfig') || {}) end
# File lib/fog/aws/models/cdn/distribution.rb, line 63 def post_distribution(options = {}) service.post_distribution(options) end
# File lib/fog/aws/models/cdn/distribution.rb, line 59 def put_distribution_config(identity, etag, options) service.put_distribution_config(identity, etag, options) end