File: //snap/google-cloud-cli/394/lib/googlecloudsdk/schemas/networkservices/v1/EdgeCacheOrigin.yaml
$schema: "http://json-schema.org/draft-06/schema#"
title: networkservices v1 EdgeCacheOrigin export schema
description: A gcloud export/import command YAML validation schema.
type: object
required:
- name
- originAddress
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
awsV4Authentication:
description: Enable AWS Signature Version 4 origin authentication.
$ref: AWSV4Signature.yaml
description:
description: A human-readable description of the resource.
type: string
failoverOrigin:
description: |-
The EdgeCacheOrigin resource to try when the current origin cannot be
reached. After max_attempts is reached, the configured failover_origin is
used to fulfil the request. The following are both valid paths to an
`EdgeCacheOrigin` resource: * `projects/my-
project/locations/global/edgeCacheOrigins/my-origin` * `my-origin` The
value of max_attempts_timeout dictates the timeout across all origins.
type: string
flexShielding:
description: |-
The FlexShieldingOptions to be used for all routes to this origin. If not
set, defaults to a global caching layer in front of the origin.
$ref: FlexShieldingOptions.yaml
labels:
description: |-
A set of label tags associated with the EdgeCacheOrigin resource.
$ref: LabelsValue.yaml
maxAttempts:
description: |-
The maximum number of attempts to cache fill from this origin. Another
attempt is made when a cache fill fails with one of the retry_conditions
or following a redirect response matching one of the
origin_redirect.redirect_conditions. Once the maximum attempts to this
origin have failed, the failover origin][], if specified, is used. The
failover origin can have its own `max_attempts`, `retry_conditions`,
`redirect_conditions`, and `failover_origin` values to control its cache
fill failures. The total number of allowed attempts to cache fill across
this and failover origins is limited to four. The total time allowed for
cache fill attempts across this and failover origins can be controlled
with `max_attempts_timeout`. The last valid, non-retried response from all
origins is returned to the client. If no origin returns a valid response,
an `HTTP 502` error is returned to the client. Defaults to 1. Must be a
value greater than 0 and less than 5.
type: integer
name:
description: |-
The name of the resource as provided by the client when the resource is
created. The name must be 1-64 characters long, and match the regular
expression `[a-zA-Z]([a-zA-Z0-9_-])*`, which means that the first
character must be a letter, and all following characters must be a dash,
an underscore, a letter, or a digit.
type: string
originAddress:
description: |-
A fully qualified domain name (FQDN), an IPv4 or IPv6 address reachable
over the public internet, or the address of a Google Cloud Storage bucket.
This address is used as the origin for cache requests. The following are
example origins: - **FQDN**: `media- backend.example.com` - **IPv4**:
`35.218.1.1` - **IPv6**: `2607:f8b0:4012:809::200e` - **Google Cloud
Storage**: `gs://bucketname` or `bucketname.storage.googleapis.com` The
following limitations apply to fully-qualified domain names: * They must
be resolvable through public DNS. * They must not contain a protocol (such
as `https://`). * They must not contain any slashes. When providing an IP
address, it must be publicly routable. IPv6 addresses must not be enclosed
in square brackets.
type: string
originOverrideAction:
description: |-
The override actions, including URL rewrites and header additions, for
requests that use this origin.
$ref: OriginOverrideAction.yaml
originRedirect:
description: Follow redirects from this origin.
$ref: OriginRedirect.yaml
port:
description: |-
The port to connect to the origin on. Defaults to port **443** for HTTP2
and HTTPS protocols and port **80** for HTTP.
type: integer
protocol:
description: |-
The protocol to use to connect to the configured origin. Defaults to
HTTP2, which is strongly recommended for both security and performance.
When using HTTP2 or HTTPS as the protocol, a valid, publicly-signed,
unexpired TLS (SSL) certificate must be presented by the origin server.
type: string
enum:
- HTTP
- HTTP2
- HTTPS
- PROTOCOL_UNSPECIFIED
retryConditions:
description: |-
Specifies one or more retry conditions for the configured origin. If the
failure mode during a connection attempt to the origin matches the
configured `retryConditions` values, the origin request retries up to
max_attempts times. The failover origin, if configured, is then used to
satisfy the request. The default `retry_conditions` value is
`CONNECT_FAILURE`. `retry_conditions` values apply to this origin, and not
to subsequent failover origins, which can specify their own
`retry_conditions` and `max_attempts` values. For a list of valid values,
see RetryConditions.
type: array
items:
type: string
enum:
- CONNECT_FAILURE
- FORBIDDEN
- GATEWAY_ERROR
- HTTP_5XX
- NOT_FOUND
- RETRIABLE_4XX
- RETRY_CONDITIONS_UNSPECIFIED
timeout:
description: |-
The connection and HTTP timeout configuration for this origin.
$ref: Timeout.yaml