class RenderCFN::SQS

Public Class Methods

new( arguments) click to toggle source
# File lib/renderCFN/sqs.rb, line 5
def initialize( arguments)
  @name = "#{arguments[:name]}"
  @title = "#{arguments[:title]}"
  @awsObject = { 
    @title => {
      'Type' => 'AWS::SQS::Queue',
      'Properties' => {
        'QueueName' => arguments[:name],
        'DelaySeconds' => arguments[:delaySeconds],
        'MaximumMessageSize' => arguments[:maximumMessageSize],
        'MessageRetentionPeriod' => arguments[:messageRetentionPeriod],
        'ReceiveMessageWaitTimeSeconds' => arguments[:receiveMessageWaitTimeSeconds],
        'VisibilityTimeout' => arguments[:visibilityTimeout]
      },
      'DependsOn' => []
    }
  }
end

Public Instance Methods

dependsOn(name) click to toggle source
# File lib/renderCFN/sqs.rb, line 31
def dependsOn(name)
  @awsObject[@title]['DependsOn'].push(name)
end
redrivePolicy( queueTarget, maxRecvCount) click to toggle source
# File lib/renderCFN/sqs.rb, line 24
def redrivePolicy( queueTarget, maxRecvCount)
  @awsObject[@title]['Properties']['RedrivePolicy'] = {
    'deadLetterTargetArn' => queueTarget,
    'maxReceiveCount' => maxRecvCount
  }
end