Class: AWSCDK::SecurityHub::CfnAutomationRuleV2::MapFilterProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
security_hub/cfn_automation_rule_v2.rb

Overview

A map filter for filtering AWS Security Hub CSPM findings.

Each map filter provides the field to check for, the value to check for, and the comparison operator.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(comparison:, key:, value:) ⇒ MapFilterProperty

Returns a new instance of MapFilterProperty.

Parameters:

  • comparison (String)

    The condition to apply to the key value when filtering Security Hub CSPM findings with a map filter.

  • key (String)

    The key of the map filter.

  • value (String)

    The value for the key in the map filter.



1004
1005
1006
1007
1008
1009
1010
1011
# File 'security_hub/cfn_automation_rule_v2.rb', line 1004

def initialize(comparison:, key:, value:)
  @comparison = comparison
  Jsii::Type.check_type(@comparison, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "comparison")
  @key = key
  Jsii::Type.check_type(@key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key")
  @value = value
  Jsii::Type.check_type(@value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "value")
end

Instance Attribute Details

#comparisonString (readonly)

The condition to apply to the key value when filtering Security Hub CSPM findings with a map filter.

To search for values that have the filter value, use one of the following comparison operators:

  • To search for values that include the filter value, use CONTAINS . For example, for the ResourceTags field, the filter Department CONTAINS Security matches findings that include the value Security for the Department tag. In the same example, a finding with a value of Security team for the Department tag is a match.
  • To search for values that exactly match the filter value, use EQUALS . For example, for the ResourceTags field, the filter Department EQUALS Security matches findings that have the value Security for the Department tag.

CONTAINS and EQUALS filters on the same field are joined by OR . A finding matches if it matches any one of those filters. For example, the filters Department CONTAINS Security OR Department CONTAINS Finance match a finding that includes either Security , Finance , or both values.

To search for values that don't have the filter value, use one of the following comparison operators:

  • To search for values that exclude the filter value, use NOT_CONTAINS . For example, for the ResourceTags field, the filter Department NOT_CONTAINS Finance matches findings that exclude the value Finance for the Department tag.
  • To search for values other than the filter value, use NOT_EQUALS . For example, for the ResourceTags field, the filter Department NOT_EQUALS Finance matches findings that don’t have the value Finance for the Department tag.

NOT_CONTAINS and NOT_EQUALS filters on the same field are joined by AND . A finding matches only if it matches all of those filters. For example, the filters Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance match a finding that excludes both the Security and Finance values.

CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can’t have both an EQUALS filter and a NOT_EQUALS filter on the same field. Combining filters in this way returns an error.

CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, see Automation rules in the AWS Security Hub CSPM User Guide .



1037
1038
1039
# File 'security_hub/cfn_automation_rule_v2.rb', line 1037

def comparison
  @comparison
end

#keyString (readonly)

The key of the map filter.

For example, for ResourceTags , Key identifies the name of the tag. For UserDefinedFields , Key is the name of the field.



1044
1045
1046
# File 'security_hub/cfn_automation_rule_v2.rb', line 1044

def key
  @key
end

#valueString (readonly)

The value for the key in the map filter.

Filter values are case sensitive. For example, one of the values for a tag called Department might be Security . If you provide security as the filter value, then there's no match.



1051
1052
1053
# File 'security_hub/cfn_automation_rule_v2.rb', line 1051

def value
  @value
end

Class Method Details

.jsii_propertiesObject



1053
1054
1055
1056
1057
1058
1059
# File 'security_hub/cfn_automation_rule_v2.rb', line 1053

def self.jsii_properties
  {
    :comparison => "comparison",
    :key => "key",
    :value => "value",
  }
end

Instance Method Details

#to_jsiiObject



1061
1062
1063
1064
1065
1066
1067
1068
1069
# File 'security_hub/cfn_automation_rule_v2.rb', line 1061

def to_jsii
  result = {}
  result.merge!({
    "comparison" => @comparison,
    "key" => @key,
    "value" => @value,
  })
  result.compact
end