class Azure::CDN::Mgmt::V2020_04_15::Models::CdnWebApplicationFirewallPolicy

Defines web application firewall policy for Azure CDN.

Attributes

custom_rules[RW]

@return [CustomRuleList] Describes custom rules inside the policy.

etag[RW]

@return [String] Gets a unique read-only string that changes whenever the resource is updated.

managed_rules[RW]

@return [ManagedRuleSetList] Describes managed rules inside the policy.

policy_settings[RW]

@return [PolicySettings] Describes policySettings for policy

provisioning_state[RW]

@return [ProvisioningState] Provisioning state of the WebApplicationFirewallPolicy. Possible values include: 'Creating', 'Succeeded', 'Failed'

rate_limit_rules[RW]

@return [RateLimitRuleList] Describes rate limit rules inside the policy.

resource_state[RW]

@return [PolicyResourceState] Resource status of the policy. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting'

sku[RW]

@return [Sku] The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.

Public Class Methods

mapper() click to toggle source

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

# File lib/2020-04-15/generated/azure_mgmt_cdn/models/cdn_web_application_firewall_policy.rb, line 55
def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'CdnWebApplicationFirewallPolicy',
    type: {
      name: 'Composite',
      class_name: 'CdnWebApplicationFirewallPolicy',
      model_properties: {
        id: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'id',
          type: {
            name: 'String'
          }
        },
        name: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'name',
          type: {
            name: 'String'
          }
        },
        type: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'type',
          type: {
            name: 'String'
          }
        },
        location: {
          client_side_validation: true,
          required: true,
          serialized_name: 'location',
          type: {
            name: 'String'
          }
        },
        tags: {
          client_side_validation: true,
          required: false,
          serialized_name: 'tags',
          type: {
            name: 'Dictionary',
            value: {
                client_side_validation: true,
                required: false,
                serialized_name: 'StringElementType',
                type: {
                  name: 'String'
                }
            }
          }
        },
        policy_settings: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.policySettings',
          type: {
            name: 'Composite',
            class_name: 'PolicySettings'
          }
        },
        rate_limit_rules: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.rateLimitRules',
          type: {
            name: 'Composite',
            class_name: 'RateLimitRuleList'
          }
        },
        custom_rules: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.customRules',
          type: {
            name: 'Composite',
            class_name: 'CustomRuleList'
          }
        },
        managed_rules: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.managedRules',
          type: {
            name: 'Composite',
            class_name: 'ManagedRuleSetList'
          }
        },
        endpoint_links: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.endpointLinks',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'CdnEndpointElementType',
                type: {
                  name: 'Composite',
                  class_name: 'CdnEndpoint'
                }
            }
          }
        },
        provisioning_state: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.provisioningState',
          type: {
            name: 'String'
          }
        },
        resource_state: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.resourceState',
          type: {
            name: 'String'
          }
        },
        etag: {
          client_side_validation: true,
          required: false,
          serialized_name: 'etag',
          type: {
            name: 'String'
          }
        },
        sku: {
          client_side_validation: true,
          required: true,
          serialized_name: 'sku',
          type: {
            name: 'Composite',
            class_name: 'Sku'
          }
        }
      }
    }
  }
end