Class: AWSCDK::EventsTargets::SQSQueue

Inherits:
Jsii::Object
  • Object
show all
Includes:
AWSCDK::Events::IRuleTarget
Defined in:
events_targets/sqs_queue.rb

Overview

Use an SQS Queue as a target for Amazon EventBridge rules.

Examples:

# publish to an SQS queue every time code is committed
# to a CodeCommit repository
repository.on_commit("onCommit", {target: AWSCDK::EventsTargets::SQSQueue.new(queue)})

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(queue, props = nil) ⇒ SQSQueue

Returns a new instance of SQSQueue.

Parameters:



16
17
18
19
20
21
# File 'events_targets/sqs_queue.rb', line 16

def initialize(queue, props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::EventsTargets::SQSQueueProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(queue, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3FzLklRdWV1ZSJ9")), "queue")
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZXZlbnRzX3RhcmdldHMuU3FzUXVldWVQcm9wcyJ9")), "props") unless props.nil?
  Jsii::Object.instance_method(:initialize).bind(self).call(queue, props)
end

Class Method Details

.jsii_overridable_methodsObject



23
24
25
26
27
28
# File 'events_targets/sqs_queue.rb', line 23

def self.jsii_overridable_methods
  {
    :queue => { kind: :property, name: "queue", is_optional: false },
    :bind => { kind: :method, name: "bind", is_optional: false },
  }
end

Instance Method Details

#bind(rule, _id = nil) ⇒ AWSCDK::Events::RuleTargetConfig

Returns a RuleTarget that can be used to trigger this SQS queue as a result from an EventBridge event.



41
42
43
44
45
# File 'events_targets/sqs_queue.rb', line 41

def bind(rule, _id = nil)
  Jsii::Type.check_type(rule, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19ldmVudHMuSVJ1bGVSZWYifQ==")), "rule")
  Jsii::Type.check_type(_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "_id") unless _id.nil?
  jsii_call_method("bind", [rule, _id])
end

#queueAWSCDK::SQS::IQueue

Returns:



31
32
33
# File 'events_targets/sqs_queue.rb', line 31

def queue()
  jsii_get_property("queue")
end