Class: AWSCDK::Events::EventCommonOptions

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
events/event_common_options.rb

Overview

Common options for Events.

Direct Known Subclasses

OnEventOptions, RuleProps

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cross_stack_scope: nil, description: nil, event_pattern: nil, rule_name: nil) ⇒ EventCommonOptions

Returns a new instance of EventCommonOptions.

Parameters:

  • cross_stack_scope (Constructs::Construct, nil) (defaults to: nil)

    The scope to use if the source of the rule and its target are in different Stacks (but in the same account & region).

  • description (String, nil) (defaults to: nil)

    A description of the rule's purpose.

  • event_pattern (AWSCDK::Events::EventPattern, nil) (defaults to: nil)

    Additional restrictions for the event to route to the specified target.

  • rule_name (String, nil) (defaults to: nil)

    A name for the rule.



11
12
13
14
15
16
17
18
19
20
# File 'events/event_common_options.rb', line 11

def initialize(cross_stack_scope: nil, description: nil, event_pattern: nil, rule_name: nil)
  @cross_stack_scope = cross_stack_scope
  Jsii::Type.check_type(@cross_stack_scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "crossStackScope") unless @cross_stack_scope.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @event_pattern = event_pattern.is_a?(Hash) ? ::AWSCDK::Events::EventPattern.new(**event_pattern.transform_keys(&:to_sym)) : event_pattern
  Jsii::Type.check_type(@event_pattern, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZXZlbnRzLkV2ZW50UGF0dGVybiJ9")), "eventPattern") unless @event_pattern.nil?
  @rule_name = rule_name
  Jsii::Type.check_type(@rule_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ruleName") unless @rule_name.nil?
end

Instance Attribute Details

#cross_stack_scopeConstructs::Construct? (readonly)

Note:

Default: - none (the main scope will be used, even for cross-stack Events)

The scope to use if the source of the rule and its target are in different Stacks (but in the same account & region).

This helps dealing with cycles that often arise in these situations.

Returns:

  • (Constructs::Construct, nil)


28
29
30
# File 'events/event_common_options.rb', line 28

def cross_stack_scope
  @cross_stack_scope
end

#descriptionString? (readonly)

Note:

Default: - No description

A description of the rule's purpose.

Returns:

  • (String, nil)


33
34
35
# File 'events/event_common_options.rb', line 33

def description
  @description
end

#event_patternAWSCDK::Events::EventPattern? (readonly)

Note:

Default: - No additional filtering based on an event pattern.

Additional restrictions for the event to route to the specified target.

The method that generates the rule probably imposes some type of event filtering. The filtering implied by what you pass here is added on top of that filtering.



43
44
45
# File 'events/event_common_options.rb', line 43

def event_pattern
  @event_pattern
end

#rule_nameString? (readonly)

Note:

Default: AWS CloudFormation generates a unique physical ID.

A name for the rule.

Returns:

  • (String, nil)


48
49
50
# File 'events/event_common_options.rb', line 48

def rule_name
  @rule_name
end

Class Method Details

.jsii_propertiesObject



50
51
52
53
54
55
56
57
# File 'events/event_common_options.rb', line 50

def self.jsii_properties
  {
    :cross_stack_scope => "crossStackScope",
    :description => "description",
    :event_pattern => "eventPattern",
    :rule_name => "ruleName",
  }
end

Instance Method Details

#to_jsiiObject



59
60
61
62
63
64
65
66
67
68
# File 'events/event_common_options.rb', line 59

def to_jsii
  result = {}
  result.merge!({
    "crossStackScope" => @cross_stack_scope,
    "description" => @description,
    "eventPattern" => @event_pattern,
    "ruleName" => @rule_name,
  })
  result.compact
end