class Cumulus::CloudFront::OriginDiff

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

Attributes

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 30
def self.custom(changes, aws, local)
  diff = OriginDiff.new(CUSTOM, aws, local)
  diff.custom_changes = changes
  diff
end

Public Instance Methods

asset_type() click to toggle source
# File lib/cloudfront/models/OriginDiff.rb, line 67
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 79
def aws_name
  @aws.id
end
diff_string() click to toggle source
# File lib/cloudfront/models/OriginDiff.rb, line 36
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")
  end
end
local_name() click to toggle source
# File lib/cloudfront/models/OriginDiff.rb, line 75
def local_name
  @local.id
end