class Cumulus::CloudFront::CacheBehaviorDiff

Public: Represents a single difference between local configuration and AWS configuration of zones.

Attributes

allowed_methods[RW]
cached_methods[RW]
cookies[RW]
headers[RW]
lambda_function_associations[RW]
query_string_cache_keys[RW]
signers[RW]

Public Class Methods

allowed_methods(added_allowed_methods, removed_allowed_methods, local) click to toggle source

Public: Static method that produces a diff representing changes in CacheBehavior allowed methods

added_allowed_methods - the allowed methods that were added removed_allowed_methods - the allowed methods that were removed local - the local configuration for the zone

Returns the diff

# File lib/cloudfront/models/CacheBehaviorDiff.rb, line 105
def self.allowed_methods(added_allowed_methods, removed_allowed_methods, local)
  diff = CacheBehaviorDiff.new(METHODS_ALLOWED, nil, local)
  diff.allowed_methods = Common::ListChange.new(added_allowed_methods, removed_allowed_methods)
  diff
end
cached_methods(added_cached_methods, removed_cached_methods, local) click to toggle source

Public: Static method that produces a diff representing changes in CacheBehavior cached methods

added_cached_methods - the cached methods that were added removed_cached_methods - the cached methods that were removed local - the local configuration for the zone

Returns the diff

# File lib/cloudfront/models/CacheBehaviorDiff.rb, line 118
def self.cached_methods(added_cached_methods, removed_cached_methods, local)
  diff = CacheBehaviorDiff.new(METHODS_CACHED, nil, local)
  diff.cached_methods = Common::ListChange.new(added_cached_methods, removed_cached_methods)
  diff
end
cookies_whitelist(added_cookies, removed_cookies, local) click to toggle source

Public: Static method that produces a diff representing changes in CacheBehavior cookies whitelist

added_cookies - the cookies that were added removed_cookies - the cookies that were removed local - the local configuration for the zone

Returns the diff

# File lib/cloudfront/models/CacheBehaviorDiff.rb, line 52
def self.cookies_whitelist(added_cookies, removed_cookies, local)
  diff = CacheBehaviorDiff.new(COOKIES_WHITELIST, nil, local)
  diff.cookies = Common::ListChange.new(added_cookies, removed_cookies)
  diff
end
headers(added_headers, removed_headers, local) click to toggle source

Public: Static method that produces a diff representing changes in CacheBehavior headers

added_headers - the headers that were added removed_headers - the headers that were removed local - the local configuration for the zone

Returns the diff

# File lib/cloudfront/models/CacheBehaviorDiff.rb, line 79
def self.headers(added_headers, removed_headers, local)
  diff = CacheBehaviorDiff.new(HEADERS, nil, local)
  diff.headers = Common::ListChange.new(added_headers, removed_headers)
  diff
end
lambda_function_associations(added_assocs, removed_assocs, local) click to toggle source

Public: Static method that produces a diff representing changes in CacheBehavior lambda function associations

added_assocs - the cached methods that were added removed_assocs - the cached methods that were removed local - the local configuration for the zone

Returns the diff

# File lib/cloudfront/models/CacheBehaviorDiff.rb, line 131
def self.lambda_function_associations(added_assocs, removed_assocs, local)
  diff = CacheBehaviorDiff.new(LAMBDA_FUNCTION_ASSOCIATIONS, nil, local)
  diff.lambda_function_associations = Common::ListChange.new(added_assocs, removed_assocs)
  diff
end
query_string_cache_keys(added_keys, removed_keys, local) click to toggle source

Public: Static method that produces a diff representing changes in CacheBehavior query string cache keys

added_keys - the keys that were added removed_keys - the keys that were removed local - the local configuration for the zone

Returns the diff

# File lib/cloudfront/models/CacheBehaviorDiff.rb, line 66
def self.query_string_cache_keys(added_keys, removed_keys, local)
  diff = CacheBehaviorDiff.new(QUERY_STRING_CACHE_KEYS, nil, local)
  diff.query_string_cache_keys = Common::ListChange.new(added_keys, removed_keys)
  diff
end
signers(added_signers, removed_signers, local) click to toggle source

Public: Static method that produces a diff representing changes in CacheBehavior trusted signers

added_signers - the trusted signers that were added removed_signers - the trusted signers that were removed local - the local configuration for the zone

Returns the diff

# File lib/cloudfront/models/CacheBehaviorDiff.rb, line 92
def self.signers(added_signers, removed_signers, local)
  diff = CacheBehaviorDiff.new(SIGNERS, nil, local)
  diff.signers = Common::ListChange.new(added_signers, removed_signers)
  diff
end

Public Instance Methods

asset_type() click to toggle source
# File lib/cloudfront/models/CacheBehaviorDiff.rb, line 250
def asset_type
  "Cache Behavior"
end
aws_name() click to toggle source
# File lib/cloudfront/models/CacheBehaviorDiff.rb, line 254
def aws_name
  "#{@aws.target_origin_id}/#{@aws.path_pattern}"
end
diff_string() click to toggle source
# File lib/cloudfront/models/CacheBehaviorDiff.rb, line 137
def diff_string
  case @type
  when PATH
    [
      "path:",
      Colors.aws_changes("\tAWS - #{@aws.path_pattern}"),
      Colors.local_changes("\tLocal - #{@local.path_pattern}"),
    ].join("\n")
  when TARGET
    [
      "target origin id:",
      Colors.aws_changes("\tAWS - #{@aws.target_origin_id}"),
      Colors.local_changes("\tLocal - #{@local.target_origin_id}"),
    ].join("\n")
  when QUERY
    [
      "forward query strings:",
      Colors.aws_changes("\tAWS - #{@aws.forwarded_values.query_string}"),
      Colors.local_changes("\tLocal - #{@local.forward_query_strings}"),
    ].join("\n")
  when COOKIES
    [
      "forwarded cookies:",
      Colors.aws_changes("\tAWS - #{@aws.forwarded_values.cookies.forward}"),
      Colors.local_changes("\tLocal - #{@local.forwarded_cookies}"),
    ].join("\n")
  when COOKIES_WHITELIST
    [
      "whitelisted forwarded cookies:",
      cookies.removed.map{ |removed| Colors.removed("\t#{removed}")},
      cookies.added.map{ |added| Colors.added("\t#{added}")},
    ].flatten.join("\n")
  when QUERY_STRING_CACHE_KEYS
    [
      "Query String Cache Keys:",
      query_string_cache_keys.removed.map{ |removed| Colors.removed("\t#{removed}") },
      query_string_cache_keys.added.map{ |added| Colors.added("\t#{added}")}
    ].flatten.join("\n")
  when HEADERS
    [
      "forwarded headers:",
      headers.removed.map{ |removed| Colors.removed("\t#{removed}")},
      headers.added.map{ |added| Colors.added("\t#{added}")},
    ].flatten.join("\n")
  when SIGNERS
    [
      "trusted signers:",
      signers.removed.map{ |removed| Colors.removed("\t#{removed}")},
      signers.added.map{ |added| Colors.added("\t#{added}")},
    ].flatten.join("\n")
  when VIEWER_PROTOCOL
    [
      "viewer protocol policy:",
      Colors.aws_changes("\tAWS - #{@aws.viewer_protocol_policy}"),
      Colors.local_changes("\tLocal - #{@local.viewer_protocol_policy}"),
    ].join("\n")
  when MINTTL
    [
      "min ttl:",
      Colors.aws_changes("\tAWS - #{@aws.min_ttl}"),
      Colors.local_changes("\tLocal - #{@local.min_ttl}"),
    ].join("\n")
  when MAXTTL
    [
      "max ttl:",
      Colors.aws_changes("\tAWS - #{@aws.max_ttl}"),
      Colors.local_changes("\tLocal - #{@local.max_ttl}"),
    ].join("\n")
  when DEFTTL
    [
      "default ttl:",
      Colors.aws_changes("\tAWS - #{@aws.default_ttl}"),
      Colors.local_changes("\tLocal - #{@local.default_ttl}"),
    ].join("\n")
  when STREAMING
    [
      "smooth streaming:",
      Colors.aws_changes("\tAWS - #{@aws.smooth_streaming}"),
      Colors.local_changes("\tLocal - #{@local.smooth_streaming}"),
    ].join("\n")
  when METHODS_ALLOWED
    [
      "allowed methods:",
      allowed_methods.removed.map{ |removed| Colors.removed("\t#{removed}")},
      allowed_methods.added.map{ |added| Colors.added("\t#{added}")},
    ].flatten.join("\n")
  when METHODS_CACHED
    [
      "cached methods:",
      cached_methods.removed.map{ |removed| Colors.removed("\t#{removed}")},
      cached_methods.added.map{ |added| Colors.added("\t#{added}")},
    ].flatten.join("\n")
  when COMPRESS
    [
      "compress:",
      Colors.aws_changes("\tAWS - #{@aws.compress}"),
      Colors.local_changes("\tLocal - #{@local.compress}"),
    ].join("\n")
  when LAMBDA_FUNCTION_ASSOCIATIONS
    [
      "lambda_function_associations",
      lambda_function_associations.removed.map { |removed| Colors.removed("\t#{removed}")},
      lambda_function_associations.added.map { |added| Colors.added("\t#{added}") }
    ].join("\n")
  when FIELD_LEVEL_ENCRYPTION_ID
    [
      "field level encryption id",
      Colors.aws_changes("\tAWS - #{@aws.field_level_encryption_id}"),
      Colors.local_changes("\tLocal - #{@local.field_level_encryption_id}")
    ].join("\n")
  end
end