1. Packages
  2. Packages
  3. Azure Classic
  4. API Docs
  5. cdn
  6. FrontdoorRule

We recommend using Azure Native.

Viewing docs for Azure v6.35.0
published on Tuesday, Apr 21, 2026 by Pulumi
azure logo

We recommend using Azure Native.

Viewing docs for Azure v6.35.0
published on Tuesday, Apr 21, 2026 by Pulumi

    Manages a Front Door (standard/premium) Rule.

    !> Note: The Rules resource must include a dependsOn meta-argument which references the azure.cdn.FrontdoorOrigin and the azure.cdn.FrontdoorOriginGroup.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const example = new azure.core.ResourceGroup("example", {
        name: "example-cdn-frontdoor",
        location: "West Europe",
    });
    const exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile("example", {
        name: "example-profile",
        resourceGroupName: example.name,
        skuName: "Premium_AzureFrontDoor",
    });
    const exampleFrontdoorEndpoint = new azure.cdn.FrontdoorEndpoint("example", {
        name: "example-endpoint",
        cdnFrontdoorProfileId: exampleFrontdoorProfile.id,
        tags: {
            endpoint: "contoso.com",
        },
    });
    const exampleFrontdoorOriginGroup = new azure.cdn.FrontdoorOriginGroup("example", {
        name: "example-originGroup",
        cdnFrontdoorProfileId: exampleFrontdoorProfile.id,
        sessionAffinityEnabled: true,
        restoreTrafficTimeToHealedOrNewEndpointInMinutes: 10,
        healthProbe: {
            intervalInSeconds: 240,
            path: "/healthProbe",
            protocol: "Https",
            requestType: "GET",
        },
        loadBalancing: {
            additionalLatencyInMilliseconds: 0,
            sampleSize: 16,
            successfulSamplesRequired: 3,
        },
    });
    const exampleFrontdoorOrigin = new azure.cdn.FrontdoorOrigin("example", {
        name: "example-origin",
        cdnFrontdoorOriginGroupId: exampleFrontdoorOriginGroup.id,
        enabled: true,
        certificateNameCheckEnabled: false,
        hostName: exampleFrontdoorEndpoint.hostName,
        httpPort: 80,
        httpsPort: 443,
        originHostHeader: "contoso.com",
        priority: 1,
        weight: 500,
    });
    const exampleFrontdoorRuleSet = new azure.cdn.FrontdoorRuleSet("example", {
        name: "exampleruleset",
        cdnFrontdoorProfileId: exampleFrontdoorProfile.id,
    });
    const exampleFrontdoorRule = new azure.cdn.FrontdoorRule("example", {
        name: "examplerule",
        cdnFrontdoorRuleSetId: exampleFrontdoorRuleSet.id,
        order: 1,
        behaviorOnMatch: "Continue",
        actions: {
            routeConfigurationOverrideAction: {
                cdnFrontdoorOriginGroupId: exampleFrontdoorOriginGroup.id,
                forwardingProtocol: "HttpsOnly",
                queryStringCachingBehavior: "IncludeSpecifiedQueryStrings",
                queryStringParameters: [
                    "foo",
                    "clientIp={client_ip}",
                ],
                compressionEnabled: true,
                cacheBehavior: "OverrideIfOriginMissing",
                cacheDuration: "365.23:59:59",
            },
            urlRedirectAction: {
                redirectType: "PermanentRedirect",
                redirectProtocol: "MatchRequest",
                queryString: "clientIp={client_ip}",
                destinationPath: "/exampleredirection",
                destinationHostname: "contoso.com",
                destinationFragment: "UrlRedirect",
            },
        },
        conditions: {
            hostNameConditions: [{
                operator: "Equal",
                negateCondition: false,
                matchValues: [
                    "www.contoso.com",
                    "images.contoso.com",
                    "video.contoso.com",
                ],
                transforms: [
                    "Lowercase",
                    "Trim",
                ],
            }],
            isDeviceConditions: [{
                operator: "Equal",
                negateCondition: false,
                matchValues: "Mobile",
            }],
            postArgsConditions: [{
                postArgsName: "customerName",
                operator: "BeginsWith",
                matchValues: [
                    "J",
                    "K",
                ],
                transforms: ["Uppercase"],
            }],
            requestMethodConditions: [{
                operator: "Equal",
                negateCondition: false,
                matchValues: ["DELETE"],
            }],
            urlFilenameConditions: [{
                operator: "Equal",
                negateCondition: false,
                matchValues: ["media.mp4"],
                transforms: [
                    "Lowercase",
                    "RemoveNulls",
                    "Trim",
                ],
            }],
        },
    }, {
        dependsOn: [
            exampleFrontdoorOriginGroup,
            exampleFrontdoorOrigin,
        ],
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example = azure.core.ResourceGroup("example",
        name="example-cdn-frontdoor",
        location="West Europe")
    example_frontdoor_profile = azure.cdn.FrontdoorProfile("example",
        name="example-profile",
        resource_group_name=example.name,
        sku_name="Premium_AzureFrontDoor")
    example_frontdoor_endpoint = azure.cdn.FrontdoorEndpoint("example",
        name="example-endpoint",
        cdn_frontdoor_profile_id=example_frontdoor_profile.id,
        tags={
            "endpoint": "contoso.com",
        })
    example_frontdoor_origin_group = azure.cdn.FrontdoorOriginGroup("example",
        name="example-originGroup",
        cdn_frontdoor_profile_id=example_frontdoor_profile.id,
        session_affinity_enabled=True,
        restore_traffic_time_to_healed_or_new_endpoint_in_minutes=10,
        health_probe={
            "interval_in_seconds": 240,
            "path": "/healthProbe",
            "protocol": "Https",
            "request_type": "GET",
        },
        load_balancing={
            "additional_latency_in_milliseconds": 0,
            "sample_size": 16,
            "successful_samples_required": 3,
        })
    example_frontdoor_origin = azure.cdn.FrontdoorOrigin("example",
        name="example-origin",
        cdn_frontdoor_origin_group_id=example_frontdoor_origin_group.id,
        enabled=True,
        certificate_name_check_enabled=False,
        host_name=example_frontdoor_endpoint.host_name,
        http_port=80,
        https_port=443,
        origin_host_header="contoso.com",
        priority=1,
        weight=500)
    example_frontdoor_rule_set = azure.cdn.FrontdoorRuleSet("example",
        name="exampleruleset",
        cdn_frontdoor_profile_id=example_frontdoor_profile.id)
    example_frontdoor_rule = azure.cdn.FrontdoorRule("example",
        name="examplerule",
        cdn_frontdoor_rule_set_id=example_frontdoor_rule_set.id,
        order=1,
        behavior_on_match="Continue",
        actions={
            "route_configuration_override_action": {
                "cdn_frontdoor_origin_group_id": example_frontdoor_origin_group.id,
                "forwarding_protocol": "HttpsOnly",
                "query_string_caching_behavior": "IncludeSpecifiedQueryStrings",
                "query_string_parameters": [
                    "foo",
                    "clientIp={client_ip}",
                ],
                "compression_enabled": True,
                "cache_behavior": "OverrideIfOriginMissing",
                "cache_duration": "365.23:59:59",
            },
            "url_redirect_action": {
                "redirect_type": "PermanentRedirect",
                "redirect_protocol": "MatchRequest",
                "query_string": "clientIp={client_ip}",
                "destination_path": "/exampleredirection",
                "destination_hostname": "contoso.com",
                "destination_fragment": "UrlRedirect",
            },
        },
        conditions={
            "host_name_conditions": [{
                "operator": "Equal",
                "negate_condition": False,
                "match_values": [
                    "www.contoso.com",
                    "images.contoso.com",
                    "video.contoso.com",
                ],
                "transforms": [
                    "Lowercase",
                    "Trim",
                ],
            }],
            "is_device_conditions": [{
                "operator": "Equal",
                "negate_condition": False,
                "match_values": "Mobile",
            }],
            "post_args_conditions": [{
                "post_args_name": "customerName",
                "operator": "BeginsWith",
                "match_values": [
                    "J",
                    "K",
                ],
                "transforms": ["Uppercase"],
            }],
            "request_method_conditions": [{
                "operator": "Equal",
                "negate_condition": False,
                "match_values": ["DELETE"],
            }],
            "url_filename_conditions": [{
                "operator": "Equal",
                "negate_condition": False,
                "match_values": ["media.mp4"],
                "transforms": [
                    "Lowercase",
                    "RemoveNulls",
                    "Trim",
                ],
            }],
        },
        opts = pulumi.ResourceOptions(depends_on=[
                example_frontdoor_origin_group,
                example_frontdoor_origin,
            ]))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cdn"
    	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String("example-cdn-frontdoor"),
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleFrontdoorProfile, err := cdn.NewFrontdoorProfile(ctx, "example", &cdn.FrontdoorProfileArgs{
    			Name:              pulumi.String("example-profile"),
    			ResourceGroupName: example.Name,
    			SkuName:           pulumi.String("Premium_AzureFrontDoor"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleFrontdoorEndpoint, err := cdn.NewFrontdoorEndpoint(ctx, "example", &cdn.FrontdoorEndpointArgs{
    			Name:                  pulumi.String("example-endpoint"),
    			CdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),
    			Tags: pulumi.StringMap{
    				"endpoint": pulumi.String("contoso.com"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleFrontdoorOriginGroup, err := cdn.NewFrontdoorOriginGroup(ctx, "example", &cdn.FrontdoorOriginGroupArgs{
    			Name:                   pulumi.String("example-originGroup"),
    			CdnFrontdoorProfileId:  exampleFrontdoorProfile.ID(),
    			SessionAffinityEnabled: pulumi.Bool(true),
    			RestoreTrafficTimeToHealedOrNewEndpointInMinutes: pulumi.Int(10),
    			HealthProbe: &cdn.FrontdoorOriginGroupHealthProbeArgs{
    				IntervalInSeconds: pulumi.Int(240),
    				Path:              pulumi.String("/healthProbe"),
    				Protocol:          pulumi.String("Https"),
    				RequestType:       pulumi.String("GET"),
    			},
    			LoadBalancing: &cdn.FrontdoorOriginGroupLoadBalancingArgs{
    				AdditionalLatencyInMilliseconds: pulumi.Int(0),
    				SampleSize:                      pulumi.Int(16),
    				SuccessfulSamplesRequired:       pulumi.Int(3),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleFrontdoorOrigin, err := cdn.NewFrontdoorOrigin(ctx, "example", &cdn.FrontdoorOriginArgs{
    			Name:                        pulumi.String("example-origin"),
    			CdnFrontdoorOriginGroupId:   exampleFrontdoorOriginGroup.ID(),
    			Enabled:                     pulumi.Bool(true),
    			CertificateNameCheckEnabled: pulumi.Bool(false),
    			HostName:                    exampleFrontdoorEndpoint.HostName,
    			HttpPort:                    pulumi.Int(80),
    			HttpsPort:                   pulumi.Int(443),
    			OriginHostHeader:            pulumi.String("contoso.com"),
    			Priority:                    pulumi.Int(1),
    			Weight:                      pulumi.Int(500),
    		})
    		if err != nil {
    			return err
    		}
    		exampleFrontdoorRuleSet, err := cdn.NewFrontdoorRuleSet(ctx, "example", &cdn.FrontdoorRuleSetArgs{
    			Name:                  pulumi.String("exampleruleset"),
    			CdnFrontdoorProfileId: exampleFrontdoorProfile.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = cdn.NewFrontdoorRule(ctx, "example", &cdn.FrontdoorRuleArgs{
    			Name:                  pulumi.String("examplerule"),
    			CdnFrontdoorRuleSetId: exampleFrontdoorRuleSet.ID(),
    			Order:                 pulumi.Int(1),
    			BehaviorOnMatch:       pulumi.String("Continue"),
    			Actions: &cdn.FrontdoorRuleActionsArgs{
    				RouteConfigurationOverrideAction: &cdn.FrontdoorRuleActionsRouteConfigurationOverrideActionArgs{
    					CdnFrontdoorOriginGroupId:  exampleFrontdoorOriginGroup.ID(),
    					ForwardingProtocol:         pulumi.String("HttpsOnly"),
    					QueryStringCachingBehavior: pulumi.String("IncludeSpecifiedQueryStrings"),
    					QueryStringParameters: pulumi.StringArray{
    						pulumi.String("foo"),
    						pulumi.String("clientIp={client_ip}"),
    					},
    					CompressionEnabled: pulumi.Bool(true),
    					CacheBehavior:      pulumi.String("OverrideIfOriginMissing"),
    					CacheDuration:      pulumi.String("365.23:59:59"),
    				},
    				UrlRedirectAction: &cdn.FrontdoorRuleActionsUrlRedirectActionArgs{
    					RedirectType:        pulumi.String("PermanentRedirect"),
    					RedirectProtocol:    pulumi.String("MatchRequest"),
    					QueryString:         pulumi.String("clientIp={client_ip}"),
    					DestinationPath:     pulumi.String("/exampleredirection"),
    					DestinationHostname: pulumi.String("contoso.com"),
    					DestinationFragment: pulumi.String("UrlRedirect"),
    				},
    			},
    			Conditions: &cdn.FrontdoorRuleConditionsArgs{
    				HostNameConditions: cdn.FrontdoorRuleConditionsHostNameConditionArray{
    					&cdn.FrontdoorRuleConditionsHostNameConditionArgs{
    						Operator:        pulumi.String("Equal"),
    						NegateCondition: pulumi.Bool(false),
    						MatchValues: pulumi.StringArray{
    							pulumi.String("www.contoso.com"),
    							pulumi.String("images.contoso.com"),
    							pulumi.String("video.contoso.com"),
    						},
    						Transforms: pulumi.StringArray{
    							pulumi.String("Lowercase"),
    							pulumi.String("Trim"),
    						},
    					},
    				},
    				IsDeviceConditions: cdn.FrontdoorRuleConditionsIsDeviceConditionArray{
    					&cdn.FrontdoorRuleConditionsIsDeviceConditionArgs{
    						Operator:        pulumi.String("Equal"),
    						NegateCondition: pulumi.Bool(false),
    						MatchValues:     pulumi.String("Mobile"),
    					},
    				},
    				PostArgsConditions: cdn.FrontdoorRuleConditionsPostArgsConditionArray{
    					&cdn.FrontdoorRuleConditionsPostArgsConditionArgs{
    						PostArgsName: pulumi.String("customerName"),
    						Operator:     pulumi.String("BeginsWith"),
    						MatchValues: pulumi.StringArray{
    							pulumi.String("J"),
    							pulumi.String("K"),
    						},
    						Transforms: pulumi.StringArray{
    							pulumi.String("Uppercase"),
    						},
    					},
    				},
    				RequestMethodConditions: cdn.FrontdoorRuleConditionsRequestMethodConditionArray{
    					&cdn.FrontdoorRuleConditionsRequestMethodConditionArgs{
    						Operator:        pulumi.String("Equal"),
    						NegateCondition: pulumi.Bool(false),
    						MatchValues: pulumi.StringArray{
    							pulumi.String("DELETE"),
    						},
    					},
    				},
    				UrlFilenameConditions: cdn.FrontdoorRuleConditionsUrlFilenameConditionArray{
    					&cdn.FrontdoorRuleConditionsUrlFilenameConditionArgs{
    						Operator:        pulumi.String("Equal"),
    						NegateCondition: pulumi.Bool(false),
    						MatchValues: pulumi.StringArray{
    							pulumi.String("media.mp4"),
    						},
    						Transforms: pulumi.StringArray{
    							pulumi.String("Lowercase"),
    							pulumi.String("RemoveNulls"),
    							pulumi.String("Trim"),
    						},
    					},
    				},
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			exampleFrontdoorOriginGroup,
    			exampleFrontdoorOrigin,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "example-cdn-frontdoor",
            Location = "West Europe",
        });
    
        var exampleFrontdoorProfile = new Azure.Cdn.FrontdoorProfile("example", new()
        {
            Name = "example-profile",
            ResourceGroupName = example.Name,
            SkuName = "Premium_AzureFrontDoor",
        });
    
        var exampleFrontdoorEndpoint = new Azure.Cdn.FrontdoorEndpoint("example", new()
        {
            Name = "example-endpoint",
            CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,
            Tags = 
            {
                { "endpoint", "contoso.com" },
            },
        });
    
        var exampleFrontdoorOriginGroup = new Azure.Cdn.FrontdoorOriginGroup("example", new()
        {
            Name = "example-originGroup",
            CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,
            SessionAffinityEnabled = true,
            RestoreTrafficTimeToHealedOrNewEndpointInMinutes = 10,
            HealthProbe = new Azure.Cdn.Inputs.FrontdoorOriginGroupHealthProbeArgs
            {
                IntervalInSeconds = 240,
                Path = "/healthProbe",
                Protocol = "Https",
                RequestType = "GET",
            },
            LoadBalancing = new Azure.Cdn.Inputs.FrontdoorOriginGroupLoadBalancingArgs
            {
                AdditionalLatencyInMilliseconds = 0,
                SampleSize = 16,
                SuccessfulSamplesRequired = 3,
            },
        });
    
        var exampleFrontdoorOrigin = new Azure.Cdn.FrontdoorOrigin("example", new()
        {
            Name = "example-origin",
            CdnFrontdoorOriginGroupId = exampleFrontdoorOriginGroup.Id,
            Enabled = true,
            CertificateNameCheckEnabled = false,
            HostName = exampleFrontdoorEndpoint.HostName,
            HttpPort = 80,
            HttpsPort = 443,
            OriginHostHeader = "contoso.com",
            Priority = 1,
            Weight = 500,
        });
    
        var exampleFrontdoorRuleSet = new Azure.Cdn.FrontdoorRuleSet("example", new()
        {
            Name = "exampleruleset",
            CdnFrontdoorProfileId = exampleFrontdoorProfile.Id,
        });
    
        var exampleFrontdoorRule = new Azure.Cdn.FrontdoorRule("example", new()
        {
            Name = "examplerule",
            CdnFrontdoorRuleSetId = exampleFrontdoorRuleSet.Id,
            Order = 1,
            BehaviorOnMatch = "Continue",
            Actions = new Azure.Cdn.Inputs.FrontdoorRuleActionsArgs
            {
                RouteConfigurationOverrideAction = new Azure.Cdn.Inputs.FrontdoorRuleActionsRouteConfigurationOverrideActionArgs
                {
                    CdnFrontdoorOriginGroupId = exampleFrontdoorOriginGroup.Id,
                    ForwardingProtocol = "HttpsOnly",
                    QueryStringCachingBehavior = "IncludeSpecifiedQueryStrings",
                    QueryStringParameters = new[]
                    {
                        "foo",
                        "clientIp={client_ip}",
                    },
                    CompressionEnabled = true,
                    CacheBehavior = "OverrideIfOriginMissing",
                    CacheDuration = "365.23:59:59",
                },
                UrlRedirectAction = new Azure.Cdn.Inputs.FrontdoorRuleActionsUrlRedirectActionArgs
                {
                    RedirectType = "PermanentRedirect",
                    RedirectProtocol = "MatchRequest",
                    QueryString = "clientIp={client_ip}",
                    DestinationPath = "/exampleredirection",
                    DestinationHostname = "contoso.com",
                    DestinationFragment = "UrlRedirect",
                },
            },
            Conditions = new Azure.Cdn.Inputs.FrontdoorRuleConditionsArgs
            {
                HostNameConditions = new[]
                {
                    new Azure.Cdn.Inputs.FrontdoorRuleConditionsHostNameConditionArgs
                    {
                        Operator = "Equal",
                        NegateCondition = false,
                        MatchValues = new[]
                        {
                            "www.contoso.com",
                            "images.contoso.com",
                            "video.contoso.com",
                        },
                        Transforms = new[]
                        {
                            "Lowercase",
                            "Trim",
                        },
                    },
                },
                IsDeviceConditions = new[]
                {
                    new Azure.Cdn.Inputs.FrontdoorRuleConditionsIsDeviceConditionArgs
                    {
                        Operator = "Equal",
                        NegateCondition = false,
                        MatchValues = "Mobile",
                    },
                },
                PostArgsConditions = new[]
                {
                    new Azure.Cdn.Inputs.FrontdoorRuleConditionsPostArgsConditionArgs
                    {
                        PostArgsName = "customerName",
                        Operator = "BeginsWith",
                        MatchValues = new[]
                        {
                            "J",
                            "K",
                        },
                        Transforms = new[]
                        {
                            "Uppercase",
                        },
                    },
                },
                RequestMethodConditions = new[]
                {
                    new Azure.Cdn.Inputs.FrontdoorRuleConditionsRequestMethodConditionArgs
                    {
                        Operator = "Equal",
                        NegateCondition = false,
                        MatchValues = new[]
                        {
                            "DELETE",
                        },
                    },
                },
                UrlFilenameConditions = new[]
                {
                    new Azure.Cdn.Inputs.FrontdoorRuleConditionsUrlFilenameConditionArgs
                    {
                        Operator = "Equal",
                        NegateCondition = false,
                        MatchValues = new[]
                        {
                            "media.mp4",
                        },
                        Transforms = new[]
                        {
                            "Lowercase",
                            "RemoveNulls",
                            "Trim",
                        },
                    },
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                exampleFrontdoorOriginGroup,
                exampleFrontdoorOrigin,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.cdn.FrontdoorProfile;
    import com.pulumi.azure.cdn.FrontdoorProfileArgs;
    import com.pulumi.azure.cdn.FrontdoorEndpoint;
    import com.pulumi.azure.cdn.FrontdoorEndpointArgs;
    import com.pulumi.azure.cdn.FrontdoorOriginGroup;
    import com.pulumi.azure.cdn.FrontdoorOriginGroupArgs;
    import com.pulumi.azure.cdn.inputs.FrontdoorOriginGroupHealthProbeArgs;
    import com.pulumi.azure.cdn.inputs.FrontdoorOriginGroupLoadBalancingArgs;
    import com.pulumi.azure.cdn.FrontdoorOrigin;
    import com.pulumi.azure.cdn.FrontdoorOriginArgs;
    import com.pulumi.azure.cdn.FrontdoorRuleSet;
    import com.pulumi.azure.cdn.FrontdoorRuleSetArgs;
    import com.pulumi.azure.cdn.FrontdoorRule;
    import com.pulumi.azure.cdn.FrontdoorRuleArgs;
    import com.pulumi.azure.cdn.inputs.FrontdoorRuleActionsArgs;
    import com.pulumi.azure.cdn.inputs.FrontdoorRuleActionsRouteConfigurationOverrideActionArgs;
    import com.pulumi.azure.cdn.inputs.FrontdoorRuleActionsUrlRedirectActionArgs;
    import com.pulumi.azure.cdn.inputs.FrontdoorRuleConditionsArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new ResourceGroup("example", ResourceGroupArgs.builder()
                .name("example-cdn-frontdoor")
                .location("West Europe")
                .build());
    
            var exampleFrontdoorProfile = new FrontdoorProfile("exampleFrontdoorProfile", FrontdoorProfileArgs.builder()
                .name("example-profile")
                .resourceGroupName(example.name())
                .skuName("Premium_AzureFrontDoor")
                .build());
    
            var exampleFrontdoorEndpoint = new FrontdoorEndpoint("exampleFrontdoorEndpoint", FrontdoorEndpointArgs.builder()
                .name("example-endpoint")
                .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())
                .tags(Map.of("endpoint", "contoso.com"))
                .build());
    
            var exampleFrontdoorOriginGroup = new FrontdoorOriginGroup("exampleFrontdoorOriginGroup", FrontdoorOriginGroupArgs.builder()
                .name("example-originGroup")
                .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())
                .sessionAffinityEnabled(true)
                .restoreTrafficTimeToHealedOrNewEndpointInMinutes(10)
                .healthProbe(FrontdoorOriginGroupHealthProbeArgs.builder()
                    .intervalInSeconds(240)
                    .path("/healthProbe")
                    .protocol("Https")
                    .requestType("GET")
                    .build())
                .loadBalancing(FrontdoorOriginGroupLoadBalancingArgs.builder()
                    .additionalLatencyInMilliseconds(0)
                    .sampleSize(16)
                    .successfulSamplesRequired(3)
                    .build())
                .build());
    
            var exampleFrontdoorOrigin = new FrontdoorOrigin("exampleFrontdoorOrigin", FrontdoorOriginArgs.builder()
                .name("example-origin")
                .cdnFrontdoorOriginGroupId(exampleFrontdoorOriginGroup.id())
                .enabled(true)
                .certificateNameCheckEnabled(false)
                .hostName(exampleFrontdoorEndpoint.hostName())
                .httpPort(80)
                .httpsPort(443)
                .originHostHeader("contoso.com")
                .priority(1)
                .weight(500)
                .build());
    
            var exampleFrontdoorRuleSet = new FrontdoorRuleSet("exampleFrontdoorRuleSet", FrontdoorRuleSetArgs.builder()
                .name("exampleruleset")
                .cdnFrontdoorProfileId(exampleFrontdoorProfile.id())
                .build());
    
            var exampleFrontdoorRule = new FrontdoorRule("exampleFrontdoorRule", FrontdoorRuleArgs.builder()
                .name("examplerule")
                .cdnFrontdoorRuleSetId(exampleFrontdoorRuleSet.id())
                .order(1)
                .behaviorOnMatch("Continue")
                .actions(FrontdoorRuleActionsArgs.builder()
                    .routeConfigurationOverrideAction(FrontdoorRuleActionsRouteConfigurationOverrideActionArgs.builder()
                        .cdnFrontdoorOriginGroupId(exampleFrontdoorOriginGroup.id())
                        .forwardingProtocol("HttpsOnly")
                        .queryStringCachingBehavior("IncludeSpecifiedQueryStrings")
                        .queryStringParameters(                    
                            "foo",
                            "clientIp={client_ip}")
                        .compressionEnabled(true)
                        .cacheBehavior("OverrideIfOriginMissing")
                        .cacheDuration("365.23:59:59")
                        .build())
                    .urlRedirectAction(FrontdoorRuleActionsUrlRedirectActionArgs.builder()
                        .redirectType("PermanentRedirect")
                        .redirectProtocol("MatchRequest")
                        .queryString("clientIp={client_ip}")
                        .destinationPath("/exampleredirection")
                        .destinationHostname("contoso.com")
                        .destinationFragment("UrlRedirect")
                        .build())
                    .build())
                .conditions(FrontdoorRuleConditionsArgs.builder()
                    .hostNameConditions(FrontdoorRuleConditionsHostNameConditionArgs.builder()
                        .operator("Equal")
                        .negateCondition(false)
                        .matchValues(                    
                            "www.contoso.com",
                            "images.contoso.com",
                            "video.contoso.com")
                        .transforms(                    
                            "Lowercase",
                            "Trim")
                        .build())
                    .isDeviceConditions(FrontdoorRuleConditionsIsDeviceConditionArgs.builder()
                        .operator("Equal")
                        .negateCondition(false)
                        .matchValues("Mobile")
                        .build())
                    .postArgsConditions(FrontdoorRuleConditionsPostArgsConditionArgs.builder()
                        .postArgsName("customerName")
                        .operator("BeginsWith")
                        .matchValues(                    
                            "J",
                            "K")
                        .transforms("Uppercase")
                        .build())
                    .requestMethodConditions(FrontdoorRuleConditionsRequestMethodConditionArgs.builder()
                        .operator("Equal")
                        .negateCondition(false)
                        .matchValues("DELETE")
                        .build())
                    .urlFilenameConditions(FrontdoorRuleConditionsUrlFilenameConditionArgs.builder()
                        .operator("Equal")
                        .negateCondition(false)
                        .matchValues("media.mp4")
                        .transforms(                    
                            "Lowercase",
                            "RemoveNulls",
                            "Trim")
                        .build())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        exampleFrontdoorOriginGroup,
                        exampleFrontdoorOrigin)
                    .build());
    
        }
    }
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: example-cdn-frontdoor
          location: West Europe
      exampleFrontdoorProfile:
        type: azure:cdn:FrontdoorProfile
        name: example
        properties:
          name: example-profile
          resourceGroupName: ${example.name}
          skuName: Premium_AzureFrontDoor
      exampleFrontdoorEndpoint:
        type: azure:cdn:FrontdoorEndpoint
        name: example
        properties:
          name: example-endpoint
          cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}
          tags:
            endpoint: contoso.com
      exampleFrontdoorOriginGroup:
        type: azure:cdn:FrontdoorOriginGroup
        name: example
        properties:
          name: example-originGroup
          cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}
          sessionAffinityEnabled: true
          restoreTrafficTimeToHealedOrNewEndpointInMinutes: 10
          healthProbe:
            intervalInSeconds: 240
            path: /healthProbe
            protocol: Https
            requestType: GET
          loadBalancing:
            additionalLatencyInMilliseconds: 0
            sampleSize: 16
            successfulSamplesRequired: 3
      exampleFrontdoorOrigin:
        type: azure:cdn:FrontdoorOrigin
        name: example
        properties:
          name: example-origin
          cdnFrontdoorOriginGroupId: ${exampleFrontdoorOriginGroup.id}
          enabled: true
          certificateNameCheckEnabled: false
          hostName: ${exampleFrontdoorEndpoint.hostName}
          httpPort: 80
          httpsPort: 443
          originHostHeader: contoso.com
          priority: 1
          weight: 500
      exampleFrontdoorRuleSet:
        type: azure:cdn:FrontdoorRuleSet
        name: example
        properties:
          name: exampleruleset
          cdnFrontdoorProfileId: ${exampleFrontdoorProfile.id}
      exampleFrontdoorRule:
        type: azure:cdn:FrontdoorRule
        name: example
        properties:
          name: examplerule
          cdnFrontdoorRuleSetId: ${exampleFrontdoorRuleSet.id}
          order: 1
          behaviorOnMatch: Continue
          actions:
            routeConfigurationOverrideAction:
              cdnFrontdoorOriginGroupId: ${exampleFrontdoorOriginGroup.id}
              forwardingProtocol: HttpsOnly
              queryStringCachingBehavior: IncludeSpecifiedQueryStrings
              queryStringParameters:
                - foo
                - clientIp={client_ip}
              compressionEnabled: true
              cacheBehavior: OverrideIfOriginMissing
              cacheDuration: 365.23:59:59
            urlRedirectAction:
              redirectType: PermanentRedirect
              redirectProtocol: MatchRequest
              queryString: clientIp={client_ip}
              destinationPath: /exampleredirection
              destinationHostname: contoso.com
              destinationFragment: UrlRedirect
          conditions:
            hostNameConditions:
              - operator: Equal
                negateCondition: false
                matchValues:
                  - www.contoso.com
                  - images.contoso.com
                  - video.contoso.com
                transforms:
                  - Lowercase
                  - Trim
            isDeviceConditions:
              - operator: Equal
                negateCondition: false
                matchValues: Mobile
            postArgsConditions:
              - postArgsName: customerName
                operator: BeginsWith
                matchValues:
                  - J
                  - K
                transforms:
                  - Uppercase
            requestMethodConditions:
              - operator: Equal
                negateCondition: false
                matchValues:
                  - DELETE
            urlFilenameConditions:
              - operator: Equal
                negateCondition: false
                matchValues:
                  - media.mp4
                transforms:
                  - Lowercase
                  - RemoveNulls
                  - Trim
        options:
          dependsOn:
            - ${exampleFrontdoorOriginGroup}
            - ${exampleFrontdoorOrigin}
    

    Specifying IP Address Ranges

    When specifying IP address ranges in the socketAddressCondition and the remoteAddressCondition matchValues use the following format:

    Use CIDR notation when specifying IP address blocks. This means that the syntax for an IP address block is the base IP address followed by a forward slash and the prefix size For example:

    • IPv4 example: 5.5.5.64/26 matches any requests that arrive from addresses 5.5.5.64 through 5.5.5.127.
    • IPv6 example: 1:2:3:/48 matches any requests that arrive from addresses 1:2:3:0:0:0:0:0 through 1:2:3:ffff:ffff:ffff:ffff:ffff.

    When you specify multiple IP addresses and IP address blocks, OR logic is applied.

    • IPv4 example: if you add two IP addresses 1.2.3.4 and 10.20.30.40, the condition is matched for any requests that arrive from either address 1.2.3.4 or 10.20.30.40.
    • IPv6 example: if you add two IP addresses 1:2:3:4:5:6:7:8 and 10:20:30:40:50:60:70:80, the condition is matched for any requests that arrive from either address 1:2:3:4:5:6:7:8 or 10:20:30:40:50:60:70:80.

    Action Server Variables

    Rule Set server variables provide access to structured information about the request. You can use server variables to dynamically change the request/response headers or URL rewrite paths/query strings, for example, when a new page load or when a form is posted.

    Supported Action Server Variables

    Variable nameDescription
    socketIpThe IP address of the direct connection to Front Door Profiles edge. If the client used an HTTP proxy or a load balancer to send the request, the value of socketIp is the IP address of the proxy or load balancer.
    clientIpThe IP address of the client that made the original request. If there was an X-Forwarded-For header in the request, then the client IP address is picked from the header.
    clientPortThe IP port of the client that made the request.
    hostnameThe host name in the request from the client.
    geoCountryIndicates the requester’s country/region of origin through its country/region code.
    httpMethodThe method used to make the URL request, such as GET or POST.
    httpVersionThe request protocol. Usually HTTP/1.0, HTTP/1.1, or HTTP/2.0.
    queryStringThe list of variable/value pairs that follows the “?” in the requested URL. For example, in the request http://contoso.com:8080/article.aspx?id=123&title=fabrikam, the queryString value will be id=123&title=fabrikam.
    requestSchemeThe request scheme: http or https.
    requestUriThe full original request URI (with arguments). For example, in the request http://contoso.com:8080/article.aspx?id=123&title=fabrikam, the requestUri value will be /article.aspx?id=123&title=fabrikam.
    sslProtocolThe protocol of an established TLS connection.
    serverPortThe port of the server that accepted a request.
    urlPathIdentifies the specific resource in the host that the web client wants to access. This is the part of the request URI without the arguments. For example, in the request http://contoso.com:8080/article.aspx?id=123&title=fabrikam, the uriPath value will be /article.aspx.

    Action Server Variable Format

    Server variables can be specified using the following formats:

    • {variable} - Include the entire server variable. For example, if the client IP address is 111.222.333.444 then the {client_ip} token would evaluate to 111.222.333.444.

    • {variable:offset} - Include the server variable after a specific offset, until the end of the variable. The offset is zero-based. For example, if the client IP address is 111.222.333.444 then the {client_ip:3} token would evaluate to .222.333.444.

    • {variable:offset:length} - Include the server variable after a specific offset, up to the specified length. The offset is zero-based. For example, if the client IP address is 111.222.333.444 then the {client_ip:4:3} token would evaluate to 222.

    Action Server Variables Support

    Action Server variables are supported on the following actions:

    • routeConfigurationOverrideAction
    • requestHeaderAction
    • responseHeaderAction
    • urlRedirectAction
    • urlRewriteAction

    Condition Operator list

    For rules that accept values from the standard operator list, the following operators are valid:

    OperatorDescriptionCondition Value
    AnyMatches when there is any value, regardless of what it is.Any
    EqualMatches when the value exactly matches the specified string.Equal
    ContainsMatches when the value contains the specified string.Contains
    Less ThanMatches when the length of the value is less than the specified integer.LessThan
    Greater ThanMatches when the length of the value is greater than the specified integer.GreaterThan
    Less Than or EqualMatches when the length of the value is less than or equal to the specified integer.LessThanOrEqual
    Greater Than or EqualMatches when the length of the value is greater than or equal to the specified integer.GreaterThanOrEqual
    Begins WithMatches when the value begins with the specified string.BeginsWith
    Ends WithMatches when the value ends with the specified string.EndsWith
    RegExMatches when the value matches the specified regular expression. See Condition Regular Expressions below for more details.RegEx
    WildcardMatches when the request path matches a wildcard expression. See Condition Wildcard Expression below for more details.Wildcard
    Not AnyMatches when there is no value.Any and negateCondition = true
    Not EqualMatches when the value does not match the specified string.Equal and negateCondition : true
    Not ContainsMatches when the value does not contain the specified string.Contains and negateCondition = true
    Not Less ThanMatches when the length of the value is not less than the specified integer.LessThan and negateCondition = true
    Not Greater ThanMatches when the length of the value is not greater than the specified integer.GreaterThan and negateCondition = true
    Not Less Than or EqualMatches when the length of the value is not less than or equal to the specified integer.LessThanOrEqual and negateCondition = true
    Not Greater Than or EqualsMatches when the length of the value is not greater than or equal to the specified integer.GreaterThanOrEqual and negateCondition = true
    Not Begins WithMatches when the value does not begin with the specified string.BeginsWith and negateCondition = true
    Not Ends WithMatches when the value does not end with the specified string.EndsWith and negateCondition = true
    Not RegExMatches when the value does not match the specified regular expression. See Condition Regular Expressions for more details.RegEx and negateCondition = true
    Not WildcardMatches when the request path does not match a wildcard expression. See Condition Wildcard Expression below for more details.Wildcard and negateCondition = true

    Condition Regular Expressions

    Regular expressions don’t support the following operations:

    • Backreferences and capturing subexpressions.
    • Arbitrary zero-width assertions.
    • Subroutine references and recursive patterns.
    • Conditional patterns.
    • Backtracking control verbs.
    • The \C single-byte directive.
    • The \R newline match directive.
    • The \K start of match reset directive.
    • Callouts and embedded code.
    • Atomic grouping and possessive quantifiers.

    Condition Wildcard Expression

    A wildcard expression can include the * character to match zero or more characters within the path. For example, the wildcard expression files/customer*/file.pdf matches the paths files/customer1/file.pdf, files/customer109/file.pdf, and files/customer/file.pdf, but doesn’t match files/customer2/anotherfile.pdf.


    Condition Transform List

    For rules that can transform strings, the following transforms are valid:

    TransformDescription
    LowercaseConverts the string to the lowercase representation.
    UppercaseConverts the string to the uppercase representation.
    TrimTrims leading and trailing whitespace from the string.
    RemoveNullsRemoves null values from the string.
    URLEncodeURL-encodes the string.
    URLDecodeURL-decodes the string.

    API Providers

    This resource uses the following Azure API Providers:

    • Microsoft.Cdn - 2024-09-01

    Create FrontdoorRule Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new FrontdoorRule(name: string, args: FrontdoorRuleArgs, opts?: CustomResourceOptions);
    @overload
    def FrontdoorRule(resource_name: str,
                      args: FrontdoorRuleArgs,
                      opts: Optional[ResourceOptions] = None)
    
    @overload
    def FrontdoorRule(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      actions: Optional[FrontdoorRuleActionsArgs] = None,
                      cdn_frontdoor_rule_set_id: Optional[str] = None,
                      order: Optional[int] = None,
                      behavior_on_match: Optional[str] = None,
                      conditions: Optional[FrontdoorRuleConditionsArgs] = None,
                      name: Optional[str] = None)
    func NewFrontdoorRule(ctx *Context, name string, args FrontdoorRuleArgs, opts ...ResourceOption) (*FrontdoorRule, error)
    public FrontdoorRule(string name, FrontdoorRuleArgs args, CustomResourceOptions? opts = null)
    public FrontdoorRule(String name, FrontdoorRuleArgs args)
    public FrontdoorRule(String name, FrontdoorRuleArgs args, CustomResourceOptions options)
    
    type: azure:cdn:FrontdoorRule
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args FrontdoorRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args FrontdoorRuleArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args FrontdoorRuleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args FrontdoorRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args FrontdoorRuleArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var frontdoorRuleResource = new Azure.Cdn.FrontdoorRule("frontdoorRuleResource", new()
    {
        Actions = new Azure.Cdn.Inputs.FrontdoorRuleActionsArgs
        {
            RequestHeaderActions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleActionsRequestHeaderActionArgs
                {
                    HeaderAction = "string",
                    HeaderName = "string",
                    Value = "string",
                },
            },
            ResponseHeaderActions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleActionsResponseHeaderActionArgs
                {
                    HeaderAction = "string",
                    HeaderName = "string",
                    Value = "string",
                },
            },
            RouteConfigurationOverrideAction = new Azure.Cdn.Inputs.FrontdoorRuleActionsRouteConfigurationOverrideActionArgs
            {
                CacheBehavior = "string",
                CacheDuration = "string",
                CdnFrontdoorOriginGroupId = "string",
                CompressionEnabled = false,
                ForwardingProtocol = "string",
                QueryStringCachingBehavior = "string",
                QueryStringParameters = new[]
                {
                    "string",
                },
            },
            UrlRedirectAction = new Azure.Cdn.Inputs.FrontdoorRuleActionsUrlRedirectActionArgs
            {
                DestinationHostname = "string",
                RedirectType = "string",
                DestinationFragment = "string",
                DestinationPath = "string",
                QueryString = "string",
                RedirectProtocol = "string",
            },
            UrlRewriteAction = new Azure.Cdn.Inputs.FrontdoorRuleActionsUrlRewriteActionArgs
            {
                Destination = "string",
                SourcePattern = "string",
                PreserveUnmatchedPath = false,
            },
        },
        CdnFrontdoorRuleSetId = "string",
        Order = 0,
        BehaviorOnMatch = "string",
        Conditions = new Azure.Cdn.Inputs.FrontdoorRuleConditionsArgs
        {
            ClientPortConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsClientPortConditionArgs
                {
                    Operator = "string",
                    MatchValues = new[]
                    {
                        "string",
                    },
                    NegateCondition = false,
                },
            },
            CookiesConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsCookiesConditionArgs
                {
                    CookieName = "string",
                    Operator = "string",
                    MatchValues = new[]
                    {
                        "string",
                    },
                    NegateCondition = false,
                    Transforms = new[]
                    {
                        "string",
                    },
                },
            },
            HostNameConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsHostNameConditionArgs
                {
                    Operator = "string",
                    MatchValues = new[]
                    {
                        "string",
                    },
                    NegateCondition = false,
                    Transforms = new[]
                    {
                        "string",
                    },
                },
            },
            HttpVersionConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsHttpVersionConditionArgs
                {
                    MatchValues = new[]
                    {
                        "string",
                    },
                    NegateCondition = false,
                    Operator = "string",
                },
            },
            IsDeviceConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsIsDeviceConditionArgs
                {
                    MatchValues = "string",
                    NegateCondition = false,
                    Operator = "string",
                },
            },
            PostArgsConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsPostArgsConditionArgs
                {
                    Operator = "string",
                    PostArgsName = "string",
                    MatchValues = new[]
                    {
                        "string",
                    },
                    NegateCondition = false,
                    Transforms = new[]
                    {
                        "string",
                    },
                },
            },
            QueryStringConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsQueryStringConditionArgs
                {
                    Operator = "string",
                    MatchValues = new[]
                    {
                        "string",
                    },
                    NegateCondition = false,
                    Transforms = new[]
                    {
                        "string",
                    },
                },
            },
            RemoteAddressConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsRemoteAddressConditionArgs
                {
                    MatchValues = new[]
                    {
                        "string",
                    },
                    NegateCondition = false,
                    Operator = "string",
                },
            },
            RequestBodyConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsRequestBodyConditionArgs
                {
                    MatchValues = new[]
                    {
                        "string",
                    },
                    Operator = "string",
                    NegateCondition = false,
                    Transforms = new[]
                    {
                        "string",
                    },
                },
            },
            RequestHeaderConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsRequestHeaderConditionArgs
                {
                    HeaderName = "string",
                    Operator = "string",
                    MatchValues = new[]
                    {
                        "string",
                    },
                    NegateCondition = false,
                    Transforms = new[]
                    {
                        "string",
                    },
                },
            },
            RequestMethodConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsRequestMethodConditionArgs
                {
                    MatchValues = new[]
                    {
                        "string",
                    },
                    NegateCondition = false,
                    Operator = "string",
                },
            },
            RequestSchemeConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsRequestSchemeConditionArgs
                {
                    MatchValues = "string",
                    NegateCondition = false,
                    Operator = "string",
                },
            },
            RequestUriConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsRequestUriConditionArgs
                {
                    Operator = "string",
                    MatchValues = new[]
                    {
                        "string",
                    },
                    NegateCondition = false,
                    Transforms = new[]
                    {
                        "string",
                    },
                },
            },
            ServerPortConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsServerPortConditionArgs
                {
                    MatchValues = new[]
                    {
                        "string",
                    },
                    Operator = "string",
                    NegateCondition = false,
                },
            },
            SocketAddressConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsSocketAddressConditionArgs
                {
                    MatchValues = new[]
                    {
                        "string",
                    },
                    NegateCondition = false,
                    Operator = "string",
                },
            },
            SslProtocolConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsSslProtocolConditionArgs
                {
                    MatchValues = new[]
                    {
                        "string",
                    },
                    NegateCondition = false,
                    Operator = "string",
                },
            },
            UrlFileExtensionConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsUrlFileExtensionConditionArgs
                {
                    MatchValues = new[]
                    {
                        "string",
                    },
                    Operator = "string",
                    NegateCondition = false,
                    Transforms = new[]
                    {
                        "string",
                    },
                },
            },
            UrlFilenameConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsUrlFilenameConditionArgs
                {
                    Operator = "string",
                    MatchValues = new[]
                    {
                        "string",
                    },
                    NegateCondition = false,
                    Transforms = new[]
                    {
                        "string",
                    },
                },
            },
            UrlPathConditions = new[]
            {
                new Azure.Cdn.Inputs.FrontdoorRuleConditionsUrlPathConditionArgs
                {
                    Operator = "string",
                    MatchValues = new[]
                    {
                        "string",
                    },
                    NegateCondition = false,
                    Transforms = new[]
                    {
                        "string",
                    },
                },
            },
        },
        Name = "string",
    });
    
    example, err := cdn.NewFrontdoorRule(ctx, "frontdoorRuleResource", &cdn.FrontdoorRuleArgs{
    	Actions: &cdn.FrontdoorRuleActionsArgs{
    		RequestHeaderActions: cdn.FrontdoorRuleActionsRequestHeaderActionArray{
    			&cdn.FrontdoorRuleActionsRequestHeaderActionArgs{
    				HeaderAction: pulumi.String("string"),
    				HeaderName:   pulumi.String("string"),
    				Value:        pulumi.String("string"),
    			},
    		},
    		ResponseHeaderActions: cdn.FrontdoorRuleActionsResponseHeaderActionArray{
    			&cdn.FrontdoorRuleActionsResponseHeaderActionArgs{
    				HeaderAction: pulumi.String("string"),
    				HeaderName:   pulumi.String("string"),
    				Value:        pulumi.String("string"),
    			},
    		},
    		RouteConfigurationOverrideAction: &cdn.FrontdoorRuleActionsRouteConfigurationOverrideActionArgs{
    			CacheBehavior:              pulumi.String("string"),
    			CacheDuration:              pulumi.String("string"),
    			CdnFrontdoorOriginGroupId:  pulumi.String("string"),
    			CompressionEnabled:         pulumi.Bool(false),
    			ForwardingProtocol:         pulumi.String("string"),
    			QueryStringCachingBehavior: pulumi.String("string"),
    			QueryStringParameters: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		UrlRedirectAction: &cdn.FrontdoorRuleActionsUrlRedirectActionArgs{
    			DestinationHostname: pulumi.String("string"),
    			RedirectType:        pulumi.String("string"),
    			DestinationFragment: pulumi.String("string"),
    			DestinationPath:     pulumi.String("string"),
    			QueryString:         pulumi.String("string"),
    			RedirectProtocol:    pulumi.String("string"),
    		},
    		UrlRewriteAction: &cdn.FrontdoorRuleActionsUrlRewriteActionArgs{
    			Destination:           pulumi.String("string"),
    			SourcePattern:         pulumi.String("string"),
    			PreserveUnmatchedPath: pulumi.Bool(false),
    		},
    	},
    	CdnFrontdoorRuleSetId: pulumi.String("string"),
    	Order:                 pulumi.Int(0),
    	BehaviorOnMatch:       pulumi.String("string"),
    	Conditions: &cdn.FrontdoorRuleConditionsArgs{
    		ClientPortConditions: cdn.FrontdoorRuleConditionsClientPortConditionArray{
    			&cdn.FrontdoorRuleConditionsClientPortConditionArgs{
    				Operator: pulumi.String("string"),
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NegateCondition: pulumi.Bool(false),
    			},
    		},
    		CookiesConditions: cdn.FrontdoorRuleConditionsCookiesConditionArray{
    			&cdn.FrontdoorRuleConditionsCookiesConditionArgs{
    				CookieName: pulumi.String("string"),
    				Operator:   pulumi.String("string"),
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NegateCondition: pulumi.Bool(false),
    				Transforms: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		HostNameConditions: cdn.FrontdoorRuleConditionsHostNameConditionArray{
    			&cdn.FrontdoorRuleConditionsHostNameConditionArgs{
    				Operator: pulumi.String("string"),
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NegateCondition: pulumi.Bool(false),
    				Transforms: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		HttpVersionConditions: cdn.FrontdoorRuleConditionsHttpVersionConditionArray{
    			&cdn.FrontdoorRuleConditionsHttpVersionConditionArgs{
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NegateCondition: pulumi.Bool(false),
    				Operator:        pulumi.String("string"),
    			},
    		},
    		IsDeviceConditions: cdn.FrontdoorRuleConditionsIsDeviceConditionArray{
    			&cdn.FrontdoorRuleConditionsIsDeviceConditionArgs{
    				MatchValues:     pulumi.String("string"),
    				NegateCondition: pulumi.Bool(false),
    				Operator:        pulumi.String("string"),
    			},
    		},
    		PostArgsConditions: cdn.FrontdoorRuleConditionsPostArgsConditionArray{
    			&cdn.FrontdoorRuleConditionsPostArgsConditionArgs{
    				Operator:     pulumi.String("string"),
    				PostArgsName: pulumi.String("string"),
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NegateCondition: pulumi.Bool(false),
    				Transforms: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		QueryStringConditions: cdn.FrontdoorRuleConditionsQueryStringConditionArray{
    			&cdn.FrontdoorRuleConditionsQueryStringConditionArgs{
    				Operator: pulumi.String("string"),
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NegateCondition: pulumi.Bool(false),
    				Transforms: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		RemoteAddressConditions: cdn.FrontdoorRuleConditionsRemoteAddressConditionArray{
    			&cdn.FrontdoorRuleConditionsRemoteAddressConditionArgs{
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NegateCondition: pulumi.Bool(false),
    				Operator:        pulumi.String("string"),
    			},
    		},
    		RequestBodyConditions: cdn.FrontdoorRuleConditionsRequestBodyConditionArray{
    			&cdn.FrontdoorRuleConditionsRequestBodyConditionArgs{
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Operator:        pulumi.String("string"),
    				NegateCondition: pulumi.Bool(false),
    				Transforms: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		RequestHeaderConditions: cdn.FrontdoorRuleConditionsRequestHeaderConditionArray{
    			&cdn.FrontdoorRuleConditionsRequestHeaderConditionArgs{
    				HeaderName: pulumi.String("string"),
    				Operator:   pulumi.String("string"),
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NegateCondition: pulumi.Bool(false),
    				Transforms: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		RequestMethodConditions: cdn.FrontdoorRuleConditionsRequestMethodConditionArray{
    			&cdn.FrontdoorRuleConditionsRequestMethodConditionArgs{
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NegateCondition: pulumi.Bool(false),
    				Operator:        pulumi.String("string"),
    			},
    		},
    		RequestSchemeConditions: cdn.FrontdoorRuleConditionsRequestSchemeConditionArray{
    			&cdn.FrontdoorRuleConditionsRequestSchemeConditionArgs{
    				MatchValues:     pulumi.String("string"),
    				NegateCondition: pulumi.Bool(false),
    				Operator:        pulumi.String("string"),
    			},
    		},
    		RequestUriConditions: cdn.FrontdoorRuleConditionsRequestUriConditionArray{
    			&cdn.FrontdoorRuleConditionsRequestUriConditionArgs{
    				Operator: pulumi.String("string"),
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NegateCondition: pulumi.Bool(false),
    				Transforms: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		ServerPortConditions: cdn.FrontdoorRuleConditionsServerPortConditionArray{
    			&cdn.FrontdoorRuleConditionsServerPortConditionArgs{
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Operator:        pulumi.String("string"),
    				NegateCondition: pulumi.Bool(false),
    			},
    		},
    		SocketAddressConditions: cdn.FrontdoorRuleConditionsSocketAddressConditionArray{
    			&cdn.FrontdoorRuleConditionsSocketAddressConditionArgs{
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NegateCondition: pulumi.Bool(false),
    				Operator:        pulumi.String("string"),
    			},
    		},
    		SslProtocolConditions: cdn.FrontdoorRuleConditionsSslProtocolConditionArray{
    			&cdn.FrontdoorRuleConditionsSslProtocolConditionArgs{
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NegateCondition: pulumi.Bool(false),
    				Operator:        pulumi.String("string"),
    			},
    		},
    		UrlFileExtensionConditions: cdn.FrontdoorRuleConditionsUrlFileExtensionConditionArray{
    			&cdn.FrontdoorRuleConditionsUrlFileExtensionConditionArgs{
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Operator:        pulumi.String("string"),
    				NegateCondition: pulumi.Bool(false),
    				Transforms: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		UrlFilenameConditions: cdn.FrontdoorRuleConditionsUrlFilenameConditionArray{
    			&cdn.FrontdoorRuleConditionsUrlFilenameConditionArgs{
    				Operator: pulumi.String("string"),
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NegateCondition: pulumi.Bool(false),
    				Transforms: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		UrlPathConditions: cdn.FrontdoorRuleConditionsUrlPathConditionArray{
    			&cdn.FrontdoorRuleConditionsUrlPathConditionArgs{
    				Operator: pulumi.String("string"),
    				MatchValues: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NegateCondition: pulumi.Bool(false),
    				Transforms: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    	},
    	Name: pulumi.String("string"),
    })
    
    var frontdoorRuleResource = new FrontdoorRule("frontdoorRuleResource", FrontdoorRuleArgs.builder()
        .actions(FrontdoorRuleActionsArgs.builder()
            .requestHeaderActions(FrontdoorRuleActionsRequestHeaderActionArgs.builder()
                .headerAction("string")
                .headerName("string")
                .value("string")
                .build())
            .responseHeaderActions(FrontdoorRuleActionsResponseHeaderActionArgs.builder()
                .headerAction("string")
                .headerName("string")
                .value("string")
                .build())
            .routeConfigurationOverrideAction(FrontdoorRuleActionsRouteConfigurationOverrideActionArgs.builder()
                .cacheBehavior("string")
                .cacheDuration("string")
                .cdnFrontdoorOriginGroupId("string")
                .compressionEnabled(false)
                .forwardingProtocol("string")
                .queryStringCachingBehavior("string")
                .queryStringParameters("string")
                .build())
            .urlRedirectAction(FrontdoorRuleActionsUrlRedirectActionArgs.builder()
                .destinationHostname("string")
                .redirectType("string")
                .destinationFragment("string")
                .destinationPath("string")
                .queryString("string")
                .redirectProtocol("string")
                .build())
            .urlRewriteAction(FrontdoorRuleActionsUrlRewriteActionArgs.builder()
                .destination("string")
                .sourcePattern("string")
                .preserveUnmatchedPath(false)
                .build())
            .build())
        .cdnFrontdoorRuleSetId("string")
        .order(0)
        .behaviorOnMatch("string")
        .conditions(FrontdoorRuleConditionsArgs.builder()
            .clientPortConditions(FrontdoorRuleConditionsClientPortConditionArgs.builder()
                .operator("string")
                .matchValues("string")
                .negateCondition(false)
                .build())
            .cookiesConditions(FrontdoorRuleConditionsCookiesConditionArgs.builder()
                .cookieName("string")
                .operator("string")
                .matchValues("string")
                .negateCondition(false)
                .transforms("string")
                .build())
            .hostNameConditions(FrontdoorRuleConditionsHostNameConditionArgs.builder()
                .operator("string")
                .matchValues("string")
                .negateCondition(false)
                .transforms("string")
                .build())
            .httpVersionConditions(FrontdoorRuleConditionsHttpVersionConditionArgs.builder()
                .matchValues("string")
                .negateCondition(false)
                .operator("string")
                .build())
            .isDeviceConditions(FrontdoorRuleConditionsIsDeviceConditionArgs.builder()
                .matchValues("string")
                .negateCondition(false)
                .operator("string")
                .build())
            .postArgsConditions(FrontdoorRuleConditionsPostArgsConditionArgs.builder()
                .operator("string")
                .postArgsName("string")
                .matchValues("string")
                .negateCondition(false)
                .transforms("string")
                .build())
            .queryStringConditions(FrontdoorRuleConditionsQueryStringConditionArgs.builder()
                .operator("string")
                .matchValues("string")
                .negateCondition(false)
                .transforms("string")
                .build())
            .remoteAddressConditions(FrontdoorRuleConditionsRemoteAddressConditionArgs.builder()
                .matchValues("string")
                .negateCondition(false)
                .operator("string")
                .build())
            .requestBodyConditions(FrontdoorRuleConditionsRequestBodyConditionArgs.builder()
                .matchValues("string")
                .operator("string")
                .negateCondition(false)
                .transforms("string")
                .build())
            .requestHeaderConditions(FrontdoorRuleConditionsRequestHeaderConditionArgs.builder()
                .headerName("string")
                .operator("string")
                .matchValues("string")
                .negateCondition(false)
                .transforms("string")
                .build())
            .requestMethodConditions(FrontdoorRuleConditionsRequestMethodConditionArgs.builder()
                .matchValues("string")
                .negateCondition(false)
                .operator("string")
                .build())
            .requestSchemeConditions(FrontdoorRuleConditionsRequestSchemeConditionArgs.builder()
                .matchValues("string")
                .negateCondition(false)
                .operator("string")
                .build())
            .requestUriConditions(FrontdoorRuleConditionsRequestUriConditionArgs.builder()
                .operator("string")
                .matchValues("string")
                .negateCondition(false)
                .transforms("string")
                .build())
            .serverPortConditions(FrontdoorRuleConditionsServerPortConditionArgs.builder()
                .matchValues("string")
                .operator("string")
                .negateCondition(false)
                .build())
            .socketAddressConditions(FrontdoorRuleConditionsSocketAddressConditionArgs.builder()
                .matchValues("string")
                .negateCondition(false)
                .operator("string")
                .build())
            .sslProtocolConditions(FrontdoorRuleConditionsSslProtocolConditionArgs.builder()
                .matchValues("string")
                .negateCondition(false)
                .operator("string")
                .build())
            .urlFileExtensionConditions(FrontdoorRuleConditionsUrlFileExtensionConditionArgs.builder()
                .matchValues("string")
                .operator("string")
                .negateCondition(false)
                .transforms("string")
                .build())
            .urlFilenameConditions(FrontdoorRuleConditionsUrlFilenameConditionArgs.builder()
                .operator("string")
                .matchValues("string")
                .negateCondition(false)
                .transforms("string")
                .build())
            .urlPathConditions(FrontdoorRuleConditionsUrlPathConditionArgs.builder()
                .operator("string")
                .matchValues("string")
                .negateCondition(false)
                .transforms("string")
                .build())
            .build())
        .name("string")
        .build());
    
    frontdoor_rule_resource = azure.cdn.FrontdoorRule("frontdoorRuleResource",
        actions={
            "request_header_actions": [{
                "header_action": "string",
                "header_name": "string",
                "value": "string",
            }],
            "response_header_actions": [{
                "header_action": "string",
                "header_name": "string",
                "value": "string",
            }],
            "route_configuration_override_action": {
                "cache_behavior": "string",
                "cache_duration": "string",
                "cdn_frontdoor_origin_group_id": "string",
                "compression_enabled": False,
                "forwarding_protocol": "string",
                "query_string_caching_behavior": "string",
                "query_string_parameters": ["string"],
            },
            "url_redirect_action": {
                "destination_hostname": "string",
                "redirect_type": "string",
                "destination_fragment": "string",
                "destination_path": "string",
                "query_string": "string",
                "redirect_protocol": "string",
            },
            "url_rewrite_action": {
                "destination": "string",
                "source_pattern": "string",
                "preserve_unmatched_path": False,
            },
        },
        cdn_frontdoor_rule_set_id="string",
        order=0,
        behavior_on_match="string",
        conditions={
            "client_port_conditions": [{
                "operator": "string",
                "match_values": ["string"],
                "negate_condition": False,
            }],
            "cookies_conditions": [{
                "cookie_name": "string",
                "operator": "string",
                "match_values": ["string"],
                "negate_condition": False,
                "transforms": ["string"],
            }],
            "host_name_conditions": [{
                "operator": "string",
                "match_values": ["string"],
                "negate_condition": False,
                "transforms": ["string"],
            }],
            "http_version_conditions": [{
                "match_values": ["string"],
                "negate_condition": False,
                "operator": "string",
            }],
            "is_device_conditions": [{
                "match_values": "string",
                "negate_condition": False,
                "operator": "string",
            }],
            "post_args_conditions": [{
                "operator": "string",
                "post_args_name": "string",
                "match_values": ["string"],
                "negate_condition": False,
                "transforms": ["string"],
            }],
            "query_string_conditions": [{
                "operator": "string",
                "match_values": ["string"],
                "negate_condition": False,
                "transforms": ["string"],
            }],
            "remote_address_conditions": [{
                "match_values": ["string"],
                "negate_condition": False,
                "operator": "string",
            }],
            "request_body_conditions": [{
                "match_values": ["string"],
                "operator": "string",
                "negate_condition": False,
                "transforms": ["string"],
            }],
            "request_header_conditions": [{
                "header_name": "string",
                "operator": "string",
                "match_values": ["string"],
                "negate_condition": False,
                "transforms": ["string"],
            }],
            "request_method_conditions": [{
                "match_values": ["string"],
                "negate_condition": False,
                "operator": "string",
            }],
            "request_scheme_conditions": [{
                "match_values": "string",
                "negate_condition": False,
                "operator": "string",
            }],
            "request_uri_conditions": [{
                "operator": "string",
                "match_values": ["string"],
                "negate_condition": False,
                "transforms": ["string"],
            }],
            "server_port_conditions": [{
                "match_values": ["string"],
                "operator": "string",
                "negate_condition": False,
            }],
            "socket_address_conditions": [{
                "match_values": ["string"],
                "negate_condition": False,
                "operator": "string",
            }],
            "ssl_protocol_conditions": [{
                "match_values": ["string"],
                "negate_condition": False,
                "operator": "string",
            }],
            "url_file_extension_conditions": [{
                "match_values": ["string"],
                "operator": "string",
                "negate_condition": False,
                "transforms": ["string"],
            }],
            "url_filename_conditions": [{
                "operator": "string",
                "match_values": ["string"],
                "negate_condition": False,
                "transforms": ["string"],
            }],
            "url_path_conditions": [{
                "operator": "string",
                "match_values": ["string"],
                "negate_condition": False,
                "transforms": ["string"],
            }],
        },
        name="string")
    
    const frontdoorRuleResource = new azure.cdn.FrontdoorRule("frontdoorRuleResource", {
        actions: {
            requestHeaderActions: [{
                headerAction: "string",
                headerName: "string",
                value: "string",
            }],
            responseHeaderActions: [{
                headerAction: "string",
                headerName: "string",
                value: "string",
            }],
            routeConfigurationOverrideAction: {
                cacheBehavior: "string",
                cacheDuration: "string",
                cdnFrontdoorOriginGroupId: "string",
                compressionEnabled: false,
                forwardingProtocol: "string",
                queryStringCachingBehavior: "string",
                queryStringParameters: ["string"],
            },
            urlRedirectAction: {
                destinationHostname: "string",
                redirectType: "string",
                destinationFragment: "string",
                destinationPath: "string",
                queryString: "string",
                redirectProtocol: "string",
            },
            urlRewriteAction: {
                destination: "string",
                sourcePattern: "string",
                preserveUnmatchedPath: false,
            },
        },
        cdnFrontdoorRuleSetId: "string",
        order: 0,
        behaviorOnMatch: "string",
        conditions: {
            clientPortConditions: [{
                operator: "string",
                matchValues: ["string"],
                negateCondition: false,
            }],
            cookiesConditions: [{
                cookieName: "string",
                operator: "string",
                matchValues: ["string"],
                negateCondition: false,
                transforms: ["string"],
            }],
            hostNameConditions: [{
                operator: "string",
                matchValues: ["string"],
                negateCondition: false,
                transforms: ["string"],
            }],
            httpVersionConditions: [{
                matchValues: ["string"],
                negateCondition: false,
                operator: "string",
            }],
            isDeviceConditions: [{
                matchValues: "string",
                negateCondition: false,
                operator: "string",
            }],
            postArgsConditions: [{
                operator: "string",
                postArgsName: "string",
                matchValues: ["string"],
                negateCondition: false,
                transforms: ["string"],
            }],
            queryStringConditions: [{
                operator: "string",
                matchValues: ["string"],
                negateCondition: false,
                transforms: ["string"],
            }],
            remoteAddressConditions: [{
                matchValues: ["string"],
                negateCondition: false,
                operator: "string",
            }],
            requestBodyConditions: [{
                matchValues: ["string"],
                operator: "string",
                negateCondition: false,
                transforms: ["string"],
            }],
            requestHeaderConditions: [{
                headerName: "string",
                operator: "string",
                matchValues: ["string"],
                negateCondition: false,
                transforms: ["string"],
            }],
            requestMethodConditions: [{
                matchValues: ["string"],
                negateCondition: false,
                operator: "string",
            }],
            requestSchemeConditions: [{
                matchValues: "string",
                negateCondition: false,
                operator: "string",
            }],
            requestUriConditions: [{
                operator: "string",
                matchValues: ["string"],
                negateCondition: false,
                transforms: ["string"],
            }],
            serverPortConditions: [{
                matchValues: ["string"],
                operator: "string",
                negateCondition: false,
            }],
            socketAddressConditions: [{
                matchValues: ["string"],
                negateCondition: false,
                operator: "string",
            }],
            sslProtocolConditions: [{
                matchValues: ["string"],
                negateCondition: false,
                operator: "string",
            }],
            urlFileExtensionConditions: [{
                matchValues: ["string"],
                operator: "string",
                negateCondition: false,
                transforms: ["string"],
            }],
            urlFilenameConditions: [{
                operator: "string",
                matchValues: ["string"],
                negateCondition: false,
                transforms: ["string"],
            }],
            urlPathConditions: [{
                operator: "string",
                matchValues: ["string"],
                negateCondition: false,
                transforms: ["string"],
            }],
        },
        name: "string",
    });
    
    type: azure:cdn:FrontdoorRule
    properties:
        actions:
            requestHeaderActions:
                - headerAction: string
                  headerName: string
                  value: string
            responseHeaderActions:
                - headerAction: string
                  headerName: string
                  value: string
            routeConfigurationOverrideAction:
                cacheBehavior: string
                cacheDuration: string
                cdnFrontdoorOriginGroupId: string
                compressionEnabled: false
                forwardingProtocol: string
                queryStringCachingBehavior: string
                queryStringParameters:
                    - string
            urlRedirectAction:
                destinationFragment: string
                destinationHostname: string
                destinationPath: string
                queryString: string
                redirectProtocol: string
                redirectType: string
            urlRewriteAction:
                destination: string
                preserveUnmatchedPath: false
                sourcePattern: string
        behaviorOnMatch: string
        cdnFrontdoorRuleSetId: string
        conditions:
            clientPortConditions:
                - matchValues:
                    - string
                  negateCondition: false
                  operator: string
            cookiesConditions:
                - cookieName: string
                  matchValues:
                    - string
                  negateCondition: false
                  operator: string
                  transforms:
                    - string
            hostNameConditions:
                - matchValues:
                    - string
                  negateCondition: false
                  operator: string
                  transforms:
                    - string
            httpVersionConditions:
                - matchValues:
                    - string
                  negateCondition: false
                  operator: string
            isDeviceConditions:
                - matchValues: string
                  negateCondition: false
                  operator: string
            postArgsConditions:
                - matchValues:
                    - string
                  negateCondition: false
                  operator: string
                  postArgsName: string
                  transforms:
                    - string
            queryStringConditions:
                - matchValues:
                    - string
                  negateCondition: false
                  operator: string
                  transforms:
                    - string
            remoteAddressConditions:
                - matchValues:
                    - string
                  negateCondition: false
                  operator: string
            requestBodyConditions:
                - matchValues:
                    - string
                  negateCondition: false
                  operator: string
                  transforms:
                    - string
            requestHeaderConditions:
                - headerName: string
                  matchValues:
                    - string
                  negateCondition: false
                  operator: string
                  transforms:
                    - string
            requestMethodConditions:
                - matchValues:
                    - string
                  negateCondition: false
                  operator: string
            requestSchemeConditions:
                - matchValues: string
                  negateCondition: false
                  operator: string
            requestUriConditions:
                - matchValues:
                    - string
                  negateCondition: false
                  operator: string
                  transforms:
                    - string
            serverPortConditions:
                - matchValues:
                    - string
                  negateCondition: false
                  operator: string
            socketAddressConditions:
                - matchValues:
                    - string
                  negateCondition: false
                  operator: string
            sslProtocolConditions:
                - matchValues:
                    - string
                  negateCondition: false
                  operator: string
            urlFileExtensionConditions:
                - matchValues:
                    - string
                  negateCondition: false
                  operator: string
                  transforms:
                    - string
            urlFilenameConditions:
                - matchValues:
                    - string
                  negateCondition: false
                  operator: string
                  transforms:
                    - string
            urlPathConditions:
                - matchValues:
                    - string
                  negateCondition: false
                  operator: string
                  transforms:
                    - string
        name: string
        order: 0
    

    FrontdoorRule Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The FrontdoorRule resource accepts the following input properties:

    Actions FrontdoorRuleActions
    An actions block as defined below.
    CdnFrontdoorRuleSetId string
    The resource ID of the Front Door Rule Set for this Front Door Rule. Changing this forces a new Front Door Rule to be created.
    Order int

    The order in which the rules will be applied for the Front Door Endpoint. The order value should be sequential and begin at 1(e.g. 1, 2, 3...). A Front Door Rule with a lesser order value will be applied before a rule with a greater order value.

    Note: If the Front Door Rule has an order value of 0 they do not require any conditions and the actions will always be applied.

    BehaviorOnMatch string
    If this rule is a match should the rules engine continue processing the remaining rules or stop? Possible values are Continue and Stop. Defaults to Continue.
    Conditions FrontdoorRuleConditions
    A conditions block as defined below.
    Name string
    The name which should be used for this Front Door Rule. Possible values must be between 1 and 260 characters in length, begin with a letter and may contain only letters and numbers. Changing this forces a new Front Door Rule to be created.
    Actions FrontdoorRuleActionsArgs
    An actions block as defined below.
    CdnFrontdoorRuleSetId string
    The resource ID of the Front Door Rule Set for this Front Door Rule. Changing this forces a new Front Door Rule to be created.
    Order int

    The order in which the rules will be applied for the Front Door Endpoint. The order value should be sequential and begin at 1(e.g. 1, 2, 3...). A Front Door Rule with a lesser order value will be applied before a rule with a greater order value.

    Note: If the Front Door Rule has an order value of 0 they do not require any conditions and the actions will always be applied.

    BehaviorOnMatch string
    If this rule is a match should the rules engine continue processing the remaining rules or stop? Possible values are Continue and Stop. Defaults to Continue.
    Conditions FrontdoorRuleConditionsArgs
    A conditions block as defined below.
    Name string
    The name which should be used for this Front Door Rule. Possible values must be between 1 and 260 characters in length, begin with a letter and may contain only letters and numbers. Changing this forces a new Front Door Rule to be created.
    actions FrontdoorRuleActions
    An actions block as defined below.
    cdnFrontdoorRuleSetId String
    The resource ID of the Front Door Rule Set for this Front Door Rule. Changing this forces a new Front Door Rule to be created.
    order Integer

    The order in which the rules will be applied for the Front Door Endpoint. The order value should be sequential and begin at 1(e.g. 1, 2, 3...). A Front Door Rule with a lesser order value will be applied before a rule with a greater order value.

    Note: If the Front Door Rule has an order value of 0 they do not require any conditions and the actions will always be applied.

    behaviorOnMatch String
    If this rule is a match should the rules engine continue processing the remaining rules or stop? Possible values are Continue and Stop. Defaults to Continue.
    conditions FrontdoorRuleConditions
    A conditions block as defined below.
    name String
    The name which should be used for this Front Door Rule. Possible values must be between 1 and 260 characters in length, begin with a letter and may contain only letters and numbers. Changing this forces a new Front Door Rule to be created.
    actions FrontdoorRuleActions
    An actions block as defined below.
    cdnFrontdoorRuleSetId string
    The resource ID of the Front Door Rule Set for this Front Door Rule. Changing this forces a new Front Door Rule to be created.
    order number

    The order in which the rules will be applied for the Front Door Endpoint. The order value should be sequential and begin at 1(e.g. 1, 2, 3...). A Front Door Rule with a lesser order value will be applied before a rule with a greater order value.

    Note: If the Front Door Rule has an order value of 0 they do not require any conditions and the actions will always be applied.

    behaviorOnMatch string
    If this rule is a match should the rules engine continue processing the remaining rules or stop? Possible values are Continue and Stop. Defaults to Continue.
    conditions FrontdoorRuleConditions
    A conditions block as defined below.
    name string
    The name which should be used for this Front Door Rule. Possible values must be between 1 and 260 characters in length, begin with a letter and may contain only letters and numbers. Changing this forces a new Front Door Rule to be created.
    actions FrontdoorRuleActionsArgs
    An actions block as defined below.
    cdn_frontdoor_rule_set_id str
    The resource ID of the Front Door Rule Set for this Front Door Rule. Changing this forces a new Front Door Rule to be created.
    order int

    The order in which the rules will be applied for the Front Door Endpoint. The order value should be sequential and begin at 1(e.g. 1, 2, 3...). A Front Door Rule with a lesser order value will be applied before a rule with a greater order value.

    Note: If the Front Door Rule has an order value of 0 they do not require any conditions and the actions will always be applied.

    behavior_on_match str
    If this rule is a match should the rules engine continue processing the remaining rules or stop? Possible values are Continue and Stop. Defaults to Continue.
    conditions FrontdoorRuleConditionsArgs
    A conditions block as defined below.
    name str
    The name which should be used for this Front Door Rule. Possible values must be between 1 and 260 characters in length, begin with a letter and may contain only letters and numbers. Changing this forces a new Front Door Rule to be created.
    actions Property Map
    An actions block as defined below.
    cdnFrontdoorRuleSetId String
    The resource ID of the Front Door Rule Set for this Front Door Rule. Changing this forces a new Front Door Rule to be created.
    order Number

    The order in which the rules will be applied for the Front Door Endpoint. The order value should be sequential and begin at 1(e.g. 1, 2, 3...). A Front Door Rule with a lesser order value will be applied before a rule with a greater order value.

    Note: If the Front Door Rule has an order value of 0 they do not require any conditions and the actions will always be applied.

    behaviorOnMatch String
    If this rule is a match should the rules engine continue processing the remaining rules or stop? Possible values are Continue and Stop. Defaults to Continue.
    conditions Property Map
    A conditions block as defined below.
    name String
    The name which should be used for this Front Door Rule. Possible values must be between 1 and 260 characters in length, begin with a letter and may contain only letters and numbers. Changing this forces a new Front Door Rule to be created.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the FrontdoorRule resource produces the following output properties:

    CdnFrontdoorRuleSetName string
    The name of the Front Door Rule Set containing this Front Door Rule.
    Id string
    The provider-assigned unique ID for this managed resource.
    CdnFrontdoorRuleSetName string
    The name of the Front Door Rule Set containing this Front Door Rule.
    Id string
    The provider-assigned unique ID for this managed resource.
    cdnFrontdoorRuleSetName String
    The name of the Front Door Rule Set containing this Front Door Rule.
    id String
    The provider-assigned unique ID for this managed resource.
    cdnFrontdoorRuleSetName string
    The name of the Front Door Rule Set containing this Front Door Rule.
    id string
    The provider-assigned unique ID for this managed resource.
    cdn_frontdoor_rule_set_name str
    The name of the Front Door Rule Set containing this Front Door Rule.
    id str
    The provider-assigned unique ID for this managed resource.
    cdnFrontdoorRuleSetName String
    The name of the Front Door Rule Set containing this Front Door Rule.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing FrontdoorRule Resource

    Get an existing FrontdoorRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: FrontdoorRuleState, opts?: CustomResourceOptions): FrontdoorRule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            actions: Optional[FrontdoorRuleActionsArgs] = None,
            behavior_on_match: Optional[str] = None,
            cdn_frontdoor_rule_set_id: Optional[str] = None,
            cdn_frontdoor_rule_set_name: Optional[str] = None,
            conditions: Optional[FrontdoorRuleConditionsArgs] = None,
            name: Optional[str] = None,
            order: Optional[int] = None) -> FrontdoorRule
    func GetFrontdoorRule(ctx *Context, name string, id IDInput, state *FrontdoorRuleState, opts ...ResourceOption) (*FrontdoorRule, error)
    public static FrontdoorRule Get(string name, Input<string> id, FrontdoorRuleState? state, CustomResourceOptions? opts = null)
    public static FrontdoorRule get(String name, Output<String> id, FrontdoorRuleState state, CustomResourceOptions options)
    resources:  _:    type: azure:cdn:FrontdoorRule    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Actions FrontdoorRuleActions
    An actions block as defined below.
    BehaviorOnMatch string
    If this rule is a match should the rules engine continue processing the remaining rules or stop? Possible values are Continue and Stop. Defaults to Continue.
    CdnFrontdoorRuleSetId string
    The resource ID of the Front Door Rule Set for this Front Door Rule. Changing this forces a new Front Door Rule to be created.
    CdnFrontdoorRuleSetName string
    The name of the Front Door Rule Set containing this Front Door Rule.
    Conditions FrontdoorRuleConditions
    A conditions block as defined below.
    Name string
    The name which should be used for this Front Door Rule. Possible values must be between 1 and 260 characters in length, begin with a letter and may contain only letters and numbers. Changing this forces a new Front Door Rule to be created.
    Order int

    The order in which the rules will be applied for the Front Door Endpoint. The order value should be sequential and begin at 1(e.g. 1, 2, 3...). A Front Door Rule with a lesser order value will be applied before a rule with a greater order value.

    Note: If the Front Door Rule has an order value of 0 they do not require any conditions and the actions will always be applied.

    Actions FrontdoorRuleActionsArgs
    An actions block as defined below.
    BehaviorOnMatch string
    If this rule is a match should the rules engine continue processing the remaining rules or stop? Possible values are Continue and Stop. Defaults to Continue.
    CdnFrontdoorRuleSetId string
    The resource ID of the Front Door Rule Set for this Front Door Rule. Changing this forces a new Front Door Rule to be created.
    CdnFrontdoorRuleSetName string
    The name of the Front Door Rule Set containing this Front Door Rule.
    Conditions FrontdoorRuleConditionsArgs
    A conditions block as defined below.
    Name string
    The name which should be used for this Front Door Rule. Possible values must be between 1 and 260 characters in length, begin with a letter and may contain only letters and numbers. Changing this forces a new Front Door Rule to be created.
    Order int

    The order in which the rules will be applied for the Front Door Endpoint. The order value should be sequential and begin at 1(e.g. 1, 2, 3...). A Front Door Rule with a lesser order value will be applied before a rule with a greater order value.

    Note: If the Front Door Rule has an order value of 0 they do not require any conditions and the actions will always be applied.

    actions FrontdoorRuleActions
    An actions block as defined below.
    behaviorOnMatch String
    If this rule is a match should the rules engine continue processing the remaining rules or stop? Possible values are Continue and Stop. Defaults to Continue.
    cdnFrontdoorRuleSetId String
    The resource ID of the Front Door Rule Set for this Front Door Rule. Changing this forces a new Front Door Rule to be created.
    cdnFrontdoorRuleSetName String
    The name of the Front Door Rule Set containing this Front Door Rule.
    conditions FrontdoorRuleConditions
    A conditions block as defined below.
    name String
    The name which should be used for this Front Door Rule. Possible values must be between 1 and 260 characters in length, begin with a letter and may contain only letters and numbers. Changing this forces a new Front Door Rule to be created.
    order Integer

    The order in which the rules will be applied for the Front Door Endpoint. The order value should be sequential and begin at 1(e.g. 1, 2, 3...). A Front Door Rule with a lesser order value will be applied before a rule with a greater order value.

    Note: If the Front Door Rule has an order value of 0 they do not require any conditions and the actions will always be applied.

    actions FrontdoorRuleActions
    An actions block as defined below.
    behaviorOnMatch string
    If this rule is a match should the rules engine continue processing the remaining rules or stop? Possible values are Continue and Stop. Defaults to Continue.
    cdnFrontdoorRuleSetId string
    The resource ID of the Front Door Rule Set for this Front Door Rule. Changing this forces a new Front Door Rule to be created.
    cdnFrontdoorRuleSetName string
    The name of the Front Door Rule Set containing this Front Door Rule.
    conditions FrontdoorRuleConditions
    A conditions block as defined below.
    name string
    The name which should be used for this Front Door Rule. Possible values must be between 1 and 260 characters in length, begin with a letter and may contain only letters and numbers. Changing this forces a new Front Door Rule to be created.
    order number

    The order in which the rules will be applied for the Front Door Endpoint. The order value should be sequential and begin at 1(e.g. 1, 2, 3...). A Front Door Rule with a lesser order value will be applied before a rule with a greater order value.

    Note: If the Front Door Rule has an order value of 0 they do not require any conditions and the actions will always be applied.

    actions FrontdoorRuleActionsArgs
    An actions block as defined below.
    behavior_on_match str
    If this rule is a match should the rules engine continue processing the remaining rules or stop? Possible values are Continue and Stop. Defaults to Continue.
    cdn_frontdoor_rule_set_id str
    The resource ID of the Front Door Rule Set for this Front Door Rule. Changing this forces a new Front Door Rule to be created.
    cdn_frontdoor_rule_set_name str
    The name of the Front Door Rule Set containing this Front Door Rule.
    conditions FrontdoorRuleConditionsArgs
    A conditions block as defined below.
    name str
    The name which should be used for this Front Door Rule. Possible values must be between 1 and 260 characters in length, begin with a letter and may contain only letters and numbers. Changing this forces a new Front Door Rule to be created.
    order int

    The order in which the rules will be applied for the Front Door Endpoint. The order value should be sequential and begin at 1(e.g. 1, 2, 3...). A Front Door Rule with a lesser order value will be applied before a rule with a greater order value.

    Note: If the Front Door Rule has an order value of 0 they do not require any conditions and the actions will always be applied.

    actions Property Map
    An actions block as defined below.
    behaviorOnMatch String
    If this rule is a match should the rules engine continue processing the remaining rules or stop? Possible values are Continue and Stop. Defaults to Continue.
    cdnFrontdoorRuleSetId String
    The resource ID of the Front Door Rule Set for this Front Door Rule. Changing this forces a new Front Door Rule to be created.
    cdnFrontdoorRuleSetName String
    The name of the Front Door Rule Set containing this Front Door Rule.
    conditions Property Map
    A conditions block as defined below.
    name String
    The name which should be used for this Front Door Rule. Possible values must be between 1 and 260 characters in length, begin with a letter and may contain only letters and numbers. Changing this forces a new Front Door Rule to be created.
    order Number

    The order in which the rules will be applied for the Front Door Endpoint. The order value should be sequential and begin at 1(e.g. 1, 2, 3...). A Front Door Rule with a lesser order value will be applied before a rule with a greater order value.

    Note: If the Front Door Rule has an order value of 0 they do not require any conditions and the actions will always be applied.

    Supporting Types

    FrontdoorRuleActions, FrontdoorRuleActionsArgs

    RequestHeaderActions List<FrontdoorRuleActionsRequestHeaderAction>
    A requestHeaderAction block as defined below.
    ResponseHeaderActions List<FrontdoorRuleActionsResponseHeaderAction>
    A responseHeaderAction block as defined below.
    RouteConfigurationOverrideAction FrontdoorRuleActionsRouteConfigurationOverrideAction
    A routeConfigurationOverrideAction block as defined below.
    UrlRedirectAction FrontdoorRuleActionsUrlRedirectAction
    A urlRedirectAction block as defined below. You may not have a urlRedirectAction and a urlRewriteAction defined in the same actions block.
    UrlRewriteAction FrontdoorRuleActionsUrlRewriteAction
    A urlRewriteAction block as defined below. You may not have a urlRewriteAction and a urlRedirectAction defined in the same actions block.
    RequestHeaderActions []FrontdoorRuleActionsRequestHeaderAction
    A requestHeaderAction block as defined below.
    ResponseHeaderActions []FrontdoorRuleActionsResponseHeaderAction
    A responseHeaderAction block as defined below.
    RouteConfigurationOverrideAction FrontdoorRuleActionsRouteConfigurationOverrideAction
    A routeConfigurationOverrideAction block as defined below.
    UrlRedirectAction FrontdoorRuleActionsUrlRedirectAction
    A urlRedirectAction block as defined below. You may not have a urlRedirectAction and a urlRewriteAction defined in the same actions block.
    UrlRewriteAction FrontdoorRuleActionsUrlRewriteAction
    A urlRewriteAction block as defined below. You may not have a urlRewriteAction and a urlRedirectAction defined in the same actions block.
    requestHeaderActions List<FrontdoorRuleActionsRequestHeaderAction>
    A requestHeaderAction block as defined below.
    responseHeaderActions List<FrontdoorRuleActionsResponseHeaderAction>
    A responseHeaderAction block as defined below.
    routeConfigurationOverrideAction FrontdoorRuleActionsRouteConfigurationOverrideAction
    A routeConfigurationOverrideAction block as defined below.
    urlRedirectAction FrontdoorRuleActionsUrlRedirectAction
    A urlRedirectAction block as defined below. You may not have a urlRedirectAction and a urlRewriteAction defined in the same actions block.
    urlRewriteAction FrontdoorRuleActionsUrlRewriteAction
    A urlRewriteAction block as defined below. You may not have a urlRewriteAction and a urlRedirectAction defined in the same actions block.
    requestHeaderActions FrontdoorRuleActionsRequestHeaderAction[]
    A requestHeaderAction block as defined below.
    responseHeaderActions FrontdoorRuleActionsResponseHeaderAction[]
    A responseHeaderAction block as defined below.
    routeConfigurationOverrideAction FrontdoorRuleActionsRouteConfigurationOverrideAction
    A routeConfigurationOverrideAction block as defined below.
    urlRedirectAction FrontdoorRuleActionsUrlRedirectAction
    A urlRedirectAction block as defined below. You may not have a urlRedirectAction and a urlRewriteAction defined in the same actions block.
    urlRewriteAction FrontdoorRuleActionsUrlRewriteAction
    A urlRewriteAction block as defined below. You may not have a urlRewriteAction and a urlRedirectAction defined in the same actions block.
    request_header_actions Sequence[FrontdoorRuleActionsRequestHeaderAction]
    A requestHeaderAction block as defined below.
    response_header_actions Sequence[FrontdoorRuleActionsResponseHeaderAction]
    A responseHeaderAction block as defined below.
    route_configuration_override_action FrontdoorRuleActionsRouteConfigurationOverrideAction
    A routeConfigurationOverrideAction block as defined below.
    url_redirect_action FrontdoorRuleActionsUrlRedirectAction
    A urlRedirectAction block as defined below. You may not have a urlRedirectAction and a urlRewriteAction defined in the same actions block.
    url_rewrite_action FrontdoorRuleActionsUrlRewriteAction
    A urlRewriteAction block as defined below. You may not have a urlRewriteAction and a urlRedirectAction defined in the same actions block.
    requestHeaderActions List<Property Map>
    A requestHeaderAction block as defined below.
    responseHeaderActions List<Property Map>
    A responseHeaderAction block as defined below.
    routeConfigurationOverrideAction Property Map
    A routeConfigurationOverrideAction block as defined below.
    urlRedirectAction Property Map
    A urlRedirectAction block as defined below. You may not have a urlRedirectAction and a urlRewriteAction defined in the same actions block.
    urlRewriteAction Property Map
    A urlRewriteAction block as defined below. You may not have a urlRewriteAction and a urlRedirectAction defined in the same actions block.

    FrontdoorRuleActionsRequestHeaderAction, FrontdoorRuleActionsRequestHeaderActionArgs

    HeaderAction string

    The action to be taken on the specified headerName. Possible values include Append, Overwrite or Delete.

    Note: Append causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. Overwrite causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. Delete causes the header to be deleted from the request.

    HeaderName string
    The name of the header to modify.
    Value string

    The value to append or overwrite.

    Note: value is required if the headerAction is set to Append or Overwrite.

    HeaderAction string

    The action to be taken on the specified headerName. Possible values include Append, Overwrite or Delete.

    Note: Append causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. Overwrite causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. Delete causes the header to be deleted from the request.

    HeaderName string
    The name of the header to modify.
    Value string

    The value to append or overwrite.

    Note: value is required if the headerAction is set to Append or Overwrite.

    headerAction String

    The action to be taken on the specified headerName. Possible values include Append, Overwrite or Delete.

    Note: Append causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. Overwrite causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. Delete causes the header to be deleted from the request.

    headerName String
    The name of the header to modify.
    value String

    The value to append or overwrite.

    Note: value is required if the headerAction is set to Append or Overwrite.

    headerAction string

    The action to be taken on the specified headerName. Possible values include Append, Overwrite or Delete.

    Note: Append causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. Overwrite causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. Delete causes the header to be deleted from the request.

    headerName string
    The name of the header to modify.
    value string

    The value to append or overwrite.

    Note: value is required if the headerAction is set to Append or Overwrite.

    header_action str

    The action to be taken on the specified headerName. Possible values include Append, Overwrite or Delete.

    Note: Append causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. Overwrite causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. Delete causes the header to be deleted from the request.

    header_name str
    The name of the header to modify.
    value str

    The value to append or overwrite.

    Note: value is required if the headerAction is set to Append or Overwrite.

    headerAction String

    The action to be taken on the specified headerName. Possible values include Append, Overwrite or Delete.

    Note: Append causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. Overwrite causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. Delete causes the header to be deleted from the request.

    headerName String
    The name of the header to modify.
    value String

    The value to append or overwrite.

    Note: value is required if the headerAction is set to Append or Overwrite.

    FrontdoorRuleActionsResponseHeaderAction, FrontdoorRuleActionsResponseHeaderActionArgs

    HeaderAction string

    The action to be taken on the specified headerName. Possible values include Append, Overwrite or Delete.

    Note: Append causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. Overwrite causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. Delete causes the header to be deleted from the request.

    HeaderName string
    The name of the header to modify.
    Value string

    The value to append or overwrite.

    Note: value is required if the headerAction is set to Append or Overwrite.

    HeaderAction string

    The action to be taken on the specified headerName. Possible values include Append, Overwrite or Delete.

    Note: Append causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. Overwrite causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. Delete causes the header to be deleted from the request.

    HeaderName string
    The name of the header to modify.
    Value string

    The value to append or overwrite.

    Note: value is required if the headerAction is set to Append or Overwrite.

    headerAction String

    The action to be taken on the specified headerName. Possible values include Append, Overwrite or Delete.

    Note: Append causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. Overwrite causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. Delete causes the header to be deleted from the request.

    headerName String
    The name of the header to modify.
    value String

    The value to append or overwrite.

    Note: value is required if the headerAction is set to Append or Overwrite.

    headerAction string

    The action to be taken on the specified headerName. Possible values include Append, Overwrite or Delete.

    Note: Append causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. Overwrite causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. Delete causes the header to be deleted from the request.

    headerName string
    The name of the header to modify.
    value string

    The value to append or overwrite.

    Note: value is required if the headerAction is set to Append or Overwrite.

    header_action str

    The action to be taken on the specified headerName. Possible values include Append, Overwrite or Delete.

    Note: Append causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. Overwrite causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. Delete causes the header to be deleted from the request.

    header_name str
    The name of the header to modify.
    value str

    The value to append or overwrite.

    Note: value is required if the headerAction is set to Append or Overwrite.

    headerAction String

    The action to be taken on the specified headerName. Possible values include Append, Overwrite or Delete.

    Note: Append causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. Overwrite causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. Delete causes the header to be deleted from the request.

    headerName String
    The name of the header to modify.
    value String

    The value to append or overwrite.

    Note: value is required if the headerAction is set to Append or Overwrite.

    FrontdoorRuleActionsRouteConfigurationOverrideAction, FrontdoorRuleActionsRouteConfigurationOverrideActionArgs

    CacheBehavior string
    HonorOrigin the Front Door will always honor origin response header directive. If the origin directive is missing, Front Door will cache contents anywhere from 1 to 3 days. OverrideAlways the TTL value returned from your Front Door Origin is overwritten with the value specified in the action. This behavior will only be applied if the response is cacheable. OverrideIfOriginMissing if no TTL value gets returned from your Front Door Origin, the rule sets the TTL to the value specified in the action. This behavior will only be applied if the response is cacheable. Disabled the Front Door will not cache the response contents, irrespective of Front Door Origin response directives. Possible values include HonorOrigin, OverrideAlways, OverrideIfOriginMissing or Disabled.
    CacheDuration string
    When Cache behavior is set to Override or SetIfMissing, this field specifies the cache duration to use. The maximum duration is 366 days specified in the d.HH:MM:SS format(e.g. 365.23:59:59). If the desired maximum cache duration is less than 1 day then the maximum cache duration should be specified in the HH:MM:SS format(e.g. 23:59:59).
    CdnFrontdoorOriginGroupId string
    The Front Door Origin Group resource ID that the request should be routed to. This overrides the configuration specified in the Front Door Endpoint route.
    CompressionEnabled bool

    Should the Front Door dynamically compress the content? Possible values include true or false.

    Note: Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB.

    ForwardingProtocol string

    The forwarding protocol the request will be redirected as. This overrides the configuration specified in the route to be associated with. Possible values include MatchRequest, HttpOnly or HttpsOnly.

    Note: If the cdnFrontdoorOriginGroupId is not defined you cannot set the forwardingProtocol.

    QueryStringCachingBehavior string
    IncludeSpecifiedQueryStrings query strings specified in the queryStringParameters field get included when the cache key gets generated. UseQueryString cache every unique URL, each unique URL will have its own cache key. IgnoreSpecifiedQueryStrings query strings specified in the queryStringParameters field get excluded when the cache key gets generated. IgnoreQueryString query strings aren't considered when the cache key gets generated. Possible values include IgnoreQueryString, UseQueryString, IgnoreSpecifiedQueryStrings or IncludeSpecifiedQueryStrings.
    QueryStringParameters List<string>

    A list of query string parameter names.

    Note: queryStringParameters is a required field when the queryStringCachingBehavior is set to IncludeSpecifiedQueryStrings or IgnoreSpecifiedQueryStrings.

    CacheBehavior string
    HonorOrigin the Front Door will always honor origin response header directive. If the origin directive is missing, Front Door will cache contents anywhere from 1 to 3 days. OverrideAlways the TTL value returned from your Front Door Origin is overwritten with the value specified in the action. This behavior will only be applied if the response is cacheable. OverrideIfOriginMissing if no TTL value gets returned from your Front Door Origin, the rule sets the TTL to the value specified in the action. This behavior will only be applied if the response is cacheable. Disabled the Front Door will not cache the response contents, irrespective of Front Door Origin response directives. Possible values include HonorOrigin, OverrideAlways, OverrideIfOriginMissing or Disabled.
    CacheDuration string
    When Cache behavior is set to Override or SetIfMissing, this field specifies the cache duration to use. The maximum duration is 366 days specified in the d.HH:MM:SS format(e.g. 365.23:59:59). If the desired maximum cache duration is less than 1 day then the maximum cache duration should be specified in the HH:MM:SS format(e.g. 23:59:59).
    CdnFrontdoorOriginGroupId string
    The Front Door Origin Group resource ID that the request should be routed to. This overrides the configuration specified in the Front Door Endpoint route.
    CompressionEnabled bool

    Should the Front Door dynamically compress the content? Possible values include true or false.

    Note: Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB.

    ForwardingProtocol string

    The forwarding protocol the request will be redirected as. This overrides the configuration specified in the route to be associated with. Possible values include MatchRequest, HttpOnly or HttpsOnly.

    Note: If the cdnFrontdoorOriginGroupId is not defined you cannot set the forwardingProtocol.

    QueryStringCachingBehavior string
    IncludeSpecifiedQueryStrings query strings specified in the queryStringParameters field get included when the cache key gets generated. UseQueryString cache every unique URL, each unique URL will have its own cache key. IgnoreSpecifiedQueryStrings query strings specified in the queryStringParameters field get excluded when the cache key gets generated. IgnoreQueryString query strings aren't considered when the cache key gets generated. Possible values include IgnoreQueryString, UseQueryString, IgnoreSpecifiedQueryStrings or IncludeSpecifiedQueryStrings.
    QueryStringParameters []string

    A list of query string parameter names.

    Note: queryStringParameters is a required field when the queryStringCachingBehavior is set to IncludeSpecifiedQueryStrings or IgnoreSpecifiedQueryStrings.

    cacheBehavior String
    HonorOrigin the Front Door will always honor origin response header directive. If the origin directive is missing, Front Door will cache contents anywhere from 1 to 3 days. OverrideAlways the TTL value returned from your Front Door Origin is overwritten with the value specified in the action. This behavior will only be applied if the response is cacheable. OverrideIfOriginMissing if no TTL value gets returned from your Front Door Origin, the rule sets the TTL to the value specified in the action. This behavior will only be applied if the response is cacheable. Disabled the Front Door will not cache the response contents, irrespective of Front Door Origin response directives. Possible values include HonorOrigin, OverrideAlways, OverrideIfOriginMissing or Disabled.
    cacheDuration String
    When Cache behavior is set to Override or SetIfMissing, this field specifies the cache duration to use. The maximum duration is 366 days specified in the d.HH:MM:SS format(e.g. 365.23:59:59). If the desired maximum cache duration is less than 1 day then the maximum cache duration should be specified in the HH:MM:SS format(e.g. 23:59:59).
    cdnFrontdoorOriginGroupId String
    The Front Door Origin Group resource ID that the request should be routed to. This overrides the configuration specified in the Front Door Endpoint route.
    compressionEnabled Boolean

    Should the Front Door dynamically compress the content? Possible values include true or false.

    Note: Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB.

    forwardingProtocol String

    The forwarding protocol the request will be redirected as. This overrides the configuration specified in the route to be associated with. Possible values include MatchRequest, HttpOnly or HttpsOnly.

    Note: If the cdnFrontdoorOriginGroupId is not defined you cannot set the forwardingProtocol.

    queryStringCachingBehavior String
    IncludeSpecifiedQueryStrings query strings specified in the queryStringParameters field get included when the cache key gets generated. UseQueryString cache every unique URL, each unique URL will have its own cache key. IgnoreSpecifiedQueryStrings query strings specified in the queryStringParameters field get excluded when the cache key gets generated. IgnoreQueryString query strings aren't considered when the cache key gets generated. Possible values include IgnoreQueryString, UseQueryString, IgnoreSpecifiedQueryStrings or IncludeSpecifiedQueryStrings.
    queryStringParameters List<String>

    A list of query string parameter names.

    Note: queryStringParameters is a required field when the queryStringCachingBehavior is set to IncludeSpecifiedQueryStrings or IgnoreSpecifiedQueryStrings.

    cacheBehavior string
    HonorOrigin the Front Door will always honor origin response header directive. If the origin directive is missing, Front Door will cache contents anywhere from 1 to 3 days. OverrideAlways the TTL value returned from your Front Door Origin is overwritten with the value specified in the action. This behavior will only be applied if the response is cacheable. OverrideIfOriginMissing if no TTL value gets returned from your Front Door Origin, the rule sets the TTL to the value specified in the action. This behavior will only be applied if the response is cacheable. Disabled the Front Door will not cache the response contents, irrespective of Front Door Origin response directives. Possible values include HonorOrigin, OverrideAlways, OverrideIfOriginMissing or Disabled.
    cacheDuration string
    When Cache behavior is set to Override or SetIfMissing, this field specifies the cache duration to use. The maximum duration is 366 days specified in the d.HH:MM:SS format(e.g. 365.23:59:59). If the desired maximum cache duration is less than 1 day then the maximum cache duration should be specified in the HH:MM:SS format(e.g. 23:59:59).
    cdnFrontdoorOriginGroupId string
    The Front Door Origin Group resource ID that the request should be routed to. This overrides the configuration specified in the Front Door Endpoint route.
    compressionEnabled boolean

    Should the Front Door dynamically compress the content? Possible values include true or false.

    Note: Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB.

    forwardingProtocol string

    The forwarding protocol the request will be redirected as. This overrides the configuration specified in the route to be associated with. Possible values include MatchRequest, HttpOnly or HttpsOnly.

    Note: If the cdnFrontdoorOriginGroupId is not defined you cannot set the forwardingProtocol.

    queryStringCachingBehavior string
    IncludeSpecifiedQueryStrings query strings specified in the queryStringParameters field get included when the cache key gets generated. UseQueryString cache every unique URL, each unique URL will have its own cache key. IgnoreSpecifiedQueryStrings query strings specified in the queryStringParameters field get excluded when the cache key gets generated. IgnoreQueryString query strings aren't considered when the cache key gets generated. Possible values include IgnoreQueryString, UseQueryString, IgnoreSpecifiedQueryStrings or IncludeSpecifiedQueryStrings.
    queryStringParameters string[]

    A list of query string parameter names.

    Note: queryStringParameters is a required field when the queryStringCachingBehavior is set to IncludeSpecifiedQueryStrings or IgnoreSpecifiedQueryStrings.

    cache_behavior str
    HonorOrigin the Front Door will always honor origin response header directive. If the origin directive is missing, Front Door will cache contents anywhere from 1 to 3 days. OverrideAlways the TTL value returned from your Front Door Origin is overwritten with the value specified in the action. This behavior will only be applied if the response is cacheable. OverrideIfOriginMissing if no TTL value gets returned from your Front Door Origin, the rule sets the TTL to the value specified in the action. This behavior will only be applied if the response is cacheable. Disabled the Front Door will not cache the response contents, irrespective of Front Door Origin response directives. Possible values include HonorOrigin, OverrideAlways, OverrideIfOriginMissing or Disabled.
    cache_duration str
    When Cache behavior is set to Override or SetIfMissing, this field specifies the cache duration to use. The maximum duration is 366 days specified in the d.HH:MM:SS format(e.g. 365.23:59:59). If the desired maximum cache duration is less than 1 day then the maximum cache duration should be specified in the HH:MM:SS format(e.g. 23:59:59).
    cdn_frontdoor_origin_group_id str
    The Front Door Origin Group resource ID that the request should be routed to. This overrides the configuration specified in the Front Door Endpoint route.
    compression_enabled bool

    Should the Front Door dynamically compress the content? Possible values include true or false.

    Note: Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB.

    forwarding_protocol str

    The forwarding protocol the request will be redirected as. This overrides the configuration specified in the route to be associated with. Possible values include MatchRequest, HttpOnly or HttpsOnly.

    Note: If the cdnFrontdoorOriginGroupId is not defined you cannot set the forwardingProtocol.

    query_string_caching_behavior str
    IncludeSpecifiedQueryStrings query strings specified in the queryStringParameters field get included when the cache key gets generated. UseQueryString cache every unique URL, each unique URL will have its own cache key. IgnoreSpecifiedQueryStrings query strings specified in the queryStringParameters field get excluded when the cache key gets generated. IgnoreQueryString query strings aren't considered when the cache key gets generated. Possible values include IgnoreQueryString, UseQueryString, IgnoreSpecifiedQueryStrings or IncludeSpecifiedQueryStrings.
    query_string_parameters Sequence[str]

    A list of query string parameter names.

    Note: queryStringParameters is a required field when the queryStringCachingBehavior is set to IncludeSpecifiedQueryStrings or IgnoreSpecifiedQueryStrings.

    cacheBehavior String
    HonorOrigin the Front Door will always honor origin response header directive. If the origin directive is missing, Front Door will cache contents anywhere from 1 to 3 days. OverrideAlways the TTL value returned from your Front Door Origin is overwritten with the value specified in the action. This behavior will only be applied if the response is cacheable. OverrideIfOriginMissing if no TTL value gets returned from your Front Door Origin, the rule sets the TTL to the value specified in the action. This behavior will only be applied if the response is cacheable. Disabled the Front Door will not cache the response contents, irrespective of Front Door Origin response directives. Possible values include HonorOrigin, OverrideAlways, OverrideIfOriginMissing or Disabled.
    cacheDuration String
    When Cache behavior is set to Override or SetIfMissing, this field specifies the cache duration to use. The maximum duration is 366 days specified in the d.HH:MM:SS format(e.g. 365.23:59:59). If the desired maximum cache duration is less than 1 day then the maximum cache duration should be specified in the HH:MM:SS format(e.g. 23:59:59).
    cdnFrontdoorOriginGroupId String
    The Front Door Origin Group resource ID that the request should be routed to. This overrides the configuration specified in the Front Door Endpoint route.
    compressionEnabled Boolean

    Should the Front Door dynamically compress the content? Possible values include true or false.

    Note: Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB.

    forwardingProtocol String

    The forwarding protocol the request will be redirected as. This overrides the configuration specified in the route to be associated with. Possible values include MatchRequest, HttpOnly or HttpsOnly.

    Note: If the cdnFrontdoorOriginGroupId is not defined you cannot set the forwardingProtocol.

    queryStringCachingBehavior String
    IncludeSpecifiedQueryStrings query strings specified in the queryStringParameters field get included when the cache key gets generated. UseQueryString cache every unique URL, each unique URL will have its own cache key. IgnoreSpecifiedQueryStrings query strings specified in the queryStringParameters field get excluded when the cache key gets generated. IgnoreQueryString query strings aren't considered when the cache key gets generated. Possible values include IgnoreQueryString, UseQueryString, IgnoreSpecifiedQueryStrings or IncludeSpecifiedQueryStrings.
    queryStringParameters List<String>

    A list of query string parameter names.

    Note: queryStringParameters is a required field when the queryStringCachingBehavior is set to IncludeSpecifiedQueryStrings or IgnoreSpecifiedQueryStrings.

    FrontdoorRuleActionsUrlRedirectAction, FrontdoorRuleActionsUrlRedirectActionArgs

    DestinationHostname string
    The host name you want the request to be redirected to. The value must be a string between 0 and 2048 characters in length, leave blank to preserve the incoming host.
    RedirectType string
    The response type to return to the requestor. Possible values include Moved, Found , TemporaryRedirect or PermanentRedirect.
    DestinationFragment string
    The fragment to use in the redirect. The value must be a string between 0 and 1024 characters in length, leave blank to preserve the incoming fragment. Defaults to "".
    DestinationPath string
    The path to use in the redirect. The value must be a string and include the leading /, leave blank to preserve the incoming path. Defaults to "".
    QueryString string
    The query string used in the redirect URL. The value must be in the <key>=<value> or <key>={actionServerVariable} format and must not include the leading ?, leave blank to preserve the incoming query string. Maximum allowed length for this field is 2048 characters. Defaults to "".
    RedirectProtocol string
    The protocol the request will be redirected as. Possible values include MatchRequest, Http or Https. Defaults to MatchRequest.
    DestinationHostname string
    The host name you want the request to be redirected to. The value must be a string between 0 and 2048 characters in length, leave blank to preserve the incoming host.
    RedirectType string
    The response type to return to the requestor. Possible values include Moved, Found , TemporaryRedirect or PermanentRedirect.
    DestinationFragment string
    The fragment to use in the redirect. The value must be a string between 0 and 1024 characters in length, leave blank to preserve the incoming fragment. Defaults to "".
    DestinationPath string
    The path to use in the redirect. The value must be a string and include the leading /, leave blank to preserve the incoming path. Defaults to "".
    QueryString string
    The query string used in the redirect URL. The value must be in the <key>=<value> or <key>={actionServerVariable} format and must not include the leading ?, leave blank to preserve the incoming query string. Maximum allowed length for this field is 2048 characters. Defaults to "".
    RedirectProtocol string
    The protocol the request will be redirected as. Possible values include MatchRequest, Http or Https. Defaults to MatchRequest.
    destinationHostname String
    The host name you want the request to be redirected to. The value must be a string between 0 and 2048 characters in length, leave blank to preserve the incoming host.
    redirectType String
    The response type to return to the requestor. Possible values include Moved, Found , TemporaryRedirect or PermanentRedirect.
    destinationFragment String
    The fragment to use in the redirect. The value must be a string between 0 and 1024 characters in length, leave blank to preserve the incoming fragment. Defaults to "".
    destinationPath String
    The path to use in the redirect. The value must be a string and include the leading /, leave blank to preserve the incoming path. Defaults to "".
    queryString String
    The query string used in the redirect URL. The value must be in the <key>=<value> or <key>={actionServerVariable} format and must not include the leading ?, leave blank to preserve the incoming query string. Maximum allowed length for this field is 2048 characters. Defaults to "".
    redirectProtocol String
    The protocol the request will be redirected as. Possible values include MatchRequest, Http or Https. Defaults to MatchRequest.
    destinationHostname string
    The host name you want the request to be redirected to. The value must be a string between 0 and 2048 characters in length, leave blank to preserve the incoming host.
    redirectType string
    The response type to return to the requestor. Possible values include Moved, Found , TemporaryRedirect or PermanentRedirect.
    destinationFragment string
    The fragment to use in the redirect. The value must be a string between 0 and 1024 characters in length, leave blank to preserve the incoming fragment. Defaults to "".
    destinationPath string
    The path to use in the redirect. The value must be a string and include the leading /, leave blank to preserve the incoming path. Defaults to "".
    queryString string
    The query string used in the redirect URL. The value must be in the <key>=<value> or <key>={actionServerVariable} format and must not include the leading ?, leave blank to preserve the incoming query string. Maximum allowed length for this field is 2048 characters. Defaults to "".
    redirectProtocol string
    The protocol the request will be redirected as. Possible values include MatchRequest, Http or Https. Defaults to MatchRequest.
    destination_hostname str
    The host name you want the request to be redirected to. The value must be a string between 0 and 2048 characters in length, leave blank to preserve the incoming host.
    redirect_type str
    The response type to return to the requestor. Possible values include Moved, Found , TemporaryRedirect or PermanentRedirect.
    destination_fragment str
    The fragment to use in the redirect. The value must be a string between 0 and 1024 characters in length, leave blank to preserve the incoming fragment. Defaults to "".
    destination_path str
    The path to use in the redirect. The value must be a string and include the leading /, leave blank to preserve the incoming path. Defaults to "".
    query_string str
    The query string used in the redirect URL. The value must be in the <key>=<value> or <key>={actionServerVariable} format and must not include the leading ?, leave blank to preserve the incoming query string. Maximum allowed length for this field is 2048 characters. Defaults to "".
    redirect_protocol str
    The protocol the request will be redirected as. Possible values include MatchRequest, Http or Https. Defaults to MatchRequest.
    destinationHostname String
    The host name you want the request to be redirected to. The value must be a string between 0 and 2048 characters in length, leave blank to preserve the incoming host.
    redirectType String
    The response type to return to the requestor. Possible values include Moved, Found , TemporaryRedirect or PermanentRedirect.
    destinationFragment String
    The fragment to use in the redirect. The value must be a string between 0 and 1024 characters in length, leave blank to preserve the incoming fragment. Defaults to "".
    destinationPath String
    The path to use in the redirect. The value must be a string and include the leading /, leave blank to preserve the incoming path. Defaults to "".
    queryString String
    The query string used in the redirect URL. The value must be in the <key>=<value> or <key>={actionServerVariable} format and must not include the leading ?, leave blank to preserve the incoming query string. Maximum allowed length for this field is 2048 characters. Defaults to "".
    redirectProtocol String
    The protocol the request will be redirected as. Possible values include MatchRequest, Http or Https. Defaults to MatchRequest.

    FrontdoorRuleActionsUrlRewriteAction, FrontdoorRuleActionsUrlRewriteActionArgs

    Destination string
    The destination path to use in the rewrite. The destination path overwrites the source pattern.
    SourcePattern string
    The source pattern in the URL path to replace. This uses prefix-based matching. For example, to match all URL paths use a forward slash "/" as the source pattern value.
    PreserveUnmatchedPath bool
    Append the remaining path after the source pattern to the new destination path? Possible values true or false. Defaults to false.
    Destination string
    The destination path to use in the rewrite. The destination path overwrites the source pattern.
    SourcePattern string
    The source pattern in the URL path to replace. This uses prefix-based matching. For example, to match all URL paths use a forward slash "/" as the source pattern value.
    PreserveUnmatchedPath bool
    Append the remaining path after the source pattern to the new destination path? Possible values true or false. Defaults to false.
    destination String
    The destination path to use in the rewrite. The destination path overwrites the source pattern.
    sourcePattern String
    The source pattern in the URL path to replace. This uses prefix-based matching. For example, to match all URL paths use a forward slash "/" as the source pattern value.
    preserveUnmatchedPath Boolean
    Append the remaining path after the source pattern to the new destination path? Possible values true or false. Defaults to false.
    destination string
    The destination path to use in the rewrite. The destination path overwrites the source pattern.
    sourcePattern string
    The source pattern in the URL path to replace. This uses prefix-based matching. For example, to match all URL paths use a forward slash "/" as the source pattern value.
    preserveUnmatchedPath boolean
    Append the remaining path after the source pattern to the new destination path? Possible values true or false. Defaults to false.
    destination str
    The destination path to use in the rewrite. The destination path overwrites the source pattern.
    source_pattern str
    The source pattern in the URL path to replace. This uses prefix-based matching. For example, to match all URL paths use a forward slash "/" as the source pattern value.
    preserve_unmatched_path bool
    Append the remaining path after the source pattern to the new destination path? Possible values true or false. Defaults to false.
    destination String
    The destination path to use in the rewrite. The destination path overwrites the source pattern.
    sourcePattern String
    The source pattern in the URL path to replace. This uses prefix-based matching. For example, to match all URL paths use a forward slash "/" as the source pattern value.
    preserveUnmatchedPath Boolean
    Append the remaining path after the source pattern to the new destination path? Possible values true or false. Defaults to false.

    FrontdoorRuleConditions, FrontdoorRuleConditionsArgs

    ClientPortConditions List<FrontdoorRuleConditionsClientPortCondition>
    A clientPortCondition block as defined below.
    CookiesConditions List<FrontdoorRuleConditionsCookiesCondition>
    A cookiesCondition block as defined below.
    HostNameConditions List<FrontdoorRuleConditionsHostNameCondition>
    A hostNameCondition block as defined below.
    HttpVersionConditions List<FrontdoorRuleConditionsHttpVersionCondition>
    A httpVersionCondition block as defined below.
    IsDeviceConditions List<FrontdoorRuleConditionsIsDeviceCondition>
    A isDeviceCondition block as defined below.
    PostArgsConditions List<FrontdoorRuleConditionsPostArgsCondition>
    A postArgsCondition block as defined below.
    QueryStringConditions List<FrontdoorRuleConditionsQueryStringCondition>
    A queryStringCondition block as defined below.
    RemoteAddressConditions List<FrontdoorRuleConditionsRemoteAddressCondition>
    A remoteAddressCondition block as defined below.
    RequestBodyConditions List<FrontdoorRuleConditionsRequestBodyCondition>
    A requestBodyCondition block as defined below.
    RequestHeaderConditions List<FrontdoorRuleConditionsRequestHeaderCondition>
    A requestHeaderCondition block as defined below.
    RequestMethodConditions List<FrontdoorRuleConditionsRequestMethodCondition>
    A requestMethodCondition block as defined below.
    RequestSchemeConditions List<FrontdoorRuleConditionsRequestSchemeCondition>
    A requestSchemeCondition block as defined below.
    RequestUriConditions List<FrontdoorRuleConditionsRequestUriCondition>
    A requestUriCondition block as defined below.
    ServerPortConditions List<FrontdoorRuleConditionsServerPortCondition>
    A serverPortCondition block as defined below.
    SocketAddressConditions List<FrontdoorRuleConditionsSocketAddressCondition>
    A socketAddressCondition block as defined below.
    SslProtocolConditions List<FrontdoorRuleConditionsSslProtocolCondition>
    A sslProtocolCondition block as defined below.
    UrlFileExtensionConditions List<FrontdoorRuleConditionsUrlFileExtensionCondition>
    A urlFileExtensionCondition block as defined below.
    UrlFilenameConditions List<FrontdoorRuleConditionsUrlFilenameCondition>
    A urlFilenameCondition block as defined below.
    UrlPathConditions List<FrontdoorRuleConditionsUrlPathCondition>
    A urlPathCondition block as defined below.
    ClientPortConditions []FrontdoorRuleConditionsClientPortCondition
    A clientPortCondition block as defined below.
    CookiesConditions []FrontdoorRuleConditionsCookiesCondition
    A cookiesCondition block as defined below.
    HostNameConditions []FrontdoorRuleConditionsHostNameCondition
    A hostNameCondition block as defined below.
    HttpVersionConditions []FrontdoorRuleConditionsHttpVersionCondition
    A httpVersionCondition block as defined below.
    IsDeviceConditions []FrontdoorRuleConditionsIsDeviceCondition
    A isDeviceCondition block as defined below.
    PostArgsConditions []FrontdoorRuleConditionsPostArgsCondition
    A postArgsCondition block as defined below.
    QueryStringConditions []FrontdoorRuleConditionsQueryStringCondition
    A queryStringCondition block as defined below.
    RemoteAddressConditions []FrontdoorRuleConditionsRemoteAddressCondition
    A remoteAddressCondition block as defined below.
    RequestBodyConditions []FrontdoorRuleConditionsRequestBodyCondition
    A requestBodyCondition block as defined below.
    RequestHeaderConditions []FrontdoorRuleConditionsRequestHeaderCondition
    A requestHeaderCondition block as defined below.
    RequestMethodConditions []FrontdoorRuleConditionsRequestMethodCondition
    A requestMethodCondition block as defined below.
    RequestSchemeConditions []FrontdoorRuleConditionsRequestSchemeCondition
    A requestSchemeCondition block as defined below.
    RequestUriConditions []FrontdoorRuleConditionsRequestUriCondition
    A requestUriCondition block as defined below.
    ServerPortConditions []FrontdoorRuleConditionsServerPortCondition
    A serverPortCondition block as defined below.
    SocketAddressConditions []FrontdoorRuleConditionsSocketAddressCondition
    A socketAddressCondition block as defined below.
    SslProtocolConditions []FrontdoorRuleConditionsSslProtocolCondition
    A sslProtocolCondition block as defined below.
    UrlFileExtensionConditions []FrontdoorRuleConditionsUrlFileExtensionCondition
    A urlFileExtensionCondition block as defined below.
    UrlFilenameConditions []FrontdoorRuleConditionsUrlFilenameCondition
    A urlFilenameCondition block as defined below.
    UrlPathConditions []FrontdoorRuleConditionsUrlPathCondition
    A urlPathCondition block as defined below.
    clientPortConditions List<FrontdoorRuleConditionsClientPortCondition>
    A clientPortCondition block as defined below.
    cookiesConditions List<FrontdoorRuleConditionsCookiesCondition>
    A cookiesCondition block as defined below.
    hostNameConditions List<FrontdoorRuleConditionsHostNameCondition>
    A hostNameCondition block as defined below.
    httpVersionConditions List<FrontdoorRuleConditionsHttpVersionCondition>
    A httpVersionCondition block as defined below.
    isDeviceConditions List<FrontdoorRuleConditionsIsDeviceCondition>
    A isDeviceCondition block as defined below.
    postArgsConditions List<FrontdoorRuleConditionsPostArgsCondition>
    A postArgsCondition block as defined below.
    queryStringConditions List<FrontdoorRuleConditionsQueryStringCondition>
    A queryStringCondition block as defined below.
    remoteAddressConditions List<FrontdoorRuleConditionsRemoteAddressCondition>
    A remoteAddressCondition block as defined below.
    requestBodyConditions List<FrontdoorRuleConditionsRequestBodyCondition>
    A requestBodyCondition block as defined below.
    requestHeaderConditions List<FrontdoorRuleConditionsRequestHeaderCondition>
    A requestHeaderCondition block as defined below.
    requestMethodConditions List<FrontdoorRuleConditionsRequestMethodCondition>
    A requestMethodCondition block as defined below.
    requestSchemeConditions List<FrontdoorRuleConditionsRequestSchemeCondition>
    A requestSchemeCondition block as defined below.
    requestUriConditions List<FrontdoorRuleConditionsRequestUriCondition>
    A requestUriCondition block as defined below.
    serverPortConditions List<FrontdoorRuleConditionsServerPortCondition>
    A serverPortCondition block as defined below.
    socketAddressConditions List<FrontdoorRuleConditionsSocketAddressCondition>
    A socketAddressCondition block as defined below.
    sslProtocolConditions List<FrontdoorRuleConditionsSslProtocolCondition>
    A sslProtocolCondition block as defined below.
    urlFileExtensionConditions List<FrontdoorRuleConditionsUrlFileExtensionCondition>
    A urlFileExtensionCondition block as defined below.
    urlFilenameConditions List<FrontdoorRuleConditionsUrlFilenameCondition>
    A urlFilenameCondition block as defined below.
    urlPathConditions List<FrontdoorRuleConditionsUrlPathCondition>
    A urlPathCondition block as defined below.
    clientPortConditions FrontdoorRuleConditionsClientPortCondition[]
    A clientPortCondition block as defined below.
    cookiesConditions FrontdoorRuleConditionsCookiesCondition[]
    A cookiesCondition block as defined below.
    hostNameConditions FrontdoorRuleConditionsHostNameCondition[]
    A hostNameCondition block as defined below.
    httpVersionConditions FrontdoorRuleConditionsHttpVersionCondition[]
    A httpVersionCondition block as defined below.
    isDeviceConditions FrontdoorRuleConditionsIsDeviceCondition[]
    A isDeviceCondition block as defined below.
    postArgsConditions FrontdoorRuleConditionsPostArgsCondition[]
    A postArgsCondition block as defined below.
    queryStringConditions FrontdoorRuleConditionsQueryStringCondition[]
    A queryStringCondition block as defined below.
    remoteAddressConditions FrontdoorRuleConditionsRemoteAddressCondition[]
    A remoteAddressCondition block as defined below.
    requestBodyConditions FrontdoorRuleConditionsRequestBodyCondition[]
    A requestBodyCondition block as defined below.
    requestHeaderConditions FrontdoorRuleConditionsRequestHeaderCondition[]
    A requestHeaderCondition block as defined below.
    requestMethodConditions FrontdoorRuleConditionsRequestMethodCondition[]
    A requestMethodCondition block as defined below.
    requestSchemeConditions FrontdoorRuleConditionsRequestSchemeCondition[]
    A requestSchemeCondition block as defined below.
    requestUriConditions FrontdoorRuleConditionsRequestUriCondition[]
    A requestUriCondition block as defined below.
    serverPortConditions FrontdoorRuleConditionsServerPortCondition[]
    A serverPortCondition block as defined below.
    socketAddressConditions FrontdoorRuleConditionsSocketAddressCondition[]
    A socketAddressCondition block as defined below.
    sslProtocolConditions FrontdoorRuleConditionsSslProtocolCondition[]
    A sslProtocolCondition block as defined below.
    urlFileExtensionConditions FrontdoorRuleConditionsUrlFileExtensionCondition[]
    A urlFileExtensionCondition block as defined below.
    urlFilenameConditions FrontdoorRuleConditionsUrlFilenameCondition[]
    A urlFilenameCondition block as defined below.
    urlPathConditions FrontdoorRuleConditionsUrlPathCondition[]
    A urlPathCondition block as defined below.
    client_port_conditions Sequence[FrontdoorRuleConditionsClientPortCondition]
    A clientPortCondition block as defined below.
    cookies_conditions Sequence[FrontdoorRuleConditionsCookiesCondition]
    A cookiesCondition block as defined below.
    host_name_conditions Sequence[FrontdoorRuleConditionsHostNameCondition]
    A hostNameCondition block as defined below.
    http_version_conditions Sequence[FrontdoorRuleConditionsHttpVersionCondition]
    A httpVersionCondition block as defined below.
    is_device_conditions Sequence[FrontdoorRuleConditionsIsDeviceCondition]
    A isDeviceCondition block as defined below.
    post_args_conditions Sequence[FrontdoorRuleConditionsPostArgsCondition]
    A postArgsCondition block as defined below.
    query_string_conditions Sequence[FrontdoorRuleConditionsQueryStringCondition]
    A queryStringCondition block as defined below.
    remote_address_conditions Sequence[FrontdoorRuleConditionsRemoteAddressCondition]
    A remoteAddressCondition block as defined below.
    request_body_conditions Sequence[FrontdoorRuleConditionsRequestBodyCondition]
    A requestBodyCondition block as defined below.
    request_header_conditions Sequence[FrontdoorRuleConditionsRequestHeaderCondition]
    A requestHeaderCondition block as defined below.
    request_method_conditions Sequence[FrontdoorRuleConditionsRequestMethodCondition]
    A requestMethodCondition block as defined below.
    request_scheme_conditions Sequence[FrontdoorRuleConditionsRequestSchemeCondition]
    A requestSchemeCondition block as defined below.
    request_uri_conditions Sequence[FrontdoorRuleConditionsRequestUriCondition]
    A requestUriCondition block as defined below.
    server_port_conditions Sequence[FrontdoorRuleConditionsServerPortCondition]
    A serverPortCondition block as defined below.
    socket_address_conditions Sequence[FrontdoorRuleConditionsSocketAddressCondition]
    A socketAddressCondition block as defined below.
    ssl_protocol_conditions Sequence[FrontdoorRuleConditionsSslProtocolCondition]
    A sslProtocolCondition block as defined below.
    url_file_extension_conditions Sequence[FrontdoorRuleConditionsUrlFileExtensionCondition]
    A urlFileExtensionCondition block as defined below.
    url_filename_conditions Sequence[FrontdoorRuleConditionsUrlFilenameCondition]
    A urlFilenameCondition block as defined below.
    url_path_conditions Sequence[FrontdoorRuleConditionsUrlPathCondition]
    A urlPathCondition block as defined below.
    clientPortConditions List<Property Map>
    A clientPortCondition block as defined below.
    cookiesConditions List<Property Map>
    A cookiesCondition block as defined below.
    hostNameConditions List<Property Map>
    A hostNameCondition block as defined below.
    httpVersionConditions List<Property Map>
    A httpVersionCondition block as defined below.
    isDeviceConditions List<Property Map>
    A isDeviceCondition block as defined below.
    postArgsConditions List<Property Map>
    A postArgsCondition block as defined below.
    queryStringConditions List<Property Map>
    A queryStringCondition block as defined below.
    remoteAddressConditions List<Property Map>
    A remoteAddressCondition block as defined below.
    requestBodyConditions List<Property Map>
    A requestBodyCondition block as defined below.
    requestHeaderConditions List<Property Map>
    A requestHeaderCondition block as defined below.
    requestMethodConditions List<Property Map>
    A requestMethodCondition block as defined below.
    requestSchemeConditions List<Property Map>
    A requestSchemeCondition block as defined below.
    requestUriConditions List<Property Map>
    A requestUriCondition block as defined below.
    serverPortConditions List<Property Map>
    A serverPortCondition block as defined below.
    socketAddressConditions List<Property Map>
    A socketAddressCondition block as defined below.
    sslProtocolConditions List<Property Map>
    A sslProtocolCondition block as defined below.
    urlFileExtensionConditions List<Property Map>
    A urlFileExtensionCondition block as defined below.
    urlFilenameConditions List<Property Map>
    A urlFilenameCondition block as defined below.
    urlPathConditions List<Property Map>
    A urlPathCondition block as defined below.

    FrontdoorRuleConditionsClientPortCondition, FrontdoorRuleConditionsClientPortConditionArgs

    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    MatchValues List<string>
    One or more integer values(e.g. "1") representing the value of the client port to match. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    MatchValues []string
    One or more integer values(e.g. "1") representing the value of the client port to match. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues List<String>
    One or more integer values(e.g. "1") representing the value of the client port to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues string[]
    One or more integer values(e.g. "1") representing the value of the client port to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator str
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    match_values Sequence[str]
    One or more integer values(e.g. "1") representing the value of the client port to match. If multiple values are specified, they're evaluated using OR logic.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues List<String>
    One or more integer values(e.g. "1") representing the value of the client port to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.

    FrontdoorRuleConditionsCookiesCondition, FrontdoorRuleConditionsCookiesConditionArgs

    CookieName string
    A string value representing the name of the cookie.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    MatchValues List<string>
    One or more string or integer values(e.g. "1") representing the value of the request header to match. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms List<string>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    CookieName string
    A string value representing the name of the cookie.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    MatchValues []string
    One or more string or integer values(e.g. "1") representing the value of the request header to match. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms []string
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    cookieName String
    A string value representing the name of the cookie.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues List<String>
    One or more string or integer values(e.g. "1") representing the value of the request header to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    cookieName string
    A string value representing the name of the cookie.
    operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues string[]
    One or more string or integer values(e.g. "1") representing the value of the request header to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms string[]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    cookie_name str
    A string value representing the name of the cookie.
    operator str
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    match_values Sequence[str]
    One or more string or integer values(e.g. "1") representing the value of the request header to match. If multiple values are specified, they're evaluated using OR logic.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms Sequence[str]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    cookieName String
    A string value representing the name of the cookie.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues List<String>
    One or more string or integer values(e.g. "1") representing the value of the request header to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.

    FrontdoorRuleConditionsHostNameCondition, FrontdoorRuleConditionsHostNameConditionArgs

    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    MatchValues List<string>
    A list of one or more string values representing the value of the request hostname to match. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms List<string>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    MatchValues []string
    A list of one or more string values representing the value of the request hostname to match. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms []string
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues List<String>
    A list of one or more string values representing the value of the request hostname to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues string[]
    A list of one or more string values representing the value of the request hostname to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms string[]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator str
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    match_values Sequence[str]
    A list of one or more string values representing the value of the request hostname to match. If multiple values are specified, they're evaluated using OR logic.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms Sequence[str]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues List<String>
    A list of one or more string values representing the value of the request hostname to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.

    FrontdoorRuleConditionsHttpVersionCondition, FrontdoorRuleConditionsHttpVersionConditionArgs

    MatchValues List<string>
    What HTTP version should this condition match? Possible values 2.0, 1.1, 1.0 or 0.9.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Operator string
    Possible value Equal. Defaults to Equal.
    MatchValues []string
    What HTTP version should this condition match? Possible values 2.0, 1.1, 1.0 or 0.9.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Operator string
    Possible value Equal. Defaults to Equal.
    matchValues List<String>
    What HTTP version should this condition match? Possible values 2.0, 1.1, 1.0 or 0.9.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String
    Possible value Equal. Defaults to Equal.
    matchValues string[]
    What HTTP version should this condition match? Possible values 2.0, 1.1, 1.0 or 0.9.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator string
    Possible value Equal. Defaults to Equal.
    match_values Sequence[str]
    What HTTP version should this condition match? Possible values 2.0, 1.1, 1.0 or 0.9.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator str
    Possible value Equal. Defaults to Equal.
    matchValues List<String>
    What HTTP version should this condition match? Possible values 2.0, 1.1, 1.0 or 0.9.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String
    Possible value Equal. Defaults to Equal.

    FrontdoorRuleConditionsIsDeviceCondition, FrontdoorRuleConditionsIsDeviceConditionArgs

    MatchValues string
    Which device should this rule match on? Possible values Mobile or Desktop.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Operator string
    Possible value Equal. Defaults to Equal.
    MatchValues string
    Which device should this rule match on? Possible values Mobile or Desktop.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Operator string
    Possible value Equal. Defaults to Equal.
    matchValues String
    Which device should this rule match on? Possible values Mobile or Desktop.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String
    Possible value Equal. Defaults to Equal.
    matchValues string
    Which device should this rule match on? Possible values Mobile or Desktop.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator string
    Possible value Equal. Defaults to Equal.
    match_values str
    Which device should this rule match on? Possible values Mobile or Desktop.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator str
    Possible value Equal. Defaults to Equal.
    matchValues String
    Which device should this rule match on? Possible values Mobile or Desktop.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String
    Possible value Equal. Defaults to Equal.

    FrontdoorRuleConditionsPostArgsCondition, FrontdoorRuleConditionsPostArgsConditionArgs

    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    PostArgsName string
    A string value representing the name of the POST argument.
    MatchValues List<string>
    One or more string or integer values(e.g. "1") representing the value of the POST argument to match. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms List<string>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    PostArgsName string
    A string value representing the name of the POST argument.
    MatchValues []string
    One or more string or integer values(e.g. "1") representing the value of the POST argument to match. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms []string
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    postArgsName String
    A string value representing the name of the POST argument.
    matchValues List<String>
    One or more string or integer values(e.g. "1") representing the value of the POST argument to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    postArgsName string
    A string value representing the name of the POST argument.
    matchValues string[]
    One or more string or integer values(e.g. "1") representing the value of the POST argument to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms string[]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator str
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    post_args_name str
    A string value representing the name of the POST argument.
    match_values Sequence[str]
    One or more string or integer values(e.g. "1") representing the value of the POST argument to match. If multiple values are specified, they're evaluated using OR logic.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms Sequence[str]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    postArgsName String
    A string value representing the name of the POST argument.
    matchValues List<String>
    One or more string or integer values(e.g. "1") representing the value of the POST argument to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.

    FrontdoorRuleConditionsQueryStringCondition, FrontdoorRuleConditionsQueryStringConditionArgs

    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    MatchValues List<string>
    One or more string or integer values(e.g. "1") representing the value of the query string to match. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms List<string>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    MatchValues []string
    One or more string or integer values(e.g. "1") representing the value of the query string to match. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms []string
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues List<String>
    One or more string or integer values(e.g. "1") representing the value of the query string to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues string[]
    One or more string or integer values(e.g. "1") representing the value of the query string to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms string[]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator str
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    match_values Sequence[str]
    One or more string or integer values(e.g. "1") representing the value of the query string to match. If multiple values are specified, they're evaluated using OR logic.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms Sequence[str]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues List<String>
    One or more string or integer values(e.g. "1") representing the value of the query string to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.

    FrontdoorRuleConditionsRemoteAddressCondition, FrontdoorRuleConditionsRemoteAddressConditionArgs

    MatchValues List<string>

    For the IP Match or IP Not Match operators: specify one or more IP address ranges. If multiple IP address ranges are specified, they're evaluated using OR logic. For the Geo Match or Geo Not Match operators: specify one or more locations using their country code.

    Note: See the Specifying IP Address Ranges section below on how to correctly define the matchValues field.

    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Operator string
    The type of the remote address to match. Possible values include Any, GeoMatch or IPMatch. Use the negateCondition to specify Not GeoMatch or Not IPMatch. Defaults to IPMatch.
    MatchValues []string

    For the IP Match or IP Not Match operators: specify one or more IP address ranges. If multiple IP address ranges are specified, they're evaluated using OR logic. For the Geo Match or Geo Not Match operators: specify one or more locations using their country code.

    Note: See the Specifying IP Address Ranges section below on how to correctly define the matchValues field.

    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Operator string
    The type of the remote address to match. Possible values include Any, GeoMatch or IPMatch. Use the negateCondition to specify Not GeoMatch or Not IPMatch. Defaults to IPMatch.
    matchValues List<String>

    For the IP Match or IP Not Match operators: specify one or more IP address ranges. If multiple IP address ranges are specified, they're evaluated using OR logic. For the Geo Match or Geo Not Match operators: specify one or more locations using their country code.

    Note: See the Specifying IP Address Ranges section below on how to correctly define the matchValues field.

    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String
    The type of the remote address to match. Possible values include Any, GeoMatch or IPMatch. Use the negateCondition to specify Not GeoMatch or Not IPMatch. Defaults to IPMatch.
    matchValues string[]

    For the IP Match or IP Not Match operators: specify one or more IP address ranges. If multiple IP address ranges are specified, they're evaluated using OR logic. For the Geo Match or Geo Not Match operators: specify one or more locations using their country code.

    Note: See the Specifying IP Address Ranges section below on how to correctly define the matchValues field.

    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator string
    The type of the remote address to match. Possible values include Any, GeoMatch or IPMatch. Use the negateCondition to specify Not GeoMatch or Not IPMatch. Defaults to IPMatch.
    match_values Sequence[str]

    For the IP Match or IP Not Match operators: specify one or more IP address ranges. If multiple IP address ranges are specified, they're evaluated using OR logic. For the Geo Match or Geo Not Match operators: specify one or more locations using their country code.

    Note: See the Specifying IP Address Ranges section below on how to correctly define the matchValues field.

    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator str
    The type of the remote address to match. Possible values include Any, GeoMatch or IPMatch. Use the negateCondition to specify Not GeoMatch or Not IPMatch. Defaults to IPMatch.
    matchValues List<String>

    For the IP Match or IP Not Match operators: specify one or more IP address ranges. If multiple IP address ranges are specified, they're evaluated using OR logic. For the Geo Match or Geo Not Match operators: specify one or more locations using their country code.

    Note: See the Specifying IP Address Ranges section below on how to correctly define the matchValues field.

    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String
    The type of the remote address to match. Possible values include Any, GeoMatch or IPMatch. Use the negateCondition to specify Not GeoMatch or Not IPMatch. Defaults to IPMatch.

    FrontdoorRuleConditionsRequestBodyCondition, FrontdoorRuleConditionsRequestBodyConditionArgs

    MatchValues List<string>
    A list of one or more string or integer values(e.g. "1") representing the value of the request body text to match. If multiple values are specified, they're evaluated using OR logic.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms List<string>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    MatchValues []string
    A list of one or more string or integer values(e.g. "1") representing the value of the request body text to match. If multiple values are specified, they're evaluated using OR logic.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms []string
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    matchValues List<String>
    A list of one or more string or integer values(e.g. "1") representing the value of the request body text to match. If multiple values are specified, they're evaluated using OR logic.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    matchValues string[]
    A list of one or more string or integer values(e.g. "1") representing the value of the request body text to match. If multiple values are specified, they're evaluated using OR logic.
    operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms string[]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    match_values Sequence[str]
    A list of one or more string or integer values(e.g. "1") representing the value of the request body text to match. If multiple values are specified, they're evaluated using OR logic.
    operator str
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms Sequence[str]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    matchValues List<String>
    A list of one or more string or integer values(e.g. "1") representing the value of the request body text to match. If multiple values are specified, they're evaluated using OR logic.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.

    FrontdoorRuleConditionsRequestHeaderCondition, FrontdoorRuleConditionsRequestHeaderConditionArgs

    HeaderName string
    A string value representing the name of the POST argument.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    MatchValues List<string>
    One or more string or integer values(e.g. "1") representing the value of the request header to match. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms List<string>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    HeaderName string
    A string value representing the name of the POST argument.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    MatchValues []string
    One or more string or integer values(e.g. "1") representing the value of the request header to match. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms []string
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    headerName String
    A string value representing the name of the POST argument.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues List<String>
    One or more string or integer values(e.g. "1") representing the value of the request header to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    headerName string
    A string value representing the name of the POST argument.
    operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues string[]
    One or more string or integer values(e.g. "1") representing the value of the request header to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms string[]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    header_name str
    A string value representing the name of the POST argument.
    operator str
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    match_values Sequence[str]
    One or more string or integer values(e.g. "1") representing the value of the request header to match. If multiple values are specified, they're evaluated using OR logic.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms Sequence[str]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    headerName String
    A string value representing the name of the POST argument.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues List<String>
    One or more string or integer values(e.g. "1") representing the value of the request header to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.

    FrontdoorRuleConditionsRequestMethodCondition, FrontdoorRuleConditionsRequestMethodConditionArgs

    MatchValues List<string>
    A list of one or more HTTP methods. Possible values include GET, POST, PUT, DELETE, HEAD, OPTIONS or TRACE. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Operator string
    Possible value Equal. Defaults to Equal.
    MatchValues []string
    A list of one or more HTTP methods. Possible values include GET, POST, PUT, DELETE, HEAD, OPTIONS or TRACE. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Operator string
    Possible value Equal. Defaults to Equal.
    matchValues List<String>
    A list of one or more HTTP methods. Possible values include GET, POST, PUT, DELETE, HEAD, OPTIONS or TRACE. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String
    Possible value Equal. Defaults to Equal.
    matchValues string[]
    A list of one or more HTTP methods. Possible values include GET, POST, PUT, DELETE, HEAD, OPTIONS or TRACE. If multiple values are specified, they're evaluated using OR logic.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator string
    Possible value Equal. Defaults to Equal.
    match_values Sequence[str]
    A list of one or more HTTP methods. Possible values include GET, POST, PUT, DELETE, HEAD, OPTIONS or TRACE. If multiple values are specified, they're evaluated using OR logic.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator str
    Possible value Equal. Defaults to Equal.
    matchValues List<String>
    A list of one or more HTTP methods. Possible values include GET, POST, PUT, DELETE, HEAD, OPTIONS or TRACE. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String
    Possible value Equal. Defaults to Equal.

    FrontdoorRuleConditionsRequestSchemeCondition, FrontdoorRuleConditionsRequestSchemeConditionArgs

    MatchValues string
    The requests protocol to match. Possible values include HTTP or HTTPS.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Operator string
    Possible value Equal. Defaults to Equal.
    MatchValues string
    The requests protocol to match. Possible values include HTTP or HTTPS.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Operator string
    Possible value Equal. Defaults to Equal.
    matchValues String
    The requests protocol to match. Possible values include HTTP or HTTPS.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String
    Possible value Equal. Defaults to Equal.
    matchValues string
    The requests protocol to match. Possible values include HTTP or HTTPS.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator string
    Possible value Equal. Defaults to Equal.
    match_values str
    The requests protocol to match. Possible values include HTTP or HTTPS.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator str
    Possible value Equal. Defaults to Equal.
    matchValues String
    The requests protocol to match. Possible values include HTTP or HTTPS.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String
    Possible value Equal. Defaults to Equal.

    FrontdoorRuleConditionsRequestUriCondition, FrontdoorRuleConditionsRequestUriConditionArgs

    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    MatchValues List<string>
    One or more string or integer values(e.g. "1") representing the value of the request URL to match. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms List<string>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    MatchValues []string
    One or more string or integer values(e.g. "1") representing the value of the request URL to match. If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms []string
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues List<String>
    One or more string or integer values(e.g. "1") representing the value of the request URL to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues string[]
    One or more string or integer values(e.g. "1") representing the value of the request URL to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms string[]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator str
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    match_values Sequence[str]
    One or more string or integer values(e.g. "1") representing the value of the request URL to match. If multiple values are specified, they're evaluated using OR logic.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms Sequence[str]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues List<String>
    One or more string or integer values(e.g. "1") representing the value of the request URL to match. If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.

    FrontdoorRuleConditionsServerPortCondition, FrontdoorRuleConditionsServerPortConditionArgs

    MatchValues List<string>
    A list of one or more integer values(e.g. "1") representing the value of the client port to match. Possible values include 80 or 443. If multiple values are specified, they're evaluated using OR logic.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    MatchValues []string
    A list of one or more integer values(e.g. "1") representing the value of the client port to match. Possible values include 80 or 443. If multiple values are specified, they're evaluated using OR logic.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    matchValues List<String>
    A list of one or more integer values(e.g. "1") representing the value of the client port to match. Possible values include 80 or 443. If multiple values are specified, they're evaluated using OR logic.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    matchValues string[]
    A list of one or more integer values(e.g. "1") representing the value of the client port to match. Possible values include 80 or 443. If multiple values are specified, they're evaluated using OR logic.
    operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    match_values Sequence[str]
    A list of one or more integer values(e.g. "1") representing the value of the client port to match. Possible values include 80 or 443. If multiple values are specified, they're evaluated using OR logic.
    operator str
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    matchValues List<String>
    A list of one or more integer values(e.g. "1") representing the value of the client port to match. Possible values include 80 or 443. If multiple values are specified, they're evaluated using OR logic.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.

    FrontdoorRuleConditionsSocketAddressCondition, FrontdoorRuleConditionsSocketAddressConditionArgs

    MatchValues List<string>

    Specify one or more IP address ranges. If multiple IP address ranges are specified, they're evaluated using OR logic.

    Note: See the Specifying IP Address Ranges section below on how to correctly define the matchValues field.

    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Operator string

    The type of match. The Possible values are IpMatch or Any. Defaults to IPMatch.

    Note: If the value of the operator field is set to IpMatch then the matchValues field is also required.

    MatchValues []string

    Specify one or more IP address ranges. If multiple IP address ranges are specified, they're evaluated using OR logic.

    Note: See the Specifying IP Address Ranges section below on how to correctly define the matchValues field.

    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Operator string

    The type of match. The Possible values are IpMatch or Any. Defaults to IPMatch.

    Note: If the value of the operator field is set to IpMatch then the matchValues field is also required.

    matchValues List<String>

    Specify one or more IP address ranges. If multiple IP address ranges are specified, they're evaluated using OR logic.

    Note: See the Specifying IP Address Ranges section below on how to correctly define the matchValues field.

    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String

    The type of match. The Possible values are IpMatch or Any. Defaults to IPMatch.

    Note: If the value of the operator field is set to IpMatch then the matchValues field is also required.

    matchValues string[]

    Specify one or more IP address ranges. If multiple IP address ranges are specified, they're evaluated using OR logic.

    Note: See the Specifying IP Address Ranges section below on how to correctly define the matchValues field.

    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator string

    The type of match. The Possible values are IpMatch or Any. Defaults to IPMatch.

    Note: If the value of the operator field is set to IpMatch then the matchValues field is also required.

    match_values Sequence[str]

    Specify one or more IP address ranges. If multiple IP address ranges are specified, they're evaluated using OR logic.

    Note: See the Specifying IP Address Ranges section below on how to correctly define the matchValues field.

    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator str

    The type of match. The Possible values are IpMatch or Any. Defaults to IPMatch.

    Note: If the value of the operator field is set to IpMatch then the matchValues field is also required.

    matchValues List<String>

    Specify one or more IP address ranges. If multiple IP address ranges are specified, they're evaluated using OR logic.

    Note: See the Specifying IP Address Ranges section below on how to correctly define the matchValues field.

    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String

    The type of match. The Possible values are IpMatch or Any. Defaults to IPMatch.

    Note: If the value of the operator field is set to IpMatch then the matchValues field is also required.

    FrontdoorRuleConditionsSslProtocolCondition, FrontdoorRuleConditionsSslProtocolConditionArgs

    MatchValues List<string>
    A list of one or more HTTP methods. Possible values are TLSv1, TLSv1.1 and TLSv1.2 logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Operator string
    Possible value Equal. Defaults to Equal.
    MatchValues []string
    A list of one or more HTTP methods. Possible values are TLSv1, TLSv1.1 and TLSv1.2 logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Operator string
    Possible value Equal. Defaults to Equal.
    matchValues List<String>
    A list of one or more HTTP methods. Possible values are TLSv1, TLSv1.1 and TLSv1.2 logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String
    Possible value Equal. Defaults to Equal.
    matchValues string[]
    A list of one or more HTTP methods. Possible values are TLSv1, TLSv1.1 and TLSv1.2 logic.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator string
    Possible value Equal. Defaults to Equal.
    match_values Sequence[str]
    A list of one or more HTTP methods. Possible values are TLSv1, TLSv1.1 and TLSv1.2 logic.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator str
    Possible value Equal. Defaults to Equal.
    matchValues List<String>
    A list of one or more HTTP methods. Possible values are TLSv1, TLSv1.1 and TLSv1.2 logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    operator String
    Possible value Equal. Defaults to Equal.

    FrontdoorRuleConditionsUrlFileExtensionCondition, FrontdoorRuleConditionsUrlFileExtensionConditionArgs

    MatchValues List<string>
    A list of one or more string or integer values(e.g. "1") representing the value of the request file extension to match. If multiple values are specified, they're evaluated using OR logic.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms List<string>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    MatchValues []string
    A list of one or more string or integer values(e.g. "1") representing the value of the request file extension to match. If multiple values are specified, they're evaluated using OR logic.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms []string
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    matchValues List<String>
    A list of one or more string or integer values(e.g. "1") representing the value of the request file extension to match. If multiple values are specified, they're evaluated using OR logic.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    matchValues string[]
    A list of one or more string or integer values(e.g. "1") representing the value of the request file extension to match. If multiple values are specified, they're evaluated using OR logic.
    operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms string[]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    match_values Sequence[str]
    A list of one or more string or integer values(e.g. "1") representing the value of the request file extension to match. If multiple values are specified, they're evaluated using OR logic.
    operator str
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms Sequence[str]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    matchValues List<String>
    A list of one or more string or integer values(e.g. "1") representing the value of the request file extension to match. If multiple values are specified, they're evaluated using OR logic.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.

    FrontdoorRuleConditionsUrlFilenameCondition, FrontdoorRuleConditionsUrlFilenameConditionArgs

    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    MatchValues List<string>

    A list of one or more string or integer values(e.g. "1") representing the value of the request file name to match. If multiple values are specified, they're evaluated using OR logic.

    Note: The matchValues field is only optional if the operator is set to Any.

    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms List<string>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    MatchValues []string

    A list of one or more string or integer values(e.g. "1") representing the value of the request file name to match. If multiple values are specified, they're evaluated using OR logic.

    Note: The matchValues field is only optional if the operator is set to Any.

    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms []string
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues List<String>

    A list of one or more string or integer values(e.g. "1") representing the value of the request file name to match. If multiple values are specified, they're evaluated using OR logic.

    Note: The matchValues field is only optional if the operator is set to Any.

    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues string[]

    A list of one or more string or integer values(e.g. "1") representing the value of the request file name to match. If multiple values are specified, they're evaluated using OR logic.

    Note: The matchValues field is only optional if the operator is set to Any.

    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms string[]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator str
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    match_values Sequence[str]

    A list of one or more string or integer values(e.g. "1") representing the value of the request file name to match. If multiple values are specified, they're evaluated using OR logic.

    Note: The matchValues field is only optional if the operator is set to Any.

    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms Sequence[str]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual or RegEx. Details can be found in the Condition Operator List below.
    matchValues List<String>

    A list of one or more string or integer values(e.g. "1") representing the value of the request file name to match. If multiple values are specified, they're evaluated using OR logic.

    Note: The matchValues field is only optional if the operator is set to Any.

    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.

    FrontdoorRuleConditionsUrlPathCondition, FrontdoorRuleConditionsUrlPathConditionArgs

    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual, RegEx or Wildcard. Details can be found in the Condition Operator List below.
    MatchValues List<string>
    One or more string or integer values(e.g. "1") representing the value of the request path to match. Don't include the leading slash (/). If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms List<string>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    Operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual, RegEx or Wildcard. Details can be found in the Condition Operator List below.
    MatchValues []string
    One or more string or integer values(e.g. "1") representing the value of the request path to match. Don't include the leading slash (/). If multiple values are specified, they're evaluated using OR logic.
    NegateCondition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    Transforms []string
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual, RegEx or Wildcard. Details can be found in the Condition Operator List below.
    matchValues List<String>
    One or more string or integer values(e.g. "1") representing the value of the request path to match. Don't include the leading slash (/). If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator string
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual, RegEx or Wildcard. Details can be found in the Condition Operator List below.
    matchValues string[]
    One or more string or integer values(e.g. "1") representing the value of the request path to match. Don't include the leading slash (/). If multiple values are specified, they're evaluated using OR logic.
    negateCondition boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms string[]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator str
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual, RegEx or Wildcard. Details can be found in the Condition Operator List below.
    match_values Sequence[str]
    One or more string or integer values(e.g. "1") representing the value of the request path to match. Don't include the leading slash (/). If multiple values are specified, they're evaluated using OR logic.
    negate_condition bool
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms Sequence[str]
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.
    operator String
    A Conditional operator. Possible values include Any, Equal, Contains, BeginsWith, EndsWith, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual, RegEx or Wildcard. Details can be found in the Condition Operator List below.
    matchValues List<String>
    One or more string or integer values(e.g. "1") representing the value of the request path to match. Don't include the leading slash (/). If multiple values are specified, they're evaluated using OR logic.
    negateCondition Boolean
    If true operator becomes the opposite of its value. Possible values true or false. Defaults to false. Details can be found in the Condition Operator List below.
    transforms List<String>
    A Conditional operator. Possible values include Lowercase, RemoveNulls, Trim, Uppercase, UrlDecode or UrlEncode. Details can be found in the Condition Transform List below.

    Import

    Front Door Rules can be imported using the resource id, e.g.

    $ pulumi import azure:cdn/frontdoorRule:FrontdoorRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1/rules/rule1
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Viewing docs for Azure v6.35.0
    published on Tuesday, Apr 21, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.