Class: Fog::CDN::AWS::Distribution

Inherits:
Model
  • Object
show all
Includes:
DistributionHelper
Defined in:
lib/fog/aws/models/cdn/distribution.rb

Constant Summary collapse

CONFIG =

items part of DistributionConfig

[ :caller_reference, :origin,  :cname, :comment, :enabled, :logging, :trusted_signers, :default_root_object ]

Instance Attribute Summary

Attributes inherited from Model

#collection, #connection

Instance Method Summary collapse

Methods included from DistributionHelper

#custom_origin?, #destroy, #disable, #disabled?, #enable, #enabled?, #ready?

Methods inherited from Model

#inspect, #reload, #symbolize_keys, #to_json, #wait_for

Methods included from Attributes::ClassMethods

#_load, #aliases, #attribute, #attributes, #identity, #ignore_attributes, #ignored_attributes

Methods included from Attributes::InstanceMethods

#_dump, #attributes, #dup, #identity, #identity=, #merge_attributes, #new_record?, #requires, #requires_one

Constructor Details

#initialize(new_attributes = {}) ⇒ Distribution

Returns a new instance of Distribution.



32
33
34
# File 'lib/fog/aws/models/cdn/distribution.rb', line 32

def initialize(new_attributes = {})
  super(distribution_config_to_attributes(new_attributes))
end

Instance Method Details

#invalidationsObject



36
37
38
39
40
41
42
43
# File 'lib/fog/aws/models/cdn/distribution.rb', line 36

def invalidations
  @invalidations ||= begin
    Fog::CDN::AWS::Invalidations.new(
      :distribution => self,
      :connection => connection
    )
  end
end

#saveObject



45
46
47
48
49
50
51
52
# File 'lib/fog/aws/models/cdn/distribution.rb', line 45

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