Class: AWSCDK::SecurityHub::CfnAutomationRule::MapFilterProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
security_hub/cfn_automation_rule.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.



1364
1365
1366
1367
1368
1369
1370
1371
# File 'security_hub/cfn_automation_rule.rb', line 1364

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 .



1397
1398
1399
# File 'security_hub/cfn_automation_rule.rb', line 1397

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.



1404
1405
1406
# File 'security_hub/cfn_automation_rule.rb', line 1404

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.



1411
1412
1413
# File 'security_hub/cfn_automation_rule.rb', line 1411

def value
  @value
end

Class Method Details

.jsii_propertiesObject



1413
1414
1415
1416
1417
1418
1419
# File 'security_hub/cfn_automation_rule.rb', line 1413

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

Instance Method Details

#to_jsiiObject



1421
1422
1423
1424
1425
1426
1427
1428
1429
# File 'security_hub/cfn_automation_rule.rb', line 1421

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