class Cumulus::SQS::QueueDiff

Public: Represents a single difference between local configuration and AWS configuration

Public Instance Methods

asset_type() click to toggle source
# File lib/sqs/models/QueueDiff.rb, line 23
def asset_type
  "Queue"
end
aws_name() click to toggle source
# File lib/sqs/models/QueueDiff.rb, line 27
def aws_name
  @aws.name
end
diff_string() click to toggle source
# File lib/sqs/models/QueueDiff.rb, line 31
def diff_string
  case @type
  when DELAY
    [
      "Delay",
      Colors.aws_changes("\tAWS - #{aws} seconds"),
      Colors.local_changes("\tLocal - #{local} seconds")
    ].join("\n")
  when MESSAGE_SIZE
    [
      "Max Message Size",
      Colors.aws_changes("\tAWS - #{aws} bytes"),
      Colors.local_changes("\tLocal - #{local} bytes")
    ].join("\n")
  when MESSAGE_RETENTION
    [
      "Message Retention Period",
      Colors.aws_changes("\tAWS - #{aws} seconds"),
      Colors.local_changes("\tLocal - #{local} seconds")
    ].join("\n")
  when RECEIVE_WAIT
    [
      "Receive Wait Time",
      Colors.aws_changes("\tAWS - #{aws} seconds"),
      Colors.local_changes("\tLocal - #{local} seconds")
    ].join("\n")
  when VISIBILITY
    [
      "Message Visibility",
      Colors.aws_changes("\tAWS - #{aws} seconds"),
      Colors.local_changes("\tLocal - #{local} seconds")
    ].join("\n")
  when DEAD
    [
      "Dead Letter Queue",
      @changes.join("\n").lines.map { |l| "\t#{l}".chomp("\n") }
    ].flatten.join("\n")
  when POLICY
    [
      "Policy:",
      if aws
        Colors.unmanaged([
          "\tRemoving:",
          JSON.pretty_generate(aws).lines.map { |l| "\t\t#{l}".chomp("\n") }
        ].join("\n"))
      end,
      if local
        Colors.added([
          "\tAdding:",
          JSON.pretty_generate(local).lines.map { |l| "\t\t#{l}".chomp("\n") }
        ].join("\n"))
      end
    ].reject(&:nil?).join("\n")
  end
end