...

Text file src/github.com/GoogleCloudPlatform/k8s-config-connector/config/crds/resources/apiextensions.k8s.io_v1_customresourcedefinition_computeurlmaps.compute.cnrm.cloud.google.com.yaml

Documentation: github.com/GoogleCloudPlatform/k8s-config-connector/config/crds/resources

     1apiVersion: apiextensions.k8s.io/v1
     2kind: CustomResourceDefinition
     3metadata:
     4  annotations:
     5    cnrm.cloud.google.com/version: 0.0.0-dev
     6  creationTimestamp: null
     7  labels:
     8    cnrm.cloud.google.com/managed-by-kcc: "true"
     9    cnrm.cloud.google.com/stability-level: stable
    10    cnrm.cloud.google.com/system: "true"
    11    cnrm.cloud.google.com/tf2crd: "true"
    12  name: computeurlmaps.compute.cnrm.cloud.google.com
    13spec:
    14  group: compute.cnrm.cloud.google.com
    15  names:
    16    categories:
    17    - gcp
    18    kind: ComputeURLMap
    19    plural: computeurlmaps
    20    shortNames:
    21    - gcpcomputeurlmap
    22    - gcpcomputeurlmaps
    23    singular: computeurlmap
    24  preserveUnknownFields: false
    25  scope: Namespaced
    26  versions:
    27  - additionalPrinterColumns:
    28    - jsonPath: .metadata.creationTimestamp
    29      name: Age
    30      type: date
    31    - description: When 'True', the most recent reconcile of the resource succeeded
    32      jsonPath: .status.conditions[?(@.type=='Ready')].status
    33      name: Ready
    34      type: string
    35    - description: The reason for the value in 'Ready'
    36      jsonPath: .status.conditions[?(@.type=='Ready')].reason
    37      name: Status
    38      type: string
    39    - description: The last transition time for the value in 'Status'
    40      jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
    41      name: Status Age
    42      type: date
    43    name: v1beta1
    44    schema:
    45      openAPIV3Schema:
    46        properties:
    47          apiVersion:
    48            description: 'apiVersion defines the versioned schema of this representation
    49              of an object. Servers should convert recognized schemas to the latest
    50              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
    51            type: string
    52          kind:
    53            description: 'kind is a string value representing the REST resource this
    54              object represents. Servers may infer this from the endpoint the client
    55              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
    56            type: string
    57          metadata:
    58            type: object
    59          spec:
    60            properties:
    61              defaultRouteAction:
    62                description: |-
    63                  defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.
    64                  Only one of defaultRouteAction or defaultUrlRedirect must be set.
    65                  URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within defaultRouteAction.
    66                  defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
    67                properties:
    68                  corsPolicy:
    69                    description: |-
    70                      The specification for allowing client side cross-origin requests. Please see
    71                      [W3C Recommendation for Cross Origin Resource Sharing](https://www.w3.org/TR/cors/).
    72                    properties:
    73                      allowCredentials:
    74                        description: |-
    75                          In response to a preflight request, setting this to true indicates that the actual request can include user credentials. This field translates to the Access-Control-Allow-Credentials header.
    76                          Default is false.
    77                        type: boolean
    78                      allowHeaders:
    79                        description: Specifies the content for the Access-Control-Allow-Headers
    80                          header.
    81                        items:
    82                          type: string
    83                        type: array
    84                      allowMethods:
    85                        description: Specifies the content for the Access-Control-Allow-Methods
    86                          header.
    87                        items:
    88                          type: string
    89                        type: array
    90                      allowOriginRegexes:
    91                        description: |-
    92                          Specifies the regualar expression patterns that match allowed origins. For regular expression grammar
    93                          please see en.cppreference.com/w/cpp/regex/ecmascript
    94                          An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.
    95                        items:
    96                          type: string
    97                        type: array
    98                      allowOrigins:
    99                        description: |-
   100                          Specifies the list of origins that will be allowed to do CORS requests.
   101                          An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.
   102                        items:
   103                          type: string
   104                        type: array
   105                      disabled:
   106                        description: If true, the setting specifies the CORS policy
   107                          is disabled. The default value of false, which indicates
   108                          that the CORS policy is in effect.
   109                        type: boolean
   110                      exposeHeaders:
   111                        description: Specifies the content for the Access-Control-Expose-Headers
   112                          header.
   113                        items:
   114                          type: string
   115                        type: array
   116                      maxAge:
   117                        description: |-
   118                          Specifies how long results of a preflight request can be cached in seconds.
   119                          This translates to the Access-Control-Max-Age header.
   120                        type: integer
   121                    type: object
   122                  faultInjectionPolicy:
   123                    description: |-
   124                      The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure.
   125                      As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service.
   126                      Similarly requests from clients can be aborted by the load balancer for a percentage of requests.
   127                      timeout and retryPolicy is ignored by clients that are configured with a faultInjectionPolicy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection.
   128                      Fault injection is not supported with the global external HTTP(S) load balancer (classic). To see which load balancers support fault injection, see Load balancing: [Routing and traffic management features](https://cloud.google.com/load-balancing/docs/features#routing-traffic-management).
   129                    properties:
   130                      abort:
   131                        description: The specification for how client requests are
   132                          aborted as part of fault injection.
   133                        properties:
   134                          httpStatus:
   135                            description: |-
   136                              The HTTP status code used to abort the request.
   137                              The value must be between 200 and 599 inclusive.
   138                            type: integer
   139                          percentage:
   140                            description: |-
   141                              The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
   142                              The value must be between 0.0 and 100.0 inclusive.
   143                            type: number
   144                        type: object
   145                      delay:
   146                        description: The specification for how client requests are
   147                          delayed as part of fault injection, before being sent to
   148                          a backend service.
   149                        properties:
   150                          fixedDelay:
   151                            description: Specifies the value of the fixed delay interval.
   152                            properties:
   153                              nanos:
   154                                description: |-
   155                                  Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are
   156                                  represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
   157                                type: integer
   158                              seconds:
   159                                description: |-
   160                                  Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
   161                                  Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
   162                                type: string
   163                            type: object
   164                          percentage:
   165                            description: |-
   166                              The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection.
   167                              The value must be between 0.0 and 100.0 inclusive.
   168                            type: number
   169                        type: object
   170                    type: object
   171                  requestMirrorPolicy:
   172                    description: |-
   173                      Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service.
   174                      The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow.
   175                      Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
   176                    properties:
   177                      backendServiceRef:
   178                        description: |-
   179                          The backend service resource being mirrored to.
   180                          The backend service configured for a mirroring policy must reference
   181                          backends that are of the same type as the original backend service
   182                          matched in the URL map.
   183                          Serverless NEG backends are not currently supported as a mirrored
   184                          backend service.
   185                        oneOf:
   186                        - not:
   187                            required:
   188                            - external
   189                          required:
   190                          - name
   191                        - not:
   192                            anyOf:
   193                            - required:
   194                              - name
   195                            - required:
   196                              - namespace
   197                          required:
   198                          - external
   199                        properties:
   200                          external:
   201                            description: 'Allowed value: The `selfLink` field of a
   202                              `ComputeBackendService` resource.'
   203                            type: string
   204                          name:
   205                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   206                            type: string
   207                          namespace:
   208                            description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   209                            type: string
   210                        type: object
   211                    type: object
   212                  retryPolicy:
   213                    description: Specifies the retry policy associated with this route.
   214                    properties:
   215                      numRetries:
   216                        description: Specifies the allowed number retries. This number
   217                          must be > 0. If not specified, defaults to 1.
   218                        type: integer
   219                      perTryTimeout:
   220                        description: |-
   221                          Specifies a non-zero timeout per retry attempt.
   222
   223                          If not specified, will use the timeout set in HttpRouteAction. If timeout in HttpRouteAction is not set,
   224                          will use the largest timeout among all backend services associated with the route.
   225                        properties:
   226                          nanos:
   227                            description: |-
   228                              Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are
   229                              represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
   230                            type: integer
   231                          seconds:
   232                            description: |-
   233                              Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
   234                              Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
   235                            type: string
   236                        type: object
   237                      retryConditions:
   238                        description: |-
   239                          Specifies one or more conditions when this retry policy applies.
   240                          Valid values are listed below. Only the following codes are supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true: cancelled, deadline-exceeded, internal, resource-exhausted, unavailable.
   241                            - 5xx : retry is attempted if the instance or endpoint responds with any 5xx response code, or if the instance or endpoint does not respond at all. For example, disconnects, reset, read timeout, connection failure, and refused streams.
   242                            - gateway-error : Similar to 5xx, but only applies to response codes 502, 503 or 504.
   243                            - connect-failure : a retry is attempted on failures connecting to the instance or endpoint. For example, connection timeouts.
   244                            - retriable-4xx : a retry is attempted if the instance or endpoint responds with a 4xx response code. The only error that you can retry is error code 409.
   245                            - refused-stream : a retry is attempted if the instance or endpoint resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry.
   246                            - cancelled : a retry is attempted if the gRPC status code in the response header is set to cancelled.
   247                            - deadline-exceeded : a retry is attempted if the gRPC status code in the response header is set to deadline-exceeded.
   248                            - internal :  a retry is attempted if the gRPC status code in the response header is set to internal.
   249                            - resource-exhausted : a retry is attempted if the gRPC status code in the response header is set to resource-exhausted.
   250                            - unavailable : a retry is attempted if the gRPC status code in the response header is set to unavailable.
   251                        items:
   252                          type: string
   253                        type: array
   254                    type: object
   255                  timeout:
   256                    description: |-
   257                      Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as end-of-stream) up until the response has been processed. Timeout includes all retries.
   258                      If not specified, this field uses the largest timeout among all backend services associated with the route.
   259                      Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
   260                    properties:
   261                      nanos:
   262                        description: Span of time that's a fraction of a second at
   263                          nanosecond resolution. Durations less than one second are
   264                          represented with a 0 seconds field and a positive nanos
   265                          field. Must be from 0 to 999,999,999 inclusive.
   266                        type: integer
   267                      seconds:
   268                        description: 'Span of time at a resolution of a second. Must
   269                          be from 0 to 315,576,000,000 inclusive. Note: these bounds
   270                          are computed from: 60 sec/min * 60 min/hr * 24 hr/day *
   271                          365.25 days/year * 10000 years.'
   272                        type: string
   273                    type: object
   274                  urlRewrite:
   275                    description: |-
   276                      The spec to modify the URL of the request, before forwarding the request to the matched service.
   277                      urlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers.
   278                      Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
   279                    properties:
   280                      hostRewrite:
   281                        description: |-
   282                          Before forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite.
   283                          The value must be from 1 to 255 characters.
   284                        type: string
   285                      pathPrefixRewrite:
   286                        description: |-
   287                          Before forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.
   288                          The value must be from 1 to 1024 characters.
   289                        type: string
   290                    type: object
   291                  weightedBackendServices:
   292                    description: |-
   293                      A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number.
   294                      After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.
   295                    items:
   296                      properties:
   297                        backendServiceRef:
   298                          description: |-
   299                            The default backend service resource.
   300                            Before forwarding the request to backendService, the loadbalancer
   301                            applies any relevant headerActions specified as part of this
   302                            backendServiceWeight.
   303                          oneOf:
   304                          - not:
   305                              required:
   306                              - external
   307                            required:
   308                            - name
   309                          - not:
   310                              anyOf:
   311                              - required:
   312                                - name
   313                              - required:
   314                                - namespace
   315                            required:
   316                            - external
   317                          properties:
   318                            external:
   319                              description: 'Allowed value: The `selfLink` field of
   320                                a `ComputeBackendService` resource.'
   321                              type: string
   322                            name:
   323                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   324                              type: string
   325                            namespace:
   326                              description: 'Namespace of the referent. More info:
   327                                https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   328                              type: string
   329                          type: object
   330                        headerAction:
   331                          description: |-
   332                            Specifies changes to request and response headers that need to take effect for the selected backendService.
   333                            headerAction specified here take effect before headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
   334                            headerAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL.
   335                            Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
   336                          properties:
   337                            requestHeadersToAdd:
   338                              description: Headers to add to a matching request before
   339                                forwarding the request to the backendService.
   340                              items:
   341                                properties:
   342                                  headerName:
   343                                    description: The name of the header.
   344                                    type: string
   345                                  headerValue:
   346                                    description: The value of the header to add.
   347                                    type: string
   348                                  replace:
   349                                    description: |-
   350                                      If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header.
   351                                      The default value is false.
   352                                    type: boolean
   353                                type: object
   354                              type: array
   355                            requestHeadersToRemove:
   356                              description: A list of header names for headers that
   357                                need to be removed from the request before forwarding
   358                                the request to the backendService.
   359                              items:
   360                                type: string
   361                              type: array
   362                            responseHeadersToAdd:
   363                              description: Headers to add the response before sending
   364                                the response back to the client.
   365                              items:
   366                                properties:
   367                                  headerName:
   368                                    description: The name of the header.
   369                                    type: string
   370                                  headerValue:
   371                                    description: The value of the header to add.
   372                                    type: string
   373                                  replace:
   374                                    description: |-
   375                                      If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header.
   376                                      The default value is false.
   377                                    type: boolean
   378                                type: object
   379                              type: array
   380                            responseHeadersToRemove:
   381                              description: A list of header names for headers that
   382                                need to be removed from the response before sending
   383                                the response back to the client.
   384                              items:
   385                                type: string
   386                              type: array
   387                          type: object
   388                        weight:
   389                          description: |-
   390                            Specifies the fraction of traffic sent to a backend service, computed as weight / (sum of all weightedBackendService weights in routeAction) .
   391                            The selection of a backend service is determined only for new traffic. Once a user's request has been directed to a backend service, subsequent requests are sent to the same backend service as determined by the backend service's session affinity policy.
   392                            The value must be from 0 to 1000.
   393                          type: integer
   394                      type: object
   395                    type: array
   396                type: object
   397              defaultService:
   398                description: |-
   399                  The defaultService resource to which traffic is directed if none of
   400                  the hostRules match.
   401                  For the Global URL Map, it should be a reference to the backend
   402                  service or backend bucket.
   403                  For the Regional URL Map, it should be a reference to the backend
   404                  service.
   405                  If defaultRouteAction is additionally specified, advanced routing
   406                  actions like URL Rewrites, etc. take effect prior to sending the
   407                  request to the backend. However, if defaultService is specified,
   408                  defaultRouteAction cannot contain any weightedBackendServices.
   409                  Conversely, if routeAction specifies any weightedBackendServices,
   410                  service must not be specified. Only one of defaultService,
   411                  defaultUrlRedirect or defaultRouteAction.weightedBackendService
   412                  must be set.
   413                oneOf:
   414                - required:
   415                  - backendBucketRef
   416                - required:
   417                  - backendServiceRef
   418                properties:
   419                  backendBucketRef:
   420                    oneOf:
   421                    - not:
   422                        required:
   423                        - external
   424                      required:
   425                      - name
   426                    - not:
   427                        anyOf:
   428                        - required:
   429                          - name
   430                        - required:
   431                          - namespace
   432                      required:
   433                      - external
   434                    properties:
   435                      external:
   436                        description: 'Allowed value: The `selfLink` field of a `ComputeBackendBucket`
   437                          resource.'
   438                        type: string
   439                      name:
   440                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   441                        type: string
   442                      namespace:
   443                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   444                        type: string
   445                    type: object
   446                  backendServiceRef:
   447                    oneOf:
   448                    - not:
   449                        required:
   450                        - external
   451                      required:
   452                      - name
   453                    - not:
   454                        anyOf:
   455                        - required:
   456                          - name
   457                        - required:
   458                          - namespace
   459                      required:
   460                      - external
   461                    properties:
   462                      external:
   463                        description: 'Allowed value: The `selfLink` field of a `ComputeBackendService`
   464                          resource.'
   465                        type: string
   466                      name:
   467                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   468                        type: string
   469                      namespace:
   470                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   471                        type: string
   472                    type: object
   473                type: object
   474              defaultUrlRedirect:
   475                description: |-
   476                  When none of the specified hostRules match, the request is redirected to a URL specified
   477                  by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
   478                  defaultRouteAction must not be set.
   479                properties:
   480                  hostRedirect:
   481                    description: |-
   482                      The host that will be used in the redirect response instead of the one that was
   483                      supplied in the request. The value must be between 1 and 255 characters.
   484                    type: string
   485                  httpsRedirect:
   486                    description: |-
   487                      If set to true, the URL scheme in the redirected request is set to https. If set to
   488                      false, the URL scheme of the redirected request will remain the same as that of the
   489                      request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this
   490                      true for TargetHttpsProxy is not permitted. The default is set to false.
   491                    type: boolean
   492                  pathRedirect:
   493                    description: |-
   494                      The path that will be used in the redirect response instead of the one that was
   495                      supplied in the request. pathRedirect cannot be supplied together with
   496                      prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the
   497                      original request will be used for the redirect. The value must be between 1 and 1024
   498                      characters.
   499                    type: string
   500                  prefixRedirect:
   501                    description: |-
   502                      The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
   503                      retaining the remaining portion of the URL before redirecting the request.
   504                      prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or
   505                      neither. If neither is supplied, the path of the original request will be used for
   506                      the redirect. The value must be between 1 and 1024 characters.
   507                    type: string
   508                  redirectResponseCode:
   509                    description: |-
   510                      The HTTP Status code to use for this RedirectAction. Supported values are:
   511
   512                      * MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301.
   513
   514                      * FOUND, which corresponds to 302.
   515
   516                      * SEE_OTHER which corresponds to 303.
   517
   518                      * TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
   519                      will be retained.
   520
   521                      * PERMANENT_REDIRECT, which corresponds to 308. In this case,
   522                      the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"].
   523                    type: string
   524                  stripQuery:
   525                    description: |-
   526                      If set to true, any accompanying query portion of the original URL is removed prior
   527                      to redirecting the request. If set to false, the query portion of the original URL is
   528                      retained.
   529                       This field is required to ensure an empty block is not set. The normal default value is false.
   530                    type: boolean
   531                required:
   532                - stripQuery
   533                type: object
   534              description:
   535                description: |-
   536                  An optional description of this resource. Provide this property when
   537                  you create the resource.
   538                type: string
   539              headerAction:
   540                description: |-
   541                  Specifies changes to request and response headers that need to take effect for
   542                  the selected backendService. The headerAction specified here take effect after
   543                  headerAction specified under pathMatcher.
   544                properties:
   545                  requestHeadersToAdd:
   546                    description: |-
   547                      Headers to add to a matching request prior to forwarding the request to the
   548                      backendService.
   549                    items:
   550                      properties:
   551                        headerName:
   552                          description: The name of the header.
   553                          type: string
   554                        headerValue:
   555                          description: The value of the header to add.
   556                          type: string
   557                        replace:
   558                          description: |-
   559                            If false, headerValue is appended to any values that already exist for the
   560                            header. If true, headerValue is set for the header, discarding any values that
   561                            were set for that header.
   562                          type: boolean
   563                      required:
   564                      - headerName
   565                      - headerValue
   566                      - replace
   567                      type: object
   568                    type: array
   569                  requestHeadersToRemove:
   570                    description: |-
   571                      A list of header names for headers that need to be removed from the request
   572                      prior to forwarding the request to the backendService.
   573                    items:
   574                      type: string
   575                    type: array
   576                  responseHeadersToAdd:
   577                    description: Headers to add the response prior to sending the
   578                      response back to the client.
   579                    items:
   580                      properties:
   581                        headerName:
   582                          description: The name of the header.
   583                          type: string
   584                        headerValue:
   585                          description: The value of the header to add.
   586                          type: string
   587                        replace:
   588                          description: |-
   589                            If false, headerValue is appended to any values that already exist for the
   590                            header. If true, headerValue is set for the header, discarding any values that
   591                            were set for that header.
   592                          type: boolean
   593                      required:
   594                      - headerName
   595                      - headerValue
   596                      - replace
   597                      type: object
   598                    type: array
   599                  responseHeadersToRemove:
   600                    description: |-
   601                      A list of header names for headers that need to be removed from the response
   602                      prior to sending the response back to the client.
   603                    items:
   604                      type: string
   605                    type: array
   606                type: object
   607              hostRule:
   608                description: The list of HostRules to use against the URL.
   609                items:
   610                  properties:
   611                    description:
   612                      description: |-
   613                        An optional description of this HostRule. Provide this property
   614                        when you create the resource.
   615                      type: string
   616                    hosts:
   617                      description: |-
   618                        The list of host patterns to match. They must be valid
   619                        hostnames, except * will match any string of ([a-z0-9-.]*). In
   620                        that case, * must be the first character and must be followed in
   621                        the pattern by either - or ..
   622                      items:
   623                        type: string
   624                      type: array
   625                    pathMatcher:
   626                      description: |-
   627                        The name of the PathMatcher to use to match the path portion of
   628                        the URL if the hostRule matches the URL's host portion.
   629                      type: string
   630                  required:
   631                  - hosts
   632                  - pathMatcher
   633                  type: object
   634                type: array
   635              location:
   636                description: 'Location represents the geographical location of the
   637                  ComputeURLMap. Specify a region name or "global" for global resources.
   638                  Reference: GCP definition of regions/zones (https://cloud.google.com/compute/docs/regions-zones/)'
   639                type: string
   640              pathMatcher:
   641                description: The list of named PathMatchers to use against the URL.
   642                items:
   643                  properties:
   644                    defaultRouteAction:
   645                      description: |-
   646                        defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs
   647                        advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request
   648                        to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set.
   649                        Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.
   650
   651                        Only one of defaultRouteAction or defaultUrlRedirect must be set.
   652                      properties:
   653                        corsPolicy:
   654                          description: |-
   655                            The specification for allowing client side cross-origin requests. Please see
   656                            [W3C Recommendation for Cross Origin Resource Sharing](https://www.w3.org/TR/cors/).
   657                          properties:
   658                            allowCredentials:
   659                              description: |-
   660                                In response to a preflight request, setting this to true indicates that the actual request can include user credentials.
   661                                This translates to the Access-Control-Allow-Credentials header.
   662                              type: boolean
   663                            allowHeaders:
   664                              description: Specifies the content for the Access-Control-Allow-Headers
   665                                header.
   666                              items:
   667                                type: string
   668                              type: array
   669                            allowMethods:
   670                              description: Specifies the content for the Access-Control-Allow-Methods
   671                                header.
   672                              items:
   673                                type: string
   674                              type: array
   675                            allowOriginRegexes:
   676                              description: |-
   677                                Specifies the regular expression patterns that match allowed origins. For regular expression grammar
   678                                please see en.cppreference.com/w/cpp/regex/ecmascript
   679                                An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.
   680                              items:
   681                                type: string
   682                              type: array
   683                            allowOrigins:
   684                              description: |-
   685                                Specifies the list of origins that will be allowed to do CORS requests.
   686                                An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.
   687                              items:
   688                                type: string
   689                              type: array
   690                            disabled:
   691                              description: If true, specifies the CORS policy is disabled.
   692                                The default value is false, which indicates that the
   693                                CORS policy is in effect.
   694                              type: boolean
   695                            exposeHeaders:
   696                              description: Specifies the content for the Access-Control-Expose-Headers
   697                                header.
   698                              items:
   699                                type: string
   700                              type: array
   701                            maxAge:
   702                              description: |-
   703                                Specifies how long results of a preflight request can be cached in seconds.
   704                                This translates to the Access-Control-Max-Age header.
   705                              type: integer
   706                          type: object
   707                        faultInjectionPolicy:
   708                          description: |-
   709                            The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure.
   710                            As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a
   711                            percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted
   712                            by the Loadbalancer for a percentage of requests.
   713
   714                            timeout and retryPolicy will be ignored by clients that are configured with a faultInjectionPolicy.
   715                          properties:
   716                            abort:
   717                              description: The specification for how client requests
   718                                are aborted as part of fault injection.
   719                              properties:
   720                                httpStatus:
   721                                  description: |-
   722                                    The HTTP status code used to abort the request.
   723                                    The value must be between 200 and 599 inclusive.
   724                                  type: integer
   725                                percentage:
   726                                  description: |-
   727                                    The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
   728                                    The value must be between 0.0 and 100.0 inclusive.
   729                                  type: number
   730                              type: object
   731                            delay:
   732                              description: The specification for how client requests
   733                                are delayed as part of fault injection, before being
   734                                sent to a backend service.
   735                              properties:
   736                                fixedDelay:
   737                                  description: Specifies the value of the fixed delay
   738                                    interval.
   739                                  properties:
   740                                    nanos:
   741                                      description: |-
   742                                        Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are
   743                                        represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
   744                                      type: integer
   745                                    seconds:
   746                                      description: |-
   747                                        Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
   748                                        Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
   749                                      type: string
   750                                  type: object
   751                                percentage:
   752                                  description: |-
   753                                    The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection.
   754                                    The value must be between 0.0 and 100.0 inclusive.
   755                                  type: number
   756                              type: object
   757                          type: object
   758                        requestMirrorPolicy:
   759                          description: |-
   760                            Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service.
   761                            Loadbalancer does not wait for responses from the shadow service. Prior to sending traffic to the shadow service,
   762                            the host / authority header is suffixed with -shadow.
   763                          properties:
   764                            backendServiceRef:
   765                              description: Required. The backend service resource
   766                                being mirrored to.
   767                              oneOf:
   768                              - not:
   769                                  required:
   770                                  - external
   771                                required:
   772                                - name
   773                              - not:
   774                                  anyOf:
   775                                  - required:
   776                                    - name
   777                                  - required:
   778                                    - namespace
   779                                required:
   780                                - external
   781                              properties:
   782                                external:
   783                                  description: 'Allowed value: The `selfLink` field
   784                                    of a `ComputeBackendService` resource.'
   785                                  type: string
   786                                name:
   787                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   788                                  type: string
   789                                namespace:
   790                                  description: 'Namespace of the referent. More info:
   791                                    https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   792                                  type: string
   793                              type: object
   794                          required:
   795                          - backendServiceRef
   796                          type: object
   797                        retryPolicy:
   798                          description: Specifies the retry policy associated with
   799                            this route.
   800                          properties:
   801                            numRetries:
   802                              description: Specifies the allowed number retries. This
   803                                number must be > 0. If not specified, defaults to
   804                                1.
   805                              type: integer
   806                            perTryTimeout:
   807                              description: |-
   808                                Specifies a non-zero timeout per retry attempt.
   809
   810                                If not specified, will use the timeout set in HttpRouteAction. If timeout in HttpRouteAction is not set,
   811                                will use the largest timeout among all backend services associated with the route.
   812                              properties:
   813                                nanos:
   814                                  description: |-
   815                                    Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are
   816                                    represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
   817                                  type: integer
   818                                seconds:
   819                                  description: |-
   820                                    Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
   821                                    Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
   822                                  type: string
   823                              type: object
   824                            retryConditions:
   825                              description: |-
   826                                Specfies one or more conditions when this retry rule applies. Valid values are:
   827
   828                                * 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code,
   829                                  or if the backend service does not respond at all, example: disconnects, reset, read timeout,
   830                                * connection failure, and refused streams.
   831                                * gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
   832                                * connect-failure: Loadbalancer will retry on failures connecting to backend services,
   833                                  for example due to connection timeouts.
   834                                * retriable-4xx: Loadbalancer will retry for retriable 4xx response codes.
   835                                  Currently the only retriable error supported is 409.
   836                                * refused-stream:Loadbalancer will retry if the backend service resets the stream with a REFUSED_STREAM error code.
   837                                  This reset type indicates that it is safe to retry.
   838                                * cancelled: Loadbalancer will retry if the gRPC status code in the response header is set to cancelled
   839                                * deadline-exceeded: Loadbalancer will retry if the gRPC status code in the response header is set to deadline-exceeded
   840                                * resource-exhausted: Loadbalancer will retry if the gRPC status code in the response header is set to resource-exhausted
   841                                * unavailable: Loadbalancer will retry if the gRPC status code in the response header is set to unavailable.
   842                              items:
   843                                type: string
   844                              type: array
   845                          type: object
   846                        timeout:
   847                          description: |-
   848                            Specifies the timeout for the selected route. Timeout is computed from the time the request has been
   849                            fully processed (i.e. end-of-stream) up until the response has been completely processed. Timeout includes all retries.
   850
   851                            If not specified, will use the largest timeout among all backend services associated with the route.
   852                          properties:
   853                            nanos:
   854                              description: |-
   855                                Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
   856                                with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
   857                              type: integer
   858                            seconds:
   859                              description: |-
   860                                Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
   861                                Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
   862                              type: string
   863                          type: object
   864                        urlRewrite:
   865                          description: The spec to modify the URL of the request,
   866                            prior to forwarding the request to the matched service.
   867                          properties:
   868                            hostRewrite:
   869                              description: |-
   870                                Prior to forwarding the request to the selected service, the request's host header is replaced
   871                                with contents of hostRewrite.
   872
   873                                The value must be between 1 and 255 characters.
   874                              type: string
   875                            pathPrefixRewrite:
   876                              description: |-
   877                                Prior to forwarding the request to the selected backend service, the matching portion of the
   878                                request's path is replaced by pathPrefixRewrite.
   879
   880                                The value must be between 1 and 1024 characters.
   881                              type: string
   882                          type: object
   883                        weightedBackendServices:
   884                          description: |-
   885                            A list of weighted backend services to send traffic to when a route match occurs.
   886                            The weights determine the fraction of traffic that flows to their corresponding backend service.
   887                            If all traffic needs to go to a single backend service, there must be one weightedBackendService
   888                            with weight set to a non 0 number.
   889
   890                            Once a backendService is identified and before forwarding the request to the backend service,
   891                            advanced routing actions like Url rewrites and header transformations are applied depending on
   892                            additional settings specified in this HttpRouteAction.
   893                          items:
   894                            properties:
   895                              backendServiceRef:
   896                                description: |-
   897                                  The default backend service resource.
   898                                  Before forwarding the request to backendService, the loadbalancer
   899                                  applies any relevant headerActions specified as part of this
   900                                  backendServiceWeight.
   901                                oneOf:
   902                                - not:
   903                                    required:
   904                                    - external
   905                                  required:
   906                                  - name
   907                                - not:
   908                                    anyOf:
   909                                    - required:
   910                                      - name
   911                                    - required:
   912                                      - namespace
   913                                  required:
   914                                  - external
   915                                properties:
   916                                  external:
   917                                    description: 'Allowed value: The `selfLink` field
   918                                      of a `ComputeBackendService` resource.'
   919                                    type: string
   920                                  name:
   921                                    description: 'Name of the referent. More info:
   922                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   923                                    type: string
   924                                  namespace:
   925                                    description: 'Namespace of the referent. More
   926                                      info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   927                                    type: string
   928                                type: object
   929                              headerAction:
   930                                description: |-
   931                                  Specifies changes to request and response headers that need to take effect for
   932                                  the selected backendService.
   933
   934                                  headerAction specified here take effect before headerAction in the enclosing
   935                                  HttpRouteRule, PathMatcher and UrlMap.
   936                                properties:
   937                                  requestHeadersToAdd:
   938                                    description: Headers to add to a matching request
   939                                      prior to forwarding the request to the backendService.
   940                                    items:
   941                                      properties:
   942                                        headerName:
   943                                          description: The name of the header to add.
   944                                          type: string
   945                                        headerValue:
   946                                          description: The value of the header to
   947                                            add.
   948                                          type: string
   949                                        replace:
   950                                          description: |-
   951                                            If false, headerValue is appended to any values that already exist for the header.
   952                                            If true, headerValue is set for the header, discarding any values that were set for that header.
   953                                          type: boolean
   954                                      type: object
   955                                    type: array
   956                                  requestHeadersToRemove:
   957                                    description: |-
   958                                      A list of header names for headers that need to be removed from the request prior to
   959                                      forwarding the request to the backendService.
   960                                    items:
   961                                      type: string
   962                                    type: array
   963                                  responseHeadersToAdd:
   964                                    description: Headers to add the response prior
   965                                      to sending the response back to the client.
   966                                    items:
   967                                      properties:
   968                                        headerName:
   969                                          description: The name of the header to add.
   970                                          type: string
   971                                        headerValue:
   972                                          description: The value of the header to
   973                                            add.
   974                                          type: string
   975                                        replace:
   976                                          description: |-
   977                                            If false, headerValue is appended to any values that already exist for the header.
   978                                            If true, headerValue is set for the header, discarding any values that were set for that header.
   979                                          type: boolean
   980                                      type: object
   981                                    type: array
   982                                  responseHeadersToRemove:
   983                                    description: |-
   984                                      A list of header names for headers that need to be removed from the response prior to sending the
   985                                      response back to the client.
   986                                    items:
   987                                      type: string
   988                                    type: array
   989                                type: object
   990                              weight:
   991                                description: |-
   992                                  Specifies the fraction of traffic sent to backendService, computed as
   993                                  weight / (sum of all weightedBackendService weights in routeAction) .
   994
   995                                  The selection of a backend service is determined only for new traffic. Once a user's request
   996                                  has been directed to a backendService, subsequent requests will be sent to the same backendService
   997                                  as determined by the BackendService's session affinity policy.
   998
   999                                  The value must be between 0 and 1000.
  1000                                type: integer
  1001                            type: object
  1002                          type: array
  1003                      type: object
  1004                    defaultService:
  1005                      description: |-
  1006                        The default service to use if none of the pathRules defined by this
  1007                        PathMatcher is matched by the URL's path portion.
  1008                        For the Global URL Map, it should be a reference to the backend
  1009                        service or backend bucket.
  1010                        For the Regional URL Map, it should be a reference to the backend
  1011                        service.
  1012                      oneOf:
  1013                      - required:
  1014                        - backendBucketRef
  1015                      - required:
  1016                        - backendServiceRef
  1017                      properties:
  1018                        backendBucketRef:
  1019                          oneOf:
  1020                          - not:
  1021                              required:
  1022                              - external
  1023                            required:
  1024                            - name
  1025                          - not:
  1026                              anyOf:
  1027                              - required:
  1028                                - name
  1029                              - required:
  1030                                - namespace
  1031                            required:
  1032                            - external
  1033                          properties:
  1034                            external:
  1035                              description: 'Allowed value: The `selfLink` field of
  1036                                a `ComputeBackendBucket` resource.'
  1037                              type: string
  1038                            name:
  1039                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1040                              type: string
  1041                            namespace:
  1042                              description: 'Namespace of the referent. More info:
  1043                                https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  1044                              type: string
  1045                          type: object
  1046                        backendServiceRef:
  1047                          oneOf:
  1048                          - not:
  1049                              required:
  1050                              - external
  1051                            required:
  1052                            - name
  1053                          - not:
  1054                              anyOf:
  1055                              - required:
  1056                                - name
  1057                              - required:
  1058                                - namespace
  1059                            required:
  1060                            - external
  1061                          properties:
  1062                            external:
  1063                              description: 'Allowed value: The `selfLink` field of
  1064                                a `ComputeBackendService` resource.'
  1065                              type: string
  1066                            name:
  1067                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1068                              type: string
  1069                            namespace:
  1070                              description: 'Namespace of the referent. More info:
  1071                                https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  1072                              type: string
  1073                          type: object
  1074                      type: object
  1075                    defaultUrlRedirect:
  1076                      description: |-
  1077                        When none of the specified hostRules match, the request is redirected to a URL specified
  1078                        by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
  1079                        defaultRouteAction must not be set.
  1080                      properties:
  1081                        hostRedirect:
  1082                          description: |-
  1083                            The host that will be used in the redirect response instead of the one that was
  1084                            supplied in the request. The value must be between 1 and 255 characters.
  1085                          type: string
  1086                        httpsRedirect:
  1087                          description: |-
  1088                            If set to true, the URL scheme in the redirected request is set to https. If set to
  1089                            false, the URL scheme of the redirected request will remain the same as that of the
  1090                            request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this
  1091                            true for TargetHttpsProxy is not permitted. The default is set to false.
  1092                          type: boolean
  1093                        pathRedirect:
  1094                          description: |-
  1095                            The path that will be used in the redirect response instead of the one that was
  1096                            supplied in the request. pathRedirect cannot be supplied together with
  1097                            prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the
  1098                            original request will be used for the redirect. The value must be between 1 and 1024
  1099                            characters.
  1100                          type: string
  1101                        prefixRedirect:
  1102                          description: |-
  1103                            The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
  1104                            retaining the remaining portion of the URL before redirecting the request.
  1105                            prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or
  1106                            neither. If neither is supplied, the path of the original request will be used for
  1107                            the redirect. The value must be between 1 and 1024 characters.
  1108                          type: string
  1109                        redirectResponseCode:
  1110                          description: |-
  1111                            The HTTP Status code to use for this RedirectAction. Supported values are:
  1112
  1113                            * MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301.
  1114
  1115                            * FOUND, which corresponds to 302.
  1116
  1117                            * SEE_OTHER which corresponds to 303.
  1118
  1119                            * TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
  1120                            will be retained.
  1121
  1122                            * PERMANENT_REDIRECT, which corresponds to 308. In this case,
  1123                            the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"].
  1124                          type: string
  1125                        stripQuery:
  1126                          description: |-
  1127                            If set to true, any accompanying query portion of the original URL is removed prior
  1128                            to redirecting the request. If set to false, the query portion of the original URL is
  1129                            retained.
  1130                             This field is required to ensure an empty block is not set. The normal default value is false.
  1131                          type: boolean
  1132                      required:
  1133                      - stripQuery
  1134                      type: object
  1135                    description:
  1136                      description: An optional description of this resource.
  1137                      type: string
  1138                    headerAction:
  1139                      description: |-
  1140                        Specifies changes to request and response headers that need to take effect for
  1141                        the selected backendService. HeaderAction specified here are applied after the
  1142                        matching HttpRouteRule HeaderAction and before the HeaderAction in the UrlMap.
  1143                      properties:
  1144                        requestHeadersToAdd:
  1145                          description: |-
  1146                            Headers to add to a matching request prior to forwarding the request to the
  1147                            backendService.
  1148                          items:
  1149                            properties:
  1150                              headerName:
  1151                                description: The name of the header.
  1152                                type: string
  1153                              headerValue:
  1154                                description: The value of the header to add.
  1155                                type: string
  1156                              replace:
  1157                                description: |-
  1158                                  If false, headerValue is appended to any values that already exist for the
  1159                                  header. If true, headerValue is set for the header, discarding any values that
  1160                                  were set for that header.
  1161                                type: boolean
  1162                            required:
  1163                            - headerName
  1164                            - headerValue
  1165                            - replace
  1166                            type: object
  1167                          type: array
  1168                        requestHeadersToRemove:
  1169                          description: |-
  1170                            A list of header names for headers that need to be removed from the request
  1171                            prior to forwarding the request to the backendService.
  1172                          items:
  1173                            type: string
  1174                          type: array
  1175                        responseHeadersToAdd:
  1176                          description: Headers to add the response prior to sending
  1177                            the response back to the client.
  1178                          items:
  1179                            properties:
  1180                              headerName:
  1181                                description: The name of the header.
  1182                                type: string
  1183                              headerValue:
  1184                                description: The value of the header to add.
  1185                                type: string
  1186                              replace:
  1187                                description: |-
  1188                                  If false, headerValue is appended to any values that already exist for the
  1189                                  header. If true, headerValue is set for the header, discarding any values that
  1190                                  were set for that header.
  1191                                type: boolean
  1192                            required:
  1193                            - headerName
  1194                            - headerValue
  1195                            - replace
  1196                            type: object
  1197                          type: array
  1198                        responseHeadersToRemove:
  1199                          description: |-
  1200                            A list of header names for headers that need to be removed from the response
  1201                            prior to sending the response back to the client.
  1202                          items:
  1203                            type: string
  1204                          type: array
  1205                      type: object
  1206                    name:
  1207                      description: The name to which this PathMatcher is referred
  1208                        by the HostRule.
  1209                      type: string
  1210                    pathRule:
  1211                      description: |-
  1212                        The list of path rules. Use this list instead of routeRules when routing based
  1213                        on simple path matching is all that's required. The order by which path rules
  1214                        are specified does not matter. Matches are always done on the longest-path-first
  1215                        basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/*
  1216                        irrespective of the order in which those paths appear in this list. Within a
  1217                        given pathMatcher, only one of pathRules or routeRules must be set.
  1218                      items:
  1219                        properties:
  1220                          paths:
  1221                            description: |-
  1222                              The list of path patterns to match. Each must start with / and the only place a
  1223                              \* is allowed is at the end following a /. The string fed to the path matcher
  1224                              does not include any text after the first ? or #, and those chars are not
  1225                              allowed here.
  1226                            items:
  1227                              type: string
  1228                            type: array
  1229                          routeAction:
  1230                            description: |-
  1231                              In response to a matching path, the load balancer performs advanced routing
  1232                              actions like URL rewrites, header transformations, etc. prior to forwarding the
  1233                              request to the selected backend. If routeAction specifies any
  1234                              weightedBackendServices, service must not be set. Conversely if service is set,
  1235                              routeAction cannot contain any  weightedBackendServices. Only one of routeAction
  1236                              or urlRedirect must be set.
  1237                            properties:
  1238                              corsPolicy:
  1239                                description: |-
  1240                                  The specification for allowing client side cross-origin requests. Please see W3C
  1241                                  Recommendation for Cross Origin Resource Sharing.
  1242                                properties:
  1243                                  allowCredentials:
  1244                                    description: |-
  1245                                      In response to a preflight request, setting this to true indicates that the
  1246                                      actual request can include user credentials. This translates to the Access-
  1247                                      Control-Allow-Credentials header. Defaults to false.
  1248                                    type: boolean
  1249                                  allowHeaders:
  1250                                    description: Specifies the content for the Access-Control-Allow-Headers
  1251                                      header.
  1252                                    items:
  1253                                      type: string
  1254                                    type: array
  1255                                  allowMethods:
  1256                                    description: Specifies the content for the Access-Control-Allow-Methods
  1257                                      header.
  1258                                    items:
  1259                                      type: string
  1260                                    type: array
  1261                                  allowOriginRegexes:
  1262                                    description: |-
  1263                                      Specifies the regular expression patterns that match allowed origins. For
  1264                                      regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
  1265                                      An origin is allowed if it matches either allow_origins or allow_origin_regex.
  1266                                    items:
  1267                                      type: string
  1268                                    type: array
  1269                                  allowOrigins:
  1270                                    description: |-
  1271                                      Specifies the list of origins that will be allowed to do CORS requests. An
  1272                                      origin is allowed if it matches either allow_origins or allow_origin_regex.
  1273                                    items:
  1274                                      type: string
  1275                                    type: array
  1276                                  disabled:
  1277                                    description: If true, specifies the CORS policy
  1278                                      is disabled.
  1279                                    type: boolean
  1280                                  exposeHeaders:
  1281                                    description: Specifies the content for the Access-Control-Expose-Headers
  1282                                      header.
  1283                                    items:
  1284                                      type: string
  1285                                    type: array
  1286                                  maxAge:
  1287                                    description: |-
  1288                                      Specifies how long the results of a preflight request can be cached. This
  1289                                      translates to the content for the Access-Control-Max-Age header.
  1290                                    type: integer
  1291                                required:
  1292                                - disabled
  1293                                type: object
  1294                              faultInjectionPolicy:
  1295                                description: |-
  1296                                  The specification for fault injection introduced into traffic to test the
  1297                                  resiliency of clients to backend service failure. As part of fault injection,
  1298                                  when clients send requests to a backend service, delays can be introduced by
  1299                                  Loadbalancer on a percentage of requests before sending those request to the
  1300                                  backend service. Similarly requests from clients can be aborted by the
  1301                                  Loadbalancer for a percentage of requests. timeout and retry_policy will be
  1302                                  ignored by clients that are configured with a fault_injection_policy.
  1303                                properties:
  1304                                  abort:
  1305                                    description: |-
  1306                                      The specification for how client requests are aborted as part of fault
  1307                                      injection.
  1308                                    properties:
  1309                                      httpStatus:
  1310                                        description: |-
  1311                                          The HTTP status code used to abort the request. The value must be between 200
  1312                                          and 599 inclusive.
  1313                                        type: integer
  1314                                      percentage:
  1315                                        description: |-
  1316                                          The percentage of traffic (connections/operations/requests) which will be
  1317                                          aborted as part of fault injection. The value must be between 0.0 and 100.0
  1318                                          inclusive.
  1319                                        type: number
  1320                                    required:
  1321                                    - httpStatus
  1322                                    - percentage
  1323                                    type: object
  1324                                  delay:
  1325                                    description: |-
  1326                                      The specification for how client requests are delayed as part of fault
  1327                                      injection, before being sent to a backend service.
  1328                                    properties:
  1329                                      fixedDelay:
  1330                                        description: Specifies the value of the fixed
  1331                                          delay interval.
  1332                                        properties:
  1333                                          nanos:
  1334                                            description: |-
  1335                                              Span of time that's a fraction of a second at nanosecond resolution. Durations
  1336                                              less than one second are represented with a 0 'seconds' field and a positive
  1337                                              'nanos' field. Must be from 0 to 999,999,999 inclusive.
  1338                                            type: integer
  1339                                          seconds:
  1340                                            description: |-
  1341                                              Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
  1342                                              inclusive.
  1343                                            type: string
  1344                                        required:
  1345                                        - seconds
  1346                                        type: object
  1347                                      percentage:
  1348                                        description: |-
  1349                                          The percentage of traffic (connections/operations/requests) on which delay will
  1350                                          be introduced as part of fault injection. The value must be between 0.0 and
  1351                                          100.0 inclusive.
  1352                                        type: number
  1353                                    required:
  1354                                    - fixedDelay
  1355                                    - percentage
  1356                                    type: object
  1357                                type: object
  1358                              requestMirrorPolicy:
  1359                                description: |-
  1360                                  Specifies the policy on how requests intended for the route's backends are
  1361                                  shadowed to a separate mirrored backend service. Loadbalancer does not wait for
  1362                                  responses from the shadow service. Prior to sending traffic to the shadow
  1363                                  service, the host / authority header is suffixed with -shadow.
  1364                                properties:
  1365                                  backendServiceRef:
  1366                                    description: Required. The backend service resource
  1367                                      being mirrored to.
  1368                                    oneOf:
  1369                                    - not:
  1370                                        required:
  1371                                        - external
  1372                                      required:
  1373                                      - name
  1374                                    - not:
  1375                                        anyOf:
  1376                                        - required:
  1377                                          - name
  1378                                        - required:
  1379                                          - namespace
  1380                                      required:
  1381                                      - external
  1382                                    properties:
  1383                                      external:
  1384                                        description: 'Allowed value: The `selfLink`
  1385                                          field of a `ComputeBackendService` resource.'
  1386                                        type: string
  1387                                      name:
  1388                                        description: 'Name of the referent. More info:
  1389                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1390                                        type: string
  1391                                      namespace:
  1392                                        description: 'Namespace of the referent. More
  1393                                          info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  1394                                        type: string
  1395                                    type: object
  1396                                required:
  1397                                - backendServiceRef
  1398                                type: object
  1399                              retryPolicy:
  1400                                description: Specifies the retry policy associated
  1401                                  with this route.
  1402                                properties:
  1403                                  numRetries:
  1404                                    description: Specifies the allowed number retries.
  1405                                      This number must be > 0.
  1406                                    type: integer
  1407                                  perTryTimeout:
  1408                                    description: Specifies a non-zero timeout per
  1409                                      retry attempt.
  1410                                    properties:
  1411                                      nanos:
  1412                                        description: |-
  1413                                          Span of time that's a fraction of a second at nanosecond resolution. Durations
  1414                                          less than one second are represented with a 0 'seconds' field and a positive
  1415                                          'nanos' field. Must be from 0 to 999,999,999 inclusive.
  1416                                        type: integer
  1417                                      seconds:
  1418                                        description: |-
  1419                                          Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
  1420                                          inclusive.
  1421                                        type: string
  1422                                    required:
  1423                                    - seconds
  1424                                    type: object
  1425                                  retryConditions:
  1426                                    description: |-
  1427                                      Specifies one or more conditions when this retry rule applies. Valid values are:
  1428
  1429                                      - 5xx: Loadbalancer will attempt a retry if the backend service responds with
  1430                                      any 5xx response code, or if the backend service does not respond at all,
  1431                                      example: disconnects, reset, read timeout, connection failure, and refused
  1432                                      streams.
  1433                                      - gateway-error: Similar to 5xx, but only applies to response codes
  1434                                      502, 503 or 504.
  1435                                      - connect-failure: Loadbalancer will retry on failures
  1436                                      connecting to backend services, for example due to connection timeouts.
  1437                                      - retriable-4xx: Loadbalancer will retry for retriable 4xx response codes.
  1438                                      Currently the only retriable error supported is 409.
  1439                                      - refused-stream: Loadbalancer will retry if the backend service resets the stream with a
  1440                                      REFUSED_STREAM error code. This reset type indicates that it is safe to retry.
  1441                                      - cancelled: Loadbalancer will retry if the gRPC status code in the response
  1442                                      header is set to cancelled
  1443                                      - deadline-exceeded: Loadbalancer will retry if the
  1444                                      gRPC status code in the response header is set to deadline-exceeded
  1445                                      - resource-exhausted: Loadbalancer will retry if the gRPC status code in the response
  1446                                      header is set to resource-exhausted
  1447                                      - unavailable: Loadbalancer will retry if
  1448                                      the gRPC status code in the response header is set to unavailable.
  1449                                    items:
  1450                                      type: string
  1451                                    type: array
  1452                                type: object
  1453                              timeout:
  1454                                description: |-
  1455                                  Specifies the timeout for the selected route. Timeout is computed from the time
  1456                                  the request is has been fully processed (i.e. end-of-stream) up until the
  1457                                  response has been completely processed. Timeout includes all retries. If not
  1458                                  specified, the default value is 15 seconds.
  1459                                properties:
  1460                                  nanos:
  1461                                    description: |-
  1462                                      Span of time that's a fraction of a second at nanosecond resolution. Durations
  1463                                      less than one second are represented with a 0 'seconds' field and a positive
  1464                                      'nanos' field. Must be from 0 to 999,999,999 inclusive.
  1465                                    type: integer
  1466                                  seconds:
  1467                                    description: |-
  1468                                      Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
  1469                                      inclusive.
  1470                                    type: string
  1471                                required:
  1472                                - seconds
  1473                                type: object
  1474                              urlRewrite:
  1475                                description: |-
  1476                                  The spec to modify the URL of the request, prior to forwarding the request to
  1477                                  the matched service.
  1478                                properties:
  1479                                  hostRewrite:
  1480                                    description: |-
  1481                                      Prior to forwarding the request to the selected service, the request's host
  1482                                      header is replaced with contents of hostRewrite. The value must be between 1 and
  1483                                      255 characters.
  1484                                    type: string
  1485                                  pathPrefixRewrite:
  1486                                    description: |-
  1487                                      Prior to forwarding the request to the selected backend service, the matching
  1488                                      portion of the request's path is replaced by pathPrefixRewrite. The value must
  1489                                      be between 1 and 1024 characters.
  1490                                    type: string
  1491                                type: object
  1492                              weightedBackendServices:
  1493                                description: |-
  1494                                  A list of weighted backend services to send traffic to when a route match
  1495                                  occurs. The weights determine the fraction of traffic that flows to their
  1496                                  corresponding backend service. If all traffic needs to go to a single backend
  1497                                  service, there must be one  weightedBackendService with weight set to a non 0
  1498                                  number. Once a backendService is identified and before forwarding the request to
  1499                                  the backend service, advanced routing actions like Url rewrites and header
  1500                                  transformations are applied depending on additional settings specified in this
  1501                                  HttpRouteAction.
  1502                                items:
  1503                                  properties:
  1504                                    backendServiceRef:
  1505                                      description: |-
  1506                                        Required. The default backend service resource. Before forwarding
  1507                                        the request to backendService, the loadbalancer applies any relevant
  1508                                        headerActions specified as part of this backendServiceWeight.
  1509                                      oneOf:
  1510                                      - not:
  1511                                          required:
  1512                                          - external
  1513                                        required:
  1514                                        - name
  1515                                      - not:
  1516                                          anyOf:
  1517                                          - required:
  1518                                            - name
  1519                                          - required:
  1520                                            - namespace
  1521                                        required:
  1522                                        - external
  1523                                      properties:
  1524                                        external:
  1525                                          description: 'Allowed value: The `selfLink`
  1526                                            field of a `ComputeBackendService` resource.'
  1527                                          type: string
  1528                                        name:
  1529                                          description: 'Name of the referent. More
  1530                                            info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1531                                          type: string
  1532                                        namespace:
  1533                                          description: 'Namespace of the referent.
  1534                                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  1535                                          type: string
  1536                                      type: object
  1537                                    headerAction:
  1538                                      description: |-
  1539                                        Specifies changes to request and response headers that need to take effect for
  1540                                        the selected backendService. headerAction specified here take effect before
  1541                                        headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
  1542                                      properties:
  1543                                        requestHeadersToAdd:
  1544                                          description: |-
  1545                                            Headers to add to a matching request prior to forwarding the request to the
  1546                                            backendService.
  1547                                          items:
  1548                                            properties:
  1549                                              headerName:
  1550                                                description: The name of the header.
  1551                                                type: string
  1552                                              headerValue:
  1553                                                description: The value of the header
  1554                                                  to add.
  1555                                                type: string
  1556                                              replace:
  1557                                                description: |-
  1558                                                  If false, headerValue is appended to any values that already exist for the
  1559                                                  header. If true, headerValue is set for the header, discarding any values that
  1560                                                  were set for that header.
  1561                                                type: boolean
  1562                                            required:
  1563                                            - headerName
  1564                                            - headerValue
  1565                                            - replace
  1566                                            type: object
  1567                                          type: array
  1568                                        requestHeadersToRemove:
  1569                                          description: |-
  1570                                            A list of header names for headers that need to be removed from the request
  1571                                            prior to forwarding the request to the backendService.
  1572                                          items:
  1573                                            type: string
  1574                                          type: array
  1575                                        responseHeadersToAdd:
  1576                                          description: Headers to add the response
  1577                                            prior to sending the response back to
  1578                                            the client.
  1579                                          items:
  1580                                            properties:
  1581                                              headerName:
  1582                                                description: The name of the header.
  1583                                                type: string
  1584                                              headerValue:
  1585                                                description: The value of the header
  1586                                                  to add.
  1587                                                type: string
  1588                                              replace:
  1589                                                description: |-
  1590                                                  If false, headerValue is appended to any values that already exist for the
  1591                                                  header. If true, headerValue is set for the header, discarding any values that
  1592                                                  were set for that header.
  1593                                                type: boolean
  1594                                            required:
  1595                                            - headerName
  1596                                            - headerValue
  1597                                            - replace
  1598                                            type: object
  1599                                          type: array
  1600                                        responseHeadersToRemove:
  1601                                          description: |-
  1602                                            A list of header names for headers that need to be removed from the response
  1603                                            prior to sending the response back to the client.
  1604                                          items:
  1605                                            type: string
  1606                                          type: array
  1607                                      type: object
  1608                                    weight:
  1609                                      description: |-
  1610                                        Specifies the fraction of traffic sent to backendService, computed as weight /
  1611                                        (sum of all weightedBackendService weights in routeAction) . The selection of a
  1612                                        backend service is determined only for new traffic. Once a user's request has
  1613                                        been directed to a backendService, subsequent requests will be sent to the same
  1614                                        backendService as determined by the BackendService's session affinity policy.
  1615                                        The value must be between 0 and 1000.
  1616                                      type: integer
  1617                                  required:
  1618                                  - backendServiceRef
  1619                                  - weight
  1620                                  type: object
  1621                                type: array
  1622                            type: object
  1623                          service:
  1624                            description: |-
  1625                              The backend service to which traffic is directed if this rule is
  1626                              matched.
  1627                              For the Global URL Map, it should be a reference to the backend
  1628                              service or backend bucket.
  1629                              For the Regional URL Map, it should be a reference to the backend
  1630                              service.
  1631                              If routeAction is additionally specified, advanced routing actions
  1632                              like URL Rewrites, etc. take effect prior to sending the request to
  1633                              the backend. However, if service is specified, routeAction cannot
  1634                              contain any weightedBackendServices. Conversely, if routeAction
  1635                              specifies any weightedBackendServices, service must not be
  1636                              specified. Only one of urlRedirect, service or
  1637                              routeAction.weightedBackendService must be set.
  1638                            oneOf:
  1639                            - required:
  1640                              - backendBucketRef
  1641                            - required:
  1642                              - backendServiceRef
  1643                            properties:
  1644                              backendBucketRef:
  1645                                oneOf:
  1646                                - not:
  1647                                    required:
  1648                                    - external
  1649                                  required:
  1650                                  - name
  1651                                - not:
  1652                                    anyOf:
  1653                                    - required:
  1654                                      - name
  1655                                    - required:
  1656                                      - namespace
  1657                                  required:
  1658                                  - external
  1659                                properties:
  1660                                  external:
  1661                                    description: 'Allowed value: The `selfLink` field
  1662                                      of a `ComputeBackendBucket` resource.'
  1663                                    type: string
  1664                                  name:
  1665                                    description: 'Name of the referent. More info:
  1666                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1667                                    type: string
  1668                                  namespace:
  1669                                    description: 'Namespace of the referent. More
  1670                                      info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  1671                                    type: string
  1672                                type: object
  1673                              backendServiceRef:
  1674                                oneOf:
  1675                                - not:
  1676                                    required:
  1677                                    - external
  1678                                  required:
  1679                                  - name
  1680                                - not:
  1681                                    anyOf:
  1682                                    - required:
  1683                                      - name
  1684                                    - required:
  1685                                      - namespace
  1686                                  required:
  1687                                  - external
  1688                                properties:
  1689                                  external:
  1690                                    description: 'Allowed value: The `selfLink` field
  1691                                      of a `ComputeBackendService` resource.'
  1692                                    type: string
  1693                                  name:
  1694                                    description: 'Name of the referent. More info:
  1695                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1696                                    type: string
  1697                                  namespace:
  1698                                    description: 'Namespace of the referent. More
  1699                                      info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  1700                                    type: string
  1701                                type: object
  1702                            type: object
  1703                          urlRedirect:
  1704                            description: |-
  1705                              When a path pattern is matched, the request is redirected to a URL specified
  1706                              by urlRedirect. If urlRedirect is specified, service or routeAction must not
  1707                              be set.
  1708                            properties:
  1709                              hostRedirect:
  1710                                description: |-
  1711                                  The host that will be used in the redirect response instead of the one
  1712                                  that was supplied in the request. The value must be between 1 and 255
  1713                                  characters.
  1714                                type: string
  1715                              httpsRedirect:
  1716                                description: |-
  1717                                  If set to true, the URL scheme in the redirected request is set to https.
  1718                                  If set to false, the URL scheme of the redirected request will remain the
  1719                                  same as that of the request. This must only be set for UrlMaps used in
  1720                                  TargetHttpProxys. Setting this true for TargetHttpsProxy is not
  1721                                  permitted. The default is set to false.
  1722                                type: boolean
  1723                              pathRedirect:
  1724                                description: |-
  1725                                  The path that will be used in the redirect response instead of the one
  1726                                  that was supplied in the request. pathRedirect cannot be supplied
  1727                                  together with prefixRedirect. Supply one alone or neither. If neither is
  1728                                  supplied, the path of the original request will be used for the redirect.
  1729                                  The value must be between 1 and 1024 characters.
  1730                                type: string
  1731                              prefixRedirect:
  1732                                description: |-
  1733                                  The prefix that replaces the prefixMatch specified in the
  1734                                  HttpRouteRuleMatch, retaining the remaining portion of the URL before
  1735                                  redirecting the request. prefixRedirect cannot be supplied together with
  1736                                  pathRedirect. Supply one alone or neither. If neither is supplied, the
  1737                                  path of the original request will be used for the redirect. The value
  1738                                  must be between 1 and 1024 characters.
  1739                                type: string
  1740                              redirectResponseCode:
  1741                                description: |-
  1742                                  The HTTP Status code to use for this RedirectAction. Supported values are:
  1743
  1744                                  * MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301.
  1745
  1746                                  * FOUND, which corresponds to 302.
  1747
  1748                                  * SEE_OTHER which corresponds to 303.
  1749
  1750                                  * TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
  1751                                  will be retained.
  1752
  1753                                  * PERMANENT_REDIRECT, which corresponds to 308. In this case,
  1754                                  the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"].
  1755                                type: string
  1756                              stripQuery:
  1757                                description: |-
  1758                                  If set to true, any accompanying query portion of the original URL is removed
  1759                                  prior to redirecting the request. If set to false, the query portion of the
  1760                                  original URL is retained.
  1761                                   This field is required to ensure an empty block is not set. The normal default value is false.
  1762                                type: boolean
  1763                            required:
  1764                            - stripQuery
  1765                            type: object
  1766                        required:
  1767                        - paths
  1768                        type: object
  1769                      type: array
  1770                    routeRules:
  1771                      description: |-
  1772                        The list of ordered HTTP route rules. Use this list instead of pathRules when
  1773                        advanced route matching and routing actions are desired. The order of specifying
  1774                        routeRules matters: the first rule that matches will cause its specified routing
  1775                        action to take effect. Within a given pathMatcher, only one of pathRules or
  1776                        routeRules must be set. routeRules are not supported in UrlMaps intended for
  1777                        External load balancers.
  1778                      items:
  1779                        properties:
  1780                          headerAction:
  1781                            description: |-
  1782                              Specifies changes to request and response headers that need to take effect for
  1783                              the selected backendService. The headerAction specified here are applied before
  1784                              the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].r
  1785                              outeAction.weightedBackendService.backendServiceWeightAction[].headerAction.
  1786                            properties:
  1787                              requestHeadersToAdd:
  1788                                description: |-
  1789                                  Headers to add to a matching request prior to forwarding the request to the
  1790                                  backendService.
  1791                                items:
  1792                                  properties:
  1793                                    headerName:
  1794                                      description: The name of the header.
  1795                                      type: string
  1796                                    headerValue:
  1797                                      description: The value of the header to add.
  1798                                      type: string
  1799                                    replace:
  1800                                      description: |-
  1801                                        If false, headerValue is appended to any values that already exist for the
  1802                                        header. If true, headerValue is set for the header, discarding any values that
  1803                                        were set for that header.
  1804                                      type: boolean
  1805                                  required:
  1806                                  - headerName
  1807                                  - headerValue
  1808                                  - replace
  1809                                  type: object
  1810                                type: array
  1811                              requestHeadersToRemove:
  1812                                description: |-
  1813                                  A list of header names for headers that need to be removed from the request
  1814                                  prior to forwarding the request to the backendService.
  1815                                items:
  1816                                  type: string
  1817                                type: array
  1818                              responseHeadersToAdd:
  1819                                description: Headers to add the response prior to
  1820                                  sending the response back to the client.
  1821                                items:
  1822                                  properties:
  1823                                    headerName:
  1824                                      description: The name of the header.
  1825                                      type: string
  1826                                    headerValue:
  1827                                      description: The value of the header to add.
  1828                                      type: string
  1829                                    replace:
  1830                                      description: |-
  1831                                        If false, headerValue is appended to any values that already exist for the
  1832                                        header. If true, headerValue is set for the header, discarding any values that
  1833                                        were set for that header.
  1834                                      type: boolean
  1835                                  required:
  1836                                  - headerName
  1837                                  - headerValue
  1838                                  - replace
  1839                                  type: object
  1840                                type: array
  1841                              responseHeadersToRemove:
  1842                                description: |-
  1843                                  A list of header names for headers that need to be removed from the response
  1844                                  prior to sending the response back to the client.
  1845                                items:
  1846                                  type: string
  1847                                type: array
  1848                            type: object
  1849                          matchRules:
  1850                            description: The rules for determining a match.
  1851                            items:
  1852                              properties:
  1853                                fullPathMatch:
  1854                                  description: |-
  1855                                    For satisfying the matchRule condition, the path of the request must exactly
  1856                                    match the value specified in fullPathMatch after removing any query parameters
  1857                                    and anchor that may be part of the original URL. FullPathMatch must be between 1
  1858                                    and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
  1859                                    be specified.
  1860                                  type: string
  1861                                headerMatches:
  1862                                  description: |-
  1863                                    Specifies a list of header match criteria, all of which must match corresponding
  1864                                    headers in the request.
  1865                                  items:
  1866                                    properties:
  1867                                      exactMatch:
  1868                                        description: |-
  1869                                          The value should exactly match contents of exactMatch. Only one of exactMatch,
  1870                                          prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.
  1871                                        type: string
  1872                                      headerName:
  1873                                        description: |-
  1874                                          The name of the HTTP header to match. For matching against the HTTP request's
  1875                                          authority, use a headerMatch with the header name ":authority". For matching a
  1876                                          request's method, use the headerName ":method".
  1877                                        type: string
  1878                                      invertMatch:
  1879                                        description: |-
  1880                                          If set to false, the headerMatch is considered a match if the match criteria
  1881                                          above are met. If set to true, the headerMatch is considered a match if the
  1882                                          match criteria above are NOT met. Defaults to false.
  1883                                        type: boolean
  1884                                      prefixMatch:
  1885                                        description: |-
  1886                                          The value of the header must start with the contents of prefixMatch. Only one of
  1887                                          exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
  1888                                          must be set.
  1889                                        type: string
  1890                                      presentMatch:
  1891                                        description: |-
  1892                                          A header with the contents of headerName must exist. The match takes place
  1893                                          whether or not the request's header has a value or not. Only one of exactMatch,
  1894                                          prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.
  1895                                        type: boolean
  1896                                      rangeMatch:
  1897                                        description: |-
  1898                                          The header value must be an integer and its value must be in the range specified
  1899                                          in rangeMatch. If the header does not contain an integer, number or is empty,
  1900                                          the match fails. For example for a range [-5, 0]
  1901
  1902                                          * -3 will match
  1903                                          * 0 will not match
  1904                                          * 0.25 will not match
  1905                                          * -3someString will not match.
  1906
  1907                                          Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
  1908                                          rangeMatch must be set.
  1909                                        properties:
  1910                                          rangeEnd:
  1911                                            description: The end of the range (exclusive).
  1912                                            type: integer
  1913                                          rangeStart:
  1914                                            description: The start of the range (inclusive).
  1915                                            type: integer
  1916                                        required:
  1917                                        - rangeEnd
  1918                                        - rangeStart
  1919                                        type: object
  1920                                      regexMatch:
  1921                                        description: |-
  1922                                          The value of the header must match the regular expression specified in
  1923                                          regexMatch. For regular expression grammar, please see:
  1924                                          en.cppreference.com/w/cpp/regex/ecmascript  For matching against a port
  1925                                          specified in the HTTP request, use a headerMatch with headerName set to PORT and
  1926                                          a regular expression that satisfies the RFC2616 Host header's port specifier.
  1927                                          Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
  1928                                          rangeMatch must be set.
  1929                                        type: string
  1930                                      suffixMatch:
  1931                                        description: |-
  1932                                          The value of the header must end with the contents of suffixMatch. Only one of
  1933                                          exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
  1934                                          must be set.
  1935                                        type: string
  1936                                    required:
  1937                                    - headerName
  1938                                    type: object
  1939                                  type: array
  1940                                ignoreCase:
  1941                                  description: |-
  1942                                    Specifies that prefixMatch and fullPathMatch matches are case sensitive.
  1943                                    Defaults to false.
  1944                                  type: boolean
  1945                                metadataFilters:
  1946                                  description: |-
  1947                                    Opaque filter criteria used by Loadbalancer to restrict routing configuration to
  1948                                    a limited set xDS compliant clients. In their xDS requests to Loadbalancer, xDS
  1949                                    clients present node metadata. If a match takes place, the relevant routing
  1950                                    configuration is made available to those proxies. For each metadataFilter in
  1951                                    this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the
  1952                                    filterLabels must match the corresponding label provided in the metadata. If its
  1953                                    filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match
  1954                                    with corresponding labels in the provided metadata. metadataFilters specified
  1955                                    here can be overrides those specified in ForwardingRule that refers to this
  1956                                    UrlMap. metadataFilters only applies to Loadbalancers that have their
  1957                                    loadBalancingScheme set to INTERNAL_SELF_MANAGED.
  1958                                  items:
  1959                                    properties:
  1960                                      filterLabels:
  1961                                        description: |-
  1962                                          The list of label value pairs that must match labels in the provided metadata
  1963                                          based on filterMatchCriteria  This list must not be empty and can have at the
  1964                                          most 64 entries.
  1965                                        items:
  1966                                          properties:
  1967                                            name:
  1968                                              description: |-
  1969                                                Name of metadata label. The name can have a maximum length of 1024 characters
  1970                                                and must be at least 1 character long.
  1971                                              type: string
  1972                                            value:
  1973                                              description: |-
  1974                                                The value of the label must match the specified value. value can have a maximum
  1975                                                length of 1024 characters.
  1976                                              type: string
  1977                                          required:
  1978                                          - name
  1979                                          - value
  1980                                          type: object
  1981                                        type: array
  1982                                      filterMatchCriteria:
  1983                                        description: |-
  1984                                          Specifies how individual filterLabel matches within the list of filterLabels
  1985                                          contribute towards the overall metadataFilter match. Supported values are:
  1986
  1987                                          * MATCH_ANY: At least one of the filterLabels must have a matching label in the
  1988                                          provided metadata.
  1989                                          * MATCH_ALL: All filterLabels must have matching labels in
  1990                                          the provided metadata. Possible values: ["MATCH_ALL", "MATCH_ANY"].
  1991                                        type: string
  1992                                    required:
  1993                                    - filterLabels
  1994                                    - filterMatchCriteria
  1995                                    type: object
  1996                                  type: array
  1997                                prefixMatch:
  1998                                  description: |-
  1999                                    For satisfying the matchRule condition, the request's path must begin with the
  2000                                    specified prefixMatch. prefixMatch must begin with a /. The value must be
  2001                                    between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
  2002                                    regexMatch must be specified.
  2003                                  type: string
  2004                                queryParameterMatches:
  2005                                  description: |-
  2006                                    Specifies a list of query parameter match criteria, all of which must match
  2007                                    corresponding query parameters in the request.
  2008                                  items:
  2009                                    properties:
  2010                                      exactMatch:
  2011                                        description: |-
  2012                                          The queryParameterMatch matches if the value of the parameter exactly matches
  2013                                          the contents of exactMatch. Only one of presentMatch, exactMatch and regexMatch
  2014                                          must be set.
  2015                                        type: string
  2016                                      name:
  2017                                        description: |-
  2018                                          The name of the query parameter to match. The query parameter must exist in the
  2019                                          request, in the absence of which the request match fails.
  2020                                        type: string
  2021                                      presentMatch:
  2022                                        description: |-
  2023                                          Specifies that the queryParameterMatch matches if the request contains the query
  2024                                          parameter, irrespective of whether the parameter has a value or not. Only one of
  2025                                          presentMatch, exactMatch and regexMatch must be set.
  2026                                        type: boolean
  2027                                      regexMatch:
  2028                                        description: |-
  2029                                          The queryParameterMatch matches if the value of the parameter matches the
  2030                                          regular expression specified by regexMatch. For the regular expression grammar,
  2031                                          please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
  2032                                          exactMatch and regexMatch must be set.
  2033                                        type: string
  2034                                    required:
  2035                                    - name
  2036                                    type: object
  2037                                  type: array
  2038                                regexMatch:
  2039                                  description: |-
  2040                                    For satisfying the matchRule condition, the path of the request must satisfy the
  2041                                    regular expression specified in regexMatch after removing any query parameters
  2042                                    and anchor supplied with the original URL. For regular expression grammar please
  2043                                    see en.cppreference.com/w/cpp/regex/ecmascript  Only one of prefixMatch,
  2044                                    fullPathMatch or regexMatch must be specified.
  2045                                  type: string
  2046                              type: object
  2047                            type: array
  2048                          priority:
  2049                            description: |-
  2050                              For routeRules within a given pathMatcher, priority determines the order
  2051                              in which load balancer will interpret routeRules. RouteRules are evaluated
  2052                              in order of priority, from the lowest to highest number. The priority of
  2053                              a rule decreases as its number increases (1, 2, 3, N+1). The first rule
  2054                              that matches the request is applied.
  2055
  2056                              You cannot configure two or more routeRules with the same priority.
  2057                              Priority for each rule must be set to a number between 0 and
  2058                              2147483647 inclusive.
  2059
  2060                              Priority numbers can have gaps, which enable you to add or remove rules
  2061                              in the future without affecting the rest of the rules. For example,
  2062                              1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which
  2063                              you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
  2064                              future without any impact on existing rules.
  2065                            type: integer
  2066                          routeAction:
  2067                            description: |-
  2068                              In response to a matching matchRule, the load balancer performs advanced routing
  2069                              actions like URL rewrites, header transformations, etc. prior to forwarding the
  2070                              request to the selected backend. If  routeAction specifies any
  2071                              weightedBackendServices, service must not be set. Conversely if service is set,
  2072                              routeAction cannot contain any  weightedBackendServices. Only one of routeAction
  2073                              or urlRedirect must be set.
  2074                            properties:
  2075                              corsPolicy:
  2076                                description: |-
  2077                                  The specification for allowing client side cross-origin requests. Please see W3C
  2078                                  Recommendation for Cross Origin Resource Sharing.
  2079                                properties:
  2080                                  allowCredentials:
  2081                                    description: |-
  2082                                      In response to a preflight request, setting this to true indicates that the
  2083                                      actual request can include user credentials. This translates to the Access-
  2084                                      Control-Allow-Credentials header. Defaults to false.
  2085                                    type: boolean
  2086                                  allowHeaders:
  2087                                    description: Specifies the content for the Access-Control-Allow-Headers
  2088                                      header.
  2089                                    items:
  2090                                      type: string
  2091                                    type: array
  2092                                  allowMethods:
  2093                                    description: Specifies the content for the Access-Control-Allow-Methods
  2094                                      header.
  2095                                    items:
  2096                                      type: string
  2097                                    type: array
  2098                                  allowOriginRegexes:
  2099                                    description: |-
  2100                                      Specifies the regular expression patterns that match allowed origins. For
  2101                                      regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
  2102                                      An origin is allowed if it matches either allow_origins or allow_origin_regex.
  2103                                    items:
  2104                                      type: string
  2105                                    type: array
  2106                                  allowOrigins:
  2107                                    description: |-
  2108                                      Specifies the list of origins that will be allowed to do CORS requests. An
  2109                                      origin is allowed if it matches either allow_origins or allow_origin_regex.
  2110                                    items:
  2111                                      type: string
  2112                                    type: array
  2113                                  disabled:
  2114                                    description: |-
  2115                                      If true, specifies the CORS policy is disabled.
  2116                                      which indicates that the CORS policy is in effect. Defaults to false.
  2117                                    type: boolean
  2118                                  exposeHeaders:
  2119                                    description: Specifies the content for the Access-Control-Expose-Headers
  2120                                      header.
  2121                                    items:
  2122                                      type: string
  2123                                    type: array
  2124                                  maxAge:
  2125                                    description: |-
  2126                                      Specifies how long the results of a preflight request can be cached. This
  2127                                      translates to the content for the Access-Control-Max-Age header.
  2128                                    type: integer
  2129                                type: object
  2130                              faultInjectionPolicy:
  2131                                description: |-
  2132                                  The specification for fault injection introduced into traffic to test the
  2133                                  resiliency of clients to backend service failure. As part of fault injection,
  2134                                  when clients send requests to a backend service, delays can be introduced by
  2135                                  Loadbalancer on a percentage of requests before sending those request to the
  2136                                  backend service. Similarly requests from clients can be aborted by the
  2137                                  Loadbalancer for a percentage of requests. timeout and retry_policy will be
  2138                                  ignored by clients that are configured with a fault_injection_policy.
  2139                                properties:
  2140                                  abort:
  2141                                    description: |-
  2142                                      The specification for how client requests are aborted as part of fault
  2143                                      injection.
  2144                                    properties:
  2145                                      httpStatus:
  2146                                        description: |-
  2147                                          The HTTP status code used to abort the request. The value must be between 200
  2148                                          and 599 inclusive.
  2149                                        type: integer
  2150                                      percentage:
  2151                                        description: |-
  2152                                          The percentage of traffic (connections/operations/requests) which will be
  2153                                          aborted as part of fault injection. The value must be between 0.0 and 100.0
  2154                                          inclusive.
  2155                                        type: number
  2156                                    type: object
  2157                                  delay:
  2158                                    description: |-
  2159                                      The specification for how client requests are delayed as part of fault
  2160                                      injection, before being sent to a backend service.
  2161                                    properties:
  2162                                      fixedDelay:
  2163                                        description: Specifies the value of the fixed
  2164                                          delay interval.
  2165                                        properties:
  2166                                          nanos:
  2167                                            description: |-
  2168                                              Span of time that's a fraction of a second at nanosecond resolution. Durations
  2169                                              less than one second are represented with a 0 'seconds' field and a positive
  2170                                              'nanos' field. Must be from 0 to 999,999,999 inclusive.
  2171                                            type: integer
  2172                                          seconds:
  2173                                            description: |-
  2174                                              Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
  2175                                              inclusive.
  2176                                            type: string
  2177                                        required:
  2178                                        - seconds
  2179                                        type: object
  2180                                      percentage:
  2181                                        description: |-
  2182                                          The percentage of traffic (connections/operations/requests) on which delay will
  2183                                          be introduced as part of fault injection. The value must be between 0.0 and
  2184                                          100.0 inclusive.
  2185                                        type: number
  2186                                    type: object
  2187                                type: object
  2188                              requestMirrorPolicy:
  2189                                description: |-
  2190                                  Specifies the policy on how requests intended for the route's backends are
  2191                                  shadowed to a separate mirrored backend service. Loadbalancer does not wait for
  2192                                  responses from the shadow service. Prior to sending traffic to the shadow
  2193                                  service, the host / authority header is suffixed with -shadow.
  2194                                properties:
  2195                                  backendServiceRef:
  2196                                    description: Required. The backend service resource
  2197                                      being mirrored to.
  2198                                    oneOf:
  2199                                    - not:
  2200                                        required:
  2201                                        - external
  2202                                      required:
  2203                                      - name
  2204                                    - not:
  2205                                        anyOf:
  2206                                        - required:
  2207                                          - name
  2208                                        - required:
  2209                                          - namespace
  2210                                      required:
  2211                                      - external
  2212                                    properties:
  2213                                      external:
  2214                                        description: 'Allowed value: The `selfLink`
  2215                                          field of a `ComputeBackendService` resource.'
  2216                                        type: string
  2217                                      name:
  2218                                        description: 'Name of the referent. More info:
  2219                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2220                                        type: string
  2221                                      namespace:
  2222                                        description: 'Namespace of the referent. More
  2223                                          info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  2224                                        type: string
  2225                                    type: object
  2226                                required:
  2227                                - backendServiceRef
  2228                                type: object
  2229                              retryPolicy:
  2230                                description: Specifies the retry policy associated
  2231                                  with this route.
  2232                                properties:
  2233                                  numRetries:
  2234                                    description: Specifies the allowed number retries.
  2235                                      This number must be > 0.
  2236                                    type: integer
  2237                                  perTryTimeout:
  2238                                    description: Specifies a non-zero timeout per
  2239                                      retry attempt.
  2240                                    properties:
  2241                                      nanos:
  2242                                        description: |-
  2243                                          Span of time that's a fraction of a second at nanosecond resolution. Durations
  2244                                          less than one second are represented with a 0 'seconds' field and a positive
  2245                                          'nanos' field. Must be from 0 to 999,999,999 inclusive.
  2246                                        type: integer
  2247                                      seconds:
  2248                                        description: |-
  2249                                          Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
  2250                                          inclusive.
  2251                                        type: string
  2252                                    required:
  2253                                    - seconds
  2254                                    type: object
  2255                                  retryConditions:
  2256                                    description: |-
  2257                                      Specifies one or more conditions when this retry rule applies. Valid values are:
  2258
  2259                                      * 5xx: Loadbalancer will attempt a retry if the backend service responds with
  2260                                        any 5xx response code, or if the backend service does not respond at all,
  2261                                        example: disconnects, reset, read timeout, connection failure, and refused
  2262                                        streams.
  2263                                      * gateway-error: Similar to 5xx, but only applies to response codes
  2264                                        502, 503 or 504.
  2265                                      * connect-failure: Loadbalancer will retry on failures
  2266                                        connecting to backend services, for example due to connection timeouts.
  2267                                      * retriable-4xx: Loadbalancer will retry for retriable 4xx response codes.
  2268                                        Currently the only retriable error supported is 409.
  2269                                      * refused-stream: Loadbalancer will retry if the backend service resets the stream with a
  2270                                        REFUSED_STREAM error code. This reset type indicates that it is safe to retry.
  2271                                      * cancelled: Loadbalancer will retry if the gRPC status code in the response
  2272                                        header is set to cancelled
  2273                                      * deadline-exceeded: Loadbalancer will retry if the
  2274                                        gRPC status code in the response header is set to deadline-exceeded
  2275                                      * resource-exhausted: Loadbalancer will retry if the gRPC status code in the response
  2276                                        header is set to resource-exhausted
  2277                                      * unavailable: Loadbalancer will retry if the gRPC status code in
  2278                                        the response header is set to unavailable.
  2279                                    items:
  2280                                      type: string
  2281                                    type: array
  2282                                required:
  2283                                - numRetries
  2284                                type: object
  2285                              timeout:
  2286                                description: |-
  2287                                  Specifies the timeout for the selected route. Timeout is computed from the time
  2288                                  the request is has been fully processed (i.e. end-of-stream) up until the
  2289                                  response has been completely processed. Timeout includes all retries. If not
  2290                                  specified, the default value is 15 seconds.
  2291                                properties:
  2292                                  nanos:
  2293                                    description: |-
  2294                                      Span of time that's a fraction of a second at nanosecond resolution. Durations
  2295                                      less than one second are represented with a 0 'seconds' field and a positive
  2296                                      'nanos' field. Must be from 0 to 999,999,999 inclusive.
  2297                                    type: integer
  2298                                  seconds:
  2299                                    description: |-
  2300                                      Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
  2301                                      inclusive.
  2302                                    type: string
  2303                                required:
  2304                                - seconds
  2305                                type: object
  2306                              urlRewrite:
  2307                                description: |-
  2308                                  The spec to modify the URL of the request, prior to forwarding the request to
  2309                                  the matched service.
  2310                                properties:
  2311                                  hostRewrite:
  2312                                    description: |-
  2313                                      Prior to forwarding the request to the selected service, the request's host
  2314                                      header is replaced with contents of hostRewrite. The value must be between 1 and
  2315                                      255 characters.
  2316                                    type: string
  2317                                  pathPrefixRewrite:
  2318                                    description: |-
  2319                                      Prior to forwarding the request to the selected backend service, the matching
  2320                                      portion of the request's path is replaced by pathPrefixRewrite. The value must
  2321                                      be between 1 and 1024 characters.
  2322                                    type: string
  2323                                type: object
  2324                              weightedBackendServices:
  2325                                description: |-
  2326                                  A list of weighted backend services to send traffic to when a route match
  2327                                  occurs. The weights determine the fraction of traffic that flows to their
  2328                                  corresponding backend service. If all traffic needs to go to a single backend
  2329                                  service, there must be one  weightedBackendService with weight set to a non 0
  2330                                  number. Once a backendService is identified and before forwarding the request to
  2331                                  the backend service, advanced routing actions like Url rewrites and header
  2332                                  transformations are applied depending on additional settings specified in this
  2333                                  HttpRouteAction.
  2334                                items:
  2335                                  properties:
  2336                                    backendServiceRef:
  2337                                      description: |-
  2338                                        Required. The default backend service resource. Before forwarding
  2339                                        the request to backendService, the loadbalancer applies any relevant
  2340                                        headerActions specified as part of this backendServiceWeight.
  2341                                      oneOf:
  2342                                      - not:
  2343                                          required:
  2344                                          - external
  2345                                        required:
  2346                                        - name
  2347                                      - not:
  2348                                          anyOf:
  2349                                          - required:
  2350                                            - name
  2351                                          - required:
  2352                                            - namespace
  2353                                        required:
  2354                                        - external
  2355                                      properties:
  2356                                        external:
  2357                                          description: 'Allowed value: The `selfLink`
  2358                                            field of a `ComputeBackendService` resource.'
  2359                                          type: string
  2360                                        name:
  2361                                          description: 'Name of the referent. More
  2362                                            info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2363                                          type: string
  2364                                        namespace:
  2365                                          description: 'Namespace of the referent.
  2366                                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  2367                                          type: string
  2368                                      type: object
  2369                                    headerAction:
  2370                                      description: |-
  2371                                        Specifies changes to request and response headers that need to take effect for
  2372                                        the selected backendService. headerAction specified here take effect before
  2373                                        headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
  2374                                      properties:
  2375                                        requestHeadersToAdd:
  2376                                          description: |-
  2377                                            Headers to add to a matching request prior to forwarding the request to the
  2378                                            backendService.
  2379                                          items:
  2380                                            properties:
  2381                                              headerName:
  2382                                                description: The name of the header.
  2383                                                type: string
  2384                                              headerValue:
  2385                                                description: The value of the header
  2386                                                  to add.
  2387                                                type: string
  2388                                              replace:
  2389                                                description: |-
  2390                                                  If false, headerValue is appended to any values that already exist for the
  2391                                                  header. If true, headerValue is set for the header, discarding any values that
  2392                                                  were set for that header.
  2393                                                type: boolean
  2394                                            required:
  2395                                            - headerName
  2396                                            - headerValue
  2397                                            - replace
  2398                                            type: object
  2399                                          type: array
  2400                                        requestHeadersToRemove:
  2401                                          description: |-
  2402                                            A list of header names for headers that need to be removed from the request
  2403                                            prior to forwarding the request to the backendService.
  2404                                          items:
  2405                                            type: string
  2406                                          type: array
  2407                                        responseHeadersToAdd:
  2408                                          description: Headers to add the response
  2409                                            prior to sending the response back to
  2410                                            the client.
  2411                                          items:
  2412                                            properties:
  2413                                              headerName:
  2414                                                description: The name of the header.
  2415                                                type: string
  2416                                              headerValue:
  2417                                                description: The value of the header
  2418                                                  to add.
  2419                                                type: string
  2420                                              replace:
  2421                                                description: |-
  2422                                                  If false, headerValue is appended to any values that already exist for the
  2423                                                  header. If true, headerValue is set for the header, discarding any values that
  2424                                                  were set for that header.
  2425                                                type: boolean
  2426                                            required:
  2427                                            - headerName
  2428                                            - headerValue
  2429                                            - replace
  2430                                            type: object
  2431                                          type: array
  2432                                        responseHeadersToRemove:
  2433                                          description: |-
  2434                                            A list of header names for headers that need to be removed from the response
  2435                                            prior to sending the response back to the client.
  2436                                          items:
  2437                                            type: string
  2438                                          type: array
  2439                                      type: object
  2440                                    weight:
  2441                                      description: |-
  2442                                        Specifies the fraction of traffic sent to backendService, computed as weight /
  2443                                        (sum of all weightedBackendService weights in routeAction) . The selection of a
  2444                                        backend service is determined only for new traffic. Once a user's request has
  2445                                        been directed to a backendService, subsequent requests will be sent to the same
  2446                                        backendService as determined by the BackendService's session affinity policy.
  2447                                        The value must be between 0 and 1000.
  2448                                      type: integer
  2449                                  required:
  2450                                  - backendServiceRef
  2451                                  - weight
  2452                                  type: object
  2453                                type: array
  2454                            type: object
  2455                          service:
  2456                            description: |-
  2457                              The region backend service resource to which traffic is
  2458                              directed if this rule is matched. If routeAction is additionally specified,
  2459                              advanced routing actions like URL Rewrites, etc. take effect prior to sending
  2460                              the request to the backend. However, if service is specified, routeAction cannot
  2461                              contain any weightedBackendService s. Conversely, if routeAction specifies any
  2462                              weightedBackendServices, service must not be specified. Only one of urlRedirect,
  2463                              service or routeAction.weightedBackendService must be set.
  2464                            type: string
  2465                          urlRedirect:
  2466                            description: |-
  2467                              When this rule is matched, the request is redirected to a URL specified by
  2468                              urlRedirect. If urlRedirect is specified, service or routeAction must not be
  2469                              set.
  2470                            properties:
  2471                              hostRedirect:
  2472                                description: |-
  2473                                  The host that will be used in the redirect response instead of the one
  2474                                  that was supplied in the request. The value must be between 1 and 255
  2475                                  characters.
  2476                                type: string
  2477                              httpsRedirect:
  2478                                description: |-
  2479                                  If set to true, the URL scheme in the redirected request is set to https.
  2480                                  If set to false, the URL scheme of the redirected request will remain the
  2481                                  same as that of the request. This must only be set for UrlMaps used in
  2482                                  TargetHttpProxys. Setting this true for TargetHttpsProxy is not
  2483                                  permitted. The default is set to false.
  2484                                type: boolean
  2485                              pathRedirect:
  2486                                description: |-
  2487                                  The path that will be used in the redirect response instead of the one
  2488                                  that was supplied in the request. pathRedirect cannot be supplied
  2489                                  together with prefixRedirect. Supply one alone or neither. If neither is
  2490                                  supplied, the path of the original request will be used for the redirect.
  2491                                  The value must be between 1 and 1024 characters.
  2492                                type: string
  2493                              prefixRedirect:
  2494                                description: |-
  2495                                  The prefix that replaces the prefixMatch specified in the
  2496                                  HttpRouteRuleMatch, retaining the remaining portion of the URL before
  2497                                  redirecting the request. prefixRedirect cannot be supplied together with
  2498                                  pathRedirect. Supply one alone or neither. If neither is supplied, the
  2499                                  path of the original request will be used for the redirect. The value
  2500                                  must be between 1 and 1024 characters.
  2501                                type: string
  2502                              redirectResponseCode:
  2503                                description: |-
  2504                                  The HTTP Status code to use for this RedirectAction. Supported values are:
  2505
  2506                                  * MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301.
  2507
  2508                                  * FOUND, which corresponds to 302.
  2509
  2510                                  * SEE_OTHER which corresponds to 303.
  2511
  2512                                  * TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
  2513                                  will be retained.
  2514
  2515                                  * PERMANENT_REDIRECT, which corresponds to 308. In this case,
  2516                                  the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"].
  2517                                type: string
  2518                              stripQuery:
  2519                                description: |-
  2520                                  If set to true, any accompanying query portion of the original URL is
  2521                                  removed prior to redirecting the request. If set to false, the query
  2522                                  portion of the original URL is retained. The default value is false.
  2523                                type: boolean
  2524                            type: object
  2525                        required:
  2526                        - priority
  2527                        type: object
  2528                      type: array
  2529                  required:
  2530                  - name
  2531                  type: object
  2532                type: array
  2533              resourceID:
  2534                description: Immutable. Optional. The name of the resource. Used for
  2535                  creation and acquisition. When unset, the value of `metadata.name`
  2536                  is used as the default.
  2537                type: string
  2538              test:
  2539                description: |-
  2540                  The list of expected URL mappings. Requests to update this UrlMap will
  2541                  succeed only if all of the test cases pass.
  2542                items:
  2543                  properties:
  2544                    description:
  2545                      description: Description of this test case.
  2546                      type: string
  2547                    host:
  2548                      description: Host portion of the URL.
  2549                      type: string
  2550                    path:
  2551                      description: Path portion of the URL.
  2552                      type: string
  2553                    service:
  2554                      description: |-
  2555                        The backend service resource that should be matched by this test.
  2556                        For the Global URL Map, it should be a reference to the backend
  2557                        service or backend bucket.
  2558                        For the Regional URL Map, it should be a reference to the backend
  2559                        service.
  2560                      oneOf:
  2561                      - required:
  2562                        - backendBucketRef
  2563                      - required:
  2564                        - backendServiceRef
  2565                      properties:
  2566                        backendBucketRef:
  2567                          oneOf:
  2568                          - not:
  2569                              required:
  2570                              - external
  2571                            required:
  2572                            - name
  2573                          - not:
  2574                              anyOf:
  2575                              - required:
  2576                                - name
  2577                              - required:
  2578                                - namespace
  2579                            required:
  2580                            - external
  2581                          properties:
  2582                            external:
  2583                              description: 'Allowed value: The `selfLink` field of
  2584                                a `ComputeBackendBucket` resource.'
  2585                              type: string
  2586                            name:
  2587                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2588                              type: string
  2589                            namespace:
  2590                              description: 'Namespace of the referent. More info:
  2591                                https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  2592                              type: string
  2593                          type: object
  2594                        backendServiceRef:
  2595                          oneOf:
  2596                          - not:
  2597                              required:
  2598                              - external
  2599                            required:
  2600                            - name
  2601                          - not:
  2602                              anyOf:
  2603                              - required:
  2604                                - name
  2605                              - required:
  2606                                - namespace
  2607                            required:
  2608                            - external
  2609                          properties:
  2610                            external:
  2611                              description: 'Allowed value: The `selfLink` field of
  2612                                a `ComputeBackendService` resource.'
  2613                              type: string
  2614                            name:
  2615                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2616                              type: string
  2617                            namespace:
  2618                              description: 'Namespace of the referent. More info:
  2619                                https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  2620                              type: string
  2621                          type: object
  2622                      type: object
  2623                  required:
  2624                  - host
  2625                  - path
  2626                  - service
  2627                  type: object
  2628                type: array
  2629            required:
  2630            - location
  2631            type: object
  2632          status:
  2633            properties:
  2634              conditions:
  2635                description: Conditions represent the latest available observation
  2636                  of the resource's current state.
  2637                items:
  2638                  properties:
  2639                    lastTransitionTime:
  2640                      description: Last time the condition transitioned from one status
  2641                        to another.
  2642                      type: string
  2643                    message:
  2644                      description: Human-readable message indicating details about
  2645                        last transition.
  2646                      type: string
  2647                    reason:
  2648                      description: Unique, one-word, CamelCase reason for the condition's
  2649                        last transition.
  2650                      type: string
  2651                    status:
  2652                      description: Status is the status of the condition. Can be True,
  2653                        False, Unknown.
  2654                      type: string
  2655                    type:
  2656                      description: Type is the type of the condition.
  2657                      type: string
  2658                  type: object
  2659                type: array
  2660              creationTimestamp:
  2661                description: Creation timestamp in RFC3339 text format.
  2662                type: string
  2663              fingerprint:
  2664                description: |-
  2665                  Fingerprint of this resource. This field is used internally during
  2666                  updates of this resource.
  2667                type: string
  2668              mapId:
  2669                description: The unique identifier for the resource.
  2670                type: integer
  2671              observedGeneration:
  2672                description: ObservedGeneration is the generation of the resource
  2673                  that was most recently observed by the Config Connector controller.
  2674                  If this is equal to metadata.generation, then that means that the
  2675                  current reported status reflects the most recent desired state of
  2676                  the resource.
  2677                type: integer
  2678              selfLink:
  2679                type: string
  2680            type: object
  2681        required:
  2682        - spec
  2683        type: object
  2684    served: true
  2685    storage: true
  2686    subresources:
  2687      status: {}
  2688status:
  2689  acceptedNames:
  2690    kind: ""
  2691    plural: ""
  2692  conditions: []
  2693  storedVersions: []

View as plain text