class Cumulus::CloudFront::OriginDiff
Public: Represents a single difference between local configuration and AWS configuration of zones.
Attributes
changed_headers[RW]
custom_changes[RW]
Public Class Methods
custom(changes, aws, local)
click to toggle source
Public: Static method that produces a diff representing changes in custom origin
changed_origins - the CustomOriginDiffs local - the local configuration for the zone
Returns the diff
# File lib/cloudfront/models/OriginDiff.rb, line 32 def self.custom(changes, aws, local) diff = OriginDiff.new(CUSTOM, aws, local) diff.custom_changes = changes diff end
headers(changes, local)
click to toggle source
# File lib/cloudfront/models/OriginDiff.rb, line 38 def self.headers(changes, local) diff = OriginDiff.new(HEADERS, nil, local) diff.changed_headers = changes diff end
Public Instance Methods
asset_type()
click to toggle source
# File lib/cloudfront/models/OriginDiff.rb, line 89 def asset_type if (!@local.nil? and @local.s3_access_origin_identity.nil?) or (!@aws.nil? and @aws.s3_origin_config.nil?) "Custom Origin" else "S3 Origin" end end
aws_name()
click to toggle source
# File lib/cloudfront/models/OriginDiff.rb, line 101 def aws_name @aws.id end
diff_string()
click to toggle source
# File lib/cloudfront/models/OriginDiff.rb, line 44 def diff_string case @type when DOMAIN [ "domain:", Colors.aws_changes("\tAWS - #{@aws.domain_name}"), Colors.local_changes("\tLocal - #{@local.domain_name}"), ].join("\n") when PATH [ "path:", Colors.aws_changes("\tAWS - #{@aws.origin_path}"), Colors.local_changes("\tLocal - #{@local.origin_path}"), ].join("\n") when S3 aws_value = (@aws.s3_origin_config.origin_access_identity rescue nil) [ "s3 origin access identity:", Colors.aws_changes("\tAWS - #{aws_value}"), Colors.local_changes("\tLocal - #{@local.s3_access_origin_identity}"), ].join("\n") when CUSTOM [ "custom origin config:", (@custom_changes.flat_map do |c| c.to_s.lines.map { |l| "\t#{l.chomp}"} end).join("\n"), ].join("\n") when HEADERS [ "custom headers:", @changed_headers.map do |h| if h.type == ADD or h.type == UNMANAGED h.to_s.lines.map{ |l| "\t#{l}".chomp("\n") } else [ "\t#{h.local_name}", h.to_s.lines.map { |l| "\t\t#{l}".chomp("\n")} ] end end ].flatten.join("\n") end end
local_name()
click to toggle source
# File lib/cloudfront/models/OriginDiff.rb, line 97 def local_name @local.id end