Class: AWSCDK::RTBFabric::CfnLinkRoutingRuleProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
rtb_fabric/cfn_link_routing_rule_props.rb

Overview

Properties for defining a CfnLinkRoutingRule.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(conditions:, gateway_id:, link_id:, priority:, tags: nil) ⇒ CfnLinkRoutingRuleProps

Returns a new instance of CfnLinkRoutingRuleProps.

Parameters:



14
15
16
17
18
19
20
21
22
23
24
25
# File 'rtb_fabric/cfn_link_routing_rule_props.rb', line 14

def initialize(conditions:, gateway_id:, link_id:, priority:, tags: nil)
  @conditions = conditions.is_a?(Hash) ? ::AWSCDK::RTBFabric::CfnLinkRoutingRule::RuleConditionProperty.new(**conditions.transform_keys(&:to_sym)) : conditions
  Jsii::Type.check_type(@conditions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ydGJmYWJyaWMuQ2ZuTGlua1JvdXRpbmdSdWxlLlJ1bGVDb25kaXRpb25Qcm9wZXJ0eSJ9XX19")), "conditions")
  @gateway_id = gateway_id
  Jsii::Type.check_type(@gateway_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "gatewayId")
  @link_id = link_id
  Jsii::Type.check_type(@link_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "linkId")
  @priority = priority
  Jsii::Type.check_type(@priority, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "priority")
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#conditionsAWSCDK::IResolvable, AWSCDK::RTBFabric::CfnLinkRoutingRule::RuleConditionProperty (readonly)

Conditions for a routing rule.

All non-null fields must match (AND logic). At least one field must be set. HostHeader and HostHeaderWildcard are mutually exclusive. PathPrefix and PathExact are mutually exclusive.



33
34
35
# File 'rtb_fabric/cfn_link_routing_rule_props.rb', line 33

def conditions
  @conditions
end

#gateway_idString (readonly)



36
37
38
# File 'rtb_fabric/cfn_link_routing_rule_props.rb', line 36

def gateway_id
  @gateway_id
end


39
40
41
# File 'rtb_fabric/cfn_link_routing_rule_props.rb', line 39

def link_id
  @link_id
end

#priorityNumeric (readonly)



42
43
44
# File 'rtb_fabric/cfn_link_routing_rule_props.rb', line 42

def priority
  @priority
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

Tags to assign to the LinkRoutingRule.



47
48
49
# File 'rtb_fabric/cfn_link_routing_rule_props.rb', line 47

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



49
50
51
52
53
54
55
56
57
# File 'rtb_fabric/cfn_link_routing_rule_props.rb', line 49

def self.jsii_properties
  {
    :conditions => "conditions",
    :gateway_id => "gatewayId",
    :link_id => "linkId",
    :priority => "priority",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



59
60
61
62
63
64
65
66
67
68
69
# File 'rtb_fabric/cfn_link_routing_rule_props.rb', line 59

def to_jsii
  result = {}
  result.merge!({
    "conditions" => @conditions,
    "gatewayId" => @gateway_id,
    "linkId" => @link_id,
    "priority" => @priority,
    "tags" => @tags,
  })
  result.compact
end