class Cumulus::VPC::DhcpDiff

Public: Represents a single difference between local configuration and an AWS Load Balancer.

Public Class Methods

domain_servers(aws, local) click to toggle source
# File lib/vpc/models/DhcpDiff.rb, line 23
def self.domain_servers(aws, local)
  changes = Common::ListChange.simple_list_diff(aws, local)
  if changes
    diff = DhcpDiff.new(DOMAIN_SERVERS, aws, local)
    diff.changes = changes
    diff
  end
end
netbios_servers(aws, local) click to toggle source
# File lib/vpc/models/DhcpDiff.rb, line 41
def self.netbios_servers(aws, local)
  changes = Common::ListChange.simple_list_diff(aws, local)
  if changes
    diff = DhcpDiff.new(NETBIOS_SERVERS, aws, local, servers_diff)
    diff.changes = changes
    diff
  end
end
ntp_servers(aws, local) click to toggle source
# File lib/vpc/models/DhcpDiff.rb, line 32
def self.ntp_servers(aws, local)
  changes = Common::ListChange.simple_list_diff(aws, local)
  if changes
    diff = DhcpDiff.new(NTP_SERVERS, aws, local)
    diff.changes = changes
    diff
  end
end

Public Instance Methods

asset_type() click to toggle source
# File lib/vpc/models/DhcpDiff.rb, line 50
def asset_type
  "DHCP Options"
end
diff_string() click to toggle source
# File lib/vpc/models/DhcpDiff.rb, line 54
def diff_string
  case @type
  when DOMAIN_SERVERS
    [
      "Domain Name Servers:",
      @changes.removed.map { |d| Colors.unmanaged("\t#{d}") },
      @changes.added.map { |d| Colors.added("\t#{d}") },
    ].flatten.join("\n")
  when DOMAIN_NAME
    [
      "Domain Name:",
      Colors.aws_changes("\tAWS - #{aws}"),
      Colors.local_changes("\tLocal - #{local}"),
    ].join("\n")
  when NTP_SERVERS
    [
      "NTP Servers:",
      @changes.removed.map { |n| Colors.unmanaged("\t#{n}") },
      @changes.added.map { |n| Colors.added("\t#{n}") },
    ].flatten.join("\n")
  when NETBIOS_SERVERS
    [
      "NETBIOS Name Servers:",
      @changes.removed.map { |n| Colors.unmanaged("\t#{n}") },
      @changes.added.map { |n| Colors.added("\t#{n}") },
    ].flatten.join("\n")
  when NETBIOS_NODE
    [
      "NETBIOS Node Type:",
      Colors.aws_changes("\tAWS - #{aws}"),
      Colors.local_changes("\tLocal - #{local}"),
    ].join("\n")
  end
end