Class: AWSCDK::Route53Resolver::CfnFirewallRuleGroupAssociationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
route53_resolver/cfn_firewall_rule_group_association_props.rb

Overview

Properties for defining a CfnFirewallRuleGroupAssociation.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(firewall_rule_group_id:, priority:, vpc_id:, mutation_protection: nil, name: nil, tags: nil) ⇒ CfnFirewallRuleGroupAssociationProps

Returns a new instance of CfnFirewallRuleGroupAssociationProps.

Parameters:

  • firewall_rule_group_id (String, AWSCDK::Interfaces::AWSRoute53Resolver::IFirewallRuleGroupRef)

    The unique identifier of the firewall rule group.

  • priority (Numeric)

    The setting that determines the processing order of the rule group among the rule groups that are associated with a single VPC.

  • vpc_id (String, AWSCDK::Interfaces::AWSEC2::IVPCRef)

    The unique identifier of the VPC that is associated with the rule group.

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

    If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections.

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

    The name of the association.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    A list of the tag keys and values that you want to associate with the rule group.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'route53_resolver/cfn_firewall_rule_group_association_props.rb', line 15

def initialize(firewall_rule_group_id:, priority:, vpc_id:, mutation_protection: nil, name: nil, tags: nil)
  @firewall_rule_group_id = firewall_rule_group_id
  Jsii::Type.check_type(@firewall_rule_group_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19yb3V0ZTUzcmVzb2x2ZXIuSUZpcmV3YWxsUnVsZUdyb3VwUmVmIn1dfX0=")), "firewallRuleGroupId")
  @priority = priority
  Jsii::Type.check_type(@priority, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "priority")
  @vpc_id = vpc_id
  Jsii::Type.check_type(@vpc_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lYzIuSVZQQ1JlZiJ9XX19")), "vpcId")
  @mutation_protection = mutation_protection
  Jsii::Type.check_type(@mutation_protection, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "mutationProtection") unless @mutation_protection.nil?
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil?
  @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

#firewall_rule_group_idString, AWSCDK::Interfaces::AWSRoute53Resolver::IFirewallRuleGroupRef (readonly)

The unique identifier of the firewall rule group.



34
35
36
# File 'route53_resolver/cfn_firewall_rule_group_association_props.rb', line 34

def firewall_rule_group_id
  @firewall_rule_group_id
end

#mutation_protectionString? (readonly)

If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections.



55
56
57
# File 'route53_resolver/cfn_firewall_rule_group_association_props.rb', line 55

def mutation_protection
  @mutation_protection
end

#nameString? (readonly)

The name of the association.



60
61
62
# File 'route53_resolver/cfn_firewall_rule_group_association_props.rb', line 60

def name
  @name
end

#priorityNumeric (readonly)

The setting that determines the processing order of the rule group among the rule groups that are associated with a single VPC.

DNS Firewall filters VPC traffic starting from rule group with the lowest numeric priority setting.

You must specify a unique priority for each rule group that you associate with a single VPC. To make it easier to insert rule groups later, leave space between the numbers, for example, use 101, 200, and so on. You can change the priority setting for a rule group association after you create it.

The allowed values for Priority are between 100 and 9900 (excluding 100 and 9900).



45
46
47
# File 'route53_resolver/cfn_firewall_rule_group_association_props.rb', line 45

def priority
  @priority
end

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

A list of the tag keys and values that you want to associate with the rule group.



65
66
67
# File 'route53_resolver/cfn_firewall_rule_group_association_props.rb', line 65

def tags
  @tags
end

#vpc_idString, AWSCDK::Interfaces::AWSEC2::IVPCRef (readonly)

The unique identifier of the VPC that is associated with the rule group.



50
51
52
# File 'route53_resolver/cfn_firewall_rule_group_association_props.rb', line 50

def vpc_id
  @vpc_id
end

Class Method Details

.jsii_propertiesObject



67
68
69
70
71
72
73
74
75
76
# File 'route53_resolver/cfn_firewall_rule_group_association_props.rb', line 67

def self.jsii_properties
  {
    :firewall_rule_group_id => "firewallRuleGroupId",
    :priority => "priority",
    :vpc_id => "vpcId",
    :mutation_protection => "mutationProtection",
    :name => "name",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



78
79
80
81
82
83
84
85
86
87
88
89
# File 'route53_resolver/cfn_firewall_rule_group_association_props.rb', line 78

def to_jsii
  result = {}
  result.merge!({
    "firewallRuleGroupId" => @firewall_rule_group_id,
    "priority" => @priority,
    "vpcId" => @vpc_id,
    "mutationProtection" => @mutation_protection,
    "name" => @name,
    "tags" => @tags,
  })
  result.compact
end