// Code generated by azure-service-operator-codegen. DO NOT EDIT.
github.com/Azure/azure-service-operator/v2/api/network.frontdoor/v1api20220501
├── APIVersion: Enum (1 value)
│   └── "2022-05-01"
├── FrontDoorWebApplicationFirewallPolicy_STATUS_ARM: Object (8 properties)
│   ├── Etag: *string
│   ├── Id: *string
│   ├── Location: *string
│   ├── Name: *string
│   ├── Properties: *Object (8 properties)
│   │   ├── CustomRules: *Object (1 property)
│   │   │   └── Rules: Object (8 properties)[]
│   │   │       ├── Action: *Enum (5 values)
│   │   │       │   ├── "Allow"
│   │   │       │   ├── "AnomalyScoring"
│   │   │       │   ├── "Block"
│   │   │       │   ├── "Log"
│   │   │       │   └── "Redirect"
│   │   │       ├── EnabledState: *Enum (2 values)
│   │   │       │   ├── "Disabled"
│   │   │       │   └── "Enabled"
│   │   │       ├── MatchConditions: Object (6 properties)[]
│   │   │       │   ├── MatchValue: string[]
│   │   │       │   ├── MatchVariable: *Enum (9 values)
│   │   │       │   │   ├── "Cookies"
│   │   │       │   │   ├── "PostArgs"
│   │   │       │   │   ├── "QueryString"
│   │   │       │   │   ├── "RemoteAddr"
│   │   │       │   │   ├── "RequestBody"
│   │   │       │   │   ├── "RequestHeader"
│   │   │       │   │   ├── "RequestMethod"
│   │   │       │   │   ├── "RequestUri"
│   │   │       │   │   └── "SocketAddr"
│   │   │       │   ├── NegateCondition: *bool
│   │   │       │   ├── Operator: *Enum (12 values)
│   │   │       │   │   ├── "Any"
│   │   │       │   │   ├── "BeginsWith"
│   │   │       │   │   ├── "Contains"
│   │   │       │   │   ├── "EndsWith"
│   │   │       │   │   ├── "Equal"
│   │   │       │   │   ├── "GeoMatch"
│   │   │       │   │   ├── "GreaterThan"
│   │   │       │   │   ├── "GreaterThanOrEqual"
│   │   │       │   │   ├── "IPMatch"
│   │   │       │   │   ├── "LessThan"
│   │   │       │   │   ├── "LessThanOrEqual"
│   │   │       │   │   └── "RegEx"
│   │   │       │   ├── Selector: *string
│   │   │       │   └── Transforms: Enum (6 values)[]
│   │   │       │       ├── "Lowercase"
│   │   │       │       ├── "RemoveNulls"
│   │   │       │       ├── "Trim"
│   │   │       │       ├── "Uppercase"
│   │   │       │       ├── "UrlDecode"
│   │   │       │       └── "UrlEncode"
│   │   │       ├── Name: *string
│   │   │       ├── Priority: *int
│   │   │       ├── RateLimitDurationInMinutes: *int
│   │   │       ├── RateLimitThreshold: *int
│   │   │       └── RuleType: *Enum (2 values)
│   │   │           ├── "MatchRule"
│   │   │           └── "RateLimitRule"
│   │   ├── FrontendEndpointLinks: Object (1 property)[]
│   │   │   └── Id: *string
│   │   ├── ManagedRules: *Object (1 property)
│   │   │   └── ManagedRuleSets: Object (5 properties)[]
│   │   │       ├── Exclusions: Object (3 properties)[]
│   │   │       │   ├── MatchVariable: *Enum (5 values)
│   │   │       │   │   ├── "QueryStringArgNames"
│   │   │       │   │   ├── "RequestBodyJsonArgNames"
│   │   │       │   │   ├── "RequestBodyPostArgNames"
│   │   │       │   │   ├── "RequestCookieNames"
│   │   │       │   │   └── "RequestHeaderNames"
│   │   │       │   ├── Selector: *string
│   │   │       │   └── SelectorMatchOperator: *Enum (5 values)
│   │   │       │       ├── "Contains"
│   │   │       │       ├── "EndsWith"
│   │   │       │       ├── "Equals"
│   │   │       │       ├── "EqualsAny"
│   │   │       │       └── "StartsWith"
│   │   │       ├── RuleGroupOverrides: Object (3 properties)[]
│   │   │       │   ├── Exclusions: Object (3 properties)[]
│   │   │       │   │   ├── MatchVariable: *Enum (5 values)
│   │   │       │   │   │   ├── "QueryStringArgNames"
│   │   │       │   │   │   ├── "RequestBodyJsonArgNames"
│   │   │       │   │   │   ├── "RequestBodyPostArgNames"
│   │   │       │   │   │   ├── "RequestCookieNames"
│   │   │       │   │   │   └── "RequestHeaderNames"
│   │   │       │   │   ├── Selector: *string
│   │   │       │   │   └── SelectorMatchOperator: *Enum (5 values)
│   │   │       │   │       ├── "Contains"
│   │   │       │   │       ├── "EndsWith"
│   │   │       │   │       ├── "Equals"
│   │   │       │   │       ├── "EqualsAny"
│   │   │       │   │       └── "StartsWith"
│   │   │       │   ├── RuleGroupName: *string
│   │   │       │   └── Rules: Object (4 properties)[]
│   │   │       │       ├── Action: *Enum (5 values)
│   │   │       │       │   ├── "Allow"
│   │   │       │       │   ├── "AnomalyScoring"
│   │   │       │       │   ├── "Block"
│   │   │       │       │   ├── "Log"
│   │   │       │       │   └── "Redirect"
│   │   │       │       ├── EnabledState: *Enum (2 values)
│   │   │       │       │   ├── "Disabled"
│   │   │       │       │   └── "Enabled"
│   │   │       │       ├── Exclusions: Object (3 properties)[]
│   │   │       │       │   ├── MatchVariable: *Enum (5 values)
│   │   │       │       │   │   ├── "QueryStringArgNames"
│   │   │       │       │   │   ├── "RequestBodyJsonArgNames"
│   │   │       │       │   │   ├── "RequestBodyPostArgNames"
│   │   │       │       │   │   ├── "RequestCookieNames"
│   │   │       │       │   │   └── "RequestHeaderNames"
│   │   │       │       │   ├── Selector: *string
│   │   │       │       │   └── SelectorMatchOperator: *Enum (5 values)
│   │   │       │       │       ├── "Contains"
│   │   │       │       │       ├── "EndsWith"
│   │   │       │       │       ├── "Equals"
│   │   │       │       │       ├── "EqualsAny"
│   │   │       │       │       └── "StartsWith"
│   │   │       │       └── RuleId: *string
│   │   │       ├── RuleSetAction: *Enum (3 values)
│   │   │       │   ├── "Block"
│   │   │       │   ├── "Log"
│   │   │       │   └── "Redirect"
│   │   │       ├── RuleSetType: *string
│   │   │       └── RuleSetVersion: *string
│   │   ├── PolicySettings: *Object (6 properties)
│   │   │   ├── CustomBlockResponseBody: *string
│   │   │   ├── CustomBlockResponseStatusCode: *int
│   │   │   ├── EnabledState: *Enum (2 values)
│   │   │   │   ├── "Disabled"
│   │   │   │   └── "Enabled"
│   │   │   ├── Mode: *Enum (2 values)
│   │   │   │   ├── "Detection"
│   │   │   │   └── "Prevention"
│   │   │   ├── RedirectUrl: *string
│   │   │   └── RequestBodyCheck: *Enum (2 values)
│   │   │       ├── "Disabled"
│   │   │       └── "Enabled"
│   │   ├── ProvisioningState: *string
│   │   ├── ResourceState: *Enum (6 values)
│   │   │   ├── "Creating"
│   │   │   ├── "Deleting"
│   │   │   ├── "Disabled"
│   │   │   ├── "Disabling"
│   │   │   ├── "Enabled"
│   │   │   └── "Enabling"
│   │   ├── RoutingRuleLinks: Object (1 property)[]
│   │   │   └── Id: *string
│   │   └── SecurityPolicyLinks: Object (1 property)[]
│   │       └── Id: *string
│   ├── Sku: *Object (1 property)
│   │   └── Name: *Enum (3 values)
│   │       ├── "Classic_AzureFrontDoor"
│   │       ├── "Premium_AzureFrontDoor"
│   │       └── "Standard_AzureFrontDoor"
│   ├── Tags: map[string]string
│   └── Type: *string
├── FrontDoorWebApplicationFirewallPolicy_Spec_ARM: Object (6 properties)
│   ├── Etag: *string
│   ├── Location: *string
│   ├── Name: string
│   ├── Properties: *Object (3 properties)
│   │   ├── CustomRules: *Object (1 property)
│   │   │   └── Rules: Object (8 properties)[]
│   │   │       ├── Action: *Enum (5 values)
│   │   │       │   ├── "Allow"
│   │   │       │   ├── "AnomalyScoring"
│   │   │       │   ├── "Block"
│   │   │       │   ├── "Log"
│   │   │       │   └── "Redirect"
│   │   │       ├── EnabledState: *Enum (2 values)
│   │   │       │   ├── "Disabled"
│   │   │       │   └── "Enabled"
│   │   │       ├── MatchConditions: Object (6 properties)[]
│   │   │       │   ├── MatchValue: string[]
│   │   │       │   ├── MatchVariable: *Enum (9 values)
│   │   │       │   │   ├── "Cookies"
│   │   │       │   │   ├── "PostArgs"
│   │   │       │   │   ├── "QueryString"
│   │   │       │   │   ├── "RemoteAddr"
│   │   │       │   │   ├── "RequestBody"
│   │   │       │   │   ├── "RequestHeader"
│   │   │       │   │   ├── "RequestMethod"
│   │   │       │   │   ├── "RequestUri"
│   │   │       │   │   └── "SocketAddr"
│   │   │       │   ├── NegateCondition: *bool
│   │   │       │   ├── Operator: *Enum (12 values)
│   │   │       │   │   ├── "Any"
│   │   │       │   │   ├── "BeginsWith"
│   │   │       │   │   ├── "Contains"
│   │   │       │   │   ├── "EndsWith"
│   │   │       │   │   ├── "Equal"
│   │   │       │   │   ├── "GeoMatch"
│   │   │       │   │   ├── "GreaterThan"
│   │   │       │   │   ├── "GreaterThanOrEqual"
│   │   │       │   │   ├── "IPMatch"
│   │   │       │   │   ├── "LessThan"
│   │   │       │   │   ├── "LessThanOrEqual"
│   │   │       │   │   └── "RegEx"
│   │   │       │   ├── Selector: *string
│   │   │       │   └── Transforms: Enum (6 values)[]
│   │   │       │       ├── "Lowercase"
│   │   │       │       ├── "RemoveNulls"
│   │   │       │       ├── "Trim"
│   │   │       │       ├── "Uppercase"
│   │   │       │       ├── "UrlDecode"
│   │   │       │       └── "UrlEncode"
│   │   │       ├── Name: *string
│   │   │       ├── Priority: *int
│   │   │       ├── RateLimitDurationInMinutes: *int
│   │   │       ├── RateLimitThreshold: *int
│   │   │       └── RuleType: *Enum (2 values)
│   │   │           ├── "MatchRule"
│   │   │           └── "RateLimitRule"
│   │   ├── ManagedRules: *Object (1 property)
│   │   │   └── ManagedRuleSets: Object (5 properties)[]
│   │   │       ├── Exclusions: Object (3 properties)[]
│   │   │       │   ├── MatchVariable: *Enum (5 values)
│   │   │       │   │   ├── "QueryStringArgNames"
│   │   │       │   │   ├── "RequestBodyJsonArgNames"
│   │   │       │   │   ├── "RequestBodyPostArgNames"
│   │   │       │   │   ├── "RequestCookieNames"
│   │   │       │   │   └── "RequestHeaderNames"
│   │   │       │   ├── Selector: *string
│   │   │       │   └── SelectorMatchOperator: *Enum (5 values)
│   │   │       │       ├── "Contains"
│   │   │       │       ├── "EndsWith"
│   │   │       │       ├── "Equals"
│   │   │       │       ├── "EqualsAny"
│   │   │       │       └── "StartsWith"
│   │   │       ├── RuleGroupOverrides: Object (3 properties)[]
│   │   │       │   ├── Exclusions: Object (3 properties)[]
│   │   │       │   │   ├── MatchVariable: *Enum (5 values)
│   │   │       │   │   │   ├── "QueryStringArgNames"
│   │   │       │   │   │   ├── "RequestBodyJsonArgNames"
│   │   │       │   │   │   ├── "RequestBodyPostArgNames"
│   │   │       │   │   │   ├── "RequestCookieNames"
│   │   │       │   │   │   └── "RequestHeaderNames"
│   │   │       │   │   ├── Selector: *string
│   │   │       │   │   └── SelectorMatchOperator: *Enum (5 values)
│   │   │       │   │       ├── "Contains"
│   │   │       │   │       ├── "EndsWith"
│   │   │       │   │       ├── "Equals"
│   │   │       │   │       ├── "EqualsAny"
│   │   │       │   │       └── "StartsWith"
│   │   │       │   ├── RuleGroupName: *string
│   │   │       │   └── Rules: Object (4 properties)[]
│   │   │       │       ├── Action: *Enum (5 values)
│   │   │       │       │   ├── "Allow"
│   │   │       │       │   ├── "AnomalyScoring"
│   │   │       │       │   ├── "Block"
│   │   │       │       │   ├── "Log"
│   │   │       │       │   └── "Redirect"
│   │   │       │       ├── EnabledState: *Enum (2 values)
│   │   │       │       │   ├── "Disabled"
│   │   │       │       │   └── "Enabled"
│   │   │       │       ├── Exclusions: Object (3 properties)[]
│   │   │       │       │   ├── MatchVariable: *Enum (5 values)
│   │   │       │       │   │   ├── "QueryStringArgNames"
│   │   │       │       │   │   ├── "RequestBodyJsonArgNames"
│   │   │       │       │   │   ├── "RequestBodyPostArgNames"
│   │   │       │       │   │   ├── "RequestCookieNames"
│   │   │       │       │   │   └── "RequestHeaderNames"
│   │   │       │       │   ├── Selector: *string
│   │   │       │       │   └── SelectorMatchOperator: *Enum (5 values)
│   │   │       │       │       ├── "Contains"
│   │   │       │       │       ├── "EndsWith"
│   │   │       │       │       ├── "Equals"
│   │   │       │       │       ├── "EqualsAny"
│   │   │       │       │       └── "StartsWith"
│   │   │       │       └── RuleId: *string
│   │   │       ├── RuleSetAction: *Enum (3 values)
│   │   │       │   ├── "Block"
│   │   │       │   ├── "Log"
│   │   │       │   └── "Redirect"
│   │   │       ├── RuleSetType: *string
│   │   │       └── RuleSetVersion: *string
│   │   └── PolicySettings: *Object (6 properties)
│   │       ├── CustomBlockResponseBody: *string
│   │       ├── CustomBlockResponseStatusCode: *int
│   │       ├── EnabledState: *Enum (2 values)
│   │       │   ├── "Disabled"
│   │       │   └── "Enabled"
│   │       ├── Mode: *Enum (2 values)
│   │       │   ├── "Detection"
│   │       │   └── "Prevention"
│   │       ├── RedirectUrl: *string
│   │       └── RequestBodyCheck: *Enum (2 values)
│   │           ├── "Disabled"
│   │           └── "Enabled"
│   ├── Sku: *Object (1 property)
│   │   └── Name: *Enum (3 values)
│   │       ├── "Classic_AzureFrontDoor"
│   │       ├── "Premium_AzureFrontDoor"
│   │       └── "Standard_AzureFrontDoor"
│   └── Tags: map[string]string
└── WebApplicationFirewallPolicy: Resource
    ├── Owner: resources/v1apiv20191001.ResourceGroup
    ├── Spec: Object (9 properties)
    │   ├── AzureName: Validated<string> (1 rule)
    │   │   └── Rule 0: MaxLength: 128
    │   ├── CustomRules: *Object (1 property)
    │   │   └── Rules: Object (8 properties)[]
    │   │       ├── Action: *Enum (5 values)
    │   │       │   ├── "Allow"
    │   │       │   ├── "AnomalyScoring"
    │   │       │   ├── "Block"
    │   │       │   ├── "Log"
    │   │       │   └── "Redirect"
    │   │       ├── EnabledState: *Enum (2 values)
    │   │       │   ├── "Disabled"
    │   │       │   └── "Enabled"
    │   │       ├── MatchConditions: Object (6 properties)[]
    │   │       │   ├── MatchValue: string[]
    │   │       │   ├── MatchVariable: *Enum (9 values)
    │   │       │   │   ├── "Cookies"
    │   │       │   │   ├── "PostArgs"
    │   │       │   │   ├── "QueryString"
    │   │       │   │   ├── "RemoteAddr"
    │   │       │   │   ├── "RequestBody"
    │   │       │   │   ├── "RequestHeader"
    │   │       │   │   ├── "RequestMethod"
    │   │       │   │   ├── "RequestUri"
    │   │       │   │   └── "SocketAddr"
    │   │       │   ├── NegateCondition: *bool
    │   │       │   ├── Operator: *Enum (12 values)
    │   │       │   │   ├── "Any"
    │   │       │   │   ├── "BeginsWith"
    │   │       │   │   ├── "Contains"
    │   │       │   │   ├── "EndsWith"
    │   │       │   │   ├── "Equal"
    │   │       │   │   ├── "GeoMatch"
    │   │       │   │   ├── "GreaterThan"
    │   │       │   │   ├── "GreaterThanOrEqual"
    │   │       │   │   ├── "IPMatch"
    │   │       │   │   ├── "LessThan"
    │   │       │   │   ├── "LessThanOrEqual"
    │   │       │   │   └── "RegEx"
    │   │       │   ├── Selector: *string
    │   │       │   └── Transforms: Enum (6 values)[]
    │   │       │       ├── "Lowercase"
    │   │       │       ├── "RemoveNulls"
    │   │       │       ├── "Trim"
    │   │       │       ├── "Uppercase"
    │   │       │       ├── "UrlDecode"
    │   │       │       └── "UrlEncode"
    │   │       ├── Name: Validated<*string> (1 rule)
    │   │       │   └── Rule 0: MaxLength: 128
    │   │       ├── Priority: *int
    │   │       ├── RateLimitDurationInMinutes: Validated<*int> (2 rules)
    │   │       │   ├── Rule 0: Maximum: 5
    │   │       │   └── Rule 1: Minimum: 0
    │   │       ├── RateLimitThreshold: Validated<*int> (1 rule)
    │   │       │   └── Rule 0: Minimum: 0
    │   │       └── RuleType: *Enum (2 values)
    │   │           ├── "MatchRule"
    │   │           └── "RateLimitRule"
    │   ├── Etag: *string
    │   ├── Location: *string
    │   ├── ManagedRules: *Object (1 property)
    │   │   └── ManagedRuleSets: Object (5 properties)[]
    │   │       ├── Exclusions: Object (3 properties)[]
    │   │       │   ├── MatchVariable: *Enum (5 values)
    │   │       │   │   ├── "QueryStringArgNames"
    │   │       │   │   ├── "RequestBodyJsonArgNames"
    │   │       │   │   ├── "RequestBodyPostArgNames"
    │   │       │   │   ├── "RequestCookieNames"
    │   │       │   │   └── "RequestHeaderNames"
    │   │       │   ├── Selector: *string
    │   │       │   └── SelectorMatchOperator: *Enum (5 values)
    │   │       │       ├── "Contains"
    │   │       │       ├── "EndsWith"
    │   │       │       ├── "Equals"
    │   │       │       ├── "EqualsAny"
    │   │       │       └── "StartsWith"
    │   │       ├── RuleGroupOverrides: Object (3 properties)[]
    │   │       │   ├── Exclusions: Object (3 properties)[]
    │   │       │   │   ├── MatchVariable: *Enum (5 values)
    │   │       │   │   │   ├── "QueryStringArgNames"
    │   │       │   │   │   ├── "RequestBodyJsonArgNames"
    │   │       │   │   │   ├── "RequestBodyPostArgNames"
    │   │       │   │   │   ├── "RequestCookieNames"
    │   │       │   │   │   └── "RequestHeaderNames"
    │   │       │   │   ├── Selector: *string
    │   │       │   │   └── SelectorMatchOperator: *Enum (5 values)
    │   │       │   │       ├── "Contains"
    │   │       │   │       ├── "EndsWith"
    │   │       │   │       ├── "Equals"
    │   │       │   │       ├── "EqualsAny"
    │   │       │   │       └── "StartsWith"
    │   │       │   ├── RuleGroupName: *string
    │   │       │   └── Rules: Object (4 properties)[]
    │   │       │       ├── Action: *Enum (5 values)
    │   │       │       │   ├── "Allow"
    │   │       │       │   ├── "AnomalyScoring"
    │   │       │       │   ├── "Block"
    │   │       │       │   ├── "Log"
    │   │       │       │   └── "Redirect"
    │   │       │       ├── EnabledState: *Enum (2 values)
    │   │       │       │   ├── "Disabled"
    │   │       │       │   └── "Enabled"
    │   │       │       ├── Exclusions: Object (3 properties)[]
    │   │       │       │   ├── MatchVariable: *Enum (5 values)
    │   │       │       │   │   ├── "QueryStringArgNames"
    │   │       │       │   │   ├── "RequestBodyJsonArgNames"
    │   │       │       │   │   ├── "RequestBodyPostArgNames"
    │   │       │       │   │   ├── "RequestCookieNames"
    │   │       │       │   │   └── "RequestHeaderNames"
    │   │       │       │   ├── Selector: *string
    │   │       │       │   └── SelectorMatchOperator: *Enum (5 values)
    │   │       │       │       ├── "Contains"
    │   │       │       │       ├── "EndsWith"
    │   │       │       │       ├── "Equals"
    │   │       │       │       ├── "EqualsAny"
    │   │       │       │       └── "StartsWith"
    │   │       │       └── RuleId: *string
    │   │       ├── RuleSetAction: *Enum (3 values)
    │   │       │   ├── "Block"
    │   │       │   ├── "Log"
    │   │       │   └── "Redirect"
    │   │       ├── RuleSetType: *string
    │   │       └── RuleSetVersion: *string
    │   ├── Owner: *genruntime.KnownResourceReference
    │   ├── PolicySettings: *Object (6 properties)
    │   │   ├── CustomBlockResponseBody: Validated<*string> (1 rule)
    │   │   │   └── Rule 0: Pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$"
    │   │   ├── CustomBlockResponseStatusCode: *int
    │   │   ├── EnabledState: *Enum (2 values)
    │   │   │   ├── "Disabled"
    │   │   │   └── "Enabled"
    │   │   ├── Mode: *Enum (2 values)
    │   │   │   ├── "Detection"
    │   │   │   └── "Prevention"
    │   │   ├── RedirectUrl: *string
    │   │   └── RequestBodyCheck: *Enum (2 values)
    │   │       ├── "Disabled"
    │   │       └── "Enabled"
    │   ├── Sku: *Object (1 property)
    │   │   └── Name: *Enum (3 values)
    │   │       ├── "Classic_AzureFrontDoor"
    │   │       ├── "Premium_AzureFrontDoor"
    │   │       └── "Standard_AzureFrontDoor"
    │   └── Tags: map[string]string
    └── Status: Object (16 properties)
        ├── Conditions: conditions.Condition[]
        ├── CustomRules: *Object (1 property)
        │   └── Rules: Object (8 properties)[]
        │       ├── Action: *Enum (5 values)
        │       │   ├── "Allow"
        │       │   ├── "AnomalyScoring"
        │       │   ├── "Block"
        │       │   ├── "Log"
        │       │   └── "Redirect"
        │       ├── EnabledState: *Enum (2 values)
        │       │   ├── "Disabled"
        │       │   └── "Enabled"
        │       ├── MatchConditions: Object (6 properties)[]
        │       │   ├── MatchValue: string[]
        │       │   ├── MatchVariable: *Enum (9 values)
        │       │   │   ├── "Cookies"
        │       │   │   ├── "PostArgs"
        │       │   │   ├── "QueryString"
        │       │   │   ├── "RemoteAddr"
        │       │   │   ├── "RequestBody"
        │       │   │   ├── "RequestHeader"
        │       │   │   ├── "RequestMethod"
        │       │   │   ├── "RequestUri"
        │       │   │   └── "SocketAddr"
        │       │   ├── NegateCondition: *bool
        │       │   ├── Operator: *Enum (12 values)
        │       │   │   ├── "Any"
        │       │   │   ├── "BeginsWith"
        │       │   │   ├── "Contains"
        │       │   │   ├── "EndsWith"
        │       │   │   ├── "Equal"
        │       │   │   ├── "GeoMatch"
        │       │   │   ├── "GreaterThan"
        │       │   │   ├── "GreaterThanOrEqual"
        │       │   │   ├── "IPMatch"
        │       │   │   ├── "LessThan"
        │       │   │   ├── "LessThanOrEqual"
        │       │   │   └── "RegEx"
        │       │   ├── Selector: *string
        │       │   └── Transforms: Enum (6 values)[]
        │       │       ├── "Lowercase"
        │       │       ├── "RemoveNulls"
        │       │       ├── "Trim"
        │       │       ├── "Uppercase"
        │       │       ├── "UrlDecode"
        │       │       └── "UrlEncode"
        │       ├── Name: *string
        │       ├── Priority: *int
        │       ├── RateLimitDurationInMinutes: *int
        │       ├── RateLimitThreshold: *int
        │       └── RuleType: *Enum (2 values)
        │           ├── "MatchRule"
        │           └── "RateLimitRule"
        ├── Etag: *string
        ├── FrontendEndpointLinks: Object (1 property)[]
        │   └── Id: *string
        ├── Id: *string
        ├── Location: *string
        ├── ManagedRules: *Object (1 property)
        │   └── ManagedRuleSets: Object (5 properties)[]
        │       ├── Exclusions: Object (3 properties)[]
        │       │   ├── MatchVariable: *Enum (5 values)
        │       │   │   ├── "QueryStringArgNames"
        │       │   │   ├── "RequestBodyJsonArgNames"
        │       │   │   ├── "RequestBodyPostArgNames"
        │       │   │   ├── "RequestCookieNames"
        │       │   │   └── "RequestHeaderNames"
        │       │   ├── Selector: *string
        │       │   └── SelectorMatchOperator: *Enum (5 values)
        │       │       ├── "Contains"
        │       │       ├── "EndsWith"
        │       │       ├── "Equals"
        │       │       ├── "EqualsAny"
        │       │       └── "StartsWith"
        │       ├── RuleGroupOverrides: Object (3 properties)[]
        │       │   ├── Exclusions: Object (3 properties)[]
        │       │   │   ├── MatchVariable: *Enum (5 values)
        │       │   │   │   ├── "QueryStringArgNames"
        │       │   │   │   ├── "RequestBodyJsonArgNames"
        │       │   │   │   ├── "RequestBodyPostArgNames"
        │       │   │   │   ├── "RequestCookieNames"
        │       │   │   │   └── "RequestHeaderNames"
        │       │   │   ├── Selector: *string
        │       │   │   └── SelectorMatchOperator: *Enum (5 values)
        │       │   │       ├── "Contains"
        │       │   │       ├── "EndsWith"
        │       │   │       ├── "Equals"
        │       │   │       ├── "EqualsAny"
        │       │   │       └── "StartsWith"
        │       │   ├── RuleGroupName: *string
        │       │   └── Rules: Object (4 properties)[]
        │       │       ├── Action: *Enum (5 values)
        │       │       │   ├── "Allow"
        │       │       │   ├── "AnomalyScoring"
        │       │       │   ├── "Block"
        │       │       │   ├── "Log"
        │       │       │   └── "Redirect"
        │       │       ├── EnabledState: *Enum (2 values)
        │       │       │   ├── "Disabled"
        │       │       │   └── "Enabled"
        │       │       ├── Exclusions: Object (3 properties)[]
        │       │       │   ├── MatchVariable: *Enum (5 values)
        │       │       │   │   ├── "QueryStringArgNames"
        │       │       │   │   ├── "RequestBodyJsonArgNames"
        │       │       │   │   ├── "RequestBodyPostArgNames"
        │       │       │   │   ├── "RequestCookieNames"
        │       │       │   │   └── "RequestHeaderNames"
        │       │       │   ├── Selector: *string
        │       │       │   └── SelectorMatchOperator: *Enum (5 values)
        │       │       │       ├── "Contains"
        │       │       │       ├── "EndsWith"
        │       │       │       ├── "Equals"
        │       │       │       ├── "EqualsAny"
        │       │       │       └── "StartsWith"
        │       │       └── RuleId: *string
        │       ├── RuleSetAction: *Enum (3 values)
        │       │   ├── "Block"
        │       │   ├── "Log"
        │       │   └── "Redirect"
        │       ├── RuleSetType: *string
        │       └── RuleSetVersion: *string
        ├── Name: *string
        ├── PolicySettings: *Object (6 properties)
        │   ├── CustomBlockResponseBody: *string
        │   ├── CustomBlockResponseStatusCode: *int
        │   ├── EnabledState: *Enum (2 values)
        │   │   ├── "Disabled"
        │   │   └── "Enabled"
        │   ├── Mode: *Enum (2 values)
        │   │   ├── "Detection"
        │   │   └── "Prevention"
        │   ├── RedirectUrl: *string
        │   └── RequestBodyCheck: *Enum (2 values)
        │       ├── "Disabled"
        │       └── "Enabled"
        ├── ProvisioningState: *string
        ├── ResourceState: *Enum (6 values)
        │   ├── "Creating"
        │   ├── "Deleting"
        │   ├── "Disabled"
        │   ├── "Disabling"
        │   ├── "Enabled"
        │   └── "Enabling"
        ├── RoutingRuleLinks: Object (1 property)[]
        │   └── Id: *string
        ├── SecurityPolicyLinks: Object (1 property)[]
        │   └── Id: *string
        ├── Sku: *Object (1 property)
        │   └── Name: *Enum (3 values)
        │       ├── "Classic_AzureFrontDoor"
        │       ├── "Premium_AzureFrontDoor"
        │       └── "Standard_AzureFrontDoor"
        ├── Tags: map[string]string
        └── Type: *string
