discoveryv3

package
v1.34.1-20230428204819... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: unknown License: Apache-2.0 Imports: 10 Imported by: 31

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_envoy_service_discovery_v3_ads_proto protoreflect.FileDescriptor
View Source
var File_envoy_service_discovery_v3_discovery_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type AdsDummy

type AdsDummy struct {
	// contains filtered or unexported fields
}

[#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing services: https://github.com/google/protobuf/issues/4221

func (*AdsDummy) Descriptor deprecated

func (*AdsDummy) Descriptor() ([]byte, []int)

Deprecated: Use AdsDummy.ProtoReflect.Descriptor instead.

func (*AdsDummy) ProtoMessage

func (*AdsDummy) ProtoMessage()

func (*AdsDummy) ProtoReflect

func (x *AdsDummy) ProtoReflect() protoreflect.Message

func (*AdsDummy) Reset

func (x *AdsDummy) Reset()

func (*AdsDummy) String

func (x *AdsDummy) String() string

type DeltaDiscoveryRequest

type DeltaDiscoveryRequest struct {

	// The node making the request.
	Node *v3.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
	// Type of the resource that is being requested, e.g.
	// “type.googleapis.com/envoy.api.v2.ClusterLoadAssignment“. This does not need to be set if
	// resources are only referenced via “xds_resource_subscribe“ and
	// “xds_resources_unsubscribe“.
	TypeUrl string `protobuf:"bytes,2,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
	// DeltaDiscoveryRequests allow the client to add or remove individual
	// resources to the set of tracked resources in the context of a stream.
	// All resource names in the resource_names_subscribe list are added to the
	// set of tracked resources and all resource names in the resource_names_unsubscribe
	// list are removed from the set of tracked resources.
	//
	// *Unlike* state-of-the-world xDS, an empty resource_names_subscribe or
	// resource_names_unsubscribe list simply means that no resources are to be
	// added or removed to the resource list.
	// *Like* state-of-the-world xDS, the server must send updates for all tracked
	// resources, but can also send updates for resources the client has not subscribed to.
	//
	// NOTE: the server must respond with all resources listed in resource_names_subscribe,
	// even if it believes the client has the most recent version of them. The reason:
	// the client may have dropped them, but then regained interest before it had a chance
	// to send the unsubscribe message. See DeltaSubscriptionStateTest.RemoveThenAdd.
	//
	// These two fields can be set in any DeltaDiscoveryRequest, including ACKs
	// and initial_resource_versions.
	//
	// A list of Resource names to add to the list of tracked resources.
	ResourceNamesSubscribe []string `` /* 129-byte string literal not displayed */
	// A list of Resource names to remove from the list of tracked resources.
	ResourceNamesUnsubscribe []string `` /* 135-byte string literal not displayed */
	// [#not-implemented-hide:]
	// Alternative to “resource_names_subscribe“ field that allows specifying dynamic parameters
	// along with each resource name.
	// Note that it is legal for a request to have some resources listed
	// in “resource_names_subscribe“ and others in “resource_locators_subscribe“.
	ResourceLocatorsSubscribe []*ResourceLocator `` /* 138-byte string literal not displayed */
	// [#not-implemented-hide:]
	// Alternative to “resource_names_unsubscribe“ field that allows specifying dynamic parameters
	// along with each resource name.
	// Note that it is legal for a request to have some resources listed
	// in “resource_names_unsubscribe“ and others in “resource_locators_unsubscribe“.
	ResourceLocatorsUnsubscribe []*ResourceLocator `` /* 144-byte string literal not displayed */
	// Informs the server of the versions of the resources the xDS client knows of, to enable the
	// client to continue the same logical xDS session even in the face of gRPC stream reconnection.
	// It will not be populated: [1] in the very first stream of a session, since the client will
	// not yet have any resources,  [2] in any message after the first in a stream (for a given
	// type_url), since the server will already be correctly tracking the client's state.
	// (In ADS, the first message *of each type_url* of a reconnected stream populates this map.)
	// The map's keys are names of xDS resources known to the xDS client.
	// The map's values are opaque resource versions.
	InitialResourceVersions map[string]string `` /* 220-byte string literal not displayed */
	// When the DeltaDiscoveryRequest is a ACK or NACK message in response
	// to a previous DeltaDiscoveryResponse, the response_nonce must be the
	// nonce in the DeltaDiscoveryResponse.
	// Otherwise (unlike in DiscoveryRequest) response_nonce must be omitted.
	ResponseNonce string `protobuf:"bytes,6,opt,name=response_nonce,json=responseNonce,proto3" json:"response_nonce,omitempty"`
	// This is populated when the previous :ref:`DiscoveryResponse <envoy_v3_api_msg_service.discovery.v3.DiscoveryResponse>`
	// failed to update configuration. The “message“ field in “error_details“
	// provides the Envoy internal exception related to the failure.
	ErrorDetail *status.Status `protobuf:"bytes,7,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"`
	// contains filtered or unexported fields
}

DeltaDiscoveryRequest and DeltaDiscoveryResponse are used in a new gRPC endpoint for Delta xDS.

With Delta xDS, the DeltaDiscoveryResponses do not need to include a full snapshot of the tracked resources. Instead, DeltaDiscoveryResponses are a diff to the state of a xDS client. In Delta XDS there are per-resource versions, which allow tracking state at the resource granularity. An xDS Delta session is always in the context of a gRPC bidirectional stream. This allows the xDS server to keep track of the state of xDS clients connected to it.

In Delta xDS the nonce field is required and used to pair DeltaDiscoveryResponse to a DeltaDiscoveryRequest ACK or NACK. Optionally, a response message level system_version_info is present for debugging purposes only.

DeltaDiscoveryRequest plays two independent roles. Any DeltaDiscoveryRequest can be either or both of: [1] informing the server of what resources the client has gained/lost interest in (using resource_names_subscribe and resource_names_unsubscribe), or [2] (N)ACKing an earlier resource update from the server (using response_nonce, with presence of error_detail making it a NACK). Additionally, the first message (for a given type_url) of a reconnected gRPC stream has a third role: informing the server of the resources (and their versions) that the client already possesses, using the initial_resource_versions field.

As with state-of-the-world, when multiple resource types are multiplexed (ADS), all requests/acknowledgments/updates are logically walled off by type_url: a Cluster ACK exists in a completely separate world from a prior Route NACK. In particular, initial_resource_versions being sent at the "start" of every gRPC stream actually entails a message for each type_url, each with its own initial_resource_versions. [#next-free-field: 10]

func (*DeltaDiscoveryRequest) Descriptor deprecated

func (*DeltaDiscoveryRequest) Descriptor() ([]byte, []int)

Deprecated: Use DeltaDiscoveryRequest.ProtoReflect.Descriptor instead.

func (*DeltaDiscoveryRequest) GetErrorDetail

func (x *DeltaDiscoveryRequest) GetErrorDetail() *status.Status

func (*DeltaDiscoveryRequest) GetInitialResourceVersions

func (x *DeltaDiscoveryRequest) GetInitialResourceVersions() map[string]string

func (*DeltaDiscoveryRequest) GetNode

func (x *DeltaDiscoveryRequest) GetNode() *v3.Node

func (*DeltaDiscoveryRequest) GetResourceLocatorsSubscribe

func (x *DeltaDiscoveryRequest) GetResourceLocatorsSubscribe() []*ResourceLocator

func (*DeltaDiscoveryRequest) GetResourceLocatorsUnsubscribe

func (x *DeltaDiscoveryRequest) GetResourceLocatorsUnsubscribe() []*ResourceLocator

func (*DeltaDiscoveryRequest) GetResourceNamesSubscribe

func (x *DeltaDiscoveryRequest) GetResourceNamesSubscribe() []string

func (*DeltaDiscoveryRequest) GetResourceNamesUnsubscribe

func (x *DeltaDiscoveryRequest) GetResourceNamesUnsubscribe() []string

func (*DeltaDiscoveryRequest) GetResponseNonce

func (x *DeltaDiscoveryRequest) GetResponseNonce() string

func (*DeltaDiscoveryRequest) GetTypeUrl

func (x *DeltaDiscoveryRequest) GetTypeUrl() string

func (*DeltaDiscoveryRequest) ProtoMessage

func (*DeltaDiscoveryRequest) ProtoMessage()

func (*DeltaDiscoveryRequest) ProtoReflect

func (x *DeltaDiscoveryRequest) ProtoReflect() protoreflect.Message

func (*DeltaDiscoveryRequest) Reset

func (x *DeltaDiscoveryRequest) Reset()

func (*DeltaDiscoveryRequest) String

func (x *DeltaDiscoveryRequest) String() string

type DeltaDiscoveryResponse

type DeltaDiscoveryResponse struct {

	// The version of the response data (used for debugging).
	SystemVersionInfo string `protobuf:"bytes,1,opt,name=system_version_info,json=systemVersionInfo,proto3" json:"system_version_info,omitempty"`
	// The response resources. These are typed resources, whose types must match
	// the type_url field.
	Resources []*Resource `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty"`
	// Type URL for resources. Identifies the xDS API when muxing over ADS.
	// Must be consistent with the type_url in the Any within 'resources' if 'resources' is non-empty.
	TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
	// Resources names of resources that have be deleted and to be removed from the xDS Client.
	// Removed resources for missing resources can be ignored.
	RemovedResources []string `protobuf:"bytes,6,rep,name=removed_resources,json=removedResources,proto3" json:"removed_resources,omitempty"`
	// Alternative to removed_resources that allows specifying which variant of
	// a resource is being removed. This variant must be used for any resource
	// for which dynamic parameter constraints were sent to the client.
	RemovedResourceNames []*ResourceName `protobuf:"bytes,8,rep,name=removed_resource_names,json=removedResourceNames,proto3" json:"removed_resource_names,omitempty"`
	// The nonce provides a way for DeltaDiscoveryRequests to uniquely
	// reference a DeltaDiscoveryResponse when (N)ACKing. The nonce is required.
	Nonce string `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"`
	// [#not-implemented-hide:]
	// The control plane instance that sent the response.
	ControlPlane *v3.ControlPlane `protobuf:"bytes,7,opt,name=control_plane,json=controlPlane,proto3" json:"control_plane,omitempty"`
	// contains filtered or unexported fields
}

[#next-free-field: 9]

func (*DeltaDiscoveryResponse) Descriptor deprecated

func (*DeltaDiscoveryResponse) Descriptor() ([]byte, []int)

Deprecated: Use DeltaDiscoveryResponse.ProtoReflect.Descriptor instead.

func (*DeltaDiscoveryResponse) GetControlPlane

func (x *DeltaDiscoveryResponse) GetControlPlane() *v3.ControlPlane

func (*DeltaDiscoveryResponse) GetNonce

func (x *DeltaDiscoveryResponse) GetNonce() string

func (*DeltaDiscoveryResponse) GetRemovedResourceNames

func (x *DeltaDiscoveryResponse) GetRemovedResourceNames() []*ResourceName

func (*DeltaDiscoveryResponse) GetRemovedResources

func (x *DeltaDiscoveryResponse) GetRemovedResources() []string

func (*DeltaDiscoveryResponse) GetResources

func (x *DeltaDiscoveryResponse) GetResources() []*Resource

func (*DeltaDiscoveryResponse) GetSystemVersionInfo

func (x *DeltaDiscoveryResponse) GetSystemVersionInfo() string

func (*DeltaDiscoveryResponse) GetTypeUrl

func (x *DeltaDiscoveryResponse) GetTypeUrl() string

func (*DeltaDiscoveryResponse) ProtoMessage

func (*DeltaDiscoveryResponse) ProtoMessage()

func (*DeltaDiscoveryResponse) ProtoReflect

func (x *DeltaDiscoveryResponse) ProtoReflect() protoreflect.Message

func (*DeltaDiscoveryResponse) Reset

func (x *DeltaDiscoveryResponse) Reset()

func (*DeltaDiscoveryResponse) String

func (x *DeltaDiscoveryResponse) String() string

type DiscoveryRequest

type DiscoveryRequest struct {

	// The version_info provided in the request messages will be the version_info
	// received with the most recent successfully processed response or empty on
	// the first request. It is expected that no new request is sent after a
	// response is received until the Envoy instance is ready to ACK/NACK the new
	// configuration. ACK/NACK takes place by returning the new API config version
	// as applied or the previous API config version respectively. Each type_url
	// (see below) has an independent version associated with it.
	VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
	// The node making the request.
	Node *v3.Node `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"`
	// List of resources to subscribe to, e.g. list of cluster names or a route
	// configuration name. If this is empty, all resources for the API are
	// returned. LDS/CDS may have empty resource_names, which will cause all
	// resources for the Envoy instance to be returned. The LDS and CDS responses
	// will then imply a number of resources that need to be fetched via EDS/RDS,
	// which will be explicitly enumerated in resource_names.
	ResourceNames []string `protobuf:"bytes,3,rep,name=resource_names,json=resourceNames,proto3" json:"resource_names,omitempty"`
	// [#not-implemented-hide:]
	// Alternative to “resource_names“ field that allows specifying dynamic
	// parameters along with each resource name. Clients that populate this
	// field must be able to handle responses from the server where resources
	// are wrapped in a Resource message.
	// Note that it is legal for a request to have some resources listed
	// in “resource_names“ and others in “resource_locators“.
	ResourceLocators []*ResourceLocator `protobuf:"bytes,7,rep,name=resource_locators,json=resourceLocators,proto3" json:"resource_locators,omitempty"`
	// Type of the resource that is being requested, e.g.
	// "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
	// in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
	// required for ADS.
	TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
	// nonce corresponding to DiscoveryResponse being ACK/NACKed. See above
	// discussion on version_info and the DiscoveryResponse nonce comment. This
	// may be empty only if 1) this is a non-persistent-stream xDS such as HTTP,
	// or 2) the client has not yet accepted an update in this xDS stream (unlike
	// delta, where it is populated only for new explicit ACKs).
	ResponseNonce string `protobuf:"bytes,5,opt,name=response_nonce,json=responseNonce,proto3" json:"response_nonce,omitempty"`
	// This is populated when the previous :ref:`DiscoveryResponse <envoy_v3_api_msg_service.discovery.v3.DiscoveryResponse>`
	// failed to update configuration. The “message“ field in “error_details“ provides the Envoy
	// internal exception related to the failure. It is only intended for consumption during manual
	// debugging, the string provided is not guaranteed to be stable across Envoy versions.
	ErrorDetail *status.Status `protobuf:"bytes,6,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"`
	// contains filtered or unexported fields
}

A DiscoveryRequest requests a set of versioned resources of the same type for a given Envoy node on some API. [#next-free-field: 8]

func (*DiscoveryRequest) Descriptor deprecated

func (*DiscoveryRequest) Descriptor() ([]byte, []int)

Deprecated: Use DiscoveryRequest.ProtoReflect.Descriptor instead.

func (*DiscoveryRequest) GetErrorDetail

func (x *DiscoveryRequest) GetErrorDetail() *status.Status

func (*DiscoveryRequest) GetNode

func (x *DiscoveryRequest) GetNode() *v3.Node

func (*DiscoveryRequest) GetResourceLocators

func (x *DiscoveryRequest) GetResourceLocators() []*ResourceLocator

func (*DiscoveryRequest) GetResourceNames

func (x *DiscoveryRequest) GetResourceNames() []string

func (*DiscoveryRequest) GetResponseNonce

func (x *DiscoveryRequest) GetResponseNonce() string

func (*DiscoveryRequest) GetTypeUrl

func (x *DiscoveryRequest) GetTypeUrl() string

func (*DiscoveryRequest) GetVersionInfo

func (x *DiscoveryRequest) GetVersionInfo() string

func (*DiscoveryRequest) ProtoMessage

func (*DiscoveryRequest) ProtoMessage()

func (*DiscoveryRequest) ProtoReflect

func (x *DiscoveryRequest) ProtoReflect() protoreflect.Message

func (*DiscoveryRequest) Reset

func (x *DiscoveryRequest) Reset()

func (*DiscoveryRequest) String

func (x *DiscoveryRequest) String() string

type DiscoveryResponse

type DiscoveryResponse struct {

	// The version of the response data.
	VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
	// The response resources. These resources are typed and depend on the API being called.
	Resources []*anypb.Any `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty"`
	// [#not-implemented-hide:]
	// Canary is used to support two Envoy command line flags:
	//
	//   - --terminate-on-canary-transition-failure. When set, Envoy is able to
	//     terminate if it detects that configuration is stuck at canary. Consider
	//     this example sequence of updates:
	//   - Management server applies a canary config successfully.
	//   - Management server rolls back to a production config.
	//   - Envoy rejects the new production config.
	//     Since there is no sensible way to continue receiving configuration
	//     updates, Envoy will then terminate and apply production config from a
	//     clean slate.
	//   - --dry-run-canary. When set, a canary response will never be applied, only
	//     validated via a dry run.
	Canary bool `protobuf:"varint,3,opt,name=canary,proto3" json:"canary,omitempty"`
	// Type URL for resources. Identifies the xDS API when muxing over ADS.
	// Must be consistent with the type_url in the 'resources' repeated Any (if non-empty).
	TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
	// For gRPC based subscriptions, the nonce provides a way to explicitly ack a
	// specific DiscoveryResponse in a following DiscoveryRequest. Additional
	// messages may have been sent by Envoy to the management server for the
	// previous version on the stream prior to this DiscoveryResponse, that were
	// unprocessed at response send time. The nonce allows the management server
	// to ignore any further DiscoveryRequests for the previous version until a
	// DiscoveryRequest bearing the nonce. The nonce is optional and is not
	// required for non-stream based xDS implementations.
	Nonce string `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"`
	// The control plane instance that sent the response.
	ControlPlane *v3.ControlPlane `protobuf:"bytes,6,opt,name=control_plane,json=controlPlane,proto3" json:"control_plane,omitempty"`
	// contains filtered or unexported fields
}

[#next-free-field: 7]

func (*DiscoveryResponse) Descriptor deprecated

func (*DiscoveryResponse) Descriptor() ([]byte, []int)

Deprecated: Use DiscoveryResponse.ProtoReflect.Descriptor instead.

func (*DiscoveryResponse) GetCanary

func (x *DiscoveryResponse) GetCanary() bool

func (*DiscoveryResponse) GetControlPlane

func (x *DiscoveryResponse) GetControlPlane() *v3.ControlPlane

func (*DiscoveryResponse) GetNonce

func (x *DiscoveryResponse) GetNonce() string

func (*DiscoveryResponse) GetResources

func (x *DiscoveryResponse) GetResources() []*anypb.Any

func (*DiscoveryResponse) GetTypeUrl

func (x *DiscoveryResponse) GetTypeUrl() string

func (*DiscoveryResponse) GetVersionInfo

func (x *DiscoveryResponse) GetVersionInfo() string

func (*DiscoveryResponse) ProtoMessage

func (*DiscoveryResponse) ProtoMessage()

func (*DiscoveryResponse) ProtoReflect

func (x *DiscoveryResponse) ProtoReflect() protoreflect.Message

func (*DiscoveryResponse) Reset

func (x *DiscoveryResponse) Reset()

func (*DiscoveryResponse) String

func (x *DiscoveryResponse) String() string

type DynamicParameterConstraints

type DynamicParameterConstraints struct {

	// Types that are assignable to Type:
	//
	//	*DynamicParameterConstraints_Constraint
	//	*DynamicParameterConstraints_OrConstraints
	//	*DynamicParameterConstraints_AndConstraints
	//	*DynamicParameterConstraints_NotConstraints
	Type isDynamicParameterConstraints_Type `protobuf_oneof:"type"`
	// contains filtered or unexported fields
}

A set of dynamic parameter constraints associated with a variant of an individual xDS resource. These constraints determine whether the resource matches a subscription based on the set of dynamic parameters in the subscription, as specified in the :ref:`ResourceLocator.dynamic_parameters<envoy_v3_api_field_service.discovery.v3.ResourceLocator.dynamic_parameters>` field. This allows xDS implementations (clients, servers, and caching proxies) to determine which variant of a resource is appropriate for a given client.

func (*DynamicParameterConstraints) Descriptor deprecated

func (*DynamicParameterConstraints) Descriptor() ([]byte, []int)

Deprecated: Use DynamicParameterConstraints.ProtoReflect.Descriptor instead.

func (*DynamicParameterConstraints) GetAndConstraints

func (*DynamicParameterConstraints) GetConstraint

func (*DynamicParameterConstraints) GetNotConstraints

func (*DynamicParameterConstraints) GetOrConstraints

func (*DynamicParameterConstraints) GetType

func (m *DynamicParameterConstraints) GetType() isDynamicParameterConstraints_Type

func (*DynamicParameterConstraints) ProtoMessage

func (*DynamicParameterConstraints) ProtoMessage()

func (*DynamicParameterConstraints) ProtoReflect

func (*DynamicParameterConstraints) Reset

func (x *DynamicParameterConstraints) Reset()

func (*DynamicParameterConstraints) String

func (x *DynamicParameterConstraints) String() string

type DynamicParameterConstraints_AndConstraints

type DynamicParameterConstraints_AndConstraints struct {
	// A list of constraints that must all match.
	AndConstraints *DynamicParameterConstraints_ConstraintList `protobuf:"bytes,3,opt,name=and_constraints,json=andConstraints,proto3,oneof"`
}

type DynamicParameterConstraints_Constraint

type DynamicParameterConstraints_Constraint struct {
	// A single constraint to evaluate.
	Constraint *DynamicParameterConstraints_SingleConstraint `protobuf:"bytes,1,opt,name=constraint,proto3,oneof"`
}

type DynamicParameterConstraints_ConstraintList

type DynamicParameterConstraints_ConstraintList struct {
	Constraints []*DynamicParameterConstraints `protobuf:"bytes,1,rep,name=constraints,proto3" json:"constraints,omitempty"`
	// contains filtered or unexported fields
}

func (*DynamicParameterConstraints_ConstraintList) Descriptor deprecated

Deprecated: Use DynamicParameterConstraints_ConstraintList.ProtoReflect.Descriptor instead.

func (*DynamicParameterConstraints_ConstraintList) GetConstraints

func (*DynamicParameterConstraints_ConstraintList) ProtoMessage

func (*DynamicParameterConstraints_ConstraintList) ProtoReflect

func (*DynamicParameterConstraints_ConstraintList) Reset

func (*DynamicParameterConstraints_ConstraintList) String

type DynamicParameterConstraints_NotConstraints

type DynamicParameterConstraints_NotConstraints struct {
	// The inverse (NOT) of a set of constraints.
	NotConstraints *DynamicParameterConstraints `protobuf:"bytes,4,opt,name=not_constraints,json=notConstraints,proto3,oneof"`
}

type DynamicParameterConstraints_OrConstraints

type DynamicParameterConstraints_OrConstraints struct {
	// A list of constraints that match if any one constraint in the list
	// matches.
	OrConstraints *DynamicParameterConstraints_ConstraintList `protobuf:"bytes,2,opt,name=or_constraints,json=orConstraints,proto3,oneof"`
}

type DynamicParameterConstraints_SingleConstraint

type DynamicParameterConstraints_SingleConstraint struct {

	// The key to match against.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// Types that are assignable to ConstraintType:
	//
	//	*DynamicParameterConstraints_SingleConstraint_Value
	//	*DynamicParameterConstraints_SingleConstraint_Exists_
	ConstraintType isDynamicParameterConstraints_SingleConstraint_ConstraintType `protobuf_oneof:"constraint_type"`
	// contains filtered or unexported fields
}

A single constraint for a given key.

func (*DynamicParameterConstraints_SingleConstraint) Descriptor deprecated

Deprecated: Use DynamicParameterConstraints_SingleConstraint.ProtoReflect.Descriptor instead.

func (*DynamicParameterConstraints_SingleConstraint) GetConstraintType

func (m *DynamicParameterConstraints_SingleConstraint) GetConstraintType() isDynamicParameterConstraints_SingleConstraint_ConstraintType

func (*DynamicParameterConstraints_SingleConstraint) GetExists

func (*DynamicParameterConstraints_SingleConstraint) GetKey

func (*DynamicParameterConstraints_SingleConstraint) GetValue

func (*DynamicParameterConstraints_SingleConstraint) ProtoMessage

func (*DynamicParameterConstraints_SingleConstraint) ProtoReflect

func (*DynamicParameterConstraints_SingleConstraint) Reset

func (*DynamicParameterConstraints_SingleConstraint) String

type DynamicParameterConstraints_SingleConstraint_Exists

type DynamicParameterConstraints_SingleConstraint_Exists struct {
	// contains filtered or unexported fields
}

func (*DynamicParameterConstraints_SingleConstraint_Exists) Descriptor deprecated

Deprecated: Use DynamicParameterConstraints_SingleConstraint_Exists.ProtoReflect.Descriptor instead.

func (*DynamicParameterConstraints_SingleConstraint_Exists) ProtoMessage

func (*DynamicParameterConstraints_SingleConstraint_Exists) ProtoReflect

func (*DynamicParameterConstraints_SingleConstraint_Exists) Reset

func (*DynamicParameterConstraints_SingleConstraint_Exists) String

type DynamicParameterConstraints_SingleConstraint_Exists_

type DynamicParameterConstraints_SingleConstraint_Exists_ struct {
	// Key is present (matches any value except for the key being absent).
	// This allows setting a default constraint for clients that do
	// not send a key at all, while there may be other clients that need
	// special configuration based on that key.
	Exists *DynamicParameterConstraints_SingleConstraint_Exists `protobuf:"bytes,3,opt,name=exists,proto3,oneof"`
}

type DynamicParameterConstraints_SingleConstraint_Value

type DynamicParameterConstraints_SingleConstraint_Value struct {
	// Matches this exact value.
	Value string `protobuf:"bytes,2,opt,name=value,proto3,oneof"`
}

type Resource

type Resource struct {

	// The resource's name, to distinguish it from others of the same type of resource.
	// Only one of “name“ or “resource_name“ may be set.
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	// Alternative to the “name“ field, to be used when the server supports
	// multiple variants of the named resource that are differentiated by
	// dynamic parameter constraints.
	// Only one of “name“ or “resource_name“ may be set.
	ResourceName *ResourceName `protobuf:"bytes,8,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
	// The aliases are a list of other names that this resource can go by.
	Aliases []string `protobuf:"bytes,4,rep,name=aliases,proto3" json:"aliases,omitempty"`
	// The resource level version. It allows xDS to track the state of individual
	// resources.
	Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	// The resource being tracked.
	Resource *anypb.Any `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"`
	// Time-to-live value for the resource. For each resource, a timer is started. The timer is
	// reset each time the resource is received with a new TTL. If the resource is received with
	// no TTL set, the timer is removed for the resource. Upon expiration of the timer, the
	// configuration for the resource will be removed.
	//
	// The TTL can be refreshed or changed by sending a response that doesn't change the resource
	// version. In this case the resource field does not need to be populated, which allows for
	// light-weight "heartbeat" updates to keep a resource with a TTL alive.
	//
	// The TTL feature is meant to support configurations that should be removed in the event of
	// a management server failure. For example, the feature may be used for fault injection
	// testing where the fault injection should be terminated in the event that Envoy loses contact
	// with the management server.
	Ttl *durationpb.Duration `protobuf:"bytes,6,opt,name=ttl,proto3" json:"ttl,omitempty"`
	// Cache control properties for the resource.
	// [#not-implemented-hide:]
	CacheControl *Resource_CacheControl `protobuf:"bytes,7,opt,name=cache_control,json=cacheControl,proto3" json:"cache_control,omitempty"`
	// The Metadata field can be used to provide additional information for the resource.
	// E.g. the trace data for debugging.
	Metadata *v3.Metadata `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// contains filtered or unexported fields
}

[#next-free-field: 10]

func (*Resource) Descriptor deprecated

func (*Resource) Descriptor() ([]byte, []int)

Deprecated: Use Resource.ProtoReflect.Descriptor instead.

func (*Resource) GetAliases

func (x *Resource) GetAliases() []string

func (*Resource) GetCacheControl

func (x *Resource) GetCacheControl() *Resource_CacheControl

func (*Resource) GetMetadata

func (x *Resource) GetMetadata() *v3.Metadata

func (*Resource) GetName

func (x *Resource) GetName() string

func (*Resource) GetResource

func (x *Resource) GetResource() *anypb.Any

func (*Resource) GetResourceName

func (x *Resource) GetResourceName() *ResourceName

func (*Resource) GetTtl

func (x *Resource) GetTtl() *durationpb.Duration

func (*Resource) GetVersion

func (x *Resource) GetVersion() string

func (*Resource) ProtoMessage

func (*Resource) ProtoMessage()

func (*Resource) ProtoReflect

func (x *Resource) ProtoReflect() protoreflect.Message

func (*Resource) Reset

func (x *Resource) Reset()

func (*Resource) String

func (x *Resource) String() string

type ResourceLocator

type ResourceLocator struct {

	// The resource name to subscribe to.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// A set of dynamic parameters used to match against the dynamic parameter
	// constraints on the resource. This allows clients to select between
	// multiple variants of the same resource.
	DynamicParameters map[string]string `` /* 200-byte string literal not displayed */
	// contains filtered or unexported fields
}

Specifies a resource to be subscribed to.

func (*ResourceLocator) Descriptor deprecated

func (*ResourceLocator) Descriptor() ([]byte, []int)

Deprecated: Use ResourceLocator.ProtoReflect.Descriptor instead.

func (*ResourceLocator) GetDynamicParameters

func (x *ResourceLocator) GetDynamicParameters() map[string]string

func (*ResourceLocator) GetName

func (x *ResourceLocator) GetName() string

func (*ResourceLocator) ProtoMessage

func (*ResourceLocator) ProtoMessage()

func (*ResourceLocator) ProtoReflect

func (x *ResourceLocator) ProtoReflect() protoreflect.Message

func (*ResourceLocator) Reset

func (x *ResourceLocator) Reset()

func (*ResourceLocator) String

func (x *ResourceLocator) String() string

type ResourceName

type ResourceName struct {

	// The name of the resource.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Dynamic parameter constraints associated with this resource. To be used by client-side caches
	// (including xDS proxies) when matching subscribed resource locators.
	DynamicParameterConstraints *DynamicParameterConstraints `` /* 144-byte string literal not displayed */
	// contains filtered or unexported fields
}

Specifies a concrete resource name.

func (*ResourceName) Descriptor deprecated

func (*ResourceName) Descriptor() ([]byte, []int)

Deprecated: Use ResourceName.ProtoReflect.Descriptor instead.

func (*ResourceName) GetDynamicParameterConstraints

func (x *ResourceName) GetDynamicParameterConstraints() *DynamicParameterConstraints

func (*ResourceName) GetName

func (x *ResourceName) GetName() string

func (*ResourceName) ProtoMessage

func (*ResourceName) ProtoMessage()

func (*ResourceName) ProtoReflect

func (x *ResourceName) ProtoReflect() protoreflect.Message

func (*ResourceName) Reset

func (x *ResourceName) Reset()

func (*ResourceName) String

func (x *ResourceName) String() string

type Resource_CacheControl

type Resource_CacheControl struct {

	// If true, xDS proxies may not cache this resource.
	// Note that this does not apply to clients other than xDS proxies, which must cache resources
	// for their own use, regardless of the value of this field.
	DoNotCache bool `protobuf:"varint,1,opt,name=do_not_cache,json=doNotCache,proto3" json:"do_not_cache,omitempty"`
	// contains filtered or unexported fields
}

Cache control properties for the resource. [#not-implemented-hide:]

func (*Resource_CacheControl) Descriptor deprecated

func (*Resource_CacheControl) Descriptor() ([]byte, []int)

Deprecated: Use Resource_CacheControl.ProtoReflect.Descriptor instead.

func (*Resource_CacheControl) GetDoNotCache

func (x *Resource_CacheControl) GetDoNotCache() bool

func (*Resource_CacheControl) ProtoMessage

func (*Resource_CacheControl) ProtoMessage()

func (*Resource_CacheControl) ProtoReflect

func (x *Resource_CacheControl) ProtoReflect() protoreflect.Message

func (*Resource_CacheControl) Reset

func (x *Resource_CacheControl) Reset()

func (*Resource_CacheControl) String

func (x *Resource_CacheControl) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL