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>)


5871
5872
5873
5874
5875
5876
5877
5878
5879
# File 'lib/aws-sdk-wafv2/types.rb', line 5871

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.



5871
5872
5873
5874
5875
5876
5877
5878
5879
# File 'lib/aws-sdk-wafv2/types.rb', line 5871

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)


5871
5872
5873
5874
5875
5876
5877
5878
5879
# File 'lib/aws-sdk-wafv2/types.rb', line 5871

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:



5871
5872
5873
5874
5875
5876
5877
5878
5879
# File 'lib/aws-sdk-wafv2/types.rb', line 5871

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)


5871
5872
5873
5874
5875
5876
5877
5878
5879
# File 'lib/aws-sdk-wafv2/types.rb', line 5871

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