1. Packages
  2. Google Cloud Native
  3. API Docs
  4. networkservices
  5. networkservices/v1
  6. GrpcRoute

Google Cloud Native is in preview. Google Cloud Classic is fully supported.

Google Cloud Native v0.32.0 published on Wednesday, Nov 29, 2023 by Pulumi

google-native.networkservices/v1.GrpcRoute

Explore with Pulumi AI

google-native logo

Google Cloud Native is in preview. Google Cloud Classic is fully supported.

Google Cloud Native v0.32.0 published on Wednesday, Nov 29, 2023 by Pulumi

    Creates a new GrpcRoute in a given project and location.

    Create GrpcRoute Resource

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

    Constructor syntax

    new GrpcRoute(name: string, args: GrpcRouteArgs, opts?: CustomResourceOptions);
    @overload
    def GrpcRoute(resource_name: str,
                  args: GrpcRouteArgs,
                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def GrpcRoute(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  grpc_route_id: Optional[str] = None,
                  hostnames: Optional[Sequence[str]] = None,
                  rules: Optional[Sequence[GrpcRouteRouteRuleArgs]] = None,
                  description: Optional[str] = None,
                  gateways: Optional[Sequence[str]] = None,
                  labels: Optional[Mapping[str, str]] = None,
                  location: Optional[str] = None,
                  meshes: Optional[Sequence[str]] = None,
                  name: Optional[str] = None,
                  project: Optional[str] = None)
    func NewGrpcRoute(ctx *Context, name string, args GrpcRouteArgs, opts ...ResourceOption) (*GrpcRoute, error)
    public GrpcRoute(string name, GrpcRouteArgs args, CustomResourceOptions? opts = null)
    public GrpcRoute(String name, GrpcRouteArgs args)
    public GrpcRoute(String name, GrpcRouteArgs args, CustomResourceOptions options)
    
    type: google-native:networkservices/v1:GrpcRoute
    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 GrpcRouteArgs
    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 GrpcRouteArgs
    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 GrpcRouteArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args GrpcRouteArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args GrpcRouteArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

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

    var grpcRouteResource = new GoogleNative.NetworkServices.V1.GrpcRoute("grpcRouteResource", new()
    {
        GrpcRouteId = "string",
        Hostnames = new[]
        {
            "string",
        },
        Rules = new[]
        {
            new GoogleNative.NetworkServices.V1.Inputs.GrpcRouteRouteRuleArgs
            {
                Action = new GoogleNative.NetworkServices.V1.Inputs.GrpcRouteRouteActionArgs
                {
                    Destinations = new[]
                    {
                        new GoogleNative.NetworkServices.V1.Inputs.GrpcRouteDestinationArgs
                        {
                            ServiceName = "string",
                            Weight = 0,
                        },
                    },
                    FaultInjectionPolicy = new GoogleNative.NetworkServices.V1.Inputs.GrpcRouteFaultInjectionPolicyArgs
                    {
                        Abort = new GoogleNative.NetworkServices.V1.Inputs.GrpcRouteFaultInjectionPolicyAbortArgs
                        {
                            HttpStatus = 0,
                            Percentage = 0,
                        },
                        Delay = new GoogleNative.NetworkServices.V1.Inputs.GrpcRouteFaultInjectionPolicyDelayArgs
                        {
                            FixedDelay = "string",
                            Percentage = 0,
                        },
                    },
                    RetryPolicy = new GoogleNative.NetworkServices.V1.Inputs.GrpcRouteRetryPolicyArgs
                    {
                        NumRetries = 0,
                        RetryConditions = new[]
                        {
                            "string",
                        },
                    },
                    StatefulSessionAffinity = new GoogleNative.NetworkServices.V1.Inputs.GrpcRouteStatefulSessionAffinityPolicyArgs
                    {
                        CookieTtl = "string",
                    },
                    Timeout = "string",
                },
                Matches = new[]
                {
                    new GoogleNative.NetworkServices.V1.Inputs.GrpcRouteRouteMatchArgs
                    {
                        Headers = new[]
                        {
                            new GoogleNative.NetworkServices.V1.Inputs.GrpcRouteHeaderMatchArgs
                            {
                                Key = "string",
                                Value = "string",
                                Type = GoogleNative.NetworkServices.V1.GrpcRouteHeaderMatchType.TypeUnspecified,
                            },
                        },
                        Method = new GoogleNative.NetworkServices.V1.Inputs.GrpcRouteMethodMatchArgs
                        {
                            GrpcMethod = "string",
                            GrpcService = "string",
                            CaseSensitive = false,
                            Type = GoogleNative.NetworkServices.V1.GrpcRouteMethodMatchType.TypeUnspecified,
                        },
                    },
                },
            },
        },
        Description = "string",
        Gateways = new[]
        {
            "string",
        },
        Labels = 
        {
            { "string", "string" },
        },
        Location = "string",
        Meshes = new[]
        {
            "string",
        },
        Name = "string",
        Project = "string",
    });
    
    example, err := networkservices.NewGrpcRoute(ctx, "grpcRouteResource", &networkservices.GrpcRouteArgs{
    GrpcRouteId: pulumi.String("string"),
    Hostnames: pulumi.StringArray{
    pulumi.String("string"),
    },
    Rules: networkservices.GrpcRouteRouteRuleArray{
    &networkservices.GrpcRouteRouteRuleArgs{
    Action: &networkservices.GrpcRouteRouteActionArgs{
    Destinations: networkservices.GrpcRouteDestinationArray{
    &networkservices.GrpcRouteDestinationArgs{
    ServiceName: pulumi.String("string"),
    Weight: pulumi.Int(0),
    },
    },
    FaultInjectionPolicy: &networkservices.GrpcRouteFaultInjectionPolicyArgs{
    Abort: &networkservices.GrpcRouteFaultInjectionPolicyAbortArgs{
    HttpStatus: pulumi.Int(0),
    Percentage: pulumi.Int(0),
    },
    Delay: &networkservices.GrpcRouteFaultInjectionPolicyDelayArgs{
    FixedDelay: pulumi.String("string"),
    Percentage: pulumi.Int(0),
    },
    },
    RetryPolicy: &networkservices.GrpcRouteRetryPolicyArgs{
    NumRetries: pulumi.Int(0),
    RetryConditions: pulumi.StringArray{
    pulumi.String("string"),
    },
    },
    StatefulSessionAffinity: &networkservices.GrpcRouteStatefulSessionAffinityPolicyArgs{
    CookieTtl: pulumi.String("string"),
    },
    Timeout: pulumi.String("string"),
    },
    Matches: networkservices.GrpcRouteRouteMatchArray{
    &networkservices.GrpcRouteRouteMatchArgs{
    Headers: networkservices.GrpcRouteHeaderMatchArray{
    &networkservices.GrpcRouteHeaderMatchArgs{
    Key: pulumi.String("string"),
    Value: pulumi.String("string"),
    Type: networkservices.GrpcRouteHeaderMatchTypeTypeUnspecified,
    },
    },
    Method: &networkservices.GrpcRouteMethodMatchArgs{
    GrpcMethod: pulumi.String("string"),
    GrpcService: pulumi.String("string"),
    CaseSensitive: pulumi.Bool(false),
    Type: networkservices.GrpcRouteMethodMatchTypeTypeUnspecified,
    },
    },
    },
    },
    },
    Description: pulumi.String("string"),
    Gateways: pulumi.StringArray{
    pulumi.String("string"),
    },
    Labels: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    Location: pulumi.String("string"),
    Meshes: pulumi.StringArray{
    pulumi.String("string"),
    },
    Name: pulumi.String("string"),
    Project: pulumi.String("string"),
    })
    
    var grpcRouteResource = new GrpcRoute("grpcRouteResource", GrpcRouteArgs.builder()        
        .grpcRouteId("string")
        .hostnames("string")
        .rules(GrpcRouteRouteRuleArgs.builder()
            .action(GrpcRouteRouteActionArgs.builder()
                .destinations(GrpcRouteDestinationArgs.builder()
                    .serviceName("string")
                    .weight(0)
                    .build())
                .faultInjectionPolicy(GrpcRouteFaultInjectionPolicyArgs.builder()
                    .abort(GrpcRouteFaultInjectionPolicyAbortArgs.builder()
                        .httpStatus(0)
                        .percentage(0)
                        .build())
                    .delay(GrpcRouteFaultInjectionPolicyDelayArgs.builder()
                        .fixedDelay("string")
                        .percentage(0)
                        .build())
                    .build())
                .retryPolicy(GrpcRouteRetryPolicyArgs.builder()
                    .numRetries(0)
                    .retryConditions("string")
                    .build())
                .statefulSessionAffinity(GrpcRouteStatefulSessionAffinityPolicyArgs.builder()
                    .cookieTtl("string")
                    .build())
                .timeout("string")
                .build())
            .matches(GrpcRouteRouteMatchArgs.builder()
                .headers(GrpcRouteHeaderMatchArgs.builder()
                    .key("string")
                    .value("string")
                    .type("TYPE_UNSPECIFIED")
                    .build())
                .method(GrpcRouteMethodMatchArgs.builder()
                    .grpcMethod("string")
                    .grpcService("string")
                    .caseSensitive(false)
                    .type("TYPE_UNSPECIFIED")
                    .build())
                .build())
            .build())
        .description("string")
        .gateways("string")
        .labels(Map.of("string", "string"))
        .location("string")
        .meshes("string")
        .name("string")
        .project("string")
        .build());
    
    grpc_route_resource = google_native.networkservices.v1.GrpcRoute("grpcRouteResource",
        grpc_route_id="string",
        hostnames=["string"],
        rules=[google_native.networkservices.v1.GrpcRouteRouteRuleArgs(
            action=google_native.networkservices.v1.GrpcRouteRouteActionArgs(
                destinations=[google_native.networkservices.v1.GrpcRouteDestinationArgs(
                    service_name="string",
                    weight=0,
                )],
                fault_injection_policy=google_native.networkservices.v1.GrpcRouteFaultInjectionPolicyArgs(
                    abort=google_native.networkservices.v1.GrpcRouteFaultInjectionPolicyAbortArgs(
                        http_status=0,
                        percentage=0,
                    ),
                    delay=google_native.networkservices.v1.GrpcRouteFaultInjectionPolicyDelayArgs(
                        fixed_delay="string",
                        percentage=0,
                    ),
                ),
                retry_policy=google_native.networkservices.v1.GrpcRouteRetryPolicyArgs(
                    num_retries=0,
                    retry_conditions=["string"],
                ),
                stateful_session_affinity=google_native.networkservices.v1.GrpcRouteStatefulSessionAffinityPolicyArgs(
                    cookie_ttl="string",
                ),
                timeout="string",
            ),
            matches=[google_native.networkservices.v1.GrpcRouteRouteMatchArgs(
                headers=[google_native.networkservices.v1.GrpcRouteHeaderMatchArgs(
                    key="string",
                    value="string",
                    type=google_native.networkservices.v1.GrpcRouteHeaderMatchType.TYPE_UNSPECIFIED,
                )],
                method=google_native.networkservices.v1.GrpcRouteMethodMatchArgs(
                    grpc_method="string",
                    grpc_service="string",
                    case_sensitive=False,
                    type=google_native.networkservices.v1.GrpcRouteMethodMatchType.TYPE_UNSPECIFIED,
                ),
            )],
        )],
        description="string",
        gateways=["string"],
        labels={
            "string": "string",
        },
        location="string",
        meshes=["string"],
        name="string",
        project="string")
    
    const grpcRouteResource = new google_native.networkservices.v1.GrpcRoute("grpcRouteResource", {
        grpcRouteId: "string",
        hostnames: ["string"],
        rules: [{
            action: {
                destinations: [{
                    serviceName: "string",
                    weight: 0,
                }],
                faultInjectionPolicy: {
                    abort: {
                        httpStatus: 0,
                        percentage: 0,
                    },
                    delay: {
                        fixedDelay: "string",
                        percentage: 0,
                    },
                },
                retryPolicy: {
                    numRetries: 0,
                    retryConditions: ["string"],
                },
                statefulSessionAffinity: {
                    cookieTtl: "string",
                },
                timeout: "string",
            },
            matches: [{
                headers: [{
                    key: "string",
                    value: "string",
                    type: google_native.networkservices.v1.GrpcRouteHeaderMatchType.TypeUnspecified,
                }],
                method: {
                    grpcMethod: "string",
                    grpcService: "string",
                    caseSensitive: false,
                    type: google_native.networkservices.v1.GrpcRouteMethodMatchType.TypeUnspecified,
                },
            }],
        }],
        description: "string",
        gateways: ["string"],
        labels: {
            string: "string",
        },
        location: "string",
        meshes: ["string"],
        name: "string",
        project: "string",
    });
    
    type: google-native:networkservices/v1:GrpcRoute
    properties:
        description: string
        gateways:
            - string
        grpcRouteId: string
        hostnames:
            - string
        labels:
            string: string
        location: string
        meshes:
            - string
        name: string
        project: string
        rules:
            - action:
                destinations:
                    - serviceName: string
                      weight: 0
                faultInjectionPolicy:
                    abort:
                        httpStatus: 0
                        percentage: 0
                    delay:
                        fixedDelay: string
                        percentage: 0
                retryPolicy:
                    numRetries: 0
                    retryConditions:
                        - string
                statefulSessionAffinity:
                    cookieTtl: string
                timeout: string
              matches:
                - headers:
                    - key: string
                      type: TYPE_UNSPECIFIED
                      value: string
                  method:
                    caseSensitive: false
                    grpcMethod: string
                    grpcService: string
                    type: TYPE_UNSPECIFIED
    

    GrpcRoute Resource Properties

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

    Inputs

    The GrpcRoute resource accepts the following input properties:

    GrpcRouteId string
    Required. Short name of the GrpcRoute resource to be created.
    Hostnames List<string>
    Service hostnames with an optional port for which this route describes traffic. Format: [:] Hostname is the fully qualified domain name of a network host. This matches the RFC 1123 definition of a hostname with 2 notable exceptions: - IPs are not allowed. - A hostname may be prefixed with a wildcard label (*.). The wildcard label must appear by itself as the first label. Hostname can be "precise" which is a domain name without the terminating dot of a network host (e.g. foo.example.com) or "wildcard", which is a domain name prefixed with a single wildcard label (e.g. *.example.com). Note that as per RFC1035 and RFC1123, a label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character. No other punctuation is allowed. The routes associated with a Mesh or Gateway must have unique hostnames. If you attempt to attach multiple routes with conflicting hostnames, the configuration will be rejected. For example, while it is acceptable for routes for the hostnames *.foo.bar.com and *.bar.com to be associated with the same route, it is not possible to associate two routes both with *.bar.com or both with bar.com. If a port is specified, then gRPC clients must use the channel URI with the port to match this rule (i.e. "xds:///service:123"), otherwise they must supply the URI without a port (i.e. "xds:///service").
    Rules List<Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteRouteRule>
    A list of detailed rules defining how to route traffic. Within a single GrpcRoute, the GrpcRoute.RouteAction associated with the first matching GrpcRoute.RouteRule will be executed. At least one rule must be supplied.
    Description string
    Optional. A free-text description of the resource. Max length 1024 characters.
    Gateways List<string>
    Optional. Gateways defines a list of gateways this GrpcRoute 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/
    Labels Dictionary<string, string>
    Optional. Set of label tags associated with the GrpcRoute resource.
    Location string
    Meshes List<string>
    Optional. Meshes defines a list of meshes this GrpcRoute 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/
    Name string
    Name of the GrpcRoute resource. It matches pattern projects/*/locations/global/grpcRoutes/
    Project string
    GrpcRouteId string
    Required. Short name of the GrpcRoute resource to be created.
    Hostnames []string
    Service hostnames with an optional port for which this route describes traffic. Format: [:] Hostname is the fully qualified domain name of a network host. This matches the RFC 1123 definition of a hostname with 2 notable exceptions: - IPs are not allowed. - A hostname may be prefixed with a wildcard label (*.). The wildcard label must appear by itself as the first label. Hostname can be "precise" which is a domain name without the terminating dot of a network host (e.g. foo.example.com) or "wildcard", which is a domain name prefixed with a single wildcard label (e.g. *.example.com). Note that as per RFC1035 and RFC1123, a label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character. No other punctuation is allowed. The routes associated with a Mesh or Gateway must have unique hostnames. If you attempt to attach multiple routes with conflicting hostnames, the configuration will be rejected. For example, while it is acceptable for routes for the hostnames *.foo.bar.com and *.bar.com to be associated with the same route, it is not possible to associate two routes both with *.bar.com or both with bar.com. If a port is specified, then gRPC clients must use the channel URI with the port to match this rule (i.e. "xds:///service:123"), otherwise they must supply the URI without a port (i.e. "xds:///service").
    Rules []GrpcRouteRouteRuleArgs
    A list of detailed rules defining how to route traffic. Within a single GrpcRoute, the GrpcRoute.RouteAction associated with the first matching GrpcRoute.RouteRule will be executed. At least one rule must be supplied.
    Description string
    Optional. A free-text description of the resource. Max length 1024 characters.
    Gateways []string
    Optional. Gateways defines a list of gateways this GrpcRoute 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/
    Labels map[string]string
    Optional. Set of label tags associated with the GrpcRoute resource.
    Location string
    Meshes []string
    Optional. Meshes defines a list of meshes this GrpcRoute 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/
    Name string
    Name of the GrpcRoute resource. It matches pattern projects/*/locations/global/grpcRoutes/
    Project string
    grpcRouteId String
    Required. Short name of the GrpcRoute resource to be created.
    hostnames List<String>
    Service hostnames with an optional port for which this route describes traffic. Format: [:] Hostname is the fully qualified domain name of a network host. This matches the RFC 1123 definition of a hostname with 2 notable exceptions: - IPs are not allowed. - A hostname may be prefixed with a wildcard label (*.). The wildcard label must appear by itself as the first label. Hostname can be "precise" which is a domain name without the terminating dot of a network host (e.g. foo.example.com) or "wildcard", which is a domain name prefixed with a single wildcard label (e.g. *.example.com). Note that as per RFC1035 and RFC1123, a label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character. No other punctuation is allowed. The routes associated with a Mesh or Gateway must have unique hostnames. If you attempt to attach multiple routes with conflicting hostnames, the configuration will be rejected. For example, while it is acceptable for routes for the hostnames *.foo.bar.com and *.bar.com to be associated with the same route, it is not possible to associate two routes both with *.bar.com or both with bar.com. If a port is specified, then gRPC clients must use the channel URI with the port to match this rule (i.e. "xds:///service:123"), otherwise they must supply the URI without a port (i.e. "xds:///service").
    rules List<GrpcRouteRouteRule>
    A list of detailed rules defining how to route traffic. Within a single GrpcRoute, the GrpcRoute.RouteAction associated with the first matching GrpcRoute.RouteRule will be executed. At least one rule must be supplied.
    description String
    Optional. A free-text description of the resource. Max length 1024 characters.
    gateways List<String>
    Optional. Gateways defines a list of gateways this GrpcRoute 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/
    labels Map<String,String>
    Optional. Set of label tags associated with the GrpcRoute resource.
    location String
    meshes List<String>
    Optional. Meshes defines a list of meshes this GrpcRoute 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/
    name String
    Name of the GrpcRoute resource. It matches pattern projects/*/locations/global/grpcRoutes/
    project String
    grpcRouteId string
    Required. Short name of the GrpcRoute resource to be created.
    hostnames string[]
    Service hostnames with an optional port for which this route describes traffic. Format: [:] Hostname is the fully qualified domain name of a network host. This matches the RFC 1123 definition of a hostname with 2 notable exceptions: - IPs are not allowed. - A hostname may be prefixed with a wildcard label (*.). The wildcard label must appear by itself as the first label. Hostname can be "precise" which is a domain name without the terminating dot of a network host (e.g. foo.example.com) or "wildcard", which is a domain name prefixed with a single wildcard label (e.g. *.example.com). Note that as per RFC1035 and RFC1123, a label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character. No other punctuation is allowed. The routes associated with a Mesh or Gateway must have unique hostnames. If you attempt to attach multiple routes with conflicting hostnames, the configuration will be rejected. For example, while it is acceptable for routes for the hostnames *.foo.bar.com and *.bar.com to be associated with the same route, it is not possible to associate two routes both with *.bar.com or both with bar.com. If a port is specified, then gRPC clients must use the channel URI with the port to match this rule (i.e. "xds:///service:123"), otherwise they must supply the URI without a port (i.e. "xds:///service").
    rules GrpcRouteRouteRule[]
    A list of detailed rules defining how to route traffic. Within a single GrpcRoute, the GrpcRoute.RouteAction associated with the first matching GrpcRoute.RouteRule will be executed. At least one rule must be supplied.
    description string
    Optional. A free-text description of the resource. Max length 1024 characters.
    gateways string[]
    Optional. Gateways defines a list of gateways this GrpcRoute 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/
    labels {[key: string]: string}
    Optional. Set of label tags associated with the GrpcRoute resource.
    location string
    meshes string[]
    Optional. Meshes defines a list of meshes this GrpcRoute 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/
    name string
    Name of the GrpcRoute resource. It matches pattern projects/*/locations/global/grpcRoutes/
    project string
    grpc_route_id str
    Required. Short name of the GrpcRoute resource to be created.
    hostnames Sequence[str]
    Service hostnames with an optional port for which this route describes traffic. Format: [:] Hostname is the fully qualified domain name of a network host. This matches the RFC 1123 definition of a hostname with 2 notable exceptions: - IPs are not allowed. - A hostname may be prefixed with a wildcard label (*.). The wildcard label must appear by itself as the first label. Hostname can be "precise" which is a domain name without the terminating dot of a network host (e.g. foo.example.com) or "wildcard", which is a domain name prefixed with a single wildcard label (e.g. *.example.com). Note that as per RFC1035 and RFC1123, a label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character. No other punctuation is allowed. The routes associated with a Mesh or Gateway must have unique hostnames. If you attempt to attach multiple routes with conflicting hostnames, the configuration will be rejected. For example, while it is acceptable for routes for the hostnames *.foo.bar.com and *.bar.com to be associated with the same route, it is not possible to associate two routes both with *.bar.com or both with bar.com. If a port is specified, then gRPC clients must use the channel URI with the port to match this rule (i.e. "xds:///service:123"), otherwise they must supply the URI without a port (i.e. "xds:///service").
    rules Sequence[GrpcRouteRouteRuleArgs]
    A list of detailed rules defining how to route traffic. Within a single GrpcRoute, the GrpcRoute.RouteAction associated with the first matching GrpcRoute.RouteRule will be executed. At least one rule must be supplied.
    description str
    Optional. A free-text description of the resource. Max length 1024 characters.
    gateways Sequence[str]
    Optional. Gateways defines a list of gateways this GrpcRoute 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/
    labels Mapping[str, str]
    Optional. Set of label tags associated with the GrpcRoute resource.
    location str
    meshes Sequence[str]
    Optional. Meshes defines a list of meshes this GrpcRoute 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/
    name str
    Name of the GrpcRoute resource. It matches pattern projects/*/locations/global/grpcRoutes/
    project str
    grpcRouteId String
    Required. Short name of the GrpcRoute resource to be created.
    hostnames List<String>
    Service hostnames with an optional port for which this route describes traffic. Format: [:] Hostname is the fully qualified domain name of a network host. This matches the RFC 1123 definition of a hostname with 2 notable exceptions: - IPs are not allowed. - A hostname may be prefixed with a wildcard label (*.). The wildcard label must appear by itself as the first label. Hostname can be "precise" which is a domain name without the terminating dot of a network host (e.g. foo.example.com) or "wildcard", which is a domain name prefixed with a single wildcard label (e.g. *.example.com). Note that as per RFC1035 and RFC1123, a label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character. No other punctuation is allowed. The routes associated with a Mesh or Gateway must have unique hostnames. If you attempt to attach multiple routes with conflicting hostnames, the configuration will be rejected. For example, while it is acceptable for routes for the hostnames *.foo.bar.com and *.bar.com to be associated with the same route, it is not possible to associate two routes both with *.bar.com or both with bar.com. If a port is specified, then gRPC clients must use the channel URI with the port to match this rule (i.e. "xds:///service:123"), otherwise they must supply the URI without a port (i.e. "xds:///service").
    rules List<Property Map>
    A list of detailed rules defining how to route traffic. Within a single GrpcRoute, the GrpcRoute.RouteAction associated with the first matching GrpcRoute.RouteRule will be executed. At least one rule must be supplied.
    description String
    Optional. A free-text description of the resource. Max length 1024 characters.
    gateways List<String>
    Optional. Gateways defines a list of gateways this GrpcRoute 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/
    labels Map<String>
    Optional. Set of label tags associated with the GrpcRoute resource.
    location String
    meshes List<String>
    Optional. Meshes defines a list of meshes this GrpcRoute 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/
    name String
    Name of the GrpcRoute resource. It matches pattern projects/*/locations/global/grpcRoutes/
    project String

    Outputs

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

    CreateTime string
    The timestamp when the resource was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    SelfLink string
    Server-defined URL of this resource
    UpdateTime string
    The timestamp when the resource was updated.
    CreateTime string
    The timestamp when the resource was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    SelfLink string
    Server-defined URL of this resource
    UpdateTime string
    The timestamp when the resource was updated.
    createTime String
    The timestamp when the resource was created.
    id String
    The provider-assigned unique ID for this managed resource.
    selfLink String
    Server-defined URL of this resource
    updateTime String
    The timestamp when the resource was updated.
    createTime string
    The timestamp when the resource was created.
    id string
    The provider-assigned unique ID for this managed resource.
    selfLink string
    Server-defined URL of this resource
    updateTime string
    The timestamp when the resource was updated.
    create_time str
    The timestamp when the resource was created.
    id str
    The provider-assigned unique ID for this managed resource.
    self_link str
    Server-defined URL of this resource
    update_time str
    The timestamp when the resource was updated.
    createTime String
    The timestamp when the resource was created.
    id String
    The provider-assigned unique ID for this managed resource.
    selfLink String
    Server-defined URL of this resource
    updateTime String
    The timestamp when the resource was updated.

    Supporting Types

    GrpcRouteDestination, GrpcRouteDestinationArgs

    ServiceName string
    The URL of a destination service to which to route traffic. Must refer to either a BackendService or ServiceDirectoryService.
    Weight int
    Optional. 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 destination service to which to route traffic. Must refer to either a BackendService or ServiceDirectoryService.
    Weight int
    Optional. 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 destination service to which to route traffic. Must refer to either a BackendService or ServiceDirectoryService.
    weight Integer
    Optional. 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 destination service to which to route traffic. Must refer to either a BackendService or ServiceDirectoryService.
    weight number
    Optional. 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 destination service to which to route traffic. Must refer to either a BackendService or ServiceDirectoryService.
    weight int
    Optional. 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 destination service to which to route traffic. Must refer to either a BackendService or ServiceDirectoryService.
    weight Number
    Optional. 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.

    GrpcRouteDestinationResponse, GrpcRouteDestinationResponseArgs

    ServiceName string
    The URL of a destination service to which to route traffic. Must refer to either a BackendService or ServiceDirectoryService.
    Weight int
    Optional. 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 destination service to which to route traffic. Must refer to either a BackendService or ServiceDirectoryService.
    Weight int
    Optional. 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 destination service to which to route traffic. Must refer to either a BackendService or ServiceDirectoryService.
    weight Integer
    Optional. 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 destination service to which to route traffic. Must refer to either a BackendService or ServiceDirectoryService.
    weight number
    Optional. 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 destination service to which to route traffic. Must refer to either a BackendService or ServiceDirectoryService.
    weight int
    Optional. 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 destination service to which to route traffic. Must refer to either a BackendService or ServiceDirectoryService.
    weight Number
    Optional. 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.

    GrpcRouteFaultInjectionPolicy, GrpcRouteFaultInjectionPolicyArgs

    Abort GrpcRouteFaultInjectionPolicyAbort
    The specification for aborting to client requests.
    Delay GrpcRouteFaultInjectionPolicyDelay
    The specification for injecting delay to client requests.
    abort GrpcRouteFaultInjectionPolicyAbort
    The specification for aborting to client requests.
    delay GrpcRouteFaultInjectionPolicyDelay
    The specification for injecting delay to client requests.
    abort GrpcRouteFaultInjectionPolicyAbort
    The specification for aborting to client requests.
    delay GrpcRouteFaultInjectionPolicyDelay
    The specification for injecting delay to client requests.
    abort GrpcRouteFaultInjectionPolicyAbort
    The specification for aborting to client requests.
    delay GrpcRouteFaultInjectionPolicyDelay
    The specification for injecting delay to client requests.
    abort Property Map
    The specification for aborting to client requests.
    delay Property Map
    The specification for injecting delay to client requests.

    GrpcRouteFaultInjectionPolicyAbort, GrpcRouteFaultInjectionPolicyAbortArgs

    HttpStatus int
    The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.
    Percentage int
    The percentage of traffic which will be aborted. The value must be between [0, 100]
    HttpStatus int
    The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.
    Percentage int
    The percentage of traffic which will be aborted. The value must be between [0, 100]
    httpStatus Integer
    The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.
    percentage Integer
    The percentage of traffic which will be aborted. The value must be between [0, 100]
    httpStatus number
    The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.
    percentage number
    The percentage of traffic which will be aborted. The value must be between [0, 100]
    http_status int
    The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.
    percentage int
    The percentage of traffic which will be aborted. The value must be between [0, 100]
    httpStatus Number
    The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.
    percentage Number
    The percentage of traffic which will be aborted. The value must be between [0, 100]

    GrpcRouteFaultInjectionPolicyAbortResponse, GrpcRouteFaultInjectionPolicyAbortResponseArgs

    HttpStatus int
    The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.
    Percentage int
    The percentage of traffic which will be aborted. The value must be between [0, 100]
    HttpStatus int
    The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.
    Percentage int
    The percentage of traffic which will be aborted. The value must be between [0, 100]
    httpStatus Integer
    The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.
    percentage Integer
    The percentage of traffic which will be aborted. The value must be between [0, 100]
    httpStatus number
    The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.
    percentage number
    The percentage of traffic which will be aborted. The value must be between [0, 100]
    http_status int
    The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.
    percentage int
    The percentage of traffic which will be aborted. The value must be between [0, 100]
    httpStatus Number
    The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.
    percentage Number
    The percentage of traffic which will be aborted. The value must be between [0, 100]

    GrpcRouteFaultInjectionPolicyDelay, GrpcRouteFaultInjectionPolicyDelayArgs

    FixedDelay string
    Specify a fixed delay before forwarding the request.
    Percentage int
    The percentage of traffic on which delay will be injected. The value must be between [0, 100]
    FixedDelay string
    Specify a fixed delay before forwarding the request.
    Percentage int
    The percentage of traffic on which delay will be injected. The value must be between [0, 100]
    fixedDelay String
    Specify a fixed delay before forwarding the request.
    percentage Integer
    The percentage of traffic on which delay will be injected. The value must be between [0, 100]
    fixedDelay string
    Specify a fixed delay before forwarding the request.
    percentage number
    The percentage of traffic on which delay will be injected. The value must be between [0, 100]
    fixed_delay str
    Specify a fixed delay before forwarding the request.
    percentage int
    The percentage of traffic on which delay will be injected. The value must be between [0, 100]
    fixedDelay String
    Specify a fixed delay before forwarding the request.
    percentage Number
    The percentage of traffic on which delay will be injected. The value must be between [0, 100]

    GrpcRouteFaultInjectionPolicyDelayResponse, GrpcRouteFaultInjectionPolicyDelayResponseArgs

    FixedDelay string
    Specify a fixed delay before forwarding the request.
    Percentage int
    The percentage of traffic on which delay will be injected. The value must be between [0, 100]
    FixedDelay string
    Specify a fixed delay before forwarding the request.
    Percentage int
    The percentage of traffic on which delay will be injected. The value must be between [0, 100]
    fixedDelay String
    Specify a fixed delay before forwarding the request.
    percentage Integer
    The percentage of traffic on which delay will be injected. The value must be between [0, 100]
    fixedDelay string
    Specify a fixed delay before forwarding the request.
    percentage number
    The percentage of traffic on which delay will be injected. The value must be between [0, 100]
    fixed_delay str
    Specify a fixed delay before forwarding the request.
    percentage int
    The percentage of traffic on which delay will be injected. The value must be between [0, 100]
    fixedDelay String
    Specify a fixed delay before forwarding the request.
    percentage Number
    The percentage of traffic on which delay will be injected. The value must be between [0, 100]

    GrpcRouteFaultInjectionPolicyResponse, GrpcRouteFaultInjectionPolicyResponseArgs

    Abort GrpcRouteFaultInjectionPolicyAbortResponse
    The specification for aborting to client requests.
    Delay GrpcRouteFaultInjectionPolicyDelayResponse
    The specification for injecting delay to client requests.
    abort GrpcRouteFaultInjectionPolicyAbortResponse
    The specification for aborting to client requests.
    delay GrpcRouteFaultInjectionPolicyDelayResponse
    The specification for injecting delay to client requests.
    abort GrpcRouteFaultInjectionPolicyAbortResponse
    The specification for aborting to client requests.
    delay GrpcRouteFaultInjectionPolicyDelayResponse
    The specification for injecting delay to client requests.
    abort GrpcRouteFaultInjectionPolicyAbortResponse
    The specification for aborting to client requests.
    delay GrpcRouteFaultInjectionPolicyDelayResponse
    The specification for injecting delay to client requests.
    abort Property Map
    The specification for aborting to client requests.
    delay Property Map
    The specification for injecting delay to client requests.

    GrpcRouteHeaderMatch, GrpcRouteHeaderMatchArgs

    Key string
    The key of the header.
    Value string
    The value of the header.
    Type Pulumi.GoogleNative.NetworkServices.V1.GrpcRouteHeaderMatchType
    Optional. Specifies how to match against the value of the header. If not specified, a default value of EXACT is used.
    Key string
    The key of the header.
    Value string
    The value of the header.
    Type GrpcRouteHeaderMatchType
    Optional. Specifies how to match against the value of the header. If not specified, a default value of EXACT is used.
    key String
    The key of the header.
    value String
    The value of the header.
    type GrpcRouteHeaderMatchType
    Optional. Specifies how to match against the value of the header. If not specified, a default value of EXACT is used.
    key string
    The key of the header.
    value string
    The value of the header.
    type GrpcRouteHeaderMatchType
    Optional. Specifies how to match against the value of the header. If not specified, a default value of EXACT is used.
    key str
    The key of the header.
    value str
    The value of the header.
    type GrpcRouteHeaderMatchType
    Optional. Specifies how to match against the value of the header. If not specified, a default value of EXACT is used.
    key String
    The key of the header.
    value String
    The value of the header.
    type "TYPE_UNSPECIFIED" | "EXACT" | "REGULAR_EXPRESSION"
    Optional. Specifies how to match against the value of the header. If not specified, a default value of EXACT is used.

    GrpcRouteHeaderMatchResponse, GrpcRouteHeaderMatchResponseArgs

    Key string
    The key of the header.
    Type string
    Optional. Specifies how to match against the value of the header. If not specified, a default value of EXACT is used.
    Value string
    The value of the header.
    Key string
    The key of the header.
    Type string
    Optional. Specifies how to match against the value of the header. If not specified, a default value of EXACT is used.
    Value string
    The value of the header.
    key String
    The key of the header.
    type String
    Optional. Specifies how to match against the value of the header. If not specified, a default value of EXACT is used.
    value String
    The value of the header.
    key string
    The key of the header.
    type string
    Optional. Specifies how to match against the value of the header. If not specified, a default value of EXACT is used.
    value string
    The value of the header.
    key str
    The key of the header.
    type str
    Optional. Specifies how to match against the value of the header. If not specified, a default value of EXACT is used.
    value str
    The value of the header.
    key String
    The key of the header.
    type String
    Optional. Specifies how to match against the value of the header. If not specified, a default value of EXACT is used.
    value String
    The value of the header.

    GrpcRouteHeaderMatchType, GrpcRouteHeaderMatchTypeArgs

    TypeUnspecified
    TYPE_UNSPECIFIEDUnspecified.
    Exact
    EXACTWill only match the exact value provided.
    RegularExpression
    REGULAR_EXPRESSIONWill match paths conforming to the prefix specified by value. RE2 syntax is supported.
    GrpcRouteHeaderMatchTypeTypeUnspecified
    TYPE_UNSPECIFIEDUnspecified.
    GrpcRouteHeaderMatchTypeExact
    EXACTWill only match the exact value provided.
    GrpcRouteHeaderMatchTypeRegularExpression
    REGULAR_EXPRESSIONWill match paths conforming to the prefix specified by value. RE2 syntax is supported.
    TypeUnspecified
    TYPE_UNSPECIFIEDUnspecified.
    Exact
    EXACTWill only match the exact value provided.
    RegularExpression
    REGULAR_EXPRESSIONWill match paths conforming to the prefix specified by value. RE2 syntax is supported.
    TypeUnspecified
    TYPE_UNSPECIFIEDUnspecified.
    Exact
    EXACTWill only match the exact value provided.
    RegularExpression
    REGULAR_EXPRESSIONWill match paths conforming to the prefix specified by value. RE2 syntax is supported.
    TYPE_UNSPECIFIED
    TYPE_UNSPECIFIEDUnspecified.
    EXACT
    EXACTWill only match the exact value provided.
    REGULAR_EXPRESSION
    REGULAR_EXPRESSIONWill match paths conforming to the prefix specified by value. RE2 syntax is supported.
    "TYPE_UNSPECIFIED"
    TYPE_UNSPECIFIEDUnspecified.
    "EXACT"
    EXACTWill only match the exact value provided.
    "REGULAR_EXPRESSION"
    REGULAR_EXPRESSIONWill match paths conforming to the prefix specified by value. RE2 syntax is supported.

    GrpcRouteMethodMatch, GrpcRouteMethodMatchArgs

    GrpcMethod string
    Name of the method to match against. If unspecified, will match all methods.
    GrpcService string
    Name of the service to match against. If unspecified, will match all services.
    CaseSensitive bool
    Optional. Specifies that matches are case sensitive. The default value is true. case_sensitive must not be used with a type of REGULAR_EXPRESSION.
    Type Pulumi.GoogleNative.NetworkServices.V1.GrpcRouteMethodMatchType
    Optional. Specifies how to match against the name. If not specified, a default value of "EXACT" is used.
    GrpcMethod string
    Name of the method to match against. If unspecified, will match all methods.
    GrpcService string
    Name of the service to match against. If unspecified, will match all services.
    CaseSensitive bool
    Optional. Specifies that matches are case sensitive. The default value is true. case_sensitive must not be used with a type of REGULAR_EXPRESSION.
    Type GrpcRouteMethodMatchType
    Optional. Specifies how to match against the name. If not specified, a default value of "EXACT" is used.
    grpcMethod String
    Name of the method to match against. If unspecified, will match all methods.
    grpcService String
    Name of the service to match against. If unspecified, will match all services.
    caseSensitive Boolean
    Optional. Specifies that matches are case sensitive. The default value is true. case_sensitive must not be used with a type of REGULAR_EXPRESSION.
    type GrpcRouteMethodMatchType
    Optional. Specifies how to match against the name. If not specified, a default value of "EXACT" is used.
    grpcMethod string
    Name of the method to match against. If unspecified, will match all methods.
    grpcService string
    Name of the service to match against. If unspecified, will match all services.
    caseSensitive boolean
    Optional. Specifies that matches are case sensitive. The default value is true. case_sensitive must not be used with a type of REGULAR_EXPRESSION.
    type GrpcRouteMethodMatchType
    Optional. Specifies how to match against the name. If not specified, a default value of "EXACT" is used.
    grpc_method str
    Name of the method to match against. If unspecified, will match all methods.
    grpc_service str
    Name of the service to match against. If unspecified, will match all services.
    case_sensitive bool
    Optional. Specifies that matches are case sensitive. The default value is true. case_sensitive must not be used with a type of REGULAR_EXPRESSION.
    type GrpcRouteMethodMatchType
    Optional. Specifies how to match against the name. If not specified, a default value of "EXACT" is used.
    grpcMethod String
    Name of the method to match against. If unspecified, will match all methods.
    grpcService String
    Name of the service to match against. If unspecified, will match all services.
    caseSensitive Boolean
    Optional. Specifies that matches are case sensitive. The default value is true. case_sensitive must not be used with a type of REGULAR_EXPRESSION.
    type "TYPE_UNSPECIFIED" | "EXACT" | "REGULAR_EXPRESSION"
    Optional. Specifies how to match against the name. If not specified, a default value of "EXACT" is used.

    GrpcRouteMethodMatchResponse, GrpcRouteMethodMatchResponseArgs

    CaseSensitive bool
    Optional. Specifies that matches are case sensitive. The default value is true. case_sensitive must not be used with a type of REGULAR_EXPRESSION.
    GrpcMethod string
    Name of the method to match against. If unspecified, will match all methods.
    GrpcService string
    Name of the service to match against. If unspecified, will match all services.
    Type string
    Optional. Specifies how to match against the name. If not specified, a default value of "EXACT" is used.
    CaseSensitive bool
    Optional. Specifies that matches are case sensitive. The default value is true. case_sensitive must not be used with a type of REGULAR_EXPRESSION.
    GrpcMethod string
    Name of the method to match against. If unspecified, will match all methods.
    GrpcService string
    Name of the service to match against. If unspecified, will match all services.
    Type string
    Optional. Specifies how to match against the name. If not specified, a default value of "EXACT" is used.
    caseSensitive Boolean
    Optional. Specifies that matches are case sensitive. The default value is true. case_sensitive must not be used with a type of REGULAR_EXPRESSION.
    grpcMethod String
    Name of the method to match against. If unspecified, will match all methods.
    grpcService String
    Name of the service to match against. If unspecified, will match all services.
    type String
    Optional. Specifies how to match against the name. If not specified, a default value of "EXACT" is used.
    caseSensitive boolean
    Optional. Specifies that matches are case sensitive. The default value is true. case_sensitive must not be used with a type of REGULAR_EXPRESSION.
    grpcMethod string
    Name of the method to match against. If unspecified, will match all methods.
    grpcService string
    Name of the service to match against. If unspecified, will match all services.
    type string
    Optional. Specifies how to match against the name. If not specified, a default value of "EXACT" is used.
    case_sensitive bool
    Optional. Specifies that matches are case sensitive. The default value is true. case_sensitive must not be used with a type of REGULAR_EXPRESSION.
    grpc_method str
    Name of the method to match against. If unspecified, will match all methods.
    grpc_service str
    Name of the service to match against. If unspecified, will match all services.
    type str
    Optional. Specifies how to match against the name. If not specified, a default value of "EXACT" is used.
    caseSensitive Boolean
    Optional. Specifies that matches are case sensitive. The default value is true. case_sensitive must not be used with a type of REGULAR_EXPRESSION.
    grpcMethod String
    Name of the method to match against. If unspecified, will match all methods.
    grpcService String
    Name of the service to match against. If unspecified, will match all services.
    type String
    Optional. Specifies how to match against the name. If not specified, a default value of "EXACT" is used.

    GrpcRouteMethodMatchType, GrpcRouteMethodMatchTypeArgs

    TypeUnspecified
    TYPE_UNSPECIFIEDUnspecified.
    Exact
    EXACTWill only match the exact name provided.
    RegularExpression
    REGULAR_EXPRESSIONWill interpret grpc_method and grpc_service as regexes. RE2 syntax is supported.
    GrpcRouteMethodMatchTypeTypeUnspecified
    TYPE_UNSPECIFIEDUnspecified.
    GrpcRouteMethodMatchTypeExact
    EXACTWill only match the exact name provided.
    GrpcRouteMethodMatchTypeRegularExpression
    REGULAR_EXPRESSIONWill interpret grpc_method and grpc_service as regexes. RE2 syntax is supported.
    TypeUnspecified
    TYPE_UNSPECIFIEDUnspecified.
    Exact
    EXACTWill only match the exact name provided.
    RegularExpression
    REGULAR_EXPRESSIONWill interpret grpc_method and grpc_service as regexes. RE2 syntax is supported.
    TypeUnspecified
    TYPE_UNSPECIFIEDUnspecified.
    Exact
    EXACTWill only match the exact name provided.
    RegularExpression
    REGULAR_EXPRESSIONWill interpret grpc_method and grpc_service as regexes. RE2 syntax is supported.
    TYPE_UNSPECIFIED
    TYPE_UNSPECIFIEDUnspecified.
    EXACT
    EXACTWill only match the exact name provided.
    REGULAR_EXPRESSION
    REGULAR_EXPRESSIONWill interpret grpc_method and grpc_service as regexes. RE2 syntax is supported.
    "TYPE_UNSPECIFIED"
    TYPE_UNSPECIFIEDUnspecified.
    "EXACT"
    EXACTWill only match the exact name provided.
    "REGULAR_EXPRESSION"
    REGULAR_EXPRESSIONWill interpret grpc_method and grpc_service as regexes. RE2 syntax is supported.

    GrpcRouteRetryPolicy, GrpcRouteRetryPolicyArgs

    NumRetries int
    Specifies the allowed number of retries. This number must be > 0. If not specified, default to 1.
    RetryConditions List<string>
    • connect-failure: Router will retry on failures connecting to Backend Services, for example due to connection timeouts. - refused-stream: Router will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: Router will retry if the gRPC status code in the response header is set to cancelled - deadline-exceeded: Router will retry if the gRPC status code in the response header is set to deadline-exceeded - resource-exhausted: Router will retry if the gRPC status code in the response header is set to resource-exhausted - unavailable: Router will retry if the gRPC status code in the response header is set to unavailable
    NumRetries int
    Specifies the allowed number of retries. This number must be > 0. If not specified, default to 1.
    RetryConditions []string
    • connect-failure: Router will retry on failures connecting to Backend Services, for example due to connection timeouts. - refused-stream: Router will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: Router will retry if the gRPC status code in the response header is set to cancelled - deadline-exceeded: Router will retry if the gRPC status code in the response header is set to deadline-exceeded - resource-exhausted: Router will retry if the gRPC status code in the response header is set to resource-exhausted - unavailable: Router will retry if the gRPC status code in the response header is set to unavailable
    numRetries Integer
    Specifies the allowed number of retries. This number must be > 0. If not specified, default to 1.
    retryConditions List<String>
    • connect-failure: Router will retry on failures connecting to Backend Services, for example due to connection timeouts. - refused-stream: Router will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: Router will retry if the gRPC status code in the response header is set to cancelled - deadline-exceeded: Router will retry if the gRPC status code in the response header is set to deadline-exceeded - resource-exhausted: Router will retry if the gRPC status code in the response header is set to resource-exhausted - unavailable: Router will retry if the gRPC status code in the response header is set to unavailable
    numRetries number
    Specifies the allowed number of retries. This number must be > 0. If not specified, default to 1.
    retryConditions string[]
    • connect-failure: Router will retry on failures connecting to Backend Services, for example due to connection timeouts. - refused-stream: Router will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: Router will retry if the gRPC status code in the response header is set to cancelled - deadline-exceeded: Router will retry if the gRPC status code in the response header is set to deadline-exceeded - resource-exhausted: Router will retry if the gRPC status code in the response header is set to resource-exhausted - unavailable: Router will retry if the gRPC status code in the response header is set to unavailable
    num_retries int
    Specifies the allowed number of retries. This number must be > 0. If not specified, default to 1.
    retry_conditions Sequence[str]
    • connect-failure: Router will retry on failures connecting to Backend Services, for example due to connection timeouts. - refused-stream: Router will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: Router will retry if the gRPC status code in the response header is set to cancelled - deadline-exceeded: Router will retry if the gRPC status code in the response header is set to deadline-exceeded - resource-exhausted: Router will retry if the gRPC status code in the response header is set to resource-exhausted - unavailable: Router will retry if the gRPC status code in the response header is set to unavailable
    numRetries Number
    Specifies the allowed number of retries. This number must be > 0. If not specified, default to 1.
    retryConditions List<String>
    • connect-failure: Router will retry on failures connecting to Backend Services, for example due to connection timeouts. - refused-stream: Router will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: Router will retry if the gRPC status code in the response header is set to cancelled - deadline-exceeded: Router will retry if the gRPC status code in the response header is set to deadline-exceeded - resource-exhausted: Router will retry if the gRPC status code in the response header is set to resource-exhausted - unavailable: Router will retry if the gRPC status code in the response header is set to unavailable

    GrpcRouteRetryPolicyResponse, GrpcRouteRetryPolicyResponseArgs

    NumRetries int
    Specifies the allowed number of retries. This number must be > 0. If not specified, default to 1.
    RetryConditions List<string>
    • connect-failure: Router will retry on failures connecting to Backend Services, for example due to connection timeouts. - refused-stream: Router will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: Router will retry if the gRPC status code in the response header is set to cancelled - deadline-exceeded: Router will retry if the gRPC status code in the response header is set to deadline-exceeded - resource-exhausted: Router will retry if the gRPC status code in the response header is set to resource-exhausted - unavailable: Router will retry if the gRPC status code in the response header is set to unavailable
    NumRetries int
    Specifies the allowed number of retries. This number must be > 0. If not specified, default to 1.
    RetryConditions []string
    • connect-failure: Router will retry on failures connecting to Backend Services, for example due to connection timeouts. - refused-stream: Router will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: Router will retry if the gRPC status code in the response header is set to cancelled - deadline-exceeded: Router will retry if the gRPC status code in the response header is set to deadline-exceeded - resource-exhausted: Router will retry if the gRPC status code in the response header is set to resource-exhausted - unavailable: Router will retry if the gRPC status code in the response header is set to unavailable
    numRetries Integer
    Specifies the allowed number of retries. This number must be > 0. If not specified, default to 1.
    retryConditions List<String>
    • connect-failure: Router will retry on failures connecting to Backend Services, for example due to connection timeouts. - refused-stream: Router will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: Router will retry if the gRPC status code in the response header is set to cancelled - deadline-exceeded: Router will retry if the gRPC status code in the response header is set to deadline-exceeded - resource-exhausted: Router will retry if the gRPC status code in the response header is set to resource-exhausted - unavailable: Router will retry if the gRPC status code in the response header is set to unavailable
    numRetries number
    Specifies the allowed number of retries. This number must be > 0. If not specified, default to 1.
    retryConditions string[]
    • connect-failure: Router will retry on failures connecting to Backend Services, for example due to connection timeouts. - refused-stream: Router will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: Router will retry if the gRPC status code in the response header is set to cancelled - deadline-exceeded: Router will retry if the gRPC status code in the response header is set to deadline-exceeded - resource-exhausted: Router will retry if the gRPC status code in the response header is set to resource-exhausted - unavailable: Router will retry if the gRPC status code in the response header is set to unavailable
    num_retries int
    Specifies the allowed number of retries. This number must be > 0. If not specified, default to 1.
    retry_conditions Sequence[str]
    • connect-failure: Router will retry on failures connecting to Backend Services, for example due to connection timeouts. - refused-stream: Router will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: Router will retry if the gRPC status code in the response header is set to cancelled - deadline-exceeded: Router will retry if the gRPC status code in the response header is set to deadline-exceeded - resource-exhausted: Router will retry if the gRPC status code in the response header is set to resource-exhausted - unavailable: Router will retry if the gRPC status code in the response header is set to unavailable
    numRetries Number
    Specifies the allowed number of retries. This number must be > 0. If not specified, default to 1.
    retryConditions List<String>
    • connect-failure: Router will retry on failures connecting to Backend Services, for example due to connection timeouts. - refused-stream: Router will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: Router will retry if the gRPC status code in the response header is set to cancelled - deadline-exceeded: Router will retry if the gRPC status code in the response header is set to deadline-exceeded - resource-exhausted: Router will retry if the gRPC status code in the response header is set to resource-exhausted - unavailable: Router will retry if the gRPC status code in the response header is set to unavailable

    GrpcRouteRouteAction, GrpcRouteRouteActionArgs

    Destinations List<Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteDestination>
    Optional. The destination services to which traffic should be forwarded. If multiple destinations are specified, traffic will be split between Backend Service(s) according to the weight field of these destinations.
    FaultInjectionPolicy Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteFaultInjectionPolicy
    Optional. The specification for fault injection introduced into traffic to test the resiliency of clients to destination service failure. As part of fault injection, when clients send requests to a destination, delays can be introduced on a percentage of requests before sending those requests to the destination service. Similarly requests from clients can be aborted by for a percentage of requests. timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy
    RetryPolicy Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteRetryPolicy
    Optional. Specifies the retry policy associated with this route.
    StatefulSessionAffinity Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteStatefulSessionAffinityPolicy
    Optional. Specifies cookie-based stateful session affinity.
    Timeout string
    Optional. Specifies the timeout for selected route. Timeout is computed from the time the request has been fully processed (i.e. end of stream) up until the response has been completely processed. Timeout includes all retries.
    Destinations []GrpcRouteDestination
    Optional. The destination services to which traffic should be forwarded. If multiple destinations are specified, traffic will be split between Backend Service(s) according to the weight field of these destinations.
    FaultInjectionPolicy GrpcRouteFaultInjectionPolicy
    Optional. The specification for fault injection introduced into traffic to test the resiliency of clients to destination service failure. As part of fault injection, when clients send requests to a destination, delays can be introduced on a percentage of requests before sending those requests to the destination service. Similarly requests from clients can be aborted by for a percentage of requests. timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy
    RetryPolicy GrpcRouteRetryPolicy
    Optional. Specifies the retry policy associated with this route.
    StatefulSessionAffinity GrpcRouteStatefulSessionAffinityPolicy
    Optional. Specifies cookie-based stateful session affinity.
    Timeout string
    Optional. Specifies the timeout for selected route. Timeout is computed from the time the request has been fully processed (i.e. end of stream) up until the response has been completely processed. Timeout includes all retries.
    destinations List<GrpcRouteDestination>
    Optional. The destination services to which traffic should be forwarded. If multiple destinations are specified, traffic will be split between Backend Service(s) according to the weight field of these destinations.
    faultInjectionPolicy GrpcRouteFaultInjectionPolicy
    Optional. The specification for fault injection introduced into traffic to test the resiliency of clients to destination service failure. As part of fault injection, when clients send requests to a destination, delays can be introduced on a percentage of requests before sending those requests to the destination service. Similarly requests from clients can be aborted by for a percentage of requests. timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy
    retryPolicy GrpcRouteRetryPolicy
    Optional. Specifies the retry policy associated with this route.
    statefulSessionAffinity GrpcRouteStatefulSessionAffinityPolicy
    Optional. Specifies cookie-based stateful session affinity.
    timeout String
    Optional. Specifies the timeout for selected route. Timeout is computed from the time the request has been fully processed (i.e. end of stream) up until the response has been completely processed. Timeout includes all retries.
    destinations GrpcRouteDestination[]
    Optional. The destination services to which traffic should be forwarded. If multiple destinations are specified, traffic will be split between Backend Service(s) according to the weight field of these destinations.
    faultInjectionPolicy GrpcRouteFaultInjectionPolicy
    Optional. The specification for fault injection introduced into traffic to test the resiliency of clients to destination service failure. As part of fault injection, when clients send requests to a destination, delays can be introduced on a percentage of requests before sending those requests to the destination service. Similarly requests from clients can be aborted by for a percentage of requests. timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy
    retryPolicy GrpcRouteRetryPolicy
    Optional. Specifies the retry policy associated with this route.
    statefulSessionAffinity GrpcRouteStatefulSessionAffinityPolicy
    Optional. Specifies cookie-based stateful session affinity.
    timeout string
    Optional. Specifies the timeout for selected route. Timeout is computed from the time the request has been fully processed (i.e. end of stream) up until the response has been completely processed. Timeout includes all retries.
    destinations Sequence[GrpcRouteDestination]
    Optional. The destination services to which traffic should be forwarded. If multiple destinations are specified, traffic will be split between Backend Service(s) according to the weight field of these destinations.
    fault_injection_policy GrpcRouteFaultInjectionPolicy
    Optional. The specification for fault injection introduced into traffic to test the resiliency of clients to destination service failure. As part of fault injection, when clients send requests to a destination, delays can be introduced on a percentage of requests before sending those requests to the destination service. Similarly requests from clients can be aborted by for a percentage of requests. timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy
    retry_policy GrpcRouteRetryPolicy
    Optional. Specifies the retry policy associated with this route.
    stateful_session_affinity GrpcRouteStatefulSessionAffinityPolicy
    Optional. Specifies cookie-based stateful session affinity.
    timeout str
    Optional. Specifies the timeout for selected route. Timeout is computed from the time the request has been fully processed (i.e. end of stream) up until the response has been completely processed. Timeout includes all retries.
    destinations List<Property Map>
    Optional. The destination services to which traffic should be forwarded. If multiple destinations are specified, traffic will be split between Backend Service(s) according to the weight field of these destinations.
    faultInjectionPolicy Property Map
    Optional. The specification for fault injection introduced into traffic to test the resiliency of clients to destination service failure. As part of fault injection, when clients send requests to a destination, delays can be introduced on a percentage of requests before sending those requests to the destination service. Similarly requests from clients can be aborted by for a percentage of requests. timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy
    retryPolicy Property Map
    Optional. Specifies the retry policy associated with this route.
    statefulSessionAffinity Property Map
    Optional. Specifies cookie-based stateful session affinity.
    timeout String
    Optional. Specifies the timeout for selected route. Timeout is computed from the time the request has been fully processed (i.e. end of stream) up until the response has been completely processed. Timeout includes all retries.

    GrpcRouteRouteActionResponse, GrpcRouteRouteActionResponseArgs

    Destinations List<Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteDestinationResponse>
    Optional. The destination services to which traffic should be forwarded. If multiple destinations are specified, traffic will be split between Backend Service(s) according to the weight field of these destinations.
    FaultInjectionPolicy Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteFaultInjectionPolicyResponse
    Optional. The specification for fault injection introduced into traffic to test the resiliency of clients to destination service failure. As part of fault injection, when clients send requests to a destination, delays can be introduced on a percentage of requests before sending those requests to the destination service. Similarly requests from clients can be aborted by for a percentage of requests. timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy
    RetryPolicy Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteRetryPolicyResponse
    Optional. Specifies the retry policy associated with this route.
    StatefulSessionAffinity Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteStatefulSessionAffinityPolicyResponse
    Optional. Specifies cookie-based stateful session affinity.
    Timeout string
    Optional. Specifies the timeout for selected route. Timeout is computed from the time the request has been fully processed (i.e. end of stream) up until the response has been completely processed. Timeout includes all retries.
    Destinations []GrpcRouteDestinationResponse
    Optional. The destination services to which traffic should be forwarded. If multiple destinations are specified, traffic will be split between Backend Service(s) according to the weight field of these destinations.
    FaultInjectionPolicy GrpcRouteFaultInjectionPolicyResponse
    Optional. The specification for fault injection introduced into traffic to test the resiliency of clients to destination service failure. As part of fault injection, when clients send requests to a destination, delays can be introduced on a percentage of requests before sending those requests to the destination service. Similarly requests from clients can be aborted by for a percentage of requests. timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy
    RetryPolicy GrpcRouteRetryPolicyResponse
    Optional. Specifies the retry policy associated with this route.
    StatefulSessionAffinity GrpcRouteStatefulSessionAffinityPolicyResponse
    Optional. Specifies cookie-based stateful session affinity.
    Timeout string
    Optional. Specifies the timeout for selected route. Timeout is computed from the time the request has been fully processed (i.e. end of stream) up until the response has been completely processed. Timeout includes all retries.
    destinations List<GrpcRouteDestinationResponse>
    Optional. The destination services to which traffic should be forwarded. If multiple destinations are specified, traffic will be split between Backend Service(s) according to the weight field of these destinations.
    faultInjectionPolicy GrpcRouteFaultInjectionPolicyResponse
    Optional. The specification for fault injection introduced into traffic to test the resiliency of clients to destination service failure. As part of fault injection, when clients send requests to a destination, delays can be introduced on a percentage of requests before sending those requests to the destination service. Similarly requests from clients can be aborted by for a percentage of requests. timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy
    retryPolicy GrpcRouteRetryPolicyResponse
    Optional. Specifies the retry policy associated with this route.
    statefulSessionAffinity GrpcRouteStatefulSessionAffinityPolicyResponse
    Optional. Specifies cookie-based stateful session affinity.
    timeout String
    Optional. Specifies the timeout for selected route. Timeout is computed from the time the request has been fully processed (i.e. end of stream) up until the response has been completely processed. Timeout includes all retries.
    destinations GrpcRouteDestinationResponse[]
    Optional. The destination services to which traffic should be forwarded. If multiple destinations are specified, traffic will be split between Backend Service(s) according to the weight field of these destinations.
    faultInjectionPolicy GrpcRouteFaultInjectionPolicyResponse
    Optional. The specification for fault injection introduced into traffic to test the resiliency of clients to destination service failure. As part of fault injection, when clients send requests to a destination, delays can be introduced on a percentage of requests before sending those requests to the destination service. Similarly requests from clients can be aborted by for a percentage of requests. timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy
    retryPolicy GrpcRouteRetryPolicyResponse
    Optional. Specifies the retry policy associated with this route.
    statefulSessionAffinity GrpcRouteStatefulSessionAffinityPolicyResponse
    Optional. Specifies cookie-based stateful session affinity.
    timeout string
    Optional. Specifies the timeout for selected route. Timeout is computed from the time the request has been fully processed (i.e. end of stream) up until the response has been completely processed. Timeout includes all retries.
    destinations Sequence[GrpcRouteDestinationResponse]
    Optional. The destination services to which traffic should be forwarded. If multiple destinations are specified, traffic will be split between Backend Service(s) according to the weight field of these destinations.
    fault_injection_policy GrpcRouteFaultInjectionPolicyResponse
    Optional. The specification for fault injection introduced into traffic to test the resiliency of clients to destination service failure. As part of fault injection, when clients send requests to a destination, delays can be introduced on a percentage of requests before sending those requests to the destination service. Similarly requests from clients can be aborted by for a percentage of requests. timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy
    retry_policy GrpcRouteRetryPolicyResponse
    Optional. Specifies the retry policy associated with this route.
    stateful_session_affinity GrpcRouteStatefulSessionAffinityPolicyResponse
    Optional. Specifies cookie-based stateful session affinity.
    timeout str
    Optional. Specifies the timeout for selected route. Timeout is computed from the time the request has been fully processed (i.e. end of stream) up until the response has been completely processed. Timeout includes all retries.
    destinations List<Property Map>
    Optional. The destination services to which traffic should be forwarded. If multiple destinations are specified, traffic will be split between Backend Service(s) according to the weight field of these destinations.
    faultInjectionPolicy Property Map
    Optional. The specification for fault injection introduced into traffic to test the resiliency of clients to destination service failure. As part of fault injection, when clients send requests to a destination, delays can be introduced on a percentage of requests before sending those requests to the destination service. Similarly requests from clients can be aborted by for a percentage of requests. timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy
    retryPolicy Property Map
    Optional. Specifies the retry policy associated with this route.
    statefulSessionAffinity Property Map
    Optional. Specifies cookie-based stateful session affinity.
    timeout String
    Optional. Specifies the timeout for selected route. Timeout is computed from the time the request has been fully processed (i.e. end of stream) up until the response has been completely processed. Timeout includes all retries.

    GrpcRouteRouteMatch, GrpcRouteRouteMatchArgs

    Headers List<Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteHeaderMatch>
    Optional. Specifies a collection of headers to match.
    Method Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteMethodMatch
    Optional. A gRPC method to match against. If this field is empty or omitted, will match all methods.
    Headers []GrpcRouteHeaderMatch
    Optional. Specifies a collection of headers to match.
    Method GrpcRouteMethodMatch
    Optional. A gRPC method to match against. If this field is empty or omitted, will match all methods.
    headers List<GrpcRouteHeaderMatch>
    Optional. Specifies a collection of headers to match.
    method GrpcRouteMethodMatch
    Optional. A gRPC method to match against. If this field is empty or omitted, will match all methods.
    headers GrpcRouteHeaderMatch[]
    Optional. Specifies a collection of headers to match.
    method GrpcRouteMethodMatch
    Optional. A gRPC method to match against. If this field is empty or omitted, will match all methods.
    headers Sequence[GrpcRouteHeaderMatch]
    Optional. Specifies a collection of headers to match.
    method GrpcRouteMethodMatch
    Optional. A gRPC method to match against. If this field is empty or omitted, will match all methods.
    headers List<Property Map>
    Optional. Specifies a collection of headers to match.
    method Property Map
    Optional. A gRPC method to match against. If this field is empty or omitted, will match all methods.

    GrpcRouteRouteMatchResponse, GrpcRouteRouteMatchResponseArgs

    Headers List<Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteHeaderMatchResponse>
    Optional. Specifies a collection of headers to match.
    Method Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteMethodMatchResponse
    Optional. A gRPC method to match against. If this field is empty or omitted, will match all methods.
    Headers []GrpcRouteHeaderMatchResponse
    Optional. Specifies a collection of headers to match.
    Method GrpcRouteMethodMatchResponse
    Optional. A gRPC method to match against. If this field is empty or omitted, will match all methods.
    headers List<GrpcRouteHeaderMatchResponse>
    Optional. Specifies a collection of headers to match.
    method GrpcRouteMethodMatchResponse
    Optional. A gRPC method to match against. If this field is empty or omitted, will match all methods.
    headers GrpcRouteHeaderMatchResponse[]
    Optional. Specifies a collection of headers to match.
    method GrpcRouteMethodMatchResponse
    Optional. A gRPC method to match against. If this field is empty or omitted, will match all methods.
    headers Sequence[GrpcRouteHeaderMatchResponse]
    Optional. Specifies a collection of headers to match.
    method GrpcRouteMethodMatchResponse
    Optional. A gRPC method to match against. If this field is empty or omitted, will match all methods.
    headers List<Property Map>
    Optional. Specifies a collection of headers to match.
    method Property Map
    Optional. A gRPC method to match against. If this field is empty or omitted, will match all methods.

    GrpcRouteRouteRule, GrpcRouteRouteRuleArgs

    Action Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteRouteAction
    A detailed rule defining how to route traffic. This field is required.
    Matches List<Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteRouteMatch>
    Optional. Matches define conditions used for matching the rule against incoming gRPC 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.
    Action GrpcRouteRouteAction
    A detailed rule defining how to route traffic. This field is required.
    Matches []GrpcRouteRouteMatch
    Optional. Matches define conditions used for matching the rule against incoming gRPC 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.
    action GrpcRouteRouteAction
    A detailed rule defining how to route traffic. This field is required.
    matches List<GrpcRouteRouteMatch>
    Optional. Matches define conditions used for matching the rule against incoming gRPC 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.
    action GrpcRouteRouteAction
    A detailed rule defining how to route traffic. This field is required.
    matches GrpcRouteRouteMatch[]
    Optional. Matches define conditions used for matching the rule against incoming gRPC 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.
    action GrpcRouteRouteAction
    A detailed rule defining how to route traffic. This field is required.
    matches Sequence[GrpcRouteRouteMatch]
    Optional. Matches define conditions used for matching the rule against incoming gRPC 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.
    action Property Map
    A detailed rule defining how to route traffic. This field is required.
    matches List<Property Map>
    Optional. Matches define conditions used for matching the rule against incoming gRPC 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.

    GrpcRouteRouteRuleResponse, GrpcRouteRouteRuleResponseArgs

    Action Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteRouteActionResponse
    A detailed rule defining how to route traffic. This field is required.
    Matches List<Pulumi.GoogleNative.NetworkServices.V1.Inputs.GrpcRouteRouteMatchResponse>
    Optional. Matches define conditions used for matching the rule against incoming gRPC 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.
    Action GrpcRouteRouteActionResponse
    A detailed rule defining how to route traffic. This field is required.
    Matches []GrpcRouteRouteMatchResponse
    Optional. Matches define conditions used for matching the rule against incoming gRPC 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.
    action GrpcRouteRouteActionResponse
    A detailed rule defining how to route traffic. This field is required.
    matches List<GrpcRouteRouteMatchResponse>
    Optional. Matches define conditions used for matching the rule against incoming gRPC 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.
    action GrpcRouteRouteActionResponse
    A detailed rule defining how to route traffic. This field is required.
    matches GrpcRouteRouteMatchResponse[]
    Optional. Matches define conditions used for matching the rule against incoming gRPC 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.
    action GrpcRouteRouteActionResponse
    A detailed rule defining how to route traffic. This field is required.
    matches Sequence[GrpcRouteRouteMatchResponse]
    Optional. Matches define conditions used for matching the rule against incoming gRPC 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.
    action Property Map
    A detailed rule defining how to route traffic. This field is required.
    matches List<Property Map>
    Optional. Matches define conditions used for matching the rule against incoming gRPC 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.

    GrpcRouteStatefulSessionAffinityPolicy, GrpcRouteStatefulSessionAffinityPolicyArgs

    CookieTtl string
    The cookie TTL value for the Set-Cookie header generated by the data plane. The lifetime of the cookie may be set to a value from 1 to 86400 seconds (24 hours) inclusive.
    CookieTtl string
    The cookie TTL value for the Set-Cookie header generated by the data plane. The lifetime of the cookie may be set to a value from 1 to 86400 seconds (24 hours) inclusive.
    cookieTtl String
    The cookie TTL value for the Set-Cookie header generated by the data plane. The lifetime of the cookie may be set to a value from 1 to 86400 seconds (24 hours) inclusive.
    cookieTtl string
    The cookie TTL value for the Set-Cookie header generated by the data plane. The lifetime of the cookie may be set to a value from 1 to 86400 seconds (24 hours) inclusive.
    cookie_ttl str
    The cookie TTL value for the Set-Cookie header generated by the data plane. The lifetime of the cookie may be set to a value from 1 to 86400 seconds (24 hours) inclusive.
    cookieTtl String
    The cookie TTL value for the Set-Cookie header generated by the data plane. The lifetime of the cookie may be set to a value from 1 to 86400 seconds (24 hours) inclusive.

    GrpcRouteStatefulSessionAffinityPolicyResponse, GrpcRouteStatefulSessionAffinityPolicyResponseArgs

    CookieTtl string
    The cookie TTL value for the Set-Cookie header generated by the data plane. The lifetime of the cookie may be set to a value from 1 to 86400 seconds (24 hours) inclusive.
    CookieTtl string
    The cookie TTL value for the Set-Cookie header generated by the data plane. The lifetime of the cookie may be set to a value from 1 to 86400 seconds (24 hours) inclusive.
    cookieTtl String
    The cookie TTL value for the Set-Cookie header generated by the data plane. The lifetime of the cookie may be set to a value from 1 to 86400 seconds (24 hours) inclusive.
    cookieTtl string
    The cookie TTL value for the Set-Cookie header generated by the data plane. The lifetime of the cookie may be set to a value from 1 to 86400 seconds (24 hours) inclusive.
    cookie_ttl str
    The cookie TTL value for the Set-Cookie header generated by the data plane. The lifetime of the cookie may be set to a value from 1 to 86400 seconds (24 hours) inclusive.
    cookieTtl String
    The cookie TTL value for the Set-Cookie header generated by the data plane. The lifetime of the cookie may be set to a value from 1 to 86400 seconds (24 hours) inclusive.

    Package Details

    Repository
    Google Cloud Native pulumi/pulumi-google-native
    License
    Apache-2.0
    google-native logo

    Google Cloud Native is in preview. Google Cloud Classic is fully supported.

    Google Cloud Native v0.32.0 published on Wednesday, Nov 29, 2023 by Pulumi