class Fog::AWS::CDN::StreamingDistribution

Constants

CONFIG

items part of DistributionConfig

Public Class Methods

new(new_attributes = {}) click to toggle source
Calls superclass method
# File lib/fog/aws/models/cdn/streaming_distribution.rb, line 26
def initialize(new_attributes = {})
  super(distribution_config_to_attributes(new_attributes))
end

Public Instance Methods

save() click to toggle source
# File lib/fog/aws/models/cdn/streaming_distribution.rb, line 30
def save
  requires_one :s3_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

Private Instance Methods

attributes_to_options() click to toggle source
# File lib/fog/aws/models/cdn/streaming_distribution.rb, line 53
def attributes_to_options
  options = {
    'CallerReference' => caller_reference,
    'S3Origin' => s3_origin,
    'CNAME' => cname,
    'Comment' => comment,
    'Enabled' => enabled,
    'Logging' => logging,
  }
  options.reject! { |k,v| v.nil? }
  options.reject! { |k,v| v.respond_to?(:empty?) && v.empty? }
  options
end
delete_distribution(identity, etag) click to toggle source
# File lib/fog/aws/models/cdn/streaming_distribution.rb, line 41
def delete_distribution(identity, etag)
  service.delete_streaming_distribution(identity, etag)
end
distribution_config_to_attributes(new_attributes = {}) click to toggle source
# File lib/fog/aws/models/cdn/streaming_distribution.rb, line 67
def distribution_config_to_attributes(new_attributes = {})
  new_attributes.merge(new_attributes.delete('StreamingDistributionConfig') || {})
end
post_distribution(options = {}) click to toggle source
# File lib/fog/aws/models/cdn/streaming_distribution.rb, line 49
def post_distribution(options = {})
  service.post_streaming_distribution(options)
end
put_distribution_config(identity, etag, options) click to toggle source
# File lib/fog/aws/models/cdn/streaming_distribution.rb, line 45
def put_distribution_config(identity, etag, options)
  service.put_streaming_distribution_config(identity, etag, options)
end