class Azure::Network::Mgmt::V2020_06_01::Models::ApplicationGatewayWebApplicationFirewallConfiguration

Application gateway web application firewall configuration.

Attributes

disabled_rule_groups[RW]

@return [Array<ApplicationGatewayFirewallDisabledRuleGroup>] The disabled rule groups.

enabled[RW]

@return [Boolean] Whether the web application firewall is enabled or not.

exclusions[RW]

@return [Array<ApplicationGatewayFirewallExclusion>] The exclusion list.

file_upload_limit_in_mb[RW]

@return [Integer] Maximum file upload size in Mb for WAF.

firewall_mode[RW]

@return [ApplicationGatewayFirewallMode] Web application firewall mode. Possible values include: 'Detection', 'Prevention'

max_request_body_size[RW]

@return [Integer] Maximum request body size for WAF.

max_request_body_size_in_kb[RW]

@return [Integer] Maximum request body size in Kb for WAF.

request_body_check[RW]

@return [Boolean] Whether allow WAF to check request Body.

rule_set_type[RW]

@return [String] The type of the web application firewall rule set. Possible values are: 'OWASP'.

rule_set_version[RW]

@return [String] The version of the rule set type.

Public Class Methods

mapper() click to toggle source

Mapper for ApplicationGatewayWebApplicationFirewallConfiguration class as Ruby Hash. This will be used for serialization/deserialization.

# File lib/2020-06-01/generated/azure_mgmt_network/models/application_gateway_web_application_firewall_configuration.rb, line 56
def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'ApplicationGatewayWebApplicationFirewallConfiguration',
    type: {
      name: 'Composite',
      class_name: 'ApplicationGatewayWebApplicationFirewallConfiguration',
      model_properties: {
        enabled: {
          client_side_validation: true,
          required: true,
          serialized_name: 'enabled',
          type: {
            name: 'Boolean'
          }
        },
        firewall_mode: {
          client_side_validation: true,
          required: true,
          serialized_name: 'firewallMode',
          type: {
            name: 'String'
          }
        },
        rule_set_type: {
          client_side_validation: true,
          required: true,
          serialized_name: 'ruleSetType',
          type: {
            name: 'String'
          }
        },
        rule_set_version: {
          client_side_validation: true,
          required: true,
          serialized_name: 'ruleSetVersion',
          type: {
            name: 'String'
          }
        },
        disabled_rule_groups: {
          client_side_validation: true,
          required: false,
          serialized_name: 'disabledRuleGroups',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'ApplicationGatewayFirewallDisabledRuleGroupElementType',
                type: {
                  name: 'Composite',
                  class_name: 'ApplicationGatewayFirewallDisabledRuleGroup'
                }
            }
          }
        },
        request_body_check: {
          client_side_validation: true,
          required: false,
          serialized_name: 'requestBodyCheck',
          type: {
            name: 'Boolean'
          }
        },
        max_request_body_size: {
          client_side_validation: true,
          required: false,
          serialized_name: 'maxRequestBodySize',
          constraints: {
            InclusiveMaximum: 128,
            InclusiveMinimum: 8
          },
          type: {
            name: 'Number'
          }
        },
        max_request_body_size_in_kb: {
          client_side_validation: true,
          required: false,
          serialized_name: 'maxRequestBodySizeInKb',
          constraints: {
            InclusiveMaximum: 128,
            InclusiveMinimum: 8
          },
          type: {
            name: 'Number'
          }
        },
        file_upload_limit_in_mb: {
          client_side_validation: true,
          required: false,
          serialized_name: 'fileUploadLimitInMb',
          constraints: {
            InclusiveMinimum: 0
          },
          type: {
            name: 'Number'
          }
        },
        exclusions: {
          client_side_validation: true,
          required: false,
          serialized_name: 'exclusions',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'ApplicationGatewayFirewallExclusionElementType',
                type: {
                  name: 'Composite',
                  class_name: 'ApplicationGatewayFirewallExclusion'
                }
            }
          }
        }
      }
    }
  }
end