Sha256: 21e232b7b5e64cea86f8443da8c91b74c67d0c9a443b564d86310aeb3ad8aa85

Contents?: true

Size: 1.46 KB

Versions: 72

Compression:

Stored size: 1.46 KB

Contents

require 'fog/core/collection'

module Fog
  module CDN
    class AWS

      module DistributionHelper

        def destroy
          requires :identity, :etag, :caller_reference
          raise "Distribution must be disabled to be deleted" unless disabled?
          delete_distribution(identity, etag)
          true
        end

        def enabled?
          requires :identity
          !!enabled and ready?
        end

        def disabled?
          requires :identity
          not enabled? and ready?
        end

        def custom_origin?
          requires :identity
          not custom_origin.nil?
        end

        def ready?
          requires :identity
          status == 'Deployed'
        end

        def enable
          requires :identity
          reload if etag.nil? or caller_reference.nil?
          unless enabled?
            self.enabled = true
            response = put_distribution_config(identity, etag, attributes_to_options)
            etag = response.headers['ETag']
            merge_attributes(response.body)
          end
          true
        end

        def disable
          requires :identity
          reload if etag.nil? or caller_reference.nil?
          if enabled?
            self.enabled = false
            response = put_distribution_config(identity, etag, attributes_to_options)
            etag = response.headers['ETag']
            merge_attributes(response.body)
          end
          true
        end

      end

    end
  end
end

Version data entries

72 entries across 72 versions & 9 rubygems

Version Path
fog-1.22.0 lib/fog/aws/models/cdn/distribution_helper.rb
fog-1.21.0 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.20.0.20140305101839 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.20.0.20140305101305 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.19.0.20140212012611 lib/fog/aws/models/cdn/distribution_helper.rb
fog-1.20.0 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.19.0.20140110004459 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.19.0.20140110003812 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.19.0.20140109202555 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.19.0.20140107192102 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.19.0.20140107142106 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.19.0.20131219203941 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.18.0.20131219193542 lib/fog/aws/models/cdn/distribution_helper.rb
fog-1.19.0 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.18.0.20131219033443 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.18.0.20131219032002 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.18.0.20131219030716 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.18.0.20131219022322 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.18.0.20131218202447 lib/fog/aws/models/cdn/distribution_helper.rb
fog-maestrodev-1.18.0.20131209091424 lib/fog/aws/models/cdn/distribution_helper.rb