Class: Aws::WAFV2::Types::LoggingConfiguration

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-wafv2/types.rb

Overview

Note:

When making an API call, you may pass LoggingConfiguration data as a hash:

{
  resource_arn: "ResourceArn", # required
  log_destination_configs: ["ResourceArn"], # required
  redacted_fields: [
    {
      single_header: {
        name: "FieldToMatchData", # required
      },
      single_query_argument: {
        name: "FieldToMatchData", # required
      },
      all_query_arguments: {
      },
      uri_path: {
      },
      query_string: {
      },
      body: {
      },
      method: {
      },
      json_body: {
        match_pattern: { # required
          all: {
          },
          included_paths: ["JsonPointerPath"],
        },
        match_scope: "ALL", # required, accepts ALL, KEY, VALUE
        invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
      },
    },
  ],
  managed_by_firewall_manager: false,
  logging_filter: {
    filters: [ # required
      {
        behavior: "KEEP", # required, accepts KEEP, DROP
        requirement: "MEETS_ALL", # required, accepts MEETS_ALL, MEETS_ANY
        conditions: [ # required
          {
            action_condition: {
              action: "ALLOW", # required, accepts ALLOW, BLOCK, COUNT, CAPTCHA, EXCLUDED_AS_COUNT
            },
            label_name_condition: {
              label_name: "LabelName", # required
            },
          },
        ],
      },
    ],
    default_behavior: "KEEP", # required, accepts KEEP, DROP
  },
}

Defines an association between logging destinations and a web ACL resource, for logging from WAF. As part of the association, you can specify parts of the standard logging fields to keep out of the logs and you can specify filters so that you log only a subset of the logging records.

For information about configuring web ACL logging destinations, see

Logging web ACL traffic information][1

in the *WAF Developer Guide*.

[1]: docs.aws.amazon.com/waf/latest/developerguide/logging.html

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#log_destination_configsArray<String>

The Amazon Resource Names (ARNs) of the logging destinations that you want to associate with the web ACL.

Returns:

  • (Array<String>)


5672
5673
5674
5675
5676
5677
5678
5679
5680
# File 'lib/aws-sdk-wafv2/types.rb', line 5672

class LoggingConfiguration < Struct.new(
  :resource_arn,
  :log_destination_configs,
  :redacted_fields,
  :managed_by_firewall_manager,
  :logging_filter)
  SENSITIVE = []
  include Aws::Structure
end

#logging_filterTypes::LoggingFilter

Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.



5672
5673
5674
5675
5676
5677
5678
5679
5680
# File 'lib/aws-sdk-wafv2/types.rb', line 5672

class LoggingConfiguration < Struct.new(
  :resource_arn,
  :log_destination_configs,
  :redacted_fields,
  :managed_by_firewall_manager,
  :logging_filter)
  SENSITIVE = []
  include Aws::Structure
end

#managed_by_firewall_managerBoolean

Indicates whether the logging configuration was created by Firewall Manager, as part of an WAF policy configuration. If true, only Firewall Manager can modify or delete the configuration.

Returns:

  • (Boolean)


5672
5673
5674
5675
5676
5677
5678
5679
5680
# File 'lib/aws-sdk-wafv2/types.rb', line 5672

class LoggingConfiguration < Struct.new(
  :resource_arn,
  :log_destination_configs,
  :redacted_fields,
  :managed_by_firewall_manager,
  :logging_filter)
  SENSITIVE = []
  include Aws::Structure
end

#redacted_fieldsArray<Types::FieldToMatch>

The parts of the request that you want to keep out of the logs. For example, if you redact the `SingleHeader` field, the `HEADER` field in the logs will be `xxx`.

<note markdown=“1”> You can specify only the following fields for redaction: `UriPath`, `QueryString`, `SingleHeader`, `Method`, and `JsonBody`.

</note>

Returns:



5672
5673
5674
5675
5676
5677
5678
5679
5680
# File 'lib/aws-sdk-wafv2/types.rb', line 5672

class LoggingConfiguration < Struct.new(
  :resource_arn,
  :log_destination_configs,
  :redacted_fields,
  :managed_by_firewall_manager,
  :logging_filter)
  SENSITIVE = []
  include Aws::Structure
end

#resource_arnString

The Amazon Resource Name (ARN) of the web ACL that you want to associate with `LogDestinationConfigs`.

Returns:

  • (String)


5672
5673
5674
5675
5676
5677
5678
5679
5680
# File 'lib/aws-sdk-wafv2/types.rb', line 5672

class LoggingConfiguration < Struct.new(
  :resource_arn,
  :log_destination_configs,
  :redacted_fields,
  :managed_by_firewall_manager,
  :logging_filter)
  SENSITIVE = []
  include Aws::Structure
end