gcp.networkservices.HttpRoute
Explore with Pulumi AI
Example Usage
Network Services Http Route Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.networkservices.HttpRoute("default", {
    name: "my-http-route",
    labels: {
        foo: "bar",
    },
    description: "my description",
    hostnames: ["example"],
    rules: [{
        matches: [{
            queryParameters: [{
                queryParameter: "key",
                exactMatch: "value",
            }],
            fullPathMatch: "example",
        }],
    }],
});
import pulumi
import pulumi_gcp as gcp
default = gcp.networkservices.HttpRoute("default",
    name="my-http-route",
    labels={
        "foo": "bar",
    },
    description="my description",
    hostnames=["example"],
    rules=[{
        "matches": [{
            "query_parameters": [{
                "query_parameter": "key",
                "exact_match": "value",
            }],
            "full_path_match": "example",
        }],
    }])
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkservices"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networkservices.NewHttpRoute(ctx, "default", &networkservices.HttpRouteArgs{
			Name: pulumi.String("my-http-route"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Description: pulumi.String("my description"),
			Hostnames: pulumi.StringArray{
				pulumi.String("example"),
			},
			Rules: networkservices.HttpRouteRuleArray{
				&networkservices.HttpRouteRuleArgs{
					Matches: networkservices.HttpRouteRuleMatchArray{
						&networkservices.HttpRouteRuleMatchArgs{
							QueryParameters: networkservices.HttpRouteRuleMatchQueryParameterArray{
								&networkservices.HttpRouteRuleMatchQueryParameterArgs{
									QueryParameter: pulumi.String("key"),
									ExactMatch:     pulumi.String("value"),
								},
							},
							FullPathMatch: pulumi.String("example"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var @default = new Gcp.NetworkServices.HttpRoute("default", new()
    {
        Name = "my-http-route",
        Labels = 
        {
            { "foo", "bar" },
        },
        Description = "my description",
        Hostnames = new[]
        {
            "example",
        },
        Rules = new[]
        {
            new Gcp.NetworkServices.Inputs.HttpRouteRuleArgs
            {
                Matches = new[]
                {
                    new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchArgs
                    {
                        QueryParameters = new[]
                        {
                            new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchQueryParameterArgs
                            {
                                QueryParameter = "key",
                                ExactMatch = "value",
                            },
                        },
                        FullPathMatch = "example",
                    },
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.networkservices.HttpRoute;
import com.pulumi.gcp.networkservices.HttpRouteArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleArgs;
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 default_ = new HttpRoute("default", HttpRouteArgs.builder()
            .name("my-http-route")
            .labels(Map.of("foo", "bar"))
            .description("my description")
            .hostnames("example")
            .rules(HttpRouteRuleArgs.builder()
                .matches(HttpRouteRuleMatchArgs.builder()
                    .queryParameters(HttpRouteRuleMatchQueryParameterArgs.builder()
                        .queryParameter("key")
                        .exactMatch("value")
                        .build())
                    .fullPathMatch("example")
                    .build())
                .build())
            .build());
    }
}
resources:
  default:
    type: gcp:networkservices:HttpRoute
    properties:
      name: my-http-route
      labels:
        foo: bar
      description: my description
      hostnames:
        - example
      rules:
        - matches:
            - queryParameters:
                - queryParameter: key
                  exactMatch: value
              fullPathMatch: example
Network Services Http Route Matches And Actions
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.networkservices.HttpRoute("default", {
    name: "my-http-route",
    labels: {
        foo: "bar",
    },
    description: "my description",
    hostnames: ["example"],
    rules: [{
        matches: [
            {
                headers: [{
                    header: "header",
                    invertMatch: false,
                    regexMatch: "header-value",
                }],
                queryParameters: [{
                    queryParameter: "key",
                    exactMatch: "value",
                }],
                prefixMatch: "example",
                ignoreCase: false,
            },
            {
                headers: [{
                    header: "header",
                    invertMatch: false,
                    presentMatch: true,
                }],
                queryParameters: [{
                    queryParameter: "key",
                    regexMatch: "value",
                }],
                regexMatch: "example",
                ignoreCase: false,
            },
            {
                headers: [{
                    header: "header",
                    invertMatch: false,
                    presentMatch: true,
                }],
                queryParameters: [{
                    queryParameter: "key",
                    presentMatch: true,
                }],
                fullPathMatch: "example",
                ignoreCase: false,
            },
        ],
        action: {
            redirect: {
                hostRedirect: "new-host",
                pathRedirect: "new-path",
                prefixRewrite: "new-prefix",
                httpsRedirect: true,
                stripQuery: true,
                portRedirect: 8081,
            },
            urlRewrite: {
                pathPrefixRewrite: "new-prefix",
                hostRewrite: "new-host",
            },
            retryPolicy: {
                retryConditions: ["server_error"],
                numRetries: 1,
                perTryTimeout: "1s",
            },
            requestMirrorPolicy: {
                destination: {
                    serviceName: "new",
                    weight: 1,
                },
            },
            corsPolicy: {
                allowOrigins: ["example"],
                allowMethods: [
                    "GET",
                    "PUT",
                ],
                allowHeaders: [
                    "version",
                    "type",
                ],
                exposeHeaders: [
                    "version",
                    "type",
                ],
                maxAge: "1s",
                allowCredentials: true,
                disabled: false,
            },
        },
    }],
});
import pulumi
import pulumi_gcp as gcp
default = gcp.networkservices.HttpRoute("default",
    name="my-http-route",
    labels={
        "foo": "bar",
    },
    description="my description",
    hostnames=["example"],
    rules=[{
        "matches": [
            {
                "headers": [{
                    "header": "header",
                    "invert_match": False,
                    "regex_match": "header-value",
                }],
                "query_parameters": [{
                    "query_parameter": "key",
                    "exact_match": "value",
                }],
                "prefix_match": "example",
                "ignore_case": False,
            },
            {
                "headers": [{
                    "header": "header",
                    "invert_match": False,
                    "present_match": True,
                }],
                "query_parameters": [{
                    "query_parameter": "key",
                    "regex_match": "value",
                }],
                "regex_match": "example",
                "ignore_case": False,
            },
            {
                "headers": [{
                    "header": "header",
                    "invert_match": False,
                    "present_match": True,
                }],
                "query_parameters": [{
                    "query_parameter": "key",
                    "present_match": True,
                }],
                "full_path_match": "example",
                "ignore_case": False,
            },
        ],
        "action": {
            "redirect": {
                "host_redirect": "new-host",
                "path_redirect": "new-path",
                "prefix_rewrite": "new-prefix",
                "https_redirect": True,
                "strip_query": True,
                "port_redirect": 8081,
            },
            "url_rewrite": {
                "path_prefix_rewrite": "new-prefix",
                "host_rewrite": "new-host",
            },
            "retry_policy": {
                "retry_conditions": ["server_error"],
                "num_retries": 1,
                "per_try_timeout": "1s",
            },
            "request_mirror_policy": {
                "destination": {
                    "service_name": "new",
                    "weight": 1,
                },
            },
            "cors_policy": {
                "allow_origins": ["example"],
                "allow_methods": [
                    "GET",
                    "PUT",
                ],
                "allow_headers": [
                    "version",
                    "type",
                ],
                "expose_headers": [
                    "version",
                    "type",
                ],
                "max_age": "1s",
                "allow_credentials": True,
                "disabled": False,
            },
        },
    }])
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkservices"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networkservices.NewHttpRoute(ctx, "default", &networkservices.HttpRouteArgs{
			Name: pulumi.String("my-http-route"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Description: pulumi.String("my description"),
			Hostnames: pulumi.StringArray{
				pulumi.String("example"),
			},
			Rules: networkservices.HttpRouteRuleArray{
				&networkservices.HttpRouteRuleArgs{
					Matches: networkservices.HttpRouteRuleMatchArray{
						&networkservices.HttpRouteRuleMatchArgs{
							Headers: networkservices.HttpRouteRuleMatchHeaderArray{
								&networkservices.HttpRouteRuleMatchHeaderArgs{
									Header:      pulumi.String("header"),
									InvertMatch: pulumi.Bool(false),
									RegexMatch:  pulumi.String("header-value"),
								},
							},
							QueryParameters: networkservices.HttpRouteRuleMatchQueryParameterArray{
								&networkservices.HttpRouteRuleMatchQueryParameterArgs{
									QueryParameter: pulumi.String("key"),
									ExactMatch:     pulumi.String("value"),
								},
							},
							PrefixMatch: pulumi.String("example"),
							IgnoreCase:  pulumi.Bool(false),
						},
						&networkservices.HttpRouteRuleMatchArgs{
							Headers: networkservices.HttpRouteRuleMatchHeaderArray{
								&networkservices.HttpRouteRuleMatchHeaderArgs{
									Header:       pulumi.String("header"),
									InvertMatch:  pulumi.Bool(false),
									PresentMatch: pulumi.Bool(true),
								},
							},
							QueryParameters: networkservices.HttpRouteRuleMatchQueryParameterArray{
								&networkservices.HttpRouteRuleMatchQueryParameterArgs{
									QueryParameter: pulumi.String("key"),
									RegexMatch:     pulumi.String("value"),
								},
							},
							RegexMatch: pulumi.String("example"),
							IgnoreCase: pulumi.Bool(false),
						},
						&networkservices.HttpRouteRuleMatchArgs{
							Headers: networkservices.HttpRouteRuleMatchHeaderArray{
								&networkservices.HttpRouteRuleMatchHeaderArgs{
									Header:       pulumi.String("header"),
									InvertMatch:  pulumi.Bool(false),
									PresentMatch: pulumi.Bool(true),
								},
							},
							QueryParameters: networkservices.HttpRouteRuleMatchQueryParameterArray{
								&networkservices.HttpRouteRuleMatchQueryParameterArgs{
									QueryParameter: pulumi.String("key"),
									PresentMatch:   pulumi.Bool(true),
								},
							},
							FullPathMatch: pulumi.String("example"),
							IgnoreCase:    pulumi.Bool(false),
						},
					},
					Action: &networkservices.HttpRouteRuleActionArgs{
						Redirect: &networkservices.HttpRouteRuleActionRedirectArgs{
							HostRedirect:  pulumi.String("new-host"),
							PathRedirect:  pulumi.String("new-path"),
							PrefixRewrite: pulumi.String("new-prefix"),
							HttpsRedirect: pulumi.Bool(true),
							StripQuery:    pulumi.Bool(true),
							PortRedirect:  pulumi.Int(8081),
						},
						UrlRewrite: &networkservices.HttpRouteRuleActionUrlRewriteArgs{
							PathPrefixRewrite: pulumi.String("new-prefix"),
							HostRewrite:       pulumi.String("new-host"),
						},
						RetryPolicy: &networkservices.HttpRouteRuleActionRetryPolicyArgs{
							RetryConditions: pulumi.StringArray{
								pulumi.String("server_error"),
							},
							NumRetries:    pulumi.Int(1),
							PerTryTimeout: pulumi.String("1s"),
						},
						RequestMirrorPolicy: &networkservices.HttpRouteRuleActionRequestMirrorPolicyArgs{
							Destination: &networkservices.HttpRouteRuleActionRequestMirrorPolicyDestinationArgs{
								ServiceName: pulumi.String("new"),
								Weight:      pulumi.Int(1),
							},
						},
						CorsPolicy: &networkservices.HttpRouteRuleActionCorsPolicyArgs{
							AllowOrigins: pulumi.StringArray{
								pulumi.String("example"),
							},
							AllowMethods: pulumi.StringArray{
								pulumi.String("GET"),
								pulumi.String("PUT"),
							},
							AllowHeaders: pulumi.StringArray{
								pulumi.String("version"),
								pulumi.String("type"),
							},
							ExposeHeaders: pulumi.StringArray{
								pulumi.String("version"),
								pulumi.String("type"),
							},
							MaxAge:           pulumi.String("1s"),
							AllowCredentials: pulumi.Bool(true),
							Disabled:         pulumi.Bool(false),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var @default = new Gcp.NetworkServices.HttpRoute("default", new()
    {
        Name = "my-http-route",
        Labels = 
        {
            { "foo", "bar" },
        },
        Description = "my description",
        Hostnames = new[]
        {
            "example",
        },
        Rules = new[]
        {
            new Gcp.NetworkServices.Inputs.HttpRouteRuleArgs
            {
                Matches = new[]
                {
                    new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchArgs
                    {
                        Headers = new[]
                        {
                            new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchHeaderArgs
                            {
                                Header = "header",
                                InvertMatch = false,
                                RegexMatch = "header-value",
                            },
                        },
                        QueryParameters = new[]
                        {
                            new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchQueryParameterArgs
                            {
                                QueryParameter = "key",
                                ExactMatch = "value",
                            },
                        },
                        PrefixMatch = "example",
                        IgnoreCase = false,
                    },
                    new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchArgs
                    {
                        Headers = new[]
                        {
                            new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchHeaderArgs
                            {
                                Header = "header",
                                InvertMatch = false,
                                PresentMatch = true,
                            },
                        },
                        QueryParameters = new[]
                        {
                            new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchQueryParameterArgs
                            {
                                QueryParameter = "key",
                                RegexMatch = "value",
                            },
                        },
                        RegexMatch = "example",
                        IgnoreCase = false,
                    },
                    new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchArgs
                    {
                        Headers = new[]
                        {
                            new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchHeaderArgs
                            {
                                Header = "header",
                                InvertMatch = false,
                                PresentMatch = true,
                            },
                        },
                        QueryParameters = new[]
                        {
                            new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchQueryParameterArgs
                            {
                                QueryParameter = "key",
                                PresentMatch = true,
                            },
                        },
                        FullPathMatch = "example",
                        IgnoreCase = false,
                    },
                },
                Action = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionArgs
                {
                    Redirect = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionRedirectArgs
                    {
                        HostRedirect = "new-host",
                        PathRedirect = "new-path",
                        PrefixRewrite = "new-prefix",
                        HttpsRedirect = true,
                        StripQuery = true,
                        PortRedirect = 8081,
                    },
                    UrlRewrite = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionUrlRewriteArgs
                    {
                        PathPrefixRewrite = "new-prefix",
                        HostRewrite = "new-host",
                    },
                    RetryPolicy = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionRetryPolicyArgs
                    {
                        RetryConditions = new[]
                        {
                            "server_error",
                        },
                        NumRetries = 1,
                        PerTryTimeout = "1s",
                    },
                    RequestMirrorPolicy = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionRequestMirrorPolicyArgs
                    {
                        Destination = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionRequestMirrorPolicyDestinationArgs
                        {
                            ServiceName = "new",
                            Weight = 1,
                        },
                    },
                    CorsPolicy = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionCorsPolicyArgs
                    {
                        AllowOrigins = new[]
                        {
                            "example",
                        },
                        AllowMethods = new[]
                        {
                            "GET",
                            "PUT",
                        },
                        AllowHeaders = new[]
                        {
                            "version",
                            "type",
                        },
                        ExposeHeaders = new[]
                        {
                            "version",
                            "type",
                        },
                        MaxAge = "1s",
                        AllowCredentials = true,
                        Disabled = false,
                    },
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.networkservices.HttpRoute;
import com.pulumi.gcp.networkservices.HttpRouteArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionRedirectArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionUrlRewriteArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionRetryPolicyArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionRequestMirrorPolicyArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionRequestMirrorPolicyDestinationArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionCorsPolicyArgs;
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 default_ = new HttpRoute("default", HttpRouteArgs.builder()
            .name("my-http-route")
            .labels(Map.of("foo", "bar"))
            .description("my description")
            .hostnames("example")
            .rules(HttpRouteRuleArgs.builder()
                .matches(                
                    HttpRouteRuleMatchArgs.builder()
                        .headers(HttpRouteRuleMatchHeaderArgs.builder()
                            .header("header")
                            .invertMatch(false)
                            .regexMatch("header-value")
                            .build())
                        .queryParameters(HttpRouteRuleMatchQueryParameterArgs.builder()
                            .queryParameter("key")
                            .exactMatch("value")
                            .build())
                        .prefixMatch("example")
                        .ignoreCase(false)
                        .build(),
                    HttpRouteRuleMatchArgs.builder()
                        .headers(HttpRouteRuleMatchHeaderArgs.builder()
                            .header("header")
                            .invertMatch(false)
                            .presentMatch(true)
                            .build())
                        .queryParameters(HttpRouteRuleMatchQueryParameterArgs.builder()
                            .queryParameter("key")
                            .regexMatch("value")
                            .build())
                        .regexMatch("example")
                        .ignoreCase(false)
                        .build(),
                    HttpRouteRuleMatchArgs.builder()
                        .headers(HttpRouteRuleMatchHeaderArgs.builder()
                            .header("header")
                            .invertMatch(false)
                            .presentMatch(true)
                            .build())
                        .queryParameters(HttpRouteRuleMatchQueryParameterArgs.builder()
                            .queryParameter("key")
                            .presentMatch(true)
                            .build())
                        .fullPathMatch("example")
                        .ignoreCase(false)
                        .build())
                .action(HttpRouteRuleActionArgs.builder()
                    .redirect(HttpRouteRuleActionRedirectArgs.builder()
                        .hostRedirect("new-host")
                        .pathRedirect("new-path")
                        .prefixRewrite("new-prefix")
                        .httpsRedirect(true)
                        .stripQuery(true)
                        .portRedirect(8081)
                        .build())
                    .urlRewrite(HttpRouteRuleActionUrlRewriteArgs.builder()
                        .pathPrefixRewrite("new-prefix")
                        .hostRewrite("new-host")
                        .build())
                    .retryPolicy(HttpRouteRuleActionRetryPolicyArgs.builder()
                        .retryConditions("server_error")
                        .numRetries(1)
                        .perTryTimeout("1s")
                        .build())
                    .requestMirrorPolicy(HttpRouteRuleActionRequestMirrorPolicyArgs.builder()
                        .destination(HttpRouteRuleActionRequestMirrorPolicyDestinationArgs.builder()
                            .serviceName("new")
                            .weight(1)
                            .build())
                        .build())
                    .corsPolicy(HttpRouteRuleActionCorsPolicyArgs.builder()
                        .allowOrigins("example")
                        .allowMethods(                        
                            "GET",
                            "PUT")
                        .allowHeaders(                        
                            "version",
                            "type")
                        .exposeHeaders(                        
                            "version",
                            "type")
                        .maxAge("1s")
                        .allowCredentials(true)
                        .disabled(false)
                        .build())
                    .build())
                .build())
            .build());
    }
}
resources:
  default:
    type: gcp:networkservices:HttpRoute
    properties:
      name: my-http-route
      labels:
        foo: bar
      description: my description
      hostnames:
        - example
      rules:
        - matches:
            - headers:
                - header: header
                  invertMatch: false
                  regexMatch: header-value
              queryParameters:
                - queryParameter: key
                  exactMatch: value
              prefixMatch: example
              ignoreCase: false
            - headers:
                - header: header
                  invertMatch: false
                  presentMatch: true
              queryParameters:
                - queryParameter: key
                  regexMatch: value
              regexMatch: example
              ignoreCase: false
            - headers:
                - header: header
                  invertMatch: false
                  presentMatch: true
              queryParameters:
                - queryParameter: key
                  presentMatch: true
              fullPathMatch: example
              ignoreCase: false
          action:
            redirect:
              hostRedirect: new-host
              pathRedirect: new-path
              prefixRewrite: new-prefix
              httpsRedirect: true
              stripQuery: true
              portRedirect: 8081
            urlRewrite:
              pathPrefixRewrite: new-prefix
              hostRewrite: new-host
            retryPolicy:
              retryConditions:
                - server_error
              numRetries: 1
              perTryTimeout: 1s
            requestMirrorPolicy:
              destination:
                serviceName: new
                weight: 1
            corsPolicy:
              allowOrigins:
                - example
              allowMethods:
                - GET
                - PUT
              allowHeaders:
                - version
                - type
              exposeHeaders:
                - version
                - type
              maxAge: 1s
              allowCredentials: true
              disabled: false
Network Services Http Route Actions
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.networkservices.HttpRoute("default", {
    name: "my-http-route",
    labels: {
        foo: "bar",
    },
    description: "my description",
    hostnames: ["example"],
    rules: [{
        action: {
            faultInjectionPolicy: {
                delay: {
                    fixedDelay: "1s",
                    percentage: 1,
                },
                abort: {
                    httpStatus: 500,
                    percentage: 1,
                },
            },
            urlRewrite: {
                pathPrefixRewrite: "new-prefix",
                hostRewrite: "new-host",
            },
            retryPolicy: {
                retryConditions: ["server_error"],
                numRetries: 1,
                perTryTimeout: "1s",
            },
            requestMirrorPolicy: {
                destination: {
                    serviceName: "new",
                    weight: 1,
                },
            },
            corsPolicy: {
                allowOrigins: ["example"],
                allowMethods: [
                    "GET",
                    "PUT",
                ],
                allowHeaders: [
                    "version",
                    "type",
                ],
                exposeHeaders: [
                    "version",
                    "type",
                ],
                maxAge: "1s",
                allowCredentials: true,
                disabled: false,
            },
            requestHeaderModifier: {
                set: {
                    version: "1",
                    type: "json",
                },
                add: {
                    "minor-version": "1",
                },
                removes: ["arg"],
            },
            responseHeaderModifier: {
                set: {
                    version: "1",
                    type: "json",
                },
                add: {
                    "minor-version": "1",
                },
                removes: ["removearg"],
            },
        },
    }],
});
import pulumi
import pulumi_gcp as gcp
default = gcp.networkservices.HttpRoute("default",
    name="my-http-route",
    labels={
        "foo": "bar",
    },
    description="my description",
    hostnames=["example"],
    rules=[{
        "action": {
            "fault_injection_policy": {
                "delay": {
                    "fixed_delay": "1s",
                    "percentage": 1,
                },
                "abort": {
                    "http_status": 500,
                    "percentage": 1,
                },
            },
            "url_rewrite": {
                "path_prefix_rewrite": "new-prefix",
                "host_rewrite": "new-host",
            },
            "retry_policy": {
                "retry_conditions": ["server_error"],
                "num_retries": 1,
                "per_try_timeout": "1s",
            },
            "request_mirror_policy": {
                "destination": {
                    "service_name": "new",
                    "weight": 1,
                },
            },
            "cors_policy": {
                "allow_origins": ["example"],
                "allow_methods": [
                    "GET",
                    "PUT",
                ],
                "allow_headers": [
                    "version",
                    "type",
                ],
                "expose_headers": [
                    "version",
                    "type",
                ],
                "max_age": "1s",
                "allow_credentials": True,
                "disabled": False,
            },
            "request_header_modifier": {
                "set": {
                    "version": "1",
                    "type": "json",
                },
                "add": {
                    "minor-version": "1",
                },
                "removes": ["arg"],
            },
            "response_header_modifier": {
                "set": {
                    "version": "1",
                    "type": "json",
                },
                "add": {
                    "minor-version": "1",
                },
                "removes": ["removearg"],
            },
        },
    }])
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkservices"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networkservices.NewHttpRoute(ctx, "default", &networkservices.HttpRouteArgs{
			Name: pulumi.String("my-http-route"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Description: pulumi.String("my description"),
			Hostnames: pulumi.StringArray{
				pulumi.String("example"),
			},
			Rules: networkservices.HttpRouteRuleArray{
				&networkservices.HttpRouteRuleArgs{
					Action: &networkservices.HttpRouteRuleActionArgs{
						FaultInjectionPolicy: &networkservices.HttpRouteRuleActionFaultInjectionPolicyArgs{
							Delay: &networkservices.HttpRouteRuleActionFaultInjectionPolicyDelayArgs{
								FixedDelay: pulumi.String("1s"),
								Percentage: pulumi.Int(1),
							},
							Abort: &networkservices.HttpRouteRuleActionFaultInjectionPolicyAbortArgs{
								HttpStatus: pulumi.Int(500),
								Percentage: pulumi.Int(1),
							},
						},
						UrlRewrite: &networkservices.HttpRouteRuleActionUrlRewriteArgs{
							PathPrefixRewrite: pulumi.String("new-prefix"),
							HostRewrite:       pulumi.String("new-host"),
						},
						RetryPolicy: &networkservices.HttpRouteRuleActionRetryPolicyArgs{
							RetryConditions: pulumi.StringArray{
								pulumi.String("server_error"),
							},
							NumRetries:    pulumi.Int(1),
							PerTryTimeout: pulumi.String("1s"),
						},
						RequestMirrorPolicy: &networkservices.HttpRouteRuleActionRequestMirrorPolicyArgs{
							Destination: &networkservices.HttpRouteRuleActionRequestMirrorPolicyDestinationArgs{
								ServiceName: pulumi.String("new"),
								Weight:      pulumi.Int(1),
							},
						},
						CorsPolicy: &networkservices.HttpRouteRuleActionCorsPolicyArgs{
							AllowOrigins: pulumi.StringArray{
								pulumi.String("example"),
							},
							AllowMethods: pulumi.StringArray{
								pulumi.String("GET"),
								pulumi.String("PUT"),
							},
							AllowHeaders: pulumi.StringArray{
								pulumi.String("version"),
								pulumi.String("type"),
							},
							ExposeHeaders: pulumi.StringArray{
								pulumi.String("version"),
								pulumi.String("type"),
							},
							MaxAge:           pulumi.String("1s"),
							AllowCredentials: pulumi.Bool(true),
							Disabled:         pulumi.Bool(false),
						},
						RequestHeaderModifier: &networkservices.HttpRouteRuleActionRequestHeaderModifierArgs{
							Set: pulumi.StringMap{
								"version": pulumi.String("1"),
								"type":    pulumi.String("json"),
							},
							Add: pulumi.StringMap{
								"minor-version": pulumi.String("1"),
							},
							Removes: pulumi.StringArray{
								pulumi.String("arg"),
							},
						},
						ResponseHeaderModifier: &networkservices.HttpRouteRuleActionResponseHeaderModifierArgs{
							Set: pulumi.StringMap{
								"version": pulumi.String("1"),
								"type":    pulumi.String("json"),
							},
							Add: pulumi.StringMap{
								"minor-version": pulumi.String("1"),
							},
							Removes: pulumi.StringArray{
								pulumi.String("removearg"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var @default = new Gcp.NetworkServices.HttpRoute("default", new()
    {
        Name = "my-http-route",
        Labels = 
        {
            { "foo", "bar" },
        },
        Description = "my description",
        Hostnames = new[]
        {
            "example",
        },
        Rules = new[]
        {
            new Gcp.NetworkServices.Inputs.HttpRouteRuleArgs
            {
                Action = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionArgs
                {
                    FaultInjectionPolicy = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionFaultInjectionPolicyArgs
                    {
                        Delay = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionFaultInjectionPolicyDelayArgs
                        {
                            FixedDelay = "1s",
                            Percentage = 1,
                        },
                        Abort = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionFaultInjectionPolicyAbortArgs
                        {
                            HttpStatus = 500,
                            Percentage = 1,
                        },
                    },
                    UrlRewrite = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionUrlRewriteArgs
                    {
                        PathPrefixRewrite = "new-prefix",
                        HostRewrite = "new-host",
                    },
                    RetryPolicy = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionRetryPolicyArgs
                    {
                        RetryConditions = new[]
                        {
                            "server_error",
                        },
                        NumRetries = 1,
                        PerTryTimeout = "1s",
                    },
                    RequestMirrorPolicy = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionRequestMirrorPolicyArgs
                    {
                        Destination = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionRequestMirrorPolicyDestinationArgs
                        {
                            ServiceName = "new",
                            Weight = 1,
                        },
                    },
                    CorsPolicy = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionCorsPolicyArgs
                    {
                        AllowOrigins = new[]
                        {
                            "example",
                        },
                        AllowMethods = new[]
                        {
                            "GET",
                            "PUT",
                        },
                        AllowHeaders = new[]
                        {
                            "version",
                            "type",
                        },
                        ExposeHeaders = new[]
                        {
                            "version",
                            "type",
                        },
                        MaxAge = "1s",
                        AllowCredentials = true,
                        Disabled = false,
                    },
                    RequestHeaderModifier = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionRequestHeaderModifierArgs
                    {
                        Set = 
                        {
                            { "version", "1" },
                            { "type", "json" },
                        },
                        Add = 
                        {
                            { "minor-version", "1" },
                        },
                        Removes = new[]
                        {
                            "arg",
                        },
                    },
                    ResponseHeaderModifier = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionResponseHeaderModifierArgs
                    {
                        Set = 
                        {
                            { "version", "1" },
                            { "type", "json" },
                        },
                        Add = 
                        {
                            { "minor-version", "1" },
                        },
                        Removes = new[]
                        {
                            "removearg",
                        },
                    },
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.networkservices.HttpRoute;
import com.pulumi.gcp.networkservices.HttpRouteArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionFaultInjectionPolicyArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionFaultInjectionPolicyDelayArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionFaultInjectionPolicyAbortArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionUrlRewriteArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionRetryPolicyArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionRequestMirrorPolicyArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionRequestMirrorPolicyDestinationArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionCorsPolicyArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionRequestHeaderModifierArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleActionResponseHeaderModifierArgs;
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 default_ = new HttpRoute("default", HttpRouteArgs.builder()
            .name("my-http-route")
            .labels(Map.of("foo", "bar"))
            .description("my description")
            .hostnames("example")
            .rules(HttpRouteRuleArgs.builder()
                .action(HttpRouteRuleActionArgs.builder()
                    .faultInjectionPolicy(HttpRouteRuleActionFaultInjectionPolicyArgs.builder()
                        .delay(HttpRouteRuleActionFaultInjectionPolicyDelayArgs.builder()
                            .fixedDelay("1s")
                            .percentage(1)
                            .build())
                        .abort(HttpRouteRuleActionFaultInjectionPolicyAbortArgs.builder()
                            .httpStatus(500)
                            .percentage(1)
                            .build())
                        .build())
                    .urlRewrite(HttpRouteRuleActionUrlRewriteArgs.builder()
                        .pathPrefixRewrite("new-prefix")
                        .hostRewrite("new-host")
                        .build())
                    .retryPolicy(HttpRouteRuleActionRetryPolicyArgs.builder()
                        .retryConditions("server_error")
                        .numRetries(1)
                        .perTryTimeout("1s")
                        .build())
                    .requestMirrorPolicy(HttpRouteRuleActionRequestMirrorPolicyArgs.builder()
                        .destination(HttpRouteRuleActionRequestMirrorPolicyDestinationArgs.builder()
                            .serviceName("new")
                            .weight(1)
                            .build())
                        .build())
                    .corsPolicy(HttpRouteRuleActionCorsPolicyArgs.builder()
                        .allowOrigins("example")
                        .allowMethods(                        
                            "GET",
                            "PUT")
                        .allowHeaders(                        
                            "version",
                            "type")
                        .exposeHeaders(                        
                            "version",
                            "type")
                        .maxAge("1s")
                        .allowCredentials(true)
                        .disabled(false)
                        .build())
                    .requestHeaderModifier(HttpRouteRuleActionRequestHeaderModifierArgs.builder()
                        .set(Map.ofEntries(
                            Map.entry("version", "1"),
                            Map.entry("type", "json")
                        ))
                        .add(Map.of("minor-version", "1"))
                        .removes("arg")
                        .build())
                    .responseHeaderModifier(HttpRouteRuleActionResponseHeaderModifierArgs.builder()
                        .set(Map.ofEntries(
                            Map.entry("version", "1"),
                            Map.entry("type", "json")
                        ))
                        .add(Map.of("minor-version", "1"))
                        .removes("removearg")
                        .build())
                    .build())
                .build())
            .build());
    }
}
resources:
  default:
    type: gcp:networkservices:HttpRoute
    properties:
      name: my-http-route
      labels:
        foo: bar
      description: my description
      hostnames:
        - example
      rules:
        - action:
            faultInjectionPolicy:
              delay:
                fixedDelay: 1s
                percentage: 1
              abort:
                httpStatus: 500
                percentage: 1
            urlRewrite:
              pathPrefixRewrite: new-prefix
              hostRewrite: new-host
            retryPolicy:
              retryConditions:
                - server_error
              numRetries: 1
              perTryTimeout: 1s
            requestMirrorPolicy:
              destination:
                serviceName: new
                weight: 1
            corsPolicy:
              allowOrigins:
                - example
              allowMethods:
                - GET
                - PUT
              allowHeaders:
                - version
                - type
              exposeHeaders:
                - version
                - type
              maxAge: 1s
              allowCredentials: true
              disabled: false
            requestHeaderModifier:
              set:
                version: '1'
                type: json
              add:
                minor-version: '1'
              removes:
                - arg
            responseHeaderModifier:
              set:
                version: '1'
                type: json
              add:
                minor-version: '1'
              removes:
                - removearg
Network Services Http Route Mesh Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.networkservices.Mesh("default", {
    name: "my-http-route",
    labels: {
        foo: "bar",
    },
    description: "my description",
});
const defaultHttpRoute = new gcp.networkservices.HttpRoute("default", {
    name: "my-http-route",
    labels: {
        foo: "bar",
    },
    description: "my description",
    hostnames: ["example"],
    meshes: [_default.id],
    rules: [{
        matches: [{
            queryParameters: [{
                queryParameter: "key",
                exactMatch: "value",
            }],
            fullPathMatch: "example",
        }],
    }],
});
import pulumi
import pulumi_gcp as gcp
default = gcp.networkservices.Mesh("default",
    name="my-http-route",
    labels={
        "foo": "bar",
    },
    description="my description")
default_http_route = gcp.networkservices.HttpRoute("default",
    name="my-http-route",
    labels={
        "foo": "bar",
    },
    description="my description",
    hostnames=["example"],
    meshes=[default.id],
    rules=[{
        "matches": [{
            "query_parameters": [{
                "query_parameter": "key",
                "exact_match": "value",
            }],
            "full_path_match": "example",
        }],
    }])
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkservices"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := networkservices.NewMesh(ctx, "default", &networkservices.MeshArgs{
			Name: pulumi.String("my-http-route"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Description: pulumi.String("my description"),
		})
		if err != nil {
			return err
		}
		_, err = networkservices.NewHttpRoute(ctx, "default", &networkservices.HttpRouteArgs{
			Name: pulumi.String("my-http-route"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Description: pulumi.String("my description"),
			Hostnames: pulumi.StringArray{
				pulumi.String("example"),
			},
			Meshes: pulumi.StringArray{
				_default.ID(),
			},
			Rules: networkservices.HttpRouteRuleArray{
				&networkservices.HttpRouteRuleArgs{
					Matches: networkservices.HttpRouteRuleMatchArray{
						&networkservices.HttpRouteRuleMatchArgs{
							QueryParameters: networkservices.HttpRouteRuleMatchQueryParameterArray{
								&networkservices.HttpRouteRuleMatchQueryParameterArgs{
									QueryParameter: pulumi.String("key"),
									ExactMatch:     pulumi.String("value"),
								},
							},
							FullPathMatch: pulumi.String("example"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var @default = new Gcp.NetworkServices.Mesh("default", new()
    {
        Name = "my-http-route",
        Labels = 
        {
            { "foo", "bar" },
        },
        Description = "my description",
    });
    var defaultHttpRoute = new Gcp.NetworkServices.HttpRoute("default", new()
    {
        Name = "my-http-route",
        Labels = 
        {
            { "foo", "bar" },
        },
        Description = "my description",
        Hostnames = new[]
        {
            "example",
        },
        Meshes = new[]
        {
            @default.Id,
        },
        Rules = new[]
        {
            new Gcp.NetworkServices.Inputs.HttpRouteRuleArgs
            {
                Matches = new[]
                {
                    new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchArgs
                    {
                        QueryParameters = new[]
                        {
                            new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchQueryParameterArgs
                            {
                                QueryParameter = "key",
                                ExactMatch = "value",
                            },
                        },
                        FullPathMatch = "example",
                    },
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.networkservices.Mesh;
import com.pulumi.gcp.networkservices.MeshArgs;
import com.pulumi.gcp.networkservices.HttpRoute;
import com.pulumi.gcp.networkservices.HttpRouteArgs;
import com.pulumi.gcp.networkservices.inputs.HttpRouteRuleArgs;
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 default_ = new Mesh("default", MeshArgs.builder()
            .name("my-http-route")
            .labels(Map.of("foo", "bar"))
            .description("my description")
            .build());
        var defaultHttpRoute = new HttpRoute("defaultHttpRoute", HttpRouteArgs.builder()
            .name("my-http-route")
            .labels(Map.of("foo", "bar"))
            .description("my description")
            .hostnames("example")
            .meshes(default_.id())
            .rules(HttpRouteRuleArgs.builder()
                .matches(HttpRouteRuleMatchArgs.builder()
                    .queryParameters(HttpRouteRuleMatchQueryParameterArgs.builder()
                        .queryParameter("key")
                        .exactMatch("value")
                        .build())
                    .fullPathMatch("example")
                    .build())
                .build())
            .build());
    }
}
resources:
  default:
    type: gcp:networkservices:Mesh
    properties:
      name: my-http-route
      labels:
        foo: bar
      description: my description
  defaultHttpRoute:
    type: gcp:networkservices:HttpRoute
    name: default
    properties:
      name: my-http-route
      labels:
        foo: bar
      description: my description
      hostnames:
        - example
      meshes:
        - ${default.id}
      rules:
        - matches:
            - queryParameters:
                - queryParameter: key
                  exactMatch: value
              fullPathMatch: example
Create HttpRoute Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new HttpRoute(name: string, args: HttpRouteArgs, opts?: CustomResourceOptions);@overload
def HttpRoute(resource_name: str,
              args: HttpRouteArgs,
              opts: Optional[ResourceOptions] = None)
@overload
def HttpRoute(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              hostnames: Optional[Sequence[str]] = None,
              rules: Optional[Sequence[HttpRouteRuleArgs]] = None,
              description: Optional[str] = None,
              gateways: Optional[Sequence[str]] = None,
              labels: Optional[Mapping[str, str]] = None,
              meshes: Optional[Sequence[str]] = None,
              name: Optional[str] = None,
              project: Optional[str] = None)func NewHttpRoute(ctx *Context, name string, args HttpRouteArgs, opts ...ResourceOption) (*HttpRoute, error)public HttpRoute(string name, HttpRouteArgs args, CustomResourceOptions? opts = null)
public HttpRoute(String name, HttpRouteArgs args)
public HttpRoute(String name, HttpRouteArgs args, CustomResourceOptions options)
type: gcp:networkservices:HttpRoute
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 HttpRouteArgs
- 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 HttpRouteArgs
- 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 HttpRouteArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args HttpRouteArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args HttpRouteArgs
- 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 httpRouteResource = new Gcp.NetworkServices.HttpRoute("httpRouteResource", new()
{
    Hostnames = new[]
    {
        "string",
    },
    Rules = new[]
    {
        new Gcp.NetworkServices.Inputs.HttpRouteRuleArgs
        {
            Action = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionArgs
            {
                CorsPolicy = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionCorsPolicyArgs
                {
                    AllowCredentials = false,
                    AllowHeaders = new[]
                    {
                        "string",
                    },
                    AllowMethods = new[]
                    {
                        "string",
                    },
                    AllowOriginRegexes = new[]
                    {
                        "string",
                    },
                    AllowOrigins = new[]
                    {
                        "string",
                    },
                    Disabled = false,
                    ExposeHeaders = new[]
                    {
                        "string",
                    },
                    MaxAge = "string",
                },
                Destinations = new[]
                {
                    new Gcp.NetworkServices.Inputs.HttpRouteRuleActionDestinationArgs
                    {
                        ServiceName = "string",
                        Weight = 0,
                    },
                },
                FaultInjectionPolicy = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionFaultInjectionPolicyArgs
                {
                    Abort = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionFaultInjectionPolicyAbortArgs
                    {
                        HttpStatus = 0,
                        Percentage = 0,
                    },
                    Delay = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionFaultInjectionPolicyDelayArgs
                    {
                        FixedDelay = "string",
                        Percentage = 0,
                    },
                },
                Redirect = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionRedirectArgs
                {
                    HostRedirect = "string",
                    HttpsRedirect = false,
                    PathRedirect = "string",
                    PortRedirect = 0,
                    PrefixRewrite = "string",
                    ResponseCode = "string",
                    StripQuery = false,
                },
                RequestHeaderModifier = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionRequestHeaderModifierArgs
                {
                    Add = 
                    {
                        { "string", "string" },
                    },
                    Removes = new[]
                    {
                        "string",
                    },
                    Set = 
                    {
                        { "string", "string" },
                    },
                },
                RequestMirrorPolicy = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionRequestMirrorPolicyArgs
                {
                    Destination = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionRequestMirrorPolicyDestinationArgs
                    {
                        ServiceName = "string",
                        Weight = 0,
                    },
                },
                ResponseHeaderModifier = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionResponseHeaderModifierArgs
                {
                    Add = 
                    {
                        { "string", "string" },
                    },
                    Removes = new[]
                    {
                        "string",
                    },
                    Set = 
                    {
                        { "string", "string" },
                    },
                },
                RetryPolicy = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionRetryPolicyArgs
                {
                    NumRetries = 0,
                    PerTryTimeout = "string",
                    RetryConditions = new[]
                    {
                        "string",
                    },
                },
                Timeout = "string",
                UrlRewrite = new Gcp.NetworkServices.Inputs.HttpRouteRuleActionUrlRewriteArgs
                {
                    HostRewrite = "string",
                    PathPrefixRewrite = "string",
                },
            },
            Matches = new[]
            {
                new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchArgs
                {
                    FullPathMatch = "string",
                    Headers = new[]
                    {
                        new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchHeaderArgs
                        {
                            ExactMatch = "string",
                            Header = "string",
                            InvertMatch = false,
                            PrefixMatch = "string",
                            PresentMatch = false,
                            RangeMatch = new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchHeaderRangeMatchArgs
                            {
                                End = 0,
                                Start = 0,
                            },
                            RegexMatch = "string",
                            SuffixMatch = "string",
                        },
                    },
                    IgnoreCase = false,
                    PrefixMatch = "string",
                    QueryParameters = new[]
                    {
                        new Gcp.NetworkServices.Inputs.HttpRouteRuleMatchQueryParameterArgs
                        {
                            ExactMatch = "string",
                            PresentMatch = false,
                            QueryParameter = "string",
                            RegexMatch = "string",
                        },
                    },
                    RegexMatch = "string",
                },
            },
        },
    },
    Description = "string",
    Gateways = new[]
    {
        "string",
    },
    Labels = 
    {
        { "string", "string" },
    },
    Meshes = new[]
    {
        "string",
    },
    Name = "string",
    Project = "string",
});
example, err := networkservices.NewHttpRoute(ctx, "httpRouteResource", &networkservices.HttpRouteArgs{
	Hostnames: pulumi.StringArray{
		pulumi.String("string"),
	},
	Rules: networkservices.HttpRouteRuleArray{
		&networkservices.HttpRouteRuleArgs{
			Action: &networkservices.HttpRouteRuleActionArgs{
				CorsPolicy: &networkservices.HttpRouteRuleActionCorsPolicyArgs{
					AllowCredentials: pulumi.Bool(false),
					AllowHeaders: pulumi.StringArray{
						pulumi.String("string"),
					},
					AllowMethods: pulumi.StringArray{
						pulumi.String("string"),
					},
					AllowOriginRegexes: pulumi.StringArray{
						pulumi.String("string"),
					},
					AllowOrigins: pulumi.StringArray{
						pulumi.String("string"),
					},
					Disabled: pulumi.Bool(false),
					ExposeHeaders: pulumi.StringArray{
						pulumi.String("string"),
					},
					MaxAge: pulumi.String("string"),
				},
				Destinations: networkservices.HttpRouteRuleActionDestinationArray{
					&networkservices.HttpRouteRuleActionDestinationArgs{
						ServiceName: pulumi.String("string"),
						Weight:      pulumi.Int(0),
					},
				},
				FaultInjectionPolicy: &networkservices.HttpRouteRuleActionFaultInjectionPolicyArgs{
					Abort: &networkservices.HttpRouteRuleActionFaultInjectionPolicyAbortArgs{
						HttpStatus: pulumi.Int(0),
						Percentage: pulumi.Int(0),
					},
					Delay: &networkservices.HttpRouteRuleActionFaultInjectionPolicyDelayArgs{
						FixedDelay: pulumi.String("string"),
						Percentage: pulumi.Int(0),
					},
				},
				Redirect: &networkservices.HttpRouteRuleActionRedirectArgs{
					HostRedirect:  pulumi.String("string"),
					HttpsRedirect: pulumi.Bool(false),
					PathRedirect:  pulumi.String("string"),
					PortRedirect:  pulumi.Int(0),
					PrefixRewrite: pulumi.String("string"),
					ResponseCode:  pulumi.String("string"),
					StripQuery:    pulumi.Bool(false),
				},
				RequestHeaderModifier: &networkservices.HttpRouteRuleActionRequestHeaderModifierArgs{
					Add: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
					Removes: pulumi.StringArray{
						pulumi.String("string"),
					},
					Set: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
				},
				RequestMirrorPolicy: &networkservices.HttpRouteRuleActionRequestMirrorPolicyArgs{
					Destination: &networkservices.HttpRouteRuleActionRequestMirrorPolicyDestinationArgs{
						ServiceName: pulumi.String("string"),
						Weight:      pulumi.Int(0),
					},
				},
				ResponseHeaderModifier: &networkservices.HttpRouteRuleActionResponseHeaderModifierArgs{
					Add: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
					Removes: pulumi.StringArray{
						pulumi.String("string"),
					},
					Set: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
				},
				RetryPolicy: &networkservices.HttpRouteRuleActionRetryPolicyArgs{
					NumRetries:    pulumi.Int(0),
					PerTryTimeout: pulumi.String("string"),
					RetryConditions: pulumi.StringArray{
						pulumi.String("string"),
					},
				},
				Timeout: pulumi.String("string"),
				UrlRewrite: &networkservices.HttpRouteRuleActionUrlRewriteArgs{
					HostRewrite:       pulumi.String("string"),
					PathPrefixRewrite: pulumi.String("string"),
				},
			},
			Matches: networkservices.HttpRouteRuleMatchArray{
				&networkservices.HttpRouteRuleMatchArgs{
					FullPathMatch: pulumi.String("string"),
					Headers: networkservices.HttpRouteRuleMatchHeaderArray{
						&networkservices.HttpRouteRuleMatchHeaderArgs{
							ExactMatch:   pulumi.String("string"),
							Header:       pulumi.String("string"),
							InvertMatch:  pulumi.Bool(false),
							PrefixMatch:  pulumi.String("string"),
							PresentMatch: pulumi.Bool(false),
							RangeMatch: &networkservices.HttpRouteRuleMatchHeaderRangeMatchArgs{
								End:   pulumi.Int(0),
								Start: pulumi.Int(0),
							},
							RegexMatch:  pulumi.String("string"),
							SuffixMatch: pulumi.String("string"),
						},
					},
					IgnoreCase:  pulumi.Bool(false),
					PrefixMatch: pulumi.String("string"),
					QueryParameters: networkservices.HttpRouteRuleMatchQueryParameterArray{
						&networkservices.HttpRouteRuleMatchQueryParameterArgs{
							ExactMatch:     pulumi.String("string"),
							PresentMatch:   pulumi.Bool(false),
							QueryParameter: pulumi.String("string"),
							RegexMatch:     pulumi.String("string"),
						},
					},
					RegexMatch: pulumi.String("string"),
				},
			},
		},
	},
	Description: pulumi.String("string"),
	Gateways: pulumi.StringArray{
		pulumi.String("string"),
	},
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Meshes: pulumi.StringArray{
		pulumi.String("string"),
	},
	Name:    pulumi.String("string"),
	Project: pulumi.String("string"),
})
var httpRouteResource = new HttpRoute("httpRouteResource", HttpRouteArgs.builder()
    .hostnames("string")
    .rules(HttpRouteRuleArgs.builder()
        .action(HttpRouteRuleActionArgs.builder()
            .corsPolicy(HttpRouteRuleActionCorsPolicyArgs.builder()
                .allowCredentials(false)
                .allowHeaders("string")
                .allowMethods("string")
                .allowOriginRegexes("string")
                .allowOrigins("string")
                .disabled(false)
                .exposeHeaders("string")
                .maxAge("string")
                .build())
            .destinations(HttpRouteRuleActionDestinationArgs.builder()
                .serviceName("string")
                .weight(0)
                .build())
            .faultInjectionPolicy(HttpRouteRuleActionFaultInjectionPolicyArgs.builder()
                .abort(HttpRouteRuleActionFaultInjectionPolicyAbortArgs.builder()
                    .httpStatus(0)
                    .percentage(0)
                    .build())
                .delay(HttpRouteRuleActionFaultInjectionPolicyDelayArgs.builder()
                    .fixedDelay("string")
                    .percentage(0)
                    .build())
                .build())
            .redirect(HttpRouteRuleActionRedirectArgs.builder()
                .hostRedirect("string")
                .httpsRedirect(false)
                .pathRedirect("string")
                .portRedirect(0)
                .prefixRewrite("string")
                .responseCode("string")
                .stripQuery(false)
                .build())
            .requestHeaderModifier(HttpRouteRuleActionRequestHeaderModifierArgs.builder()
                .add(Map.of("string", "string"))
                .removes("string")
                .set(Map.of("string", "string"))
                .build())
            .requestMirrorPolicy(HttpRouteRuleActionRequestMirrorPolicyArgs.builder()
                .destination(HttpRouteRuleActionRequestMirrorPolicyDestinationArgs.builder()
                    .serviceName("string")
                    .weight(0)
                    .build())
                .build())
            .responseHeaderModifier(HttpRouteRuleActionResponseHeaderModifierArgs.builder()
                .add(Map.of("string", "string"))
                .removes("string")
                .set(Map.of("string", "string"))
                .build())
            .retryPolicy(HttpRouteRuleActionRetryPolicyArgs.builder()
                .numRetries(0)
                .perTryTimeout("string")
                .retryConditions("string")
                .build())
            .timeout("string")
            .urlRewrite(HttpRouteRuleActionUrlRewriteArgs.builder()
                .hostRewrite("string")
                .pathPrefixRewrite("string")
                .build())
            .build())
        .matches(HttpRouteRuleMatchArgs.builder()
            .fullPathMatch("string")
            .headers(HttpRouteRuleMatchHeaderArgs.builder()
                .exactMatch("string")
                .header("string")
                .invertMatch(false)
                .prefixMatch("string")
                .presentMatch(false)
                .rangeMatch(HttpRouteRuleMatchHeaderRangeMatchArgs.builder()
                    .end(0)
                    .start(0)
                    .build())
                .regexMatch("string")
                .suffixMatch("string")
                .build())
            .ignoreCase(false)
            .prefixMatch("string")
            .queryParameters(HttpRouteRuleMatchQueryParameterArgs.builder()
                .exactMatch("string")
                .presentMatch(false)
                .queryParameter("string")
                .regexMatch("string")
                .build())
            .regexMatch("string")
            .build())
        .build())
    .description("string")
    .gateways("string")
    .labels(Map.of("string", "string"))
    .meshes("string")
    .name("string")
    .project("string")
    .build());
http_route_resource = gcp.networkservices.HttpRoute("httpRouteResource",
    hostnames=["string"],
    rules=[{
        "action": {
            "cors_policy": {
                "allow_credentials": False,
                "allow_headers": ["string"],
                "allow_methods": ["string"],
                "allow_origin_regexes": ["string"],
                "allow_origins": ["string"],
                "disabled": False,
                "expose_headers": ["string"],
                "max_age": "string",
            },
            "destinations": [{
                "service_name": "string",
                "weight": 0,
            }],
            "fault_injection_policy": {
                "abort": {
                    "http_status": 0,
                    "percentage": 0,
                },
                "delay": {
                    "fixed_delay": "string",
                    "percentage": 0,
                },
            },
            "redirect": {
                "host_redirect": "string",
                "https_redirect": False,
                "path_redirect": "string",
                "port_redirect": 0,
                "prefix_rewrite": "string",
                "response_code": "string",
                "strip_query": False,
            },
            "request_header_modifier": {
                "add": {
                    "string": "string",
                },
                "removes": ["string"],
                "set": {
                    "string": "string",
                },
            },
            "request_mirror_policy": {
                "destination": {
                    "service_name": "string",
                    "weight": 0,
                },
            },
            "response_header_modifier": {
                "add": {
                    "string": "string",
                },
                "removes": ["string"],
                "set": {
                    "string": "string",
                },
            },
            "retry_policy": {
                "num_retries": 0,
                "per_try_timeout": "string",
                "retry_conditions": ["string"],
            },
            "timeout": "string",
            "url_rewrite": {
                "host_rewrite": "string",
                "path_prefix_rewrite": "string",
            },
        },
        "matches": [{
            "full_path_match": "string",
            "headers": [{
                "exact_match": "string",
                "header": "string",
                "invert_match": False,
                "prefix_match": "string",
                "present_match": False,
                "range_match": {
                    "end": 0,
                    "start": 0,
                },
                "regex_match": "string",
                "suffix_match": "string",
            }],
            "ignore_case": False,
            "prefix_match": "string",
            "query_parameters": [{
                "exact_match": "string",
                "present_match": False,
                "query_parameter": "string",
                "regex_match": "string",
            }],
            "regex_match": "string",
        }],
    }],
    description="string",
    gateways=["string"],
    labels={
        "string": "string",
    },
    meshes=["string"],
    name="string",
    project="string")
const httpRouteResource = new gcp.networkservices.HttpRoute("httpRouteResource", {
    hostnames: ["string"],
    rules: [{
        action: {
            corsPolicy: {
                allowCredentials: false,
                allowHeaders: ["string"],
                allowMethods: ["string"],
                allowOriginRegexes: ["string"],
                allowOrigins: ["string"],
                disabled: false,
                exposeHeaders: ["string"],
                maxAge: "string",
            },
            destinations: [{
                serviceName: "string",
                weight: 0,
            }],
            faultInjectionPolicy: {
                abort: {
                    httpStatus: 0,
                    percentage: 0,
                },
                delay: {
                    fixedDelay: "string",
                    percentage: 0,
                },
            },
            redirect: {
                hostRedirect: "string",
                httpsRedirect: false,
                pathRedirect: "string",
                portRedirect: 0,
                prefixRewrite: "string",
                responseCode: "string",
                stripQuery: false,
            },
            requestHeaderModifier: {
                add: {
                    string: "string",
                },
                removes: ["string"],
                set: {
                    string: "string",
                },
            },
            requestMirrorPolicy: {
                destination: {
                    serviceName: "string",
                    weight: 0,
                },
            },
            responseHeaderModifier: {
                add: {
                    string: "string",
                },
                removes: ["string"],
                set: {
                    string: "string",
                },
            },
            retryPolicy: {
                numRetries: 0,
                perTryTimeout: "string",
                retryConditions: ["string"],
            },
            timeout: "string",
            urlRewrite: {
                hostRewrite: "string",
                pathPrefixRewrite: "string",
            },
        },
        matches: [{
            fullPathMatch: "string",
            headers: [{
                exactMatch: "string",
                header: "string",
                invertMatch: false,
                prefixMatch: "string",
                presentMatch: false,
                rangeMatch: {
                    end: 0,
                    start: 0,
                },
                regexMatch: "string",
                suffixMatch: "string",
            }],
            ignoreCase: false,
            prefixMatch: "string",
            queryParameters: [{
                exactMatch: "string",
                presentMatch: false,
                queryParameter: "string",
                regexMatch: "string",
            }],
            regexMatch: "string",
        }],
    }],
    description: "string",
    gateways: ["string"],
    labels: {
        string: "string",
    },
    meshes: ["string"],
    name: "string",
    project: "string",
});
type: gcp:networkservices:HttpRoute
properties:
    description: string
    gateways:
        - string
    hostnames:
        - string
    labels:
        string: string
    meshes:
        - string
    name: string
    project: string
    rules:
        - action:
            corsPolicy:
                allowCredentials: false
                allowHeaders:
                    - string
                allowMethods:
                    - string
                allowOriginRegexes:
                    - string
                allowOrigins:
                    - string
                disabled: false
                exposeHeaders:
                    - string
                maxAge: string
            destinations:
                - serviceName: string
                  weight: 0
            faultInjectionPolicy:
                abort:
                    httpStatus: 0
                    percentage: 0
                delay:
                    fixedDelay: string
                    percentage: 0
            redirect:
                hostRedirect: string
                httpsRedirect: false
                pathRedirect: string
                portRedirect: 0
                prefixRewrite: string
                responseCode: string
                stripQuery: false
            requestHeaderModifier:
                add:
                    string: string
                removes:
                    - string
                set:
                    string: string
            requestMirrorPolicy:
                destination:
                    serviceName: string
                    weight: 0
            responseHeaderModifier:
                add:
                    string: string
                removes:
                    - string
                set:
                    string: string
            retryPolicy:
                numRetries: 0
                perTryTimeout: string
                retryConditions:
                    - string
            timeout: string
            urlRewrite:
                hostRewrite: string
                pathPrefixRewrite: string
          matches:
            - fullPathMatch: string
              headers:
                - exactMatch: string
                  header: string
                  invertMatch: false
                  prefixMatch: string
                  presentMatch: false
                  rangeMatch:
                    end: 0
                    start: 0
                  regexMatch: string
                  suffixMatch: string
              ignoreCase: false
              prefixMatch: string
              queryParameters:
                - exactMatch: string
                  presentMatch: false
                  queryParameter: string
                  regexMatch: string
              regexMatch: string
HttpRoute 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 HttpRoute resource accepts the following input properties:
- Hostnames List<string>
- Set of hosts that should match against the HTTP host header to select a HttpRoute to process the request.
- Rules
List<HttpRoute Rule> 
- Rules that define how traffic is routed and handled. Structure is documented below.
- Description string
- A free-text description of the resource. Max length 1024 characters.
- Gateways List<string>
- Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: projects/*/locations/global/gateways/<gateway_name>
- Labels Dictionary<string, string>
- Set of label tags associated with the HttpRoute resource. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- Meshes List<string>
- Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: projects/*/locations/global/meshes/<mesh_name>. The attached Mesh should be of a type SIDECAR.
- Name string
- Name of the HttpRoute resource.
- Project string
- Hostnames []string
- Set of hosts that should match against the HTTP host header to select a HttpRoute to process the request.
- Rules
[]HttpRoute Rule Args 
- Rules that define how traffic is routed and handled. Structure is documented below.
- Description string
- A free-text description of the resource. Max length 1024 characters.
- Gateways []string
- Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: projects/*/locations/global/gateways/<gateway_name>
- Labels map[string]string
- Set of label tags associated with the HttpRoute resource. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- Meshes []string
- Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: projects/*/locations/global/meshes/<mesh_name>. The attached Mesh should be of a type SIDECAR.
- Name string
- Name of the HttpRoute resource.
- Project string
- hostnames List<String>
- Set of hosts that should match against the HTTP host header to select a HttpRoute to process the request.
- rules
List<HttpRoute Rule> 
- Rules that define how traffic is routed and handled. Structure is documented below.
- description String
- A free-text description of the resource. Max length 1024 characters.
- gateways List<String>
- Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: projects/*/locations/global/gateways/<gateway_name>
- labels Map<String,String>
- Set of label tags associated with the HttpRoute resource. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- meshes List<String>
- Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: projects/*/locations/global/meshes/<mesh_name>. The attached Mesh should be of a type SIDECAR.
- name String
- Name of the HttpRoute resource.
- project String
- hostnames string[]
- Set of hosts that should match against the HTTP host header to select a HttpRoute to process the request.
- rules
HttpRoute Rule[] 
- Rules that define how traffic is routed and handled. Structure is documented below.
- description string
- A free-text description of the resource. Max length 1024 characters.
- gateways string[]
- Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: projects/*/locations/global/gateways/<gateway_name>
- labels {[key: string]: string}
- Set of label tags associated with the HttpRoute resource. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- meshes string[]
- Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: projects/*/locations/global/meshes/<mesh_name>. The attached Mesh should be of a type SIDECAR.
- name string
- Name of the HttpRoute resource.
- project string
- hostnames Sequence[str]
- Set of hosts that should match against the HTTP host header to select a HttpRoute to process the request.
- rules
Sequence[HttpRoute Rule Args] 
- Rules that define how traffic is routed and handled. Structure is documented below.
- description str
- A free-text description of the resource. Max length 1024 characters.
- gateways Sequence[str]
- Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: projects/*/locations/global/gateways/<gateway_name>
- labels Mapping[str, str]
- Set of label tags associated with the HttpRoute resource. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- meshes Sequence[str]
- Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: projects/*/locations/global/meshes/<mesh_name>. The attached Mesh should be of a type SIDECAR.
- name str
- Name of the HttpRoute resource.
- project str
- hostnames List<String>
- Set of hosts that should match against the HTTP host header to select a HttpRoute to process the request.
- rules List<Property Map>
- Rules that define how traffic is routed and handled. Structure is documented below.
- description String
- A free-text description of the resource. Max length 1024 characters.
- gateways List<String>
- Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: projects/*/locations/global/gateways/<gateway_name>
- labels Map<String>
- Set of label tags associated with the HttpRoute resource. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- meshes List<String>
- Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: projects/*/locations/global/meshes/<mesh_name>. The attached Mesh should be of a type SIDECAR.
- name String
- Name of the HttpRoute resource.
- project String
Outputs
All input properties are implicitly available as output properties. Additionally, the HttpRoute resource produces the following output properties:
- CreateTime string
- Time the HttpRoute was created in UTC.
- EffectiveLabels Dictionary<string, string>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Id string
- The provider-assigned unique ID for this managed resource.
- PulumiLabels Dictionary<string, string>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- SelfLink string
- Server-defined URL of this resource.
- UpdateTime string
- Time the HttpRoute was updated in UTC.
- CreateTime string
- Time the HttpRoute was created in UTC.
- EffectiveLabels map[string]string
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Id string
- The provider-assigned unique ID for this managed resource.
- PulumiLabels map[string]string
- The combination of labels configured directly on the resource and default labels configured on the provider.
- SelfLink string
- Server-defined URL of this resource.
- UpdateTime string
- Time the HttpRoute was updated in UTC.
- createTime String
- Time the HttpRoute was created in UTC.
- effectiveLabels Map<String,String>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- id String
- The provider-assigned unique ID for this managed resource.
- pulumiLabels Map<String,String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- selfLink String
- Server-defined URL of this resource.
- updateTime String
- Time the HttpRoute was updated in UTC.
- createTime string
- Time the HttpRoute was created in UTC.
- effectiveLabels {[key: string]: string}
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- id string
- The provider-assigned unique ID for this managed resource.
- pulumiLabels {[key: string]: string}
- The combination of labels configured directly on the resource and default labels configured on the provider.
- selfLink string
- Server-defined URL of this resource.
- updateTime string
- Time the HttpRoute was updated in UTC.
- create_time str
- Time the HttpRoute was created in UTC.
- effective_labels Mapping[str, str]
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- id str
- The provider-assigned unique ID for this managed resource.
- pulumi_labels Mapping[str, str]
- The combination of labels configured directly on the resource and default labels configured on the provider.
- self_link str
- Server-defined URL of this resource.
- update_time str
- Time the HttpRoute was updated in UTC.
- createTime String
- Time the HttpRoute was created in UTC.
- effectiveLabels Map<String>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- id String
- The provider-assigned unique ID for this managed resource.
- pulumiLabels Map<String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- selfLink String
- Server-defined URL of this resource.
- updateTime String
- Time the HttpRoute was updated in UTC.
Look up Existing HttpRoute Resource
Get an existing HttpRoute resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: HttpRouteState, opts?: CustomResourceOptions): HttpRoute@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        create_time: Optional[str] = None,
        description: Optional[str] = None,
        effective_labels: Optional[Mapping[str, str]] = None,
        gateways: Optional[Sequence[str]] = None,
        hostnames: Optional[Sequence[str]] = None,
        labels: Optional[Mapping[str, str]] = None,
        meshes: Optional[Sequence[str]] = None,
        name: Optional[str] = None,
        project: Optional[str] = None,
        pulumi_labels: Optional[Mapping[str, str]] = None,
        rules: Optional[Sequence[HttpRouteRuleArgs]] = None,
        self_link: Optional[str] = None,
        update_time: Optional[str] = None) -> HttpRoutefunc GetHttpRoute(ctx *Context, name string, id IDInput, state *HttpRouteState, opts ...ResourceOption) (*HttpRoute, error)public static HttpRoute Get(string name, Input<string> id, HttpRouteState? state, CustomResourceOptions? opts = null)public static HttpRoute get(String name, Output<String> id, HttpRouteState state, CustomResourceOptions options)resources:  _:    type: gcp:networkservices:HttpRoute    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- CreateTime string
- Time the HttpRoute was created in UTC.
- Description string
- A free-text description of the resource. Max length 1024 characters.
- EffectiveLabels Dictionary<string, string>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Gateways List<string>
- Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: projects/*/locations/global/gateways/<gateway_name>
- Hostnames List<string>
- Set of hosts that should match against the HTTP host header to select a HttpRoute to process the request.
- Labels Dictionary<string, string>
- Set of label tags associated with the HttpRoute resource. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- Meshes List<string>
- Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: projects/*/locations/global/meshes/<mesh_name>. The attached Mesh should be of a type SIDECAR.
- Name string
- Name of the HttpRoute resource.
- Project string
- PulumiLabels Dictionary<string, string>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- Rules
List<HttpRoute Rule> 
- Rules that define how traffic is routed and handled. Structure is documented below.
- SelfLink string
- Server-defined URL of this resource.
- UpdateTime string
- Time the HttpRoute was updated in UTC.
- CreateTime string
- Time the HttpRoute was created in UTC.
- Description string
- A free-text description of the resource. Max length 1024 characters.
- EffectiveLabels map[string]string
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Gateways []string
- Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: projects/*/locations/global/gateways/<gateway_name>
- Hostnames []string
- Set of hosts that should match against the HTTP host header to select a HttpRoute to process the request.
- Labels map[string]string
- Set of label tags associated with the HttpRoute resource. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- Meshes []string
- Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: projects/*/locations/global/meshes/<mesh_name>. The attached Mesh should be of a type SIDECAR.
- Name string
- Name of the HttpRoute resource.
- Project string
- PulumiLabels map[string]string
- The combination of labels configured directly on the resource and default labels configured on the provider.
- Rules
[]HttpRoute Rule Args 
- Rules that define how traffic is routed and handled. Structure is documented below.
- SelfLink string
- Server-defined URL of this resource.
- UpdateTime string
- Time the HttpRoute was updated in UTC.
- createTime String
- Time the HttpRoute was created in UTC.
- description String
- A free-text description of the resource. Max length 1024 characters.
- effectiveLabels Map<String,String>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- gateways List<String>
- Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: projects/*/locations/global/gateways/<gateway_name>
- hostnames List<String>
- Set of hosts that should match against the HTTP host header to select a HttpRoute to process the request.
- labels Map<String,String>
- Set of label tags associated with the HttpRoute resource. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- meshes List<String>
- Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: projects/*/locations/global/meshes/<mesh_name>. The attached Mesh should be of a type SIDECAR.
- name String
- Name of the HttpRoute resource.
- project String
- pulumiLabels Map<String,String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- rules
List<HttpRoute Rule> 
- Rules that define how traffic is routed and handled. Structure is documented below.
- selfLink String
- Server-defined URL of this resource.
- updateTime String
- Time the HttpRoute was updated in UTC.
- createTime string
- Time the HttpRoute was created in UTC.
- description string
- A free-text description of the resource. Max length 1024 characters.
- effectiveLabels {[key: string]: string}
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- gateways string[]
- Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: projects/*/locations/global/gateways/<gateway_name>
- hostnames string[]
- Set of hosts that should match against the HTTP host header to select a HttpRoute to process the request.
- labels {[key: string]: string}
- Set of label tags associated with the HttpRoute resource. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- meshes string[]
- Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: projects/*/locations/global/meshes/<mesh_name>. The attached Mesh should be of a type SIDECAR.
- name string
- Name of the HttpRoute resource.
- project string
- pulumiLabels {[key: string]: string}
- The combination of labels configured directly on the resource and default labels configured on the provider.
- rules
HttpRoute Rule[] 
- Rules that define how traffic is routed and handled. Structure is documented below.
- selfLink string
- Server-defined URL of this resource.
- updateTime string
- Time the HttpRoute was updated in UTC.
- create_time str
- Time the HttpRoute was created in UTC.
- description str
- A free-text description of the resource. Max length 1024 characters.
- effective_labels Mapping[str, str]
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- gateways Sequence[str]
- Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: projects/*/locations/global/gateways/<gateway_name>
- hostnames Sequence[str]
- Set of hosts that should match against the HTTP host header to select a HttpRoute to process the request.
- labels Mapping[str, str]
- Set of label tags associated with the HttpRoute resource. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- meshes Sequence[str]
- Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: projects/*/locations/global/meshes/<mesh_name>. The attached Mesh should be of a type SIDECAR.
- name str
- Name of the HttpRoute resource.
- project str
- pulumi_labels Mapping[str, str]
- The combination of labels configured directly on the resource and default labels configured on the provider.
- rules
Sequence[HttpRoute Rule Args] 
- Rules that define how traffic is routed and handled. Structure is documented below.
- self_link str
- Server-defined URL of this resource.
- update_time str
- Time the HttpRoute was updated in UTC.
- createTime String
- Time the HttpRoute was created in UTC.
- description String
- A free-text description of the resource. Max length 1024 characters.
- effectiveLabels Map<String>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- gateways List<String>
- Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: projects/*/locations/global/gateways/<gateway_name>
- hostnames List<String>
- Set of hosts that should match against the HTTP host header to select a HttpRoute to process the request.
- labels Map<String>
- Set of label tags associated with the HttpRoute resource. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- meshes List<String>
- Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: projects/*/locations/global/meshes/<mesh_name>. The attached Mesh should be of a type SIDECAR.
- name String
- Name of the HttpRoute resource.
- project String
- pulumiLabels Map<String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- rules List<Property Map>
- Rules that define how traffic is routed and handled. Structure is documented below.
- selfLink String
- Server-defined URL of this resource.
- updateTime String
- Time the HttpRoute was updated in UTC.
Supporting Types
HttpRouteRule, HttpRouteRuleArgs      
- Action
HttpRoute Rule Action 
- The detailed rule defining how to route matched traffic. Structure is documented below.
- Matches
List<HttpRoute Rule Match> 
- A list of matches define conditions used for matching the rule against incoming HTTP requests. Each match is independent, i.e. this rule will be matched if ANY one of the matches is satisfied. If no matches field is specified, this rule will unconditionally match traffic. If a default rule is desired to be configured, add a rule with no matches specified to the end of the rules list. Structure is documented below.
- Action
HttpRoute Rule Action 
- The detailed rule defining how to route matched traffic. Structure is documented below.
- Matches
[]HttpRoute Rule Match 
- A list of matches define conditions used for matching the rule against incoming HTTP requests. Each match is independent, i.e. this rule will be matched if ANY one of the matches is satisfied. If no matches field is specified, this rule will unconditionally match traffic. If a default rule is desired to be configured, add a rule with no matches specified to the end of the rules list. Structure is documented below.
- action
HttpRoute Rule Action 
- The detailed rule defining how to route matched traffic. Structure is documented below.
- matches
List<HttpRoute Rule Match> 
- A list of matches define conditions used for matching the rule against incoming HTTP requests. Each match is independent, i.e. this rule will be matched if ANY one of the matches is satisfied. If no matches field is specified, this rule will unconditionally match traffic. If a default rule is desired to be configured, add a rule with no matches specified to the end of the rules list. Structure is documented below.
- action
HttpRoute Rule Action 
- The detailed rule defining how to route matched traffic. Structure is documented below.
- matches
HttpRoute Rule Match[] 
- A list of matches define conditions used for matching the rule against incoming HTTP requests. Each match is independent, i.e. this rule will be matched if ANY one of the matches is satisfied. If no matches field is specified, this rule will unconditionally match traffic. If a default rule is desired to be configured, add a rule with no matches specified to the end of the rules list. Structure is documented below.
- action
HttpRoute Rule Action 
- The detailed rule defining how to route matched traffic. Structure is documented below.
- matches
Sequence[HttpRoute Rule Match] 
- A list of matches define conditions used for matching the rule against incoming HTTP requests. Each match is independent, i.e. this rule will be matched if ANY one of the matches is satisfied. If no matches field is specified, this rule will unconditionally match traffic. If a default rule is desired to be configured, add a rule with no matches specified to the end of the rules list. Structure is documented below.
- action Property Map
- The detailed rule defining how to route matched traffic. Structure is documented below.
- matches List<Property Map>
- A list of matches define conditions used for matching the rule against incoming HTTP requests. Each match is independent, i.e. this rule will be matched if ANY one of the matches is satisfied. If no matches field is specified, this rule will unconditionally match traffic. If a default rule is desired to be configured, add a rule with no matches specified to the end of the rules list. Structure is documented below.
HttpRouteRuleAction, HttpRouteRuleActionArgs        
- CorsPolicy HttpRoute Rule Action Cors Policy 
- The specification for allowing client side cross-origin requests. Structure is documented below.
- Destinations
List<HttpRoute Rule Action Destination> 
- The destination to which traffic should be forwarded. Structure is documented below.
- FaultInjection HttpPolicy Route Rule Action Fault Injection Policy 
- The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. Structure is documented below.
- Redirect
HttpRoute Rule Action Redirect 
- If set, the request is directed as configured by this field. Structure is documented below.
- RequestHeader HttpModifier Route Rule Action Request Header Modifier 
- The specification for modifying the headers of a matching request prior to delivery of the request to the destination. Structure is documented below.
- RequestMirror HttpPolicy Route Rule Action Request Mirror Policy 
- Specifies the policy on how requests intended for the routes destination are shadowed to a separate mirrored destination. Structure is documented below.
- ResponseHeader HttpModifier Route Rule Action Response Header Modifier 
- The specification for modifying the headers of a response prior to sending the response back to the client. Structure is documented below.
- RetryPolicy HttpRoute Rule Action Retry Policy 
- Specifies the retry policy associated with this route. Structure is documented below.
- Timeout string
- Specifies the timeout for selected route.
- UrlRewrite HttpRoute Rule Action Url Rewrite 
- The specification for rewrite URL before forwarding requests to the destination. Structure is documented below.
- CorsPolicy HttpRoute Rule Action Cors Policy 
- The specification for allowing client side cross-origin requests. Structure is documented below.
- Destinations
[]HttpRoute Rule Action Destination 
- The destination to which traffic should be forwarded. Structure is documented below.
- FaultInjection HttpPolicy Route Rule Action Fault Injection Policy 
- The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. Structure is documented below.
- Redirect
HttpRoute Rule Action Redirect 
- If set, the request is directed as configured by this field. Structure is documented below.
- RequestHeader HttpModifier Route Rule Action Request Header Modifier 
- The specification for modifying the headers of a matching request prior to delivery of the request to the destination. Structure is documented below.
- RequestMirror HttpPolicy Route Rule Action Request Mirror Policy 
- Specifies the policy on how requests intended for the routes destination are shadowed to a separate mirrored destination. Structure is documented below.
- ResponseHeader HttpModifier Route Rule Action Response Header Modifier 
- The specification for modifying the headers of a response prior to sending the response back to the client. Structure is documented below.
- RetryPolicy HttpRoute Rule Action Retry Policy 
- Specifies the retry policy associated with this route. Structure is documented below.
- Timeout string
- Specifies the timeout for selected route.
- UrlRewrite HttpRoute Rule Action Url Rewrite 
- The specification for rewrite URL before forwarding requests to the destination. Structure is documented below.
- corsPolicy HttpRoute Rule Action Cors Policy 
- The specification for allowing client side cross-origin requests. Structure is documented below.
- destinations
List<HttpRoute Rule Action Destination> 
- The destination to which traffic should be forwarded. Structure is documented below.
- faultInjection HttpPolicy Route Rule Action Fault Injection Policy 
- The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. Structure is documented below.
- redirect
HttpRoute Rule Action Redirect 
- If set, the request is directed as configured by this field. Structure is documented below.
- requestHeader HttpModifier Route Rule Action Request Header Modifier 
- The specification for modifying the headers of a matching request prior to delivery of the request to the destination. Structure is documented below.
- requestMirror HttpPolicy Route Rule Action Request Mirror Policy 
- Specifies the policy on how requests intended for the routes destination are shadowed to a separate mirrored destination. Structure is documented below.
- responseHeader HttpModifier Route Rule Action Response Header Modifier 
- The specification for modifying the headers of a response prior to sending the response back to the client. Structure is documented below.
- retryPolicy HttpRoute Rule Action Retry Policy 
- Specifies the retry policy associated with this route. Structure is documented below.
- timeout String
- Specifies the timeout for selected route.
- urlRewrite HttpRoute Rule Action Url Rewrite 
- The specification for rewrite URL before forwarding requests to the destination. Structure is documented below.
- corsPolicy HttpRoute Rule Action Cors Policy 
- The specification for allowing client side cross-origin requests. Structure is documented below.
- destinations
HttpRoute Rule Action Destination[] 
- The destination to which traffic should be forwarded. Structure is documented below.
- faultInjection HttpPolicy Route Rule Action Fault Injection Policy 
- The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. Structure is documented below.
- redirect
HttpRoute Rule Action Redirect 
- If set, the request is directed as configured by this field. Structure is documented below.
- requestHeader HttpModifier Route Rule Action Request Header Modifier 
- The specification for modifying the headers of a matching request prior to delivery of the request to the destination. Structure is documented below.
- requestMirror HttpPolicy Route Rule Action Request Mirror Policy 
- Specifies the policy on how requests intended for the routes destination are shadowed to a separate mirrored destination. Structure is documented below.
- responseHeader HttpModifier Route Rule Action Response Header Modifier 
- The specification for modifying the headers of a response prior to sending the response back to the client. Structure is documented below.
- retryPolicy HttpRoute Rule Action Retry Policy 
- Specifies the retry policy associated with this route. Structure is documented below.
- timeout string
- Specifies the timeout for selected route.
- urlRewrite HttpRoute Rule Action Url Rewrite 
- The specification for rewrite URL before forwarding requests to the destination. Structure is documented below.
- cors_policy HttpRoute Rule Action Cors Policy 
- The specification for allowing client side cross-origin requests. Structure is documented below.
- destinations
Sequence[HttpRoute Rule Action Destination] 
- The destination to which traffic should be forwarded. Structure is documented below.
- fault_injection_ Httppolicy Route Rule Action Fault Injection Policy 
- The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. Structure is documented below.
- redirect
HttpRoute Rule Action Redirect 
- If set, the request is directed as configured by this field. Structure is documented below.
- request_header_ Httpmodifier Route Rule Action Request Header Modifier 
- The specification for modifying the headers of a matching request prior to delivery of the request to the destination. Structure is documented below.
- request_mirror_ Httppolicy Route Rule Action Request Mirror Policy 
- Specifies the policy on how requests intended for the routes destination are shadowed to a separate mirrored destination. Structure is documented below.
- response_header_ Httpmodifier Route Rule Action Response Header Modifier 
- The specification for modifying the headers of a response prior to sending the response back to the client. Structure is documented below.
- retry_policy HttpRoute Rule Action Retry Policy 
- Specifies the retry policy associated with this route. Structure is documented below.
- timeout str
- Specifies the timeout for selected route.
- url_rewrite HttpRoute Rule Action Url Rewrite 
- The specification for rewrite URL before forwarding requests to the destination. Structure is documented below.
- corsPolicy Property Map
- The specification for allowing client side cross-origin requests. Structure is documented below.
- destinations List<Property Map>
- The destination to which traffic should be forwarded. Structure is documented below.
- faultInjection Property MapPolicy 
- The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. Structure is documented below.
- redirect Property Map
- If set, the request is directed as configured by this field. Structure is documented below.
- requestHeader Property MapModifier 
- The specification for modifying the headers of a matching request prior to delivery of the request to the destination. Structure is documented below.
- requestMirror Property MapPolicy 
- Specifies the policy on how requests intended for the routes destination are shadowed to a separate mirrored destination. Structure is documented below.
- responseHeader Property MapModifier 
- The specification for modifying the headers of a response prior to sending the response back to the client. Structure is documented below.
- retryPolicy Property Map
- Specifies the retry policy associated with this route. Structure is documented below.
- timeout String
- Specifies the timeout for selected route.
- urlRewrite Property Map
- The specification for rewrite URL before forwarding requests to the destination. Structure is documented below.
HttpRouteRuleActionCorsPolicy, HttpRouteRuleActionCorsPolicyArgs            
- AllowCredentials bool
- In response to a preflight request, setting this to true indicates that the actual request can include user credentials.
- AllowHeaders List<string>
- Specifies the content for Access-Control-Allow-Headers header.
- AllowMethods List<string>
- Specifies the content for Access-Control-Allow-Methods header.
- AllowOrigin List<string>Regexes 
- Specifies the regular expression patterns that match allowed origins.
- AllowOrigins List<string>
- Specifies the list of origins that will be allowed to do CORS requests.
- Disabled bool
- If true, the CORS policy is disabled. The default value is false, which indicates that the CORS policy is in effect.
- ExposeHeaders List<string>
- Specifies the content for Access-Control-Expose-Headers header.
- MaxAge string
- Specifies how long result of a preflight request can be cached in seconds.
- AllowCredentials bool
- In response to a preflight request, setting this to true indicates that the actual request can include user credentials.
- AllowHeaders []string
- Specifies the content for Access-Control-Allow-Headers header.
- AllowMethods []string
- Specifies the content for Access-Control-Allow-Methods header.
- AllowOrigin []stringRegexes 
- Specifies the regular expression patterns that match allowed origins.
- AllowOrigins []string
- Specifies the list of origins that will be allowed to do CORS requests.
- Disabled bool
- If true, the CORS policy is disabled. The default value is false, which indicates that the CORS policy is in effect.
- ExposeHeaders []string
- Specifies the content for Access-Control-Expose-Headers header.
- MaxAge string
- Specifies how long result of a preflight request can be cached in seconds.
- allowCredentials Boolean
- In response to a preflight request, setting this to true indicates that the actual request can include user credentials.
- allowHeaders List<String>
- Specifies the content for Access-Control-Allow-Headers header.
- allowMethods List<String>
- Specifies the content for Access-Control-Allow-Methods header.
- allowOrigin List<String>Regexes 
- Specifies the regular expression patterns that match allowed origins.
- allowOrigins List<String>
- Specifies the list of origins that will be allowed to do CORS requests.
- disabled Boolean
- If true, the CORS policy is disabled. The default value is false, which indicates that the CORS policy is in effect.
- exposeHeaders List<String>
- Specifies the content for Access-Control-Expose-Headers header.
- maxAge String
- Specifies how long result of a preflight request can be cached in seconds.
- allowCredentials boolean
- In response to a preflight request, setting this to true indicates that the actual request can include user credentials.
- allowHeaders string[]
- Specifies the content for Access-Control-Allow-Headers header.
- allowMethods string[]
- Specifies the content for Access-Control-Allow-Methods header.
- allowOrigin string[]Regexes 
- Specifies the regular expression patterns that match allowed origins.
- allowOrigins string[]
- Specifies the list of origins that will be allowed to do CORS requests.
- disabled boolean
- If true, the CORS policy is disabled. The default value is false, which indicates that the CORS policy is in effect.
- exposeHeaders string[]
- Specifies the content for Access-Control-Expose-Headers header.
- maxAge string
- Specifies how long result of a preflight request can be cached in seconds.
- allow_credentials bool
- In response to a preflight request, setting this to true indicates that the actual request can include user credentials.
- allow_headers Sequence[str]
- Specifies the content for Access-Control-Allow-Headers header.
- allow_methods Sequence[str]
- Specifies the content for Access-Control-Allow-Methods header.
- allow_origin_ Sequence[str]regexes 
- Specifies the regular expression patterns that match allowed origins.
- allow_origins Sequence[str]
- Specifies the list of origins that will be allowed to do CORS requests.
- disabled bool
- If true, the CORS policy is disabled. The default value is false, which indicates that the CORS policy is in effect.
- expose_headers Sequence[str]
- Specifies the content for Access-Control-Expose-Headers header.
- max_age str
- Specifies how long result of a preflight request can be cached in seconds.
- allowCredentials Boolean
- In response to a preflight request, setting this to true indicates that the actual request can include user credentials.
- allowHeaders List<String>
- Specifies the content for Access-Control-Allow-Headers header.
- allowMethods List<String>
- Specifies the content for Access-Control-Allow-Methods header.
- allowOrigin List<String>Regexes 
- Specifies the regular expression patterns that match allowed origins.
- allowOrigins List<String>
- Specifies the list of origins that will be allowed to do CORS requests.
- disabled Boolean
- If true, the CORS policy is disabled. The default value is false, which indicates that the CORS policy is in effect.
- exposeHeaders List<String>
- Specifies the content for Access-Control-Expose-Headers header.
- maxAge String
- Specifies how long result of a preflight request can be cached in seconds.
HttpRouteRuleActionDestination, HttpRouteRuleActionDestinationArgs          
- ServiceName string
- The URL of a BackendService to route traffic to.
- Weight int
- Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
- ServiceName string
- The URL of a BackendService to route traffic to.
- Weight int
- Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
- serviceName String
- The URL of a BackendService to route traffic to.
- weight Integer
- Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
- serviceName string
- The URL of a BackendService to route traffic to.
- weight number
- Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
- service_name str
- The URL of a BackendService to route traffic to.
- weight int
- Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
- serviceName String
- The URL of a BackendService to route traffic to.
- weight Number
- Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
HttpRouteRuleActionFaultInjectionPolicy, HttpRouteRuleActionFaultInjectionPolicyArgs              
- Abort
HttpRoute Rule Action Fault Injection Policy Abort 
- Specification of how client requests are aborted as part of fault injection before being sent to a destination. Structure is documented below.
- Delay
HttpRoute Rule Action Fault Injection Policy Delay 
- Specification of how client requests are delayed as part of fault injection before being sent to a destination. Structure is documented below.
- Abort
HttpRoute Rule Action Fault Injection Policy Abort 
- Specification of how client requests are aborted as part of fault injection before being sent to a destination. Structure is documented below.
- Delay
HttpRoute Rule Action Fault Injection Policy Delay 
- Specification of how client requests are delayed as part of fault injection before being sent to a destination. Structure is documented below.
- abort
HttpRoute Rule Action Fault Injection Policy Abort 
- Specification of how client requests are aborted as part of fault injection before being sent to a destination. Structure is documented below.
- delay
HttpRoute Rule Action Fault Injection Policy Delay 
- Specification of how client requests are delayed as part of fault injection before being sent to a destination. Structure is documented below.
- abort
HttpRoute Rule Action Fault Injection Policy Abort 
- Specification of how client requests are aborted as part of fault injection before being sent to a destination. Structure is documented below.
- delay
HttpRoute Rule Action Fault Injection Policy Delay 
- Specification of how client requests are delayed as part of fault injection before being sent to a destination. Structure is documented below.
- abort
HttpRoute Rule Action Fault Injection Policy Abort 
- Specification of how client requests are aborted as part of fault injection before being sent to a destination. Structure is documented below.
- delay
HttpRoute Rule Action Fault Injection Policy Delay 
- Specification of how client requests are delayed as part of fault injection before being sent to a destination. Structure is documented below.
- abort Property Map
- Specification of how client requests are aborted as part of fault injection before being sent to a destination. Structure is documented below.
- delay Property Map
- Specification of how client requests are delayed as part of fault injection before being sent to a destination. Structure is documented below.
HttpRouteRuleActionFaultInjectionPolicyAbort, HttpRouteRuleActionFaultInjectionPolicyAbortArgs                
- HttpStatus int
- The HTTP status code used to abort the request.
- Percentage int
- The percentage of traffic which will be aborted.
- HttpStatus int
- The HTTP status code used to abort the request.
- Percentage int
- The percentage of traffic which will be aborted.
- httpStatus Integer
- The HTTP status code used to abort the request.
- percentage Integer
- The percentage of traffic which will be aborted.
- httpStatus number
- The HTTP status code used to abort the request.
- percentage number
- The percentage of traffic which will be aborted.
- http_status int
- The HTTP status code used to abort the request.
- percentage int
- The percentage of traffic which will be aborted.
- httpStatus Number
- The HTTP status code used to abort the request.
- percentage Number
- The percentage of traffic which will be aborted.
HttpRouteRuleActionFaultInjectionPolicyDelay, HttpRouteRuleActionFaultInjectionPolicyDelayArgs                
- FixedDelay string
- Specify a fixed delay before forwarding the request.
- Percentage int
- The percentage of traffic on which delay will be injected.
- FixedDelay string
- Specify a fixed delay before forwarding the request.
- Percentage int
- The percentage of traffic on which delay will be injected.
- fixedDelay String
- Specify a fixed delay before forwarding the request.
- percentage Integer
- The percentage of traffic on which delay will be injected.
- fixedDelay string
- Specify a fixed delay before forwarding the request.
- percentage number
- The percentage of traffic on which delay will be injected.
- fixed_delay str
- Specify a fixed delay before forwarding the request.
- percentage int
- The percentage of traffic on which delay will be injected.
- fixedDelay String
- Specify a fixed delay before forwarding the request.
- percentage Number
- The percentage of traffic on which delay will be injected.
HttpRouteRuleActionRedirect, HttpRouteRuleActionRedirectArgs          
- HostRedirect string
- The host that will be used in the redirect response instead of the one that was supplied in the request.
- HttpsRedirect bool
- If set to true, the URL scheme in the redirected request is set to https.
- PathRedirect string
- The path that will be used in the redirect response instead of the one that was supplied in the request. pathRedirect can not be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect.
- PortRedirect int
- The port that will be used in the redirected request instead of the one that was supplied in the request.
- PrefixRewrite string
- Indicates that during redirection, the matched prefix (or path) should be swapped with this value.
- ResponseCode string
- The HTTP Status code to use for the redirect.
- StripQuery bool
- If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.
- HostRedirect string
- The host that will be used in the redirect response instead of the one that was supplied in the request.
- HttpsRedirect bool
- If set to true, the URL scheme in the redirected request is set to https.
- PathRedirect string
- The path that will be used in the redirect response instead of the one that was supplied in the request. pathRedirect can not be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect.
- PortRedirect int
- The port that will be used in the redirected request instead of the one that was supplied in the request.
- PrefixRewrite string
- Indicates that during redirection, the matched prefix (or path) should be swapped with this value.
- ResponseCode string
- The HTTP Status code to use for the redirect.
- StripQuery bool
- If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.
- hostRedirect String
- The host that will be used in the redirect response instead of the one that was supplied in the request.
- httpsRedirect Boolean
- If set to true, the URL scheme in the redirected request is set to https.
- pathRedirect String
- The path that will be used in the redirect response instead of the one that was supplied in the request. pathRedirect can not be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect.
- portRedirect Integer
- The port that will be used in the redirected request instead of the one that was supplied in the request.
- prefixRewrite String
- Indicates that during redirection, the matched prefix (or path) should be swapped with this value.
- responseCode String
- The HTTP Status code to use for the redirect.
- stripQuery Boolean
- If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.
- hostRedirect string
- The host that will be used in the redirect response instead of the one that was supplied in the request.
- httpsRedirect boolean
- If set to true, the URL scheme in the redirected request is set to https.
- pathRedirect string
- The path that will be used in the redirect response instead of the one that was supplied in the request. pathRedirect can not be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect.
- portRedirect number
- The port that will be used in the redirected request instead of the one that was supplied in the request.
- prefixRewrite string
- Indicates that during redirection, the matched prefix (or path) should be swapped with this value.
- responseCode string
- The HTTP Status code to use for the redirect.
- stripQuery boolean
- If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.
- host_redirect str
- The host that will be used in the redirect response instead of the one that was supplied in the request.
- https_redirect bool
- If set to true, the URL scheme in the redirected request is set to https.
- path_redirect str
- The path that will be used in the redirect response instead of the one that was supplied in the request. pathRedirect can not be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect.
- port_redirect int
- The port that will be used in the redirected request instead of the one that was supplied in the request.
- prefix_rewrite str
- Indicates that during redirection, the matched prefix (or path) should be swapped with this value.
- response_code str
- The HTTP Status code to use for the redirect.
- strip_query bool
- If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.
- hostRedirect String
- The host that will be used in the redirect response instead of the one that was supplied in the request.
- httpsRedirect Boolean
- If set to true, the URL scheme in the redirected request is set to https.
- pathRedirect String
- The path that will be used in the redirect response instead of the one that was supplied in the request. pathRedirect can not be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect.
- portRedirect Number
- The port that will be used in the redirected request instead of the one that was supplied in the request.
- prefixRewrite String
- Indicates that during redirection, the matched prefix (or path) should be swapped with this value.
- responseCode String
- The HTTP Status code to use for the redirect.
- stripQuery Boolean
- If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.
HttpRouteRuleActionRequestHeaderModifier, HttpRouteRuleActionRequestHeaderModifierArgs              
- Add Dictionary<string, string>
- Add the headers with given map where key is the name of the header, value is the value of the header.
- Removes List<string>
- Remove headers (matching by header names) specified in the list.
- Set Dictionary<string, string>
- Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
- Add map[string]string
- Add the headers with given map where key is the name of the header, value is the value of the header.
- Removes []string
- Remove headers (matching by header names) specified in the list.
- Set map[string]string
- Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
- add Map<String,String>
- Add the headers with given map where key is the name of the header, value is the value of the header.
- removes List<String>
- Remove headers (matching by header names) specified in the list.
- set Map<String,String>
- Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
- add {[key: string]: string}
- Add the headers with given map where key is the name of the header, value is the value of the header.
- removes string[]
- Remove headers (matching by header names) specified in the list.
- set {[key: string]: string}
- Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
- add Mapping[str, str]
- Add the headers with given map where key is the name of the header, value is the value of the header.
- removes Sequence[str]
- Remove headers (matching by header names) specified in the list.
- set Mapping[str, str]
- Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
- add Map<String>
- Add the headers with given map where key is the name of the header, value is the value of the header.
- removes List<String>
- Remove headers (matching by header names) specified in the list.
- set Map<String>
- Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
HttpRouteRuleActionRequestMirrorPolicy, HttpRouteRuleActionRequestMirrorPolicyArgs              
- Destination
HttpRoute Rule Action Request Mirror Policy Destination 
- The destination the requests will be mirrored to. Structure is documented below.
- Destination
HttpRoute Rule Action Request Mirror Policy Destination 
- The destination the requests will be mirrored to. Structure is documented below.
- destination
HttpRoute Rule Action Request Mirror Policy Destination 
- The destination the requests will be mirrored to. Structure is documented below.
- destination
HttpRoute Rule Action Request Mirror Policy Destination 
- The destination the requests will be mirrored to. Structure is documented below.
- destination
HttpRoute Rule Action Request Mirror Policy Destination 
- The destination the requests will be mirrored to. Structure is documented below.
- destination Property Map
- The destination the requests will be mirrored to. Structure is documented below.
HttpRouteRuleActionRequestMirrorPolicyDestination, HttpRouteRuleActionRequestMirrorPolicyDestinationArgs                
- ServiceName string
- The URL of a BackendService to route traffic to.
- Weight int
- Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
- ServiceName string
- The URL of a BackendService to route traffic to.
- Weight int
- Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
- serviceName String
- The URL of a BackendService to route traffic to.
- weight Integer
- Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
- serviceName string
- The URL of a BackendService to route traffic to.
- weight number
- Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
- service_name str
- The URL of a BackendService to route traffic to.
- weight int
- Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
- serviceName String
- The URL of a BackendService to route traffic to.
- weight Number
- Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
HttpRouteRuleActionResponseHeaderModifier, HttpRouteRuleActionResponseHeaderModifierArgs              
- Add Dictionary<string, string>
- Add the headers with given map where key is the name of the header, value is the value of the header.
- Removes List<string>
- Remove headers (matching by header names) specified in the list.
- Set Dictionary<string, string>
- Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
- Add map[string]string
- Add the headers with given map where key is the name of the header, value is the value of the header.
- Removes []string
- Remove headers (matching by header names) specified in the list.
- Set map[string]string
- Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
- add Map<String,String>
- Add the headers with given map where key is the name of the header, value is the value of the header.
- removes List<String>
- Remove headers (matching by header names) specified in the list.
- set Map<String,String>
- Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
- add {[key: string]: string}
- Add the headers with given map where key is the name of the header, value is the value of the header.
- removes string[]
- Remove headers (matching by header names) specified in the list.
- set {[key: string]: string}
- Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
- add Mapping[str, str]
- Add the headers with given map where key is the name of the header, value is the value of the header.
- removes Sequence[str]
- Remove headers (matching by header names) specified in the list.
- set Mapping[str, str]
- Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
- add Map<String>
- Add the headers with given map where key is the name of the header, value is the value of the header.
- removes List<String>
- Remove headers (matching by header names) specified in the list.
- set Map<String>
- Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
HttpRouteRuleActionRetryPolicy, HttpRouteRuleActionRetryPolicyArgs            
- NumRetries int
- Specifies the allowed number of retries.
- PerTry stringTimeout 
- Specifies a non-zero timeout per retry attempt. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
- RetryConditions List<string>
- Specifies one or more conditions when this retry policy applies.
- NumRetries int
- Specifies the allowed number of retries.
- PerTry stringTimeout 
- Specifies a non-zero timeout per retry attempt. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
- RetryConditions []string
- Specifies one or more conditions when this retry policy applies.
- numRetries Integer
- Specifies the allowed number of retries.
- perTry StringTimeout 
- Specifies a non-zero timeout per retry attempt. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
- retryConditions List<String>
- Specifies one or more conditions when this retry policy applies.
- numRetries number
- Specifies the allowed number of retries.
- perTry stringTimeout 
- Specifies a non-zero timeout per retry attempt. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
- retryConditions string[]
- Specifies one or more conditions when this retry policy applies.
- num_retries int
- Specifies the allowed number of retries.
- per_try_ strtimeout 
- Specifies a non-zero timeout per retry attempt. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
- retry_conditions Sequence[str]
- Specifies one or more conditions when this retry policy applies.
- numRetries Number
- Specifies the allowed number of retries.
- perTry StringTimeout 
- Specifies a non-zero timeout per retry attempt. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
- retryConditions List<String>
- Specifies one or more conditions when this retry policy applies.
HttpRouteRuleActionUrlRewrite, HttpRouteRuleActionUrlRewriteArgs            
- HostRewrite string
- Prior to forwarding the request to the selected destination, the requests host header is replaced by this value.
- PathPrefix stringRewrite 
- Prior to forwarding the request to the selected destination, the matching portion of the requests path is replaced by this value.
- HostRewrite string
- Prior to forwarding the request to the selected destination, the requests host header is replaced by this value.
- PathPrefix stringRewrite 
- Prior to forwarding the request to the selected destination, the matching portion of the requests path is replaced by this value.
- hostRewrite String
- Prior to forwarding the request to the selected destination, the requests host header is replaced by this value.
- pathPrefix StringRewrite 
- Prior to forwarding the request to the selected destination, the matching portion of the requests path is replaced by this value.
- hostRewrite string
- Prior to forwarding the request to the selected destination, the requests host header is replaced by this value.
- pathPrefix stringRewrite 
- Prior to forwarding the request to the selected destination, the matching portion of the requests path is replaced by this value.
- host_rewrite str
- Prior to forwarding the request to the selected destination, the requests host header is replaced by this value.
- path_prefix_ strrewrite 
- Prior to forwarding the request to the selected destination, the matching portion of the requests path is replaced by this value.
- hostRewrite String
- Prior to forwarding the request to the selected destination, the requests host header is replaced by this value.
- pathPrefix StringRewrite 
- Prior to forwarding the request to the selected destination, the matching portion of the requests path is replaced by this value.
HttpRouteRuleMatch, HttpRouteRuleMatchArgs        
- FullPath stringMatch 
- The HTTP request path value should exactly match this value.
- Headers
List<HttpRoute Rule Match Header> 
- Specifies a list of HTTP request headers to match against. Structure is documented below.
- IgnoreCase bool
- Specifies if prefixMatch and fullPathMatch matches are case sensitive. The default value is false.
- PrefixMatch string
- The HTTP request path value must begin with specified prefixMatch. prefixMatch must begin with a /.
- QueryParameters List<HttpRoute Rule Match Query Parameter> 
- Specifies a list of query parameters to match against. Structure is documented below.
- RegexMatch string
- The HTTP request path value must satisfy the regular expression specified by regexMatch after removing any query parameters and anchor supplied with the original URL. For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
- FullPath stringMatch 
- The HTTP request path value should exactly match this value.
- Headers
[]HttpRoute Rule Match Header 
- Specifies a list of HTTP request headers to match against. Structure is documented below.
- IgnoreCase bool
- Specifies if prefixMatch and fullPathMatch matches are case sensitive. The default value is false.
- PrefixMatch string
- The HTTP request path value must begin with specified prefixMatch. prefixMatch must begin with a /.
- QueryParameters []HttpRoute Rule Match Query Parameter 
- Specifies a list of query parameters to match against. Structure is documented below.
- RegexMatch string
- The HTTP request path value must satisfy the regular expression specified by regexMatch after removing any query parameters and anchor supplied with the original URL. For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
- fullPath StringMatch 
- The HTTP request path value should exactly match this value.
- headers
List<HttpRoute Rule Match Header> 
- Specifies a list of HTTP request headers to match against. Structure is documented below.
- ignoreCase Boolean
- Specifies if prefixMatch and fullPathMatch matches are case sensitive. The default value is false.
- prefixMatch String
- The HTTP request path value must begin with specified prefixMatch. prefixMatch must begin with a /.
- queryParameters List<HttpRoute Rule Match Query Parameter> 
- Specifies a list of query parameters to match against. Structure is documented below.
- regexMatch String
- The HTTP request path value must satisfy the regular expression specified by regexMatch after removing any query parameters and anchor supplied with the original URL. For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
- fullPath stringMatch 
- The HTTP request path value should exactly match this value.
- headers
HttpRoute Rule Match Header[] 
- Specifies a list of HTTP request headers to match against. Structure is documented below.
- ignoreCase boolean
- Specifies if prefixMatch and fullPathMatch matches are case sensitive. The default value is false.
- prefixMatch string
- The HTTP request path value must begin with specified prefixMatch. prefixMatch must begin with a /.
- queryParameters HttpRoute Rule Match Query Parameter[] 
- Specifies a list of query parameters to match against. Structure is documented below.
- regexMatch string
- The HTTP request path value must satisfy the regular expression specified by regexMatch after removing any query parameters and anchor supplied with the original URL. For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
- full_path_ strmatch 
- The HTTP request path value should exactly match this value.
- headers
Sequence[HttpRoute Rule Match Header] 
- Specifies a list of HTTP request headers to match against. Structure is documented below.
- ignore_case bool
- Specifies if prefixMatch and fullPathMatch matches are case sensitive. The default value is false.
- prefix_match str
- The HTTP request path value must begin with specified prefixMatch. prefixMatch must begin with a /.
- query_parameters Sequence[HttpRoute Rule Match Query Parameter] 
- Specifies a list of query parameters to match against. Structure is documented below.
- regex_match str
- The HTTP request path value must satisfy the regular expression specified by regexMatch after removing any query parameters and anchor supplied with the original URL. For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
- fullPath StringMatch 
- The HTTP request path value should exactly match this value.
- headers List<Property Map>
- Specifies a list of HTTP request headers to match against. Structure is documented below.
- ignoreCase Boolean
- Specifies if prefixMatch and fullPathMatch matches are case sensitive. The default value is false.
- prefixMatch String
- The HTTP request path value must begin with specified prefixMatch. prefixMatch must begin with a /.
- queryParameters List<Property Map>
- Specifies a list of query parameters to match against. Structure is documented below.
- regexMatch String
- The HTTP request path value must satisfy the regular expression specified by regexMatch after removing any query parameters and anchor supplied with the original URL. For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
HttpRouteRuleMatchHeader, HttpRouteRuleMatchHeaderArgs          
- ExactMatch string
- The value of the header should match exactly the content of exactMatch.
- Header string
- The name of the HTTP header to match against.
- InvertMatch bool
- If specified, the match result will be inverted before checking. Default value is set to false.
- PrefixMatch string
- The value of the header must start with the contents of prefixMatch.
- PresentMatch bool
- A header with headerName must exist. The match takes place whether or not the header has a value.
- RangeMatch HttpRoute Rule Match Header Range Match 
- If specified, the rule will match if the request header value is within the range. Structure is documented below.
- RegexMatch string
- The value of the header must match the regular expression specified in regexMatch.
- SuffixMatch string
- The value of the header must end with the contents of suffixMatch.
- ExactMatch string
- The value of the header should match exactly the content of exactMatch.
- Header string
- The name of the HTTP header to match against.
- InvertMatch bool
- If specified, the match result will be inverted before checking. Default value is set to false.
- PrefixMatch string
- The value of the header must start with the contents of prefixMatch.
- PresentMatch bool
- A header with headerName must exist. The match takes place whether or not the header has a value.
- RangeMatch HttpRoute Rule Match Header Range Match 
- If specified, the rule will match if the request header value is within the range. Structure is documented below.
- RegexMatch string
- The value of the header must match the regular expression specified in regexMatch.
- SuffixMatch string
- The value of the header must end with the contents of suffixMatch.
- exactMatch String
- The value of the header should match exactly the content of exactMatch.
- header String
- The name of the HTTP header to match against.
- invertMatch Boolean
- If specified, the match result will be inverted before checking. Default value is set to false.
- prefixMatch String
- The value of the header must start with the contents of prefixMatch.
- presentMatch Boolean
- A header with headerName must exist. The match takes place whether or not the header has a value.
- rangeMatch HttpRoute Rule Match Header Range Match 
- If specified, the rule will match if the request header value is within the range. Structure is documented below.
- regexMatch String
- The value of the header must match the regular expression specified in regexMatch.
- suffixMatch String
- The value of the header must end with the contents of suffixMatch.
- exactMatch string
- The value of the header should match exactly the content of exactMatch.
- header string
- The name of the HTTP header to match against.
- invertMatch boolean
- If specified, the match result will be inverted before checking. Default value is set to false.
- prefixMatch string
- The value of the header must start with the contents of prefixMatch.
- presentMatch boolean
- A header with headerName must exist. The match takes place whether or not the header has a value.
- rangeMatch HttpRoute Rule Match Header Range Match 
- If specified, the rule will match if the request header value is within the range. Structure is documented below.
- regexMatch string
- The value of the header must match the regular expression specified in regexMatch.
- suffixMatch string
- The value of the header must end with the contents of suffixMatch.
- exact_match str
- The value of the header should match exactly the content of exactMatch.
- header str
- The name of the HTTP header to match against.
- invert_match bool
- If specified, the match result will be inverted before checking. Default value is set to false.
- prefix_match str
- The value of the header must start with the contents of prefixMatch.
- present_match bool
- A header with headerName must exist. The match takes place whether or not the header has a value.
- range_match HttpRoute Rule Match Header Range Match 
- If specified, the rule will match if the request header value is within the range. Structure is documented below.
- regex_match str
- The value of the header must match the regular expression specified in regexMatch.
- suffix_match str
- The value of the header must end with the contents of suffixMatch.
- exactMatch String
- The value of the header should match exactly the content of exactMatch.
- header String
- The name of the HTTP header to match against.
- invertMatch Boolean
- If specified, the match result will be inverted before checking. Default value is set to false.
- prefixMatch String
- The value of the header must start with the contents of prefixMatch.
- presentMatch Boolean
- A header with headerName must exist. The match takes place whether or not the header has a value.
- rangeMatch Property Map
- If specified, the rule will match if the request header value is within the range. Structure is documented below.
- regexMatch String
- The value of the header must match the regular expression specified in regexMatch.
- suffixMatch String
- The value of the header must end with the contents of suffixMatch.
HttpRouteRuleMatchHeaderRangeMatch, HttpRouteRuleMatchHeaderRangeMatchArgs              
HttpRouteRuleMatchQueryParameter, HttpRouteRuleMatchQueryParameterArgs            
- ExactMatch string
- The value of the query parameter must exactly match the contents of exactMatch.
- PresentMatch bool
- Specifies that the QueryParameterMatcher matches if request contains query parameter, irrespective of whether the parameter has a value or not.
- QueryParameter string
- The name of the query parameter to match.
- RegexMatch string
- The value of the query parameter must match the regular expression specified by regexMatch.For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
- ExactMatch string
- The value of the query parameter must exactly match the contents of exactMatch.
- PresentMatch bool
- Specifies that the QueryParameterMatcher matches if request contains query parameter, irrespective of whether the parameter has a value or not.
- QueryParameter string
- The name of the query parameter to match.
- RegexMatch string
- The value of the query parameter must match the regular expression specified by regexMatch.For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
- exactMatch String
- The value of the query parameter must exactly match the contents of exactMatch.
- presentMatch Boolean
- Specifies that the QueryParameterMatcher matches if request contains query parameter, irrespective of whether the parameter has a value or not.
- queryParameter String
- The name of the query parameter to match.
- regexMatch String
- The value of the query parameter must match the regular expression specified by regexMatch.For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
- exactMatch string
- The value of the query parameter must exactly match the contents of exactMatch.
- presentMatch boolean
- Specifies that the QueryParameterMatcher matches if request contains query parameter, irrespective of whether the parameter has a value or not.
- queryParameter string
- The name of the query parameter to match.
- regexMatch string
- The value of the query parameter must match the regular expression specified by regexMatch.For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
- exact_match str
- The value of the query parameter must exactly match the contents of exactMatch.
- present_match bool
- Specifies that the QueryParameterMatcher matches if request contains query parameter, irrespective of whether the parameter has a value or not.
- query_parameter str
- The name of the query parameter to match.
- regex_match str
- The value of the query parameter must match the regular expression specified by regexMatch.For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
- exactMatch String
- The value of the query parameter must exactly match the contents of exactMatch.
- presentMatch Boolean
- Specifies that the QueryParameterMatcher matches if request contains query parameter, irrespective of whether the parameter has a value or not.
- queryParameter String
- The name of the query parameter to match.
- regexMatch String
- The value of the query parameter must match the regular expression specified by regexMatch.For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
Import
HttpRoute can be imported using any of these accepted formats:
- projects/{{project}}/locations/global/httpRoutes/{{name}}
- {{project}}/{{name}}
- {{name}}
When using the pulumi import command, HttpRoute can be imported using one of the formats above. For example:
$ pulumi import gcp:networkservices/httpRoute:HttpRoute default projects/{{project}}/locations/global/httpRoutes/{{name}}
$ pulumi import gcp:networkservices/httpRoute:HttpRoute default {{project}}/{{name}}
$ pulumi import gcp:networkservices/httpRoute:HttpRoute default {{name}}
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Google Cloud (GCP) Classic pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the google-betaTerraform Provider.