98 lines
3.6 KiB
YAML
98 lines
3.6 KiB
YAML
$schema: "http://json-schema.org/draft-06/schema#"
|
|
|
|
title: networkservices v1 GrpcRoute export schema
|
|
description: A gcloud export/import command YAML validation schema.
|
|
type: object
|
|
required:
|
|
- hostnames
|
|
- name
|
|
- rules
|
|
additionalProperties: false
|
|
properties:
|
|
COMMENT:
|
|
type: object
|
|
description: User specified info ignored by gcloud import.
|
|
additionalProperties: false
|
|
properties:
|
|
template-id:
|
|
type: string
|
|
region:
|
|
type: string
|
|
description:
|
|
type: string
|
|
date:
|
|
type: string
|
|
version:
|
|
type: string
|
|
UNKNOWN:
|
|
type: array
|
|
description: Unknown API fields that cannot be imported.
|
|
items:
|
|
type: string
|
|
description:
|
|
description: |-
|
|
A free-text description of the resource. Max length 1024 characters.
|
|
type: string
|
|
gateways:
|
|
description: |-
|
|
Gateways defines a list of gateways this GrpcRoute is attached to, as one
|
|
of the routing rules to route the requests served by the gateway. Each
|
|
gateway reference should match the pattern:
|
|
`projects/*/locations/global/gateways/`
|
|
type: array
|
|
items:
|
|
type: string
|
|
hostnames:
|
|
description: |-
|
|
Service hostnames with an optional port for which this route describes
|
|
traffic. Format: [:] Hostname is the fully qualified domain name of a
|
|
network host. This matches the RFC 1123 definition of a hostname with
|
|
2 notable exceptions: - IPs are not allowed. - A hostname may be
|
|
prefixed with a wildcard label (`*.`). The wildcard label must appear
|
|
by itself as the first label. Hostname can be "precise" which is a
|
|
domain name without the terminating dot of a network host (e.g.
|
|
`foo.example.com`) or "wildcard", which is a domain name prefixed with
|
|
a single wildcard label (e.g. `*.example.com`). Note that as per
|
|
RFC1035 and RFC1123, a label must consist of lower case alphanumeric
|
|
characters or '-', and must start and end with an alphanumeric
|
|
character. No other punctuation is allowed. The routes associated with
|
|
a Mesh or Gateway must have unique hostnames. If you attempt to attach
|
|
multiple routes with conflicting hostnames, the configuration will be
|
|
rejected. For example, while it is acceptable for routes for the
|
|
hostnames `*.foo.bar.com` and `*.bar.com` to be associated with the
|
|
same route, it is not possible to associate two routes both with
|
|
`*.bar.com` or both with `bar.com`. If a port is specified, then gRPC
|
|
clients must use the channel URI with the port to match this rule
|
|
(i.e. "xds:///service:123"), otherwise they must supply the URI
|
|
without a port (i.e. "xds:///service").
|
|
type: array
|
|
items:
|
|
type: string
|
|
labels:
|
|
description: |-
|
|
Set of label tags associated with the GrpcRoute resource.
|
|
$ref: LabelsValue.yaml
|
|
meshes:
|
|
description: |-
|
|
Meshes defines a list of meshes this GrpcRoute is attached to, as
|
|
one of the routing rules to route the requests served by the mesh.
|
|
Each mesh reference should match the pattern:
|
|
`projects/*/locations/global/meshes/`
|
|
type: array
|
|
items:
|
|
type: string
|
|
name:
|
|
description: |-
|
|
Name of the GrpcRoute resource. It matches pattern
|
|
`projects/*/locations/global/grpcRoutes/`
|
|
type: string
|
|
rules:
|
|
description: |-
|
|
A list of detailed rules defining how to route traffic. Within
|
|
a single GrpcRoute, the GrpcRoute.RouteAction associated with
|
|
the first matching GrpcRoute.RouteRule will be executed. At
|
|
least one rule must be supplied.
|
|
type: array
|
|
items:
|
|
$ref: GrpcRouteRouteRule.yaml
|