1. Packages
  2. Azure Native
  3. API Docs
  4. network
  5. RulesEngine
This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
Azure Native v2.73.0 published on Wednesday, Nov 20, 2024 by Pulumi

azure-native.network.RulesEngine

Explore with Pulumi AI

azure-native logo
This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
Azure Native v2.73.0 published on Wednesday, Nov 20, 2024 by Pulumi

    A rules engine configuration containing a list of rules that will run to modify the runtime behavior of the request and response. Azure REST API version: 2021-06-01. Prior API version in Azure Native 1.x: 2020-05-01.

    Example Usage

    Create or update a specific Rules Engine Configuration

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var rulesEngine = new AzureNative.Network.RulesEngine("rulesEngine", new()
        {
            FrontDoorName = "frontDoor1",
            ResourceGroupName = "rg1",
            Rules = new[]
            {
                new AzureNative.Network.Inputs.RulesEngineRuleArgs
                {
                    Action = new AzureNative.Network.Inputs.RulesEngineActionArgs
                    {
                        RouteConfigurationOverride = new AzureNative.Network.Inputs.RedirectConfigurationArgs
                        {
                            CustomFragment = "fragment",
                            CustomHost = "www.bing.com",
                            CustomPath = "/api",
                            CustomQueryString = "a=b",
                            OdataType = "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
                            RedirectProtocol = AzureNative.Network.FrontDoorRedirectProtocol.HttpsOnly,
                            RedirectType = AzureNative.Network.FrontDoorRedirectType.Moved,
                        },
                    },
                    MatchConditions = new[]
                    {
                        new AzureNative.Network.Inputs.RulesEngineMatchConditionArgs
                        {
                            RulesEngineMatchValue = new[]
                            {
                                "CH",
                            },
                            RulesEngineMatchVariable = AzureNative.Network.RulesEngineMatchVariable.RemoteAddr,
                            RulesEngineOperator = AzureNative.Network.RulesEngineOperator.GeoMatch,
                        },
                    },
                    MatchProcessingBehavior = AzureNative.Network.MatchProcessingBehavior.Stop,
                    Name = "Rule1",
                    Priority = 1,
                },
                new AzureNative.Network.Inputs.RulesEngineRuleArgs
                {
                    Action = new AzureNative.Network.Inputs.RulesEngineActionArgs
                    {
                        ResponseHeaderActions = new[]
                        {
                            new AzureNative.Network.Inputs.HeaderActionArgs
                            {
                                HeaderActionType = AzureNative.Network.HeaderActionType.Overwrite,
                                HeaderName = "Cache-Control",
                                Value = "public, max-age=31536000",
                            },
                        },
                    },
                    MatchConditions = new[]
                    {
                        new AzureNative.Network.Inputs.RulesEngineMatchConditionArgs
                        {
                            RulesEngineMatchValue = new[]
                            {
                                "jpg",
                            },
                            RulesEngineMatchVariable = AzureNative.Network.RulesEngineMatchVariable.RequestFilenameExtension,
                            RulesEngineOperator = AzureNative.Network.RulesEngineOperator.Equal,
                            Transforms = new[]
                            {
                                AzureNative.Network.Transform.Lowercase,
                            },
                        },
                    },
                    Name = "Rule2",
                    Priority = 2,
                },
                new AzureNative.Network.Inputs.RulesEngineRuleArgs
                {
                    Action = new AzureNative.Network.Inputs.RulesEngineActionArgs
                    {
                        RouteConfigurationOverride = new AzureNative.Network.Inputs.ForwardingConfigurationArgs
                        {
                            BackendPool = new AzureNative.Network.Inputs.SubResourceArgs
                            {
                                Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
                            },
                            CacheConfiguration = new AzureNative.Network.Inputs.CacheConfigurationArgs
                            {
                                CacheDuration = "P1DT12H20M30S",
                                DynamicCompression = AzureNative.Network.DynamicCompressionEnabled.Disabled,
                                QueryParameterStripDirective = AzureNative.Network.FrontDoorQuery.StripOnly,
                                QueryParameters = "a=b,p=q",
                            },
                            ForwardingProtocol = AzureNative.Network.FrontDoorForwardingProtocol.HttpsOnly,
                            OdataType = "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
                        },
                    },
                    MatchConditions = new[]
                    {
                        new AzureNative.Network.Inputs.RulesEngineMatchConditionArgs
                        {
                            NegateCondition = false,
                            RulesEngineMatchValue = new[]
                            {
                                "allowoverride",
                            },
                            RulesEngineMatchVariable = AzureNative.Network.RulesEngineMatchVariable.RequestHeader,
                            RulesEngineOperator = AzureNative.Network.RulesEngineOperator.Equal,
                            Selector = "Rules-Engine-Route-Forward",
                            Transforms = new[]
                            {
                                AzureNative.Network.Transform.Lowercase,
                            },
                        },
                    },
                    Name = "Rule3",
                    Priority = 3,
                },
            },
            RulesEngineName = "rulesEngine1",
        });
    
    });
    
    package main
    
    import (
    	network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := network.NewRulesEngine(ctx, "rulesEngine", &network.RulesEngineArgs{
    			FrontDoorName:     pulumi.String("frontDoor1"),
    			ResourceGroupName: pulumi.String("rg1"),
    			Rules: network.RulesEngineRuleArray{
    				&network.RulesEngineRuleArgs{
    					Action: &network.RulesEngineActionArgs{
    						RouteConfigurationOverride: network.RedirectConfiguration{
    							CustomFragment:    "fragment",
    							CustomHost:        "www.bing.com",
    							CustomPath:        "/api",
    							CustomQueryString: "a=b",
    							OdataType:         "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
    							RedirectProtocol:  network.FrontDoorRedirectProtocolHttpsOnly,
    							RedirectType:      network.FrontDoorRedirectTypeMoved,
    						},
    					},
    					MatchConditions: network.RulesEngineMatchConditionArray{
    						&network.RulesEngineMatchConditionArgs{
    							RulesEngineMatchValue: pulumi.StringArray{
    								pulumi.String("CH"),
    							},
    							RulesEngineMatchVariable: pulumi.String(network.RulesEngineMatchVariableRemoteAddr),
    							RulesEngineOperator:      pulumi.String(network.RulesEngineOperatorGeoMatch),
    						},
    					},
    					MatchProcessingBehavior: pulumi.String(network.MatchProcessingBehaviorStop),
    					Name:                    pulumi.String("Rule1"),
    					Priority:                pulumi.Int(1),
    				},
    				&network.RulesEngineRuleArgs{
    					Action: &network.RulesEngineActionArgs{
    						ResponseHeaderActions: network.HeaderActionArray{
    							&network.HeaderActionArgs{
    								HeaderActionType: pulumi.String(network.HeaderActionTypeOverwrite),
    								HeaderName:       pulumi.String("Cache-Control"),
    								Value:            pulumi.String("public, max-age=31536000"),
    							},
    						},
    					},
    					MatchConditions: network.RulesEngineMatchConditionArray{
    						&network.RulesEngineMatchConditionArgs{
    							RulesEngineMatchValue: pulumi.StringArray{
    								pulumi.String("jpg"),
    							},
    							RulesEngineMatchVariable: pulumi.String(network.RulesEngineMatchVariableRequestFilenameExtension),
    							RulesEngineOperator:      pulumi.String(network.RulesEngineOperatorEqual),
    							Transforms: pulumi.StringArray{
    								pulumi.String(network.TransformLowercase),
    							},
    						},
    					},
    					Name:     pulumi.String("Rule2"),
    					Priority: pulumi.Int(2),
    				},
    				&network.RulesEngineRuleArgs{
    					Action: &network.RulesEngineActionArgs{
    						RouteConfigurationOverride: network.ForwardingConfiguration{
    							BackendPool: network.SubResource{
    								Id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
    							},
    							CacheConfiguration: network.CacheConfiguration{
    								CacheDuration:                "P1DT12H20M30S",
    								DynamicCompression:           network.DynamicCompressionEnabledDisabled,
    								QueryParameterStripDirective: network.FrontDoorQueryStripOnly,
    								QueryParameters:              "a=b,p=q",
    							},
    							ForwardingProtocol: network.FrontDoorForwardingProtocolHttpsOnly,
    							OdataType:          "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
    						},
    					},
    					MatchConditions: network.RulesEngineMatchConditionArray{
    						&network.RulesEngineMatchConditionArgs{
    							NegateCondition: pulumi.Bool(false),
    							RulesEngineMatchValue: pulumi.StringArray{
    								pulumi.String("allowoverride"),
    							},
    							RulesEngineMatchVariable: pulumi.String(network.RulesEngineMatchVariableRequestHeader),
    							RulesEngineOperator:      pulumi.String(network.RulesEngineOperatorEqual),
    							Selector:                 pulumi.String("Rules-Engine-Route-Forward"),
    							Transforms: pulumi.StringArray{
    								pulumi.String(network.TransformLowercase),
    							},
    						},
    					},
    					Name:     pulumi.String("Rule3"),
    					Priority: pulumi.Int(3),
    				},
    			},
    			RulesEngineName: pulumi.String("rulesEngine1"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.network.RulesEngine;
    import com.pulumi.azurenative.network.RulesEngineArgs;
    import com.pulumi.azurenative.network.inputs.RulesEngineRuleArgs;
    import com.pulumi.azurenative.network.inputs.RulesEngineActionArgs;
    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 rulesEngine = new RulesEngine("rulesEngine", RulesEngineArgs.builder()
                .frontDoorName("frontDoor1")
                .resourceGroupName("rg1")
                .rules(            
                    RulesEngineRuleArgs.builder()
                        .action(RulesEngineActionArgs.builder()
                            .routeConfigurationOverride(ForwardingConfigurationArgs.builder()
                                .customFragment("fragment")
                                .customHost("www.bing.com")
                                .customPath("/api")
                                .customQueryString("a=b")
                                .odataType("#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration")
                                .redirectProtocol("HttpsOnly")
                                .redirectType("Moved")
                                .build())
                            .build())
                        .matchConditions(RulesEngineMatchConditionArgs.builder()
                            .rulesEngineMatchValue("CH")
                            .rulesEngineMatchVariable("RemoteAddr")
                            .rulesEngineOperator("GeoMatch")
                            .build())
                        .matchProcessingBehavior("Stop")
                        .name("Rule1")
                        .priority(1)
                        .build(),
                    RulesEngineRuleArgs.builder()
                        .action(RulesEngineActionArgs.builder()
                            .responseHeaderActions(HeaderActionArgs.builder()
                                .headerActionType("Overwrite")
                                .headerName("Cache-Control")
                                .value("public, max-age=31536000")
                                .build())
                            .build())
                        .matchConditions(RulesEngineMatchConditionArgs.builder()
                            .rulesEngineMatchValue("jpg")
                            .rulesEngineMatchVariable("RequestFilenameExtension")
                            .rulesEngineOperator("Equal")
                            .transforms("Lowercase")
                            .build())
                        .name("Rule2")
                        .priority(2)
                        .build(),
                    RulesEngineRuleArgs.builder()
                        .action(RulesEngineActionArgs.builder()
                            .routeConfigurationOverride(ForwardingConfigurationArgs.builder()
                                .backendPool(SubResourceArgs.builder()
                                    .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1")
                                    .build())
                                .cacheConfiguration(CacheConfigurationArgs.builder()
                                    .cacheDuration("P1DT12H20M30S")
                                    .dynamicCompression("Disabled")
                                    .queryParameterStripDirective("StripOnly")
                                    .queryParameters("a=b,p=q")
                                    .build())
                                .forwardingProtocol("HttpsOnly")
                                .odataType("#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration")
                                .build())
                            .build())
                        .matchConditions(RulesEngineMatchConditionArgs.builder()
                            .negateCondition(false)
                            .rulesEngineMatchValue("allowoverride")
                            .rulesEngineMatchVariable("RequestHeader")
                            .rulesEngineOperator("Equal")
                            .selector("Rules-Engine-Route-Forward")
                            .transforms("Lowercase")
                            .build())
                        .name("Rule3")
                        .priority(3)
                        .build())
                .rulesEngineName("rulesEngine1")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    rules_engine = azure_native.network.RulesEngine("rulesEngine",
        front_door_name="frontDoor1",
        resource_group_name="rg1",
        rules=[
            {
                "action": {
                    "route_configuration_override": {
                        "custom_fragment": "fragment",
                        "custom_host": "www.bing.com",
                        "custom_path": "/api",
                        "custom_query_string": "a=b",
                        "odata_type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
                        "redirect_protocol": azure_native.network.FrontDoorRedirectProtocol.HTTPS_ONLY,
                        "redirect_type": azure_native.network.FrontDoorRedirectType.MOVED,
                    },
                },
                "match_conditions": [{
                    "rules_engine_match_value": ["CH"],
                    "rules_engine_match_variable": azure_native.network.RulesEngineMatchVariable.REMOTE_ADDR,
                    "rules_engine_operator": azure_native.network.RulesEngineOperator.GEO_MATCH,
                }],
                "match_processing_behavior": azure_native.network.MatchProcessingBehavior.STOP,
                "name": "Rule1",
                "priority": 1,
            },
            {
                "action": {
                    "response_header_actions": [{
                        "header_action_type": azure_native.network.HeaderActionType.OVERWRITE,
                        "header_name": "Cache-Control",
                        "value": "public, max-age=31536000",
                    }],
                },
                "match_conditions": [{
                    "rules_engine_match_value": ["jpg"],
                    "rules_engine_match_variable": azure_native.network.RulesEngineMatchVariable.REQUEST_FILENAME_EXTENSION,
                    "rules_engine_operator": azure_native.network.RulesEngineOperator.EQUAL,
                    "transforms": [azure_native.network.Transform.LOWERCASE],
                }],
                "name": "Rule2",
                "priority": 2,
            },
            {
                "action": {
                    "route_configuration_override": {
                        "backend_pool": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
                        },
                        "cache_configuration": {
                            "cache_duration": "P1DT12H20M30S",
                            "dynamic_compression": azure_native.network.DynamicCompressionEnabled.DISABLED,
                            "query_parameter_strip_directive": azure_native.network.FrontDoorQuery.STRIP_ONLY,
                            "query_parameters": "a=b,p=q",
                        },
                        "forwarding_protocol": azure_native.network.FrontDoorForwardingProtocol.HTTPS_ONLY,
                        "odata_type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
                    },
                },
                "match_conditions": [{
                    "negate_condition": False,
                    "rules_engine_match_value": ["allowoverride"],
                    "rules_engine_match_variable": azure_native.network.RulesEngineMatchVariable.REQUEST_HEADER,
                    "rules_engine_operator": azure_native.network.RulesEngineOperator.EQUAL,
                    "selector": "Rules-Engine-Route-Forward",
                    "transforms": [azure_native.network.Transform.LOWERCASE],
                }],
                "name": "Rule3",
                "priority": 3,
            },
        ],
        rules_engine_name="rulesEngine1")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const rulesEngine = new azure_native.network.RulesEngine("rulesEngine", {
        frontDoorName: "frontDoor1",
        resourceGroupName: "rg1",
        rules: [
            {
                action: {
                    routeConfigurationOverride: {
                        customFragment: "fragment",
                        customHost: "www.bing.com",
                        customPath: "/api",
                        customQueryString: "a=b",
                        odataType: "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
                        redirectProtocol: azure_native.network.FrontDoorRedirectProtocol.HttpsOnly,
                        redirectType: azure_native.network.FrontDoorRedirectType.Moved,
                    },
                },
                matchConditions: [{
                    rulesEngineMatchValue: ["CH"],
                    rulesEngineMatchVariable: azure_native.network.RulesEngineMatchVariable.RemoteAddr,
                    rulesEngineOperator: azure_native.network.RulesEngineOperator.GeoMatch,
                }],
                matchProcessingBehavior: azure_native.network.MatchProcessingBehavior.Stop,
                name: "Rule1",
                priority: 1,
            },
            {
                action: {
                    responseHeaderActions: [{
                        headerActionType: azure_native.network.HeaderActionType.Overwrite,
                        headerName: "Cache-Control",
                        value: "public, max-age=31536000",
                    }],
                },
                matchConditions: [{
                    rulesEngineMatchValue: ["jpg"],
                    rulesEngineMatchVariable: azure_native.network.RulesEngineMatchVariable.RequestFilenameExtension,
                    rulesEngineOperator: azure_native.network.RulesEngineOperator.Equal,
                    transforms: [azure_native.network.Transform.Lowercase],
                }],
                name: "Rule2",
                priority: 2,
            },
            {
                action: {
                    routeConfigurationOverride: {
                        backendPool: {
                            id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
                        },
                        cacheConfiguration: {
                            cacheDuration: "P1DT12H20M30S",
                            dynamicCompression: azure_native.network.DynamicCompressionEnabled.Disabled,
                            queryParameterStripDirective: azure_native.network.FrontDoorQuery.StripOnly,
                            queryParameters: "a=b,p=q",
                        },
                        forwardingProtocol: azure_native.network.FrontDoorForwardingProtocol.HttpsOnly,
                        odataType: "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
                    },
                },
                matchConditions: [{
                    negateCondition: false,
                    rulesEngineMatchValue: ["allowoverride"],
                    rulesEngineMatchVariable: azure_native.network.RulesEngineMatchVariable.RequestHeader,
                    rulesEngineOperator: azure_native.network.RulesEngineOperator.Equal,
                    selector: "Rules-Engine-Route-Forward",
                    transforms: [azure_native.network.Transform.Lowercase],
                }],
                name: "Rule3",
                priority: 3,
            },
        ],
        rulesEngineName: "rulesEngine1",
    });
    
    resources:
      rulesEngine:
        type: azure-native:network:RulesEngine
        properties:
          frontDoorName: frontDoor1
          resourceGroupName: rg1
          rules:
            - action:
                routeConfigurationOverride:
                  customFragment: fragment
                  customHost: www.bing.com
                  customPath: /api
                  customQueryString: a=b
                  odataType: '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration'
                  redirectProtocol: HttpsOnly
                  redirectType: Moved
              matchConditions:
                - rulesEngineMatchValue:
                    - CH
                  rulesEngineMatchVariable: RemoteAddr
                  rulesEngineOperator: GeoMatch
              matchProcessingBehavior: Stop
              name: Rule1
              priority: 1
            - action:
                responseHeaderActions:
                  - headerActionType: Overwrite
                    headerName: Cache-Control
                    value: public, max-age=31536000
              matchConditions:
                - rulesEngineMatchValue:
                    - jpg
                  rulesEngineMatchVariable: RequestFilenameExtension
                  rulesEngineOperator: Equal
                  transforms:
                    - Lowercase
              name: Rule2
              priority: 2
            - action:
                routeConfigurationOverride:
                  backendPool:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1
                  cacheConfiguration:
                    cacheDuration: P1DT12H20M30S
                    dynamicCompression: Disabled
                    queryParameterStripDirective: StripOnly
                    queryParameters: a=b,p=q
                  forwardingProtocol: HttpsOnly
                  odataType: '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration'
              matchConditions:
                - negateCondition: false
                  rulesEngineMatchValue:
                    - allowoverride
                  rulesEngineMatchVariable: RequestHeader
                  rulesEngineOperator: Equal
                  selector: Rules-Engine-Route-Forward
                  transforms:
                    - Lowercase
              name: Rule3
              priority: 3
          rulesEngineName: rulesEngine1
    

    Create RulesEngine Resource

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

    Constructor syntax

    new RulesEngine(name: string, args: RulesEngineArgs, opts?: CustomResourceOptions);
    @overload
    def RulesEngine(resource_name: str,
                    args: RulesEngineArgs,
                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def RulesEngine(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    front_door_name: Optional[str] = None,
                    resource_group_name: Optional[str] = None,
                    rules: Optional[Sequence[RulesEngineRuleArgs]] = None,
                    rules_engine_name: Optional[str] = None)
    func NewRulesEngine(ctx *Context, name string, args RulesEngineArgs, opts ...ResourceOption) (*RulesEngine, error)
    public RulesEngine(string name, RulesEngineArgs args, CustomResourceOptions? opts = null)
    public RulesEngine(String name, RulesEngineArgs args)
    public RulesEngine(String name, RulesEngineArgs args, CustomResourceOptions options)
    
    type: azure-native:network:RulesEngine
    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 RulesEngineArgs
    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 RulesEngineArgs
    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 RulesEngineArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args RulesEngineArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args RulesEngineArgs
    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 rulesEngineResource = new AzureNative.Network.RulesEngine("rulesEngineResource", new()
    {
        FrontDoorName = "string",
        ResourceGroupName = "string",
        Rules = new[]
        {
            new AzureNative.Network.Inputs.RulesEngineRuleArgs
            {
                Action = new AzureNative.Network.Inputs.RulesEngineActionArgs
                {
                    RequestHeaderActions = new[]
                    {
                        new AzureNative.Network.Inputs.HeaderActionArgs
                        {
                            HeaderActionType = "string",
                            HeaderName = "string",
                            Value = "string",
                        },
                    },
                    ResponseHeaderActions = new[]
                    {
                        new AzureNative.Network.Inputs.HeaderActionArgs
                        {
                            HeaderActionType = "string",
                            HeaderName = "string",
                            Value = "string",
                        },
                    },
                    RouteConfigurationOverride = new AzureNative.Network.Inputs.ForwardingConfigurationArgs
                    {
                        OdataType = "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
                        BackendPool = new AzureNative.Network.Inputs.SubResourceArgs
                        {
                            Id = "string",
                        },
                        CacheConfiguration = new AzureNative.Network.Inputs.CacheConfigurationArgs
                        {
                            CacheDuration = "string",
                            DynamicCompression = "string",
                            QueryParameterStripDirective = "string",
                            QueryParameters = "string",
                        },
                        CustomForwardingPath = "string",
                        ForwardingProtocol = "string",
                    },
                },
                Name = "string",
                Priority = 0,
                MatchConditions = new[]
                {
                    new AzureNative.Network.Inputs.RulesEngineMatchConditionArgs
                    {
                        RulesEngineMatchValue = new[]
                        {
                            "string",
                        },
                        RulesEngineMatchVariable = "string",
                        RulesEngineOperator = "string",
                        NegateCondition = false,
                        Selector = "string",
                        Transforms = new[]
                        {
                            "string",
                        },
                    },
                },
                MatchProcessingBehavior = "string",
            },
        },
        RulesEngineName = "string",
    });
    
    example, err := network.NewRulesEngine(ctx, "rulesEngineResource", &network.RulesEngineArgs{
    	FrontDoorName:     pulumi.String("string"),
    	ResourceGroupName: pulumi.String("string"),
    	Rules: network.RulesEngineRuleArray{
    		&network.RulesEngineRuleArgs{
    			Action: &network.RulesEngineActionArgs{
    				RequestHeaderActions: network.HeaderActionArray{
    					&network.HeaderActionArgs{
    						HeaderActionType: pulumi.String("string"),
    						HeaderName:       pulumi.String("string"),
    						Value:            pulumi.String("string"),
    					},
    				},
    				ResponseHeaderActions: network.HeaderActionArray{
    					&network.HeaderActionArgs{
    						HeaderActionType: pulumi.String("string"),
    						HeaderName:       pulumi.String("string"),
    						Value:            pulumi.String("string"),
    					},
    				},
    				RouteConfigurationOverride: network.ForwardingConfiguration{
    					OdataType: "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
    					BackendPool: network.SubResource{
    						Id: "string",
    					},
    					CacheConfiguration: network.CacheConfiguration{
    						CacheDuration:                "string",
    						DynamicCompression:           "string",
    						QueryParameterStripDirective: "string",
    						QueryParameters:              "string",
    					},
    					CustomForwardingPath: "string",
    					ForwardingProtocol:   "string",
    				},
    			},
    			Name:     pulumi.String("string"),
    			Priority: pulumi.Int(0),
    			MatchConditions: network.RulesEngineMatchConditionArray{
    				&network.RulesEngineMatchConditionArgs{
    					RulesEngineMatchValue: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					RulesEngineMatchVariable: pulumi.String("string"),
    					RulesEngineOperator:      pulumi.String("string"),
    					NegateCondition:          pulumi.Bool(false),
    					Selector:                 pulumi.String("string"),
    					Transforms: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    			MatchProcessingBehavior: pulumi.String("string"),
    		},
    	},
    	RulesEngineName: pulumi.String("string"),
    })
    
    var rulesEngineResource = new RulesEngine("rulesEngineResource", RulesEngineArgs.builder()
        .frontDoorName("string")
        .resourceGroupName("string")
        .rules(RulesEngineRuleArgs.builder()
            .action(RulesEngineActionArgs.builder()
                .requestHeaderActions(HeaderActionArgs.builder()
                    .headerActionType("string")
                    .headerName("string")
                    .value("string")
                    .build())
                .responseHeaderActions(HeaderActionArgs.builder()
                    .headerActionType("string")
                    .headerName("string")
                    .value("string")
                    .build())
                .routeConfigurationOverride(ForwardingConfigurationArgs.builder()
                    .odataType("#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration")
                    .backendPool(SubResourceArgs.builder()
                        .id("string")
                        .build())
                    .cacheConfiguration(CacheConfigurationArgs.builder()
                        .cacheDuration("string")
                        .dynamicCompression("string")
                        .queryParameterStripDirective("string")
                        .queryParameters("string")
                        .build())
                    .customForwardingPath("string")
                    .forwardingProtocol("string")
                    .build())
                .build())
            .name("string")
            .priority(0)
            .matchConditions(RulesEngineMatchConditionArgs.builder()
                .rulesEngineMatchValue("string")
                .rulesEngineMatchVariable("string")
                .rulesEngineOperator("string")
                .negateCondition(false)
                .selector("string")
                .transforms("string")
                .build())
            .matchProcessingBehavior("string")
            .build())
        .rulesEngineName("string")
        .build());
    
    rules_engine_resource = azure_native.network.RulesEngine("rulesEngineResource",
        front_door_name="string",
        resource_group_name="string",
        rules=[{
            "action": {
                "request_header_actions": [{
                    "header_action_type": "string",
                    "header_name": "string",
                    "value": "string",
                }],
                "response_header_actions": [{
                    "header_action_type": "string",
                    "header_name": "string",
                    "value": "string",
                }],
                "route_configuration_override": {
                    "odata_type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
                    "backend_pool": {
                        "id": "string",
                    },
                    "cache_configuration": {
                        "cache_duration": "string",
                        "dynamic_compression": "string",
                        "query_parameter_strip_directive": "string",
                        "query_parameters": "string",
                    },
                    "custom_forwarding_path": "string",
                    "forwarding_protocol": "string",
                },
            },
            "name": "string",
            "priority": 0,
            "match_conditions": [{
                "rules_engine_match_value": ["string"],
                "rules_engine_match_variable": "string",
                "rules_engine_operator": "string",
                "negate_condition": False,
                "selector": "string",
                "transforms": ["string"],
            }],
            "match_processing_behavior": "string",
        }],
        rules_engine_name="string")
    
    const rulesEngineResource = new azure_native.network.RulesEngine("rulesEngineResource", {
        frontDoorName: "string",
        resourceGroupName: "string",
        rules: [{
            action: {
                requestHeaderActions: [{
                    headerActionType: "string",
                    headerName: "string",
                    value: "string",
                }],
                responseHeaderActions: [{
                    headerActionType: "string",
                    headerName: "string",
                    value: "string",
                }],
                routeConfigurationOverride: {
                    odataType: "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
                    backendPool: {
                        id: "string",
                    },
                    cacheConfiguration: {
                        cacheDuration: "string",
                        dynamicCompression: "string",
                        queryParameterStripDirective: "string",
                        queryParameters: "string",
                    },
                    customForwardingPath: "string",
                    forwardingProtocol: "string",
                },
            },
            name: "string",
            priority: 0,
            matchConditions: [{
                rulesEngineMatchValue: ["string"],
                rulesEngineMatchVariable: "string",
                rulesEngineOperator: "string",
                negateCondition: false,
                selector: "string",
                transforms: ["string"],
            }],
            matchProcessingBehavior: "string",
        }],
        rulesEngineName: "string",
    });
    
    type: azure-native:network:RulesEngine
    properties:
        frontDoorName: string
        resourceGroupName: string
        rules:
            - action:
                requestHeaderActions:
                    - headerActionType: string
                      headerName: string
                      value: string
                responseHeaderActions:
                    - headerActionType: string
                      headerName: string
                      value: string
                routeConfigurationOverride:
                    backendPool:
                        id: string
                    cacheConfiguration:
                        cacheDuration: string
                        dynamicCompression: string
                        queryParameterStripDirective: string
                        queryParameters: string
                    customForwardingPath: string
                    forwardingProtocol: string
                    odataType: '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration'
              matchConditions:
                - negateCondition: false
                  rulesEngineMatchValue:
                    - string
                  rulesEngineMatchVariable: string
                  rulesEngineOperator: string
                  selector: string
                  transforms:
                    - string
              matchProcessingBehavior: string
              name: string
              priority: 0
        rulesEngineName: string
    

    RulesEngine 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 RulesEngine resource accepts the following input properties:

    FrontDoorName string
    Name of the Front Door which is globally unique.
    ResourceGroupName string
    Name of the Resource group within the Azure subscription.
    Rules List<Pulumi.AzureNative.Network.Inputs.RulesEngineRule>
    A list of rules that define a particular Rules Engine Configuration.
    RulesEngineName string
    Name of the Rules Engine which is unique within the Front Door.
    FrontDoorName string
    Name of the Front Door which is globally unique.
    ResourceGroupName string
    Name of the Resource group within the Azure subscription.
    Rules []RulesEngineRuleArgs
    A list of rules that define a particular Rules Engine Configuration.
    RulesEngineName string
    Name of the Rules Engine which is unique within the Front Door.
    frontDoorName String
    Name of the Front Door which is globally unique.
    resourceGroupName String
    Name of the Resource group within the Azure subscription.
    rules List<RulesEngineRule>
    A list of rules that define a particular Rules Engine Configuration.
    rulesEngineName String
    Name of the Rules Engine which is unique within the Front Door.
    frontDoorName string
    Name of the Front Door which is globally unique.
    resourceGroupName string
    Name of the Resource group within the Azure subscription.
    rules RulesEngineRule[]
    A list of rules that define a particular Rules Engine Configuration.
    rulesEngineName string
    Name of the Rules Engine which is unique within the Front Door.
    front_door_name str
    Name of the Front Door which is globally unique.
    resource_group_name str
    Name of the Resource group within the Azure subscription.
    rules Sequence[RulesEngineRuleArgs]
    A list of rules that define a particular Rules Engine Configuration.
    rules_engine_name str
    Name of the Rules Engine which is unique within the Front Door.
    frontDoorName String
    Name of the Front Door which is globally unique.
    resourceGroupName String
    Name of the Resource group within the Azure subscription.
    rules List<Property Map>
    A list of rules that define a particular Rules Engine Configuration.
    rulesEngineName String
    Name of the Rules Engine which is unique within the Front Door.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    Resource name.
    ResourceState string
    Resource status.
    Type string
    Resource type.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    Resource name.
    ResourceState string
    Resource status.
    Type string
    Resource type.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    Resource name.
    resourceState String
    Resource status.
    type String
    Resource type.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    Resource name.
    resourceState string
    Resource status.
    type string
    Resource type.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    Resource name.
    resource_state str
    Resource status.
    type str
    Resource type.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    Resource name.
    resourceState String
    Resource status.
    type String
    Resource type.

    Supporting Types

    CacheConfiguration, CacheConfigurationArgs

    CacheDuration string
    The duration for which the content needs to be cached. Allowed format is in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than a year
    DynamicCompression string | Pulumi.AzureNative.Network.DynamicCompressionEnabled
    Whether to use dynamic compression for cached content
    QueryParameterStripDirective string | Pulumi.AzureNative.Network.FrontDoorQuery
    Treatment of URL query terms when forming the cache key.
    QueryParameters string
    query parameters to include or exclude (comma separated).
    CacheDuration string
    The duration for which the content needs to be cached. Allowed format is in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than a year
    DynamicCompression string | DynamicCompressionEnabled
    Whether to use dynamic compression for cached content
    QueryParameterStripDirective string | FrontDoorQuery
    Treatment of URL query terms when forming the cache key.
    QueryParameters string
    query parameters to include or exclude (comma separated).
    cacheDuration String
    The duration for which the content needs to be cached. Allowed format is in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than a year
    dynamicCompression String | DynamicCompressionEnabled
    Whether to use dynamic compression for cached content
    queryParameterStripDirective String | FrontDoorQuery
    Treatment of URL query terms when forming the cache key.
    queryParameters String
    query parameters to include or exclude (comma separated).
    cacheDuration string
    The duration for which the content needs to be cached. Allowed format is in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than a year
    dynamicCompression string | DynamicCompressionEnabled
    Whether to use dynamic compression for cached content
    queryParameterStripDirective string | FrontDoorQuery
    Treatment of URL query terms when forming the cache key.
    queryParameters string
    query parameters to include or exclude (comma separated).
    cache_duration str
    The duration for which the content needs to be cached. Allowed format is in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than a year
    dynamic_compression str | DynamicCompressionEnabled
    Whether to use dynamic compression for cached content
    query_parameter_strip_directive str | FrontDoorQuery
    Treatment of URL query terms when forming the cache key.
    query_parameters str
    query parameters to include or exclude (comma separated).
    cacheDuration String
    The duration for which the content needs to be cached. Allowed format is in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than a year
    dynamicCompression String | "Enabled" | "Disabled"
    Whether to use dynamic compression for cached content
    queryParameterStripDirective String | "StripNone" | "StripAll" | "StripOnly" | "StripAllExcept"
    Treatment of URL query terms when forming the cache key.
    queryParameters String
    query parameters to include or exclude (comma separated).

    CacheConfigurationResponse, CacheConfigurationResponseArgs

    CacheDuration string
    The duration for which the content needs to be cached. Allowed format is in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than a year
    DynamicCompression string
    Whether to use dynamic compression for cached content
    QueryParameterStripDirective string
    Treatment of URL query terms when forming the cache key.
    QueryParameters string
    query parameters to include or exclude (comma separated).
    CacheDuration string
    The duration for which the content needs to be cached. Allowed format is in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than a year
    DynamicCompression string
    Whether to use dynamic compression for cached content
    QueryParameterStripDirective string
    Treatment of URL query terms when forming the cache key.
    QueryParameters string
    query parameters to include or exclude (comma separated).
    cacheDuration String
    The duration for which the content needs to be cached. Allowed format is in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than a year
    dynamicCompression String
    Whether to use dynamic compression for cached content
    queryParameterStripDirective String
    Treatment of URL query terms when forming the cache key.
    queryParameters String
    query parameters to include or exclude (comma separated).
    cacheDuration string
    The duration for which the content needs to be cached. Allowed format is in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than a year
    dynamicCompression string
    Whether to use dynamic compression for cached content
    queryParameterStripDirective string
    Treatment of URL query terms when forming the cache key.
    queryParameters string
    query parameters to include or exclude (comma separated).
    cache_duration str
    The duration for which the content needs to be cached. Allowed format is in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than a year
    dynamic_compression str
    Whether to use dynamic compression for cached content
    query_parameter_strip_directive str
    Treatment of URL query terms when forming the cache key.
    query_parameters str
    query parameters to include or exclude (comma separated).
    cacheDuration String
    The duration for which the content needs to be cached. Allowed format is in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than a year
    dynamicCompression String
    Whether to use dynamic compression for cached content
    queryParameterStripDirective String
    Treatment of URL query terms when forming the cache key.
    queryParameters String
    query parameters to include or exclude (comma separated).

    DynamicCompressionEnabled, DynamicCompressionEnabledArgs

    Enabled
    Enabled
    Disabled
    Disabled
    DynamicCompressionEnabledEnabled
    Enabled
    DynamicCompressionEnabledDisabled
    Disabled
    Enabled
    Enabled
    Disabled
    Disabled
    Enabled
    Enabled
    Disabled
    Disabled
    ENABLED
    Enabled
    DISABLED
    Disabled
    "Enabled"
    Enabled
    "Disabled"
    Disabled

    ForwardingConfiguration, ForwardingConfigurationArgs

    BackendPool Pulumi.AzureNative.Network.Inputs.SubResource
    A reference to the BackendPool which this rule routes to.
    CacheConfiguration Pulumi.AzureNative.Network.Inputs.CacheConfiguration
    The caching configuration associated with this rule.
    CustomForwardingPath string
    A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.
    ForwardingProtocol string | Pulumi.AzureNative.Network.FrontDoorForwardingProtocol
    Protocol this rule will use when forwarding traffic to backends.
    BackendPool SubResource
    A reference to the BackendPool which this rule routes to.
    CacheConfiguration CacheConfiguration
    The caching configuration associated with this rule.
    CustomForwardingPath string
    A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.
    ForwardingProtocol string | FrontDoorForwardingProtocol
    Protocol this rule will use when forwarding traffic to backends.
    backendPool SubResource
    A reference to the BackendPool which this rule routes to.
    cacheConfiguration CacheConfiguration
    The caching configuration associated with this rule.
    customForwardingPath String
    A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.
    forwardingProtocol String | FrontDoorForwardingProtocol
    Protocol this rule will use when forwarding traffic to backends.
    backendPool SubResource
    A reference to the BackendPool which this rule routes to.
    cacheConfiguration CacheConfiguration
    The caching configuration associated with this rule.
    customForwardingPath string
    A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.
    forwardingProtocol string | FrontDoorForwardingProtocol
    Protocol this rule will use when forwarding traffic to backends.
    backend_pool SubResource
    A reference to the BackendPool which this rule routes to.
    cache_configuration CacheConfiguration
    The caching configuration associated with this rule.
    custom_forwarding_path str
    A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.
    forwarding_protocol str | FrontDoorForwardingProtocol
    Protocol this rule will use when forwarding traffic to backends.
    backendPool Property Map
    A reference to the BackendPool which this rule routes to.
    cacheConfiguration Property Map
    The caching configuration associated with this rule.
    customForwardingPath String
    A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.
    forwardingProtocol String | "HttpOnly" | "HttpsOnly" | "MatchRequest"
    Protocol this rule will use when forwarding traffic to backends.

    ForwardingConfigurationResponse, ForwardingConfigurationResponseArgs

    BackendPool Pulumi.AzureNative.Network.Inputs.SubResourceResponse
    A reference to the BackendPool which this rule routes to.
    CacheConfiguration Pulumi.AzureNative.Network.Inputs.CacheConfigurationResponse
    The caching configuration associated with this rule.
    CustomForwardingPath string
    A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.
    ForwardingProtocol string
    Protocol this rule will use when forwarding traffic to backends.
    BackendPool SubResourceResponse
    A reference to the BackendPool which this rule routes to.
    CacheConfiguration CacheConfigurationResponse
    The caching configuration associated with this rule.
    CustomForwardingPath string
    A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.
    ForwardingProtocol string
    Protocol this rule will use when forwarding traffic to backends.
    backendPool SubResourceResponse
    A reference to the BackendPool which this rule routes to.
    cacheConfiguration CacheConfigurationResponse
    The caching configuration associated with this rule.
    customForwardingPath String
    A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.
    forwardingProtocol String
    Protocol this rule will use when forwarding traffic to backends.
    backendPool SubResourceResponse
    A reference to the BackendPool which this rule routes to.
    cacheConfiguration CacheConfigurationResponse
    The caching configuration associated with this rule.
    customForwardingPath string
    A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.
    forwardingProtocol string
    Protocol this rule will use when forwarding traffic to backends.
    backend_pool SubResourceResponse
    A reference to the BackendPool which this rule routes to.
    cache_configuration CacheConfigurationResponse
    The caching configuration associated with this rule.
    custom_forwarding_path str
    A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.
    forwarding_protocol str
    Protocol this rule will use when forwarding traffic to backends.
    backendPool Property Map
    A reference to the BackendPool which this rule routes to.
    cacheConfiguration Property Map
    The caching configuration associated with this rule.
    customForwardingPath String
    A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.
    forwardingProtocol String
    Protocol this rule will use when forwarding traffic to backends.

    FrontDoorForwardingProtocol, FrontDoorForwardingProtocolArgs

    HttpOnly
    HttpOnly
    HttpsOnly
    HttpsOnly
    MatchRequest
    MatchRequest
    FrontDoorForwardingProtocolHttpOnly
    HttpOnly
    FrontDoorForwardingProtocolHttpsOnly
    HttpsOnly
    FrontDoorForwardingProtocolMatchRequest
    MatchRequest
    HttpOnly
    HttpOnly
    HttpsOnly
    HttpsOnly
    MatchRequest
    MatchRequest
    HttpOnly
    HttpOnly
    HttpsOnly
    HttpsOnly
    MatchRequest
    MatchRequest
    HTTP_ONLY
    HttpOnly
    HTTPS_ONLY
    HttpsOnly
    MATCH_REQUEST
    MatchRequest
    "HttpOnly"
    HttpOnly
    "HttpsOnly"
    HttpsOnly
    "MatchRequest"
    MatchRequest

    FrontDoorQuery, FrontDoorQueryArgs

    StripNone
    StripNone
    StripAll
    StripAll
    StripOnly
    StripOnly
    StripAllExcept
    StripAllExcept
    FrontDoorQueryStripNone
    StripNone
    FrontDoorQueryStripAll
    StripAll
    FrontDoorQueryStripOnly
    StripOnly
    FrontDoorQueryStripAllExcept
    StripAllExcept
    StripNone
    StripNone
    StripAll
    StripAll
    StripOnly
    StripOnly
    StripAllExcept
    StripAllExcept
    StripNone
    StripNone
    StripAll
    StripAll
    StripOnly
    StripOnly
    StripAllExcept
    StripAllExcept
    STRIP_NONE
    StripNone
    STRIP_ALL
    StripAll
    STRIP_ONLY
    StripOnly
    STRIP_ALL_EXCEPT
    StripAllExcept
    "StripNone"
    StripNone
    "StripAll"
    StripAll
    "StripOnly"
    StripOnly
    "StripAllExcept"
    StripAllExcept

    FrontDoorRedirectProtocol, FrontDoorRedirectProtocolArgs

    HttpOnly
    HttpOnly
    HttpsOnly
    HttpsOnly
    MatchRequest
    MatchRequest
    FrontDoorRedirectProtocolHttpOnly
    HttpOnly
    FrontDoorRedirectProtocolHttpsOnly
    HttpsOnly
    FrontDoorRedirectProtocolMatchRequest
    MatchRequest
    HttpOnly
    HttpOnly
    HttpsOnly
    HttpsOnly
    MatchRequest
    MatchRequest
    HttpOnly
    HttpOnly
    HttpsOnly
    HttpsOnly
    MatchRequest
    MatchRequest
    HTTP_ONLY
    HttpOnly
    HTTPS_ONLY
    HttpsOnly
    MATCH_REQUEST
    MatchRequest
    "HttpOnly"
    HttpOnly
    "HttpsOnly"
    HttpsOnly
    "MatchRequest"
    MatchRequest

    FrontDoorRedirectType, FrontDoorRedirectTypeArgs

    Moved
    Moved
    Found
    Found
    TemporaryRedirect
    TemporaryRedirect
    PermanentRedirect
    PermanentRedirect
    FrontDoorRedirectTypeMoved
    Moved
    FrontDoorRedirectTypeFound
    Found
    FrontDoorRedirectTypeTemporaryRedirect
    TemporaryRedirect
    FrontDoorRedirectTypePermanentRedirect
    PermanentRedirect
    Moved
    Moved
    Found
    Found
    TemporaryRedirect
    TemporaryRedirect
    PermanentRedirect
    PermanentRedirect
    Moved
    Moved
    Found
    Found
    TemporaryRedirect
    TemporaryRedirect
    PermanentRedirect
    PermanentRedirect
    MOVED
    Moved
    FOUND
    Found
    TEMPORARY_REDIRECT
    TemporaryRedirect
    PERMANENT_REDIRECT
    PermanentRedirect
    "Moved"
    Moved
    "Found"
    Found
    "TemporaryRedirect"
    TemporaryRedirect
    "PermanentRedirect"
    PermanentRedirect

    HeaderAction, HeaderActionArgs

    HeaderActionType string | Pulumi.AzureNative.Network.HeaderActionType
    Which type of manipulation to apply to the header.
    HeaderName string
    The name of the header this action will apply to.
    Value string
    The value to update the given header name with. This value is not used if the actionType is Delete.
    HeaderActionType string | HeaderActionType
    Which type of manipulation to apply to the header.
    HeaderName string
    The name of the header this action will apply to.
    Value string
    The value to update the given header name with. This value is not used if the actionType is Delete.
    headerActionType String | HeaderActionType
    Which type of manipulation to apply to the header.
    headerName String
    The name of the header this action will apply to.
    value String
    The value to update the given header name with. This value is not used if the actionType is Delete.
    headerActionType string | HeaderActionType
    Which type of manipulation to apply to the header.
    headerName string
    The name of the header this action will apply to.
    value string
    The value to update the given header name with. This value is not used if the actionType is Delete.
    header_action_type str | HeaderActionType
    Which type of manipulation to apply to the header.
    header_name str
    The name of the header this action will apply to.
    value str
    The value to update the given header name with. This value is not used if the actionType is Delete.
    headerActionType String | "Append" | "Delete" | "Overwrite"
    Which type of manipulation to apply to the header.
    headerName String
    The name of the header this action will apply to.
    value String
    The value to update the given header name with. This value is not used if the actionType is Delete.

    HeaderActionResponse, HeaderActionResponseArgs

    HeaderActionType string
    Which type of manipulation to apply to the header.
    HeaderName string
    The name of the header this action will apply to.
    Value string
    The value to update the given header name with. This value is not used if the actionType is Delete.
    HeaderActionType string
    Which type of manipulation to apply to the header.
    HeaderName string
    The name of the header this action will apply to.
    Value string
    The value to update the given header name with. This value is not used if the actionType is Delete.
    headerActionType String
    Which type of manipulation to apply to the header.
    headerName String
    The name of the header this action will apply to.
    value String
    The value to update the given header name with. This value is not used if the actionType is Delete.
    headerActionType string
    Which type of manipulation to apply to the header.
    headerName string
    The name of the header this action will apply to.
    value string
    The value to update the given header name with. This value is not used if the actionType is Delete.
    header_action_type str
    Which type of manipulation to apply to the header.
    header_name str
    The name of the header this action will apply to.
    value str
    The value to update the given header name with. This value is not used if the actionType is Delete.
    headerActionType String
    Which type of manipulation to apply to the header.
    headerName String
    The name of the header this action will apply to.
    value String
    The value to update the given header name with. This value is not used if the actionType is Delete.

    HeaderActionType, HeaderActionTypeArgs

    Append
    Append
    Delete
    Delete
    Overwrite
    Overwrite
    HeaderActionTypeAppend
    Append
    HeaderActionTypeDelete
    Delete
    HeaderActionTypeOverwrite
    Overwrite
    Append
    Append
    Delete
    Delete
    Overwrite
    Overwrite
    Append
    Append
    Delete
    Delete
    Overwrite
    Overwrite
    APPEND
    Append
    DELETE
    Delete
    OVERWRITE
    Overwrite
    "Append"
    Append
    "Delete"
    Delete
    "Overwrite"
    Overwrite

    MatchProcessingBehavior, MatchProcessingBehaviorArgs

    Continue
    Continue
    Stop
    Stop
    MatchProcessingBehaviorContinue
    Continue
    MatchProcessingBehaviorStop
    Stop
    Continue
    Continue
    Stop
    Stop
    Continue
    Continue
    Stop
    Stop
    CONTINUE_
    Continue
    STOP
    Stop
    "Continue"
    Continue
    "Stop"
    Stop

    RedirectConfiguration, RedirectConfigurationArgs

    CustomFragment string
    Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.
    CustomHost string
    Host to redirect. Leave empty to use the incoming host as the destination host.
    CustomPath string
    The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.
    CustomQueryString string
    The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &.
    RedirectProtocol string | Pulumi.AzureNative.Network.FrontDoorRedirectProtocol
    The protocol of the destination to where the traffic is redirected
    RedirectType string | Pulumi.AzureNative.Network.FrontDoorRedirectType
    The redirect type the rule will use when redirecting traffic.
    CustomFragment string
    Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.
    CustomHost string
    Host to redirect. Leave empty to use the incoming host as the destination host.
    CustomPath string
    The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.
    CustomQueryString string
    The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &.
    RedirectProtocol string | FrontDoorRedirectProtocol
    The protocol of the destination to where the traffic is redirected
    RedirectType string | FrontDoorRedirectType
    The redirect type the rule will use when redirecting traffic.
    customFragment String
    Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.
    customHost String
    Host to redirect. Leave empty to use the incoming host as the destination host.
    customPath String
    The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.
    customQueryString String
    The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &.
    redirectProtocol String | FrontDoorRedirectProtocol
    The protocol of the destination to where the traffic is redirected
    redirectType String | FrontDoorRedirectType
    The redirect type the rule will use when redirecting traffic.
    customFragment string
    Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.
    customHost string
    Host to redirect. Leave empty to use the incoming host as the destination host.
    customPath string
    The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.
    customQueryString string
    The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &.
    redirectProtocol string | FrontDoorRedirectProtocol
    The protocol of the destination to where the traffic is redirected
    redirectType string | FrontDoorRedirectType
    The redirect type the rule will use when redirecting traffic.
    custom_fragment str
    Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.
    custom_host str
    Host to redirect. Leave empty to use the incoming host as the destination host.
    custom_path str
    The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.
    custom_query_string str
    The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &.
    redirect_protocol str | FrontDoorRedirectProtocol
    The protocol of the destination to where the traffic is redirected
    redirect_type str | FrontDoorRedirectType
    The redirect type the rule will use when redirecting traffic.
    customFragment String
    Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.
    customHost String
    Host to redirect. Leave empty to use the incoming host as the destination host.
    customPath String
    The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.
    customQueryString String
    The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &.
    redirectProtocol String | "HttpOnly" | "HttpsOnly" | "MatchRequest"
    The protocol of the destination to where the traffic is redirected
    redirectType String | "Moved" | "Found" | "TemporaryRedirect" | "PermanentRedirect"
    The redirect type the rule will use when redirecting traffic.

    RedirectConfigurationResponse, RedirectConfigurationResponseArgs

    CustomFragment string
    Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.
    CustomHost string
    Host to redirect. Leave empty to use the incoming host as the destination host.
    CustomPath string
    The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.
    CustomQueryString string
    The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &.
    RedirectProtocol string
    The protocol of the destination to where the traffic is redirected
    RedirectType string
    The redirect type the rule will use when redirecting traffic.
    CustomFragment string
    Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.
    CustomHost string
    Host to redirect. Leave empty to use the incoming host as the destination host.
    CustomPath string
    The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.
    CustomQueryString string
    The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &.
    RedirectProtocol string
    The protocol of the destination to where the traffic is redirected
    RedirectType string
    The redirect type the rule will use when redirecting traffic.
    customFragment String
    Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.
    customHost String
    Host to redirect. Leave empty to use the incoming host as the destination host.
    customPath String
    The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.
    customQueryString String
    The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &.
    redirectProtocol String
    The protocol of the destination to where the traffic is redirected
    redirectType String
    The redirect type the rule will use when redirecting traffic.
    customFragment string
    Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.
    customHost string
    Host to redirect. Leave empty to use the incoming host as the destination host.
    customPath string
    The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.
    customQueryString string
    The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &.
    redirectProtocol string
    The protocol of the destination to where the traffic is redirected
    redirectType string
    The redirect type the rule will use when redirecting traffic.
    custom_fragment str
    Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.
    custom_host str
    Host to redirect. Leave empty to use the incoming host as the destination host.
    custom_path str
    The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.
    custom_query_string str
    The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &.
    redirect_protocol str
    The protocol of the destination to where the traffic is redirected
    redirect_type str
    The redirect type the rule will use when redirecting traffic.
    customFragment String
    Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.
    customHost String
    Host to redirect. Leave empty to use the incoming host as the destination host.
    customPath String
    The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.
    customQueryString String
    The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &.
    redirectProtocol String
    The protocol of the destination to where the traffic is redirected
    redirectType String
    The redirect type the rule will use when redirecting traffic.

    RulesEngineAction, RulesEngineActionArgs

    RequestHeaderActions []HeaderAction
    A list of header actions to apply from the request from AFD to the origin.
    ResponseHeaderActions []HeaderAction
    A list of header actions to apply from the response from AFD to the client.
    RouteConfigurationOverride ForwardingConfiguration | RedirectConfiguration
    Override the route configuration.
    requestHeaderActions List<HeaderAction>
    A list of header actions to apply from the request from AFD to the origin.
    responseHeaderActions List<HeaderAction>
    A list of header actions to apply from the response from AFD to the client.
    routeConfigurationOverride ForwardingConfiguration | RedirectConfiguration
    Override the route configuration.
    requestHeaderActions HeaderAction[]
    A list of header actions to apply from the request from AFD to the origin.
    responseHeaderActions HeaderAction[]
    A list of header actions to apply from the response from AFD to the client.
    routeConfigurationOverride ForwardingConfiguration | RedirectConfiguration
    Override the route configuration.
    request_header_actions Sequence[HeaderAction]
    A list of header actions to apply from the request from AFD to the origin.
    response_header_actions Sequence[HeaderAction]
    A list of header actions to apply from the response from AFD to the client.
    route_configuration_override ForwardingConfiguration | RedirectConfiguration
    Override the route configuration.
    requestHeaderActions List<Property Map>
    A list of header actions to apply from the request from AFD to the origin.
    responseHeaderActions List<Property Map>
    A list of header actions to apply from the response from AFD to the client.
    routeConfigurationOverride Property Map | Property Map
    Override the route configuration.

    RulesEngineActionResponse, RulesEngineActionResponseArgs

    RequestHeaderActions []HeaderActionResponse
    A list of header actions to apply from the request from AFD to the origin.
    ResponseHeaderActions []HeaderActionResponse
    A list of header actions to apply from the response from AFD to the client.
    RouteConfigurationOverride ForwardingConfigurationResponse | RedirectConfigurationResponse
    Override the route configuration.
    requestHeaderActions List<HeaderActionResponse>
    A list of header actions to apply from the request from AFD to the origin.
    responseHeaderActions List<HeaderActionResponse>
    A list of header actions to apply from the response from AFD to the client.
    routeConfigurationOverride ForwardingConfigurationResponse | RedirectConfigurationResponse
    Override the route configuration.
    requestHeaderActions HeaderActionResponse[]
    A list of header actions to apply from the request from AFD to the origin.
    responseHeaderActions HeaderActionResponse[]
    A list of header actions to apply from the response from AFD to the client.
    routeConfigurationOverride ForwardingConfigurationResponse | RedirectConfigurationResponse
    Override the route configuration.
    request_header_actions Sequence[HeaderActionResponse]
    A list of header actions to apply from the request from AFD to the origin.
    response_header_actions Sequence[HeaderActionResponse]
    A list of header actions to apply from the response from AFD to the client.
    route_configuration_override ForwardingConfigurationResponse | RedirectConfigurationResponse
    Override the route configuration.
    requestHeaderActions List<Property Map>
    A list of header actions to apply from the request from AFD to the origin.
    responseHeaderActions List<Property Map>
    A list of header actions to apply from the response from AFD to the client.
    routeConfigurationOverride Property Map | Property Map
    Override the route configuration.

    RulesEngineMatchCondition, RulesEngineMatchConditionArgs

    RulesEngineMatchValue List<string>
    Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
    RulesEngineMatchVariable string | Pulumi.AzureNative.Network.RulesEngineMatchVariable
    Match Variable
    RulesEngineOperator string | Pulumi.AzureNative.Network.RulesEngineOperator
    Describes operator to apply to the match condition.
    NegateCondition bool
    Describes if this is negate condition or not
    Selector string
    Name of selector in RequestHeader or RequestBody to be matched
    Transforms List<Union<string, Pulumi.AzureNative.Network.Transform>>
    List of transforms
    RulesEngineMatchValue []string
    Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
    RulesEngineMatchVariable string | RulesEngineMatchVariable
    Match Variable
    RulesEngineOperator string | RulesEngineOperator
    Describes operator to apply to the match condition.
    NegateCondition bool
    Describes if this is negate condition or not
    Selector string
    Name of selector in RequestHeader or RequestBody to be matched
    Transforms []string
    List of transforms
    rulesEngineMatchValue List<String>
    Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
    rulesEngineMatchVariable String | RulesEngineMatchVariable
    Match Variable
    rulesEngineOperator String | RulesEngineOperator
    Describes operator to apply to the match condition.
    negateCondition Boolean
    Describes if this is negate condition or not
    selector String
    Name of selector in RequestHeader or RequestBody to be matched
    transforms List<Either<String,Transform>>
    List of transforms
    rulesEngineMatchValue string[]
    Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
    rulesEngineMatchVariable string | RulesEngineMatchVariable
    Match Variable
    rulesEngineOperator string | RulesEngineOperator
    Describes operator to apply to the match condition.
    negateCondition boolean
    Describes if this is negate condition or not
    selector string
    Name of selector in RequestHeader or RequestBody to be matched
    transforms (string | Transform)[]
    List of transforms
    rules_engine_match_value Sequence[str]
    Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
    rules_engine_match_variable str | RulesEngineMatchVariable
    Match Variable
    rules_engine_operator str | RulesEngineOperator
    Describes operator to apply to the match condition.
    negate_condition bool
    Describes if this is negate condition or not
    selector str
    Name of selector in RequestHeader or RequestBody to be matched
    transforms Sequence[Union[str, Transform]]
    List of transforms
    rulesEngineMatchValue List<String>
    Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
    rulesEngineMatchVariable String | "IsMobile" | "RemoteAddr" | "RequestMethod" | "QueryString" | "PostArgs" | "RequestUri" | "RequestPath" | "RequestFilename" | "RequestFilenameExtension" | "RequestHeader" | "RequestBody" | "RequestScheme"
    Match Variable
    rulesEngineOperator String | "Any" | "IPMatch" | "GeoMatch" | "Equal" | "Contains" | "LessThan" | "GreaterThan" | "LessThanOrEqual" | "GreaterThanOrEqual" | "BeginsWith" | "EndsWith"
    Describes operator to apply to the match condition.
    negateCondition Boolean
    Describes if this is negate condition or not
    selector String
    Name of selector in RequestHeader or RequestBody to be matched
    transforms List<String | "Lowercase" | "Uppercase" | "Trim" | "UrlDecode" | "UrlEncode" | "RemoveNulls">
    List of transforms

    RulesEngineMatchConditionResponse, RulesEngineMatchConditionResponseArgs

    RulesEngineMatchValue List<string>
    Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
    RulesEngineMatchVariable string
    Match Variable
    RulesEngineOperator string
    Describes operator to apply to the match condition.
    NegateCondition bool
    Describes if this is negate condition or not
    Selector string
    Name of selector in RequestHeader or RequestBody to be matched
    Transforms List<string>
    List of transforms
    RulesEngineMatchValue []string
    Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
    RulesEngineMatchVariable string
    Match Variable
    RulesEngineOperator string
    Describes operator to apply to the match condition.
    NegateCondition bool
    Describes if this is negate condition or not
    Selector string
    Name of selector in RequestHeader or RequestBody to be matched
    Transforms []string
    List of transforms
    rulesEngineMatchValue List<String>
    Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
    rulesEngineMatchVariable String
    Match Variable
    rulesEngineOperator String
    Describes operator to apply to the match condition.
    negateCondition Boolean
    Describes if this is negate condition or not
    selector String
    Name of selector in RequestHeader or RequestBody to be matched
    transforms List<String>
    List of transforms
    rulesEngineMatchValue string[]
    Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
    rulesEngineMatchVariable string
    Match Variable
    rulesEngineOperator string
    Describes operator to apply to the match condition.
    negateCondition boolean
    Describes if this is negate condition or not
    selector string
    Name of selector in RequestHeader or RequestBody to be matched
    transforms string[]
    List of transforms
    rules_engine_match_value Sequence[str]
    Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
    rules_engine_match_variable str
    Match Variable
    rules_engine_operator str
    Describes operator to apply to the match condition.
    negate_condition bool
    Describes if this is negate condition or not
    selector str
    Name of selector in RequestHeader or RequestBody to be matched
    transforms Sequence[str]
    List of transforms
    rulesEngineMatchValue List<String>
    Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
    rulesEngineMatchVariable String
    Match Variable
    rulesEngineOperator String
    Describes operator to apply to the match condition.
    negateCondition Boolean
    Describes if this is negate condition or not
    selector String
    Name of selector in RequestHeader or RequestBody to be matched
    transforms List<String>
    List of transforms

    RulesEngineMatchVariable, RulesEngineMatchVariableArgs

    IsMobile
    IsMobile
    RemoteAddr
    RemoteAddr
    RequestMethod
    RequestMethod
    QueryString
    QueryString
    PostArgs
    PostArgs
    RequestUri
    RequestUri
    RequestPath
    RequestPath
    RequestFilename
    RequestFilename
    RequestFilenameExtension
    RequestFilenameExtension
    RequestHeader
    RequestHeader
    RequestBody
    RequestBody
    RequestScheme
    RequestScheme
    RulesEngineMatchVariableIsMobile
    IsMobile
    RulesEngineMatchVariableRemoteAddr
    RemoteAddr
    RulesEngineMatchVariableRequestMethod
    RequestMethod
    RulesEngineMatchVariableQueryString
    QueryString
    RulesEngineMatchVariablePostArgs
    PostArgs
    RulesEngineMatchVariableRequestUri
    RequestUri
    RulesEngineMatchVariableRequestPath
    RequestPath
    RulesEngineMatchVariableRequestFilename
    RequestFilename
    RulesEngineMatchVariableRequestFilenameExtension
    RequestFilenameExtension
    RulesEngineMatchVariableRequestHeader
    RequestHeader
    RulesEngineMatchVariableRequestBody
    RequestBody
    RulesEngineMatchVariableRequestScheme
    RequestScheme
    IsMobile
    IsMobile
    RemoteAddr
    RemoteAddr
    RequestMethod
    RequestMethod
    QueryString
    QueryString
    PostArgs
    PostArgs
    RequestUri
    RequestUri
    RequestPath
    RequestPath
    RequestFilename
    RequestFilename
    RequestFilenameExtension
    RequestFilenameExtension
    RequestHeader
    RequestHeader
    RequestBody
    RequestBody
    RequestScheme
    RequestScheme
    IsMobile
    IsMobile
    RemoteAddr
    RemoteAddr
    RequestMethod
    RequestMethod
    QueryString
    QueryString
    PostArgs
    PostArgs
    RequestUri
    RequestUri
    RequestPath
    RequestPath
    RequestFilename
    RequestFilename
    RequestFilenameExtension
    RequestFilenameExtension
    RequestHeader
    RequestHeader
    RequestBody
    RequestBody
    RequestScheme
    RequestScheme
    IS_MOBILE
    IsMobile
    REMOTE_ADDR
    RemoteAddr
    REQUEST_METHOD
    RequestMethod
    QUERY_STRING
    QueryString
    POST_ARGS
    PostArgs
    REQUEST_URI
    RequestUri
    REQUEST_PATH
    RequestPath
    REQUEST_FILENAME
    RequestFilename
    REQUEST_FILENAME_EXTENSION
    RequestFilenameExtension
    REQUEST_HEADER
    RequestHeader
    REQUEST_BODY
    RequestBody
    REQUEST_SCHEME
    RequestScheme
    "IsMobile"
    IsMobile
    "RemoteAddr"
    RemoteAddr
    "RequestMethod"
    RequestMethod
    "QueryString"
    QueryString
    "PostArgs"
    PostArgs
    "RequestUri"
    RequestUri
    "RequestPath"
    RequestPath
    "RequestFilename"
    RequestFilename
    "RequestFilenameExtension"
    RequestFilenameExtension
    "RequestHeader"
    RequestHeader
    "RequestBody"
    RequestBody
    "RequestScheme"
    RequestScheme

    RulesEngineOperator, RulesEngineOperatorArgs

    Any
    Any
    IPMatch
    IPMatch
    GeoMatch
    GeoMatch
    Equal
    Equal
    Contains
    Contains
    LessThan
    LessThan
    GreaterThan
    GreaterThan
    LessThanOrEqual
    LessThanOrEqual
    GreaterThanOrEqual
    GreaterThanOrEqual
    BeginsWith
    BeginsWith
    EndsWith
    EndsWith
    RulesEngineOperatorAny
    Any
    RulesEngineOperatorIPMatch
    IPMatch
    RulesEngineOperatorGeoMatch
    GeoMatch
    RulesEngineOperatorEqual
    Equal
    RulesEngineOperatorContains
    Contains
    RulesEngineOperatorLessThan
    LessThan
    RulesEngineOperatorGreaterThan
    GreaterThan
    RulesEngineOperatorLessThanOrEqual
    LessThanOrEqual
    RulesEngineOperatorGreaterThanOrEqual
    GreaterThanOrEqual
    RulesEngineOperatorBeginsWith
    BeginsWith
    RulesEngineOperatorEndsWith
    EndsWith
    Any
    Any
    IPMatch
    IPMatch
    GeoMatch
    GeoMatch
    Equal
    Equal
    Contains
    Contains
    LessThan
    LessThan
    GreaterThan
    GreaterThan
    LessThanOrEqual
    LessThanOrEqual
    GreaterThanOrEqual
    GreaterThanOrEqual
    BeginsWith
    BeginsWith
    EndsWith
    EndsWith
    Any
    Any
    IPMatch
    IPMatch
    GeoMatch
    GeoMatch
    Equal
    Equal
    Contains
    Contains
    LessThan
    LessThan
    GreaterThan
    GreaterThan
    LessThanOrEqual
    LessThanOrEqual
    GreaterThanOrEqual
    GreaterThanOrEqual
    BeginsWith
    BeginsWith
    EndsWith
    EndsWith
    ANY
    Any
    IP_MATCH
    IPMatch
    GEO_MATCH
    GeoMatch
    EQUAL
    Equal
    CONTAINS
    Contains
    LESS_THAN
    LessThan
    GREATER_THAN
    GreaterThan
    LESS_THAN_OR_EQUAL
    LessThanOrEqual
    GREATER_THAN_OR_EQUAL
    GreaterThanOrEqual
    BEGINS_WITH
    BeginsWith
    ENDS_WITH
    EndsWith
    "Any"
    Any
    "IPMatch"
    IPMatch
    "GeoMatch"
    GeoMatch
    "Equal"
    Equal
    "Contains"
    Contains
    "LessThan"
    LessThan
    "GreaterThan"
    GreaterThan
    "LessThanOrEqual"
    LessThanOrEqual
    "GreaterThanOrEqual"
    GreaterThanOrEqual
    "BeginsWith"
    BeginsWith
    "EndsWith"
    EndsWith

    RulesEngineRule, RulesEngineRuleArgs

    Action Pulumi.AzureNative.Network.Inputs.RulesEngineAction
    Actions to perform on the request and response if all of the match conditions are met.
    Name string
    A name to refer to this specific rule.
    Priority int
    A priority assigned to this rule.
    MatchConditions List<Pulumi.AzureNative.Network.Inputs.RulesEngineMatchCondition>
    A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run.
    MatchProcessingBehavior string | Pulumi.AzureNative.Network.MatchProcessingBehavior
    If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.
    Action RulesEngineAction
    Actions to perform on the request and response if all of the match conditions are met.
    Name string
    A name to refer to this specific rule.
    Priority int
    A priority assigned to this rule.
    MatchConditions []RulesEngineMatchCondition
    A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run.
    MatchProcessingBehavior string | MatchProcessingBehavior
    If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.
    action RulesEngineAction
    Actions to perform on the request and response if all of the match conditions are met.
    name String
    A name to refer to this specific rule.
    priority Integer
    A priority assigned to this rule.
    matchConditions List<RulesEngineMatchCondition>
    A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run.
    matchProcessingBehavior String | MatchProcessingBehavior
    If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.
    action RulesEngineAction
    Actions to perform on the request and response if all of the match conditions are met.
    name string
    A name to refer to this specific rule.
    priority number
    A priority assigned to this rule.
    matchConditions RulesEngineMatchCondition[]
    A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run.
    matchProcessingBehavior string | MatchProcessingBehavior
    If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.
    action RulesEngineAction
    Actions to perform on the request and response if all of the match conditions are met.
    name str
    A name to refer to this specific rule.
    priority int
    A priority assigned to this rule.
    match_conditions Sequence[RulesEngineMatchCondition]
    A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run.
    match_processing_behavior str | MatchProcessingBehavior
    If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.
    action Property Map
    Actions to perform on the request and response if all of the match conditions are met.
    name String
    A name to refer to this specific rule.
    priority Number
    A priority assigned to this rule.
    matchConditions List<Property Map>
    A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run.
    matchProcessingBehavior String | "Continue" | "Stop"
    If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.

    RulesEngineRuleResponse, RulesEngineRuleResponseArgs

    Action Pulumi.AzureNative.Network.Inputs.RulesEngineActionResponse
    Actions to perform on the request and response if all of the match conditions are met.
    Name string
    A name to refer to this specific rule.
    Priority int
    A priority assigned to this rule.
    MatchConditions List<Pulumi.AzureNative.Network.Inputs.RulesEngineMatchConditionResponse>
    A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run.
    MatchProcessingBehavior string
    If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.
    Action RulesEngineActionResponse
    Actions to perform on the request and response if all of the match conditions are met.
    Name string
    A name to refer to this specific rule.
    Priority int
    A priority assigned to this rule.
    MatchConditions []RulesEngineMatchConditionResponse
    A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run.
    MatchProcessingBehavior string
    If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.
    action RulesEngineActionResponse
    Actions to perform on the request and response if all of the match conditions are met.
    name String
    A name to refer to this specific rule.
    priority Integer
    A priority assigned to this rule.
    matchConditions List<RulesEngineMatchConditionResponse>
    A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run.
    matchProcessingBehavior String
    If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.
    action RulesEngineActionResponse
    Actions to perform on the request and response if all of the match conditions are met.
    name string
    A name to refer to this specific rule.
    priority number
    A priority assigned to this rule.
    matchConditions RulesEngineMatchConditionResponse[]
    A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run.
    matchProcessingBehavior string
    If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.
    action RulesEngineActionResponse
    Actions to perform on the request and response if all of the match conditions are met.
    name str
    A name to refer to this specific rule.
    priority int
    A priority assigned to this rule.
    match_conditions Sequence[RulesEngineMatchConditionResponse]
    A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run.
    match_processing_behavior str
    If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.
    action Property Map
    Actions to perform on the request and response if all of the match conditions are met.
    name String
    A name to refer to this specific rule.
    priority Number
    A priority assigned to this rule.
    matchConditions List<Property Map>
    A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run.
    matchProcessingBehavior String
    If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.

    SubResource, SubResourceArgs

    Id string
    Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
    Id string
    Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
    id String
    Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
    id string
    Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
    id str
    Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
    id String
    Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.

    SubResourceResponse, SubResourceResponseArgs

    Id string
    Resource ID.
    Id string
    Resource ID.
    id String
    Resource ID.
    id string
    Resource ID.
    id str
    Resource ID.
    id String
    Resource ID.

    Transform, TransformArgs

    Lowercase
    Lowercase
    Uppercase
    Uppercase
    Trim
    Trim
    UrlDecode
    UrlDecode
    UrlEncode
    UrlEncode
    RemoveNulls
    RemoveNulls
    TransformLowercase
    Lowercase
    TransformUppercase
    Uppercase
    TransformTrim
    Trim
    TransformUrlDecode
    UrlDecode
    TransformUrlEncode
    UrlEncode
    TransformRemoveNulls
    RemoveNulls
    Lowercase
    Lowercase
    Uppercase
    Uppercase
    Trim
    Trim
    UrlDecode
    UrlDecode
    UrlEncode
    UrlEncode
    RemoveNulls
    RemoveNulls
    Lowercase
    Lowercase
    Uppercase
    Uppercase
    Trim
    Trim
    UrlDecode
    UrlDecode
    UrlEncode
    UrlEncode
    RemoveNulls
    RemoveNulls
    LOWERCASE
    Lowercase
    UPPERCASE
    Uppercase
    TRIM
    Trim
    URL_DECODE
    UrlDecode
    URL_ENCODE
    UrlEncode
    REMOVE_NULLS
    RemoveNulls
    "Lowercase"
    Lowercase
    "Uppercase"
    Uppercase
    "Trim"
    Trim
    "UrlDecode"
    UrlDecode
    "UrlEncode"
    UrlEncode
    "RemoveNulls"
    RemoveNulls

    Import

    An existing resource can be imported using its type token, name, and identifier, e.g.

    $ pulumi import azure-native:network:RulesEngine rulesEngine1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines/{rulesEngineName} 
    

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

    Package Details

    Repository
    Azure Native pulumi/pulumi-azure-native
    License
    Apache-2.0
    azure-native logo
    This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
    Azure Native v2.73.0 published on Wednesday, Nov 20, 2024 by Pulumi