corev3

package
v1.33.0-20240422202033... Latest Latest
Warning

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

Go to latest
Published: unknown License: Apache-2.0 Imports: 8 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ResourceLocator_Scheme_name = map[int32]string{
		0: "XDSTP",
		1: "HTTP",
		2: "FILE",
	}
	ResourceLocator_Scheme_value = map[string]int32{
		"XDSTP": 0,
		"HTTP":  1,
		"FILE":  2,
	}
)

Enum value maps for ResourceLocator_Scheme.

View Source
var File_xds_core_v3_authority_proto protoreflect.FileDescriptor
View Source
var File_xds_core_v3_cidr_proto protoreflect.FileDescriptor
View Source
var File_xds_core_v3_collection_entry_proto protoreflect.FileDescriptor
View Source
var File_xds_core_v3_context_params_proto protoreflect.FileDescriptor
View Source
var File_xds_core_v3_extension_proto protoreflect.FileDescriptor
View Source
var File_xds_core_v3_resource_locator_proto protoreflect.FileDescriptor
View Source
var File_xds_core_v3_resource_name_proto protoreflect.FileDescriptor
View Source
var File_xds_core_v3_resource_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Authority

type Authority struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

xDS authority information.

func (*Authority) Descriptor deprecated

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

Deprecated: Use Authority.ProtoReflect.Descriptor instead.

func (*Authority) GetName

func (x *Authority) GetName() string

func (*Authority) ProtoMessage

func (*Authority) ProtoMessage()

func (*Authority) ProtoReflect

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

func (*Authority) Reset

func (x *Authority) Reset()

func (*Authority) String

func (x *Authority) String() string

type CidrRange

type CidrRange struct {

	// IPv4 or IPv6 address, e.g. “192.0.0.0“ or “2001:db8::“.
	AddressPrefix string `protobuf:"bytes,1,opt,name=address_prefix,json=addressPrefix,proto3" json:"address_prefix,omitempty"`
	// Length of prefix, e.g. 0, 32. Defaults to 0 when unset.
	PrefixLen *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"`
	// contains filtered or unexported fields
}

CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a `CIDR <https://tools.ietf.org/html/rfc4632>`_ range.

func (*CidrRange) Descriptor deprecated

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

Deprecated: Use CidrRange.ProtoReflect.Descriptor instead.

func (*CidrRange) GetAddressPrefix

func (x *CidrRange) GetAddressPrefix() string

func (*CidrRange) GetPrefixLen

func (x *CidrRange) GetPrefixLen() *wrapperspb.UInt32Value

func (*CidrRange) ProtoMessage

func (*CidrRange) ProtoMessage()

func (*CidrRange) ProtoReflect

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

func (*CidrRange) Reset

func (x *CidrRange) Reset()

func (*CidrRange) String

func (x *CidrRange) String() string

type CollectionEntry

type CollectionEntry struct {

	// Types that are assignable to ResourceSpecifier:
	//
	//	*CollectionEntry_Locator
	//	*CollectionEntry_InlineEntry_
	ResourceSpecifier isCollectionEntry_ResourceSpecifier `protobuf_oneof:"resource_specifier"`
	// contains filtered or unexported fields
}

xDS collection resource wrapper. This encapsulates a xDS resource when appearing inside a list collection resource. List collection resources are regular Resource messages of type:

.. code-block:: proto

message <T>Collection {
  repeated CollectionEntry resources = 1;
}

func (*CollectionEntry) Descriptor deprecated

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

Deprecated: Use CollectionEntry.ProtoReflect.Descriptor instead.

func (*CollectionEntry) GetInlineEntry

func (x *CollectionEntry) GetInlineEntry() *CollectionEntry_InlineEntry

func (*CollectionEntry) GetLocator

func (x *CollectionEntry) GetLocator() *ResourceLocator

func (*CollectionEntry) GetResourceSpecifier

func (m *CollectionEntry) GetResourceSpecifier() isCollectionEntry_ResourceSpecifier

func (*CollectionEntry) ProtoMessage

func (*CollectionEntry) ProtoMessage()

func (*CollectionEntry) ProtoReflect

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

func (*CollectionEntry) Reset

func (x *CollectionEntry) Reset()

func (*CollectionEntry) String

func (x *CollectionEntry) String() string

type CollectionEntry_InlineEntry

type CollectionEntry_InlineEntry struct {

	// Optional name to describe the inlined resource. Resource names must match
	// “[a-zA-Z0-9_-\./]+“ (TODO(htuch): turn this into a PGV constraint once
	// finalized, probably should be a RFC3986 pchar). This name allows
	// reference via the #entry directive in ResourceLocator.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The resource's logical version. It is illegal to have the same named xDS
	// resource name at a given version with different resource payloads.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// The resource payload, including type URL.
	Resource *anypb.Any `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"`
	// contains filtered or unexported fields
}

Inlined resource entry.

func (*CollectionEntry_InlineEntry) Descriptor deprecated

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

Deprecated: Use CollectionEntry_InlineEntry.ProtoReflect.Descriptor instead.

func (*CollectionEntry_InlineEntry) GetName

func (x *CollectionEntry_InlineEntry) GetName() string

func (*CollectionEntry_InlineEntry) GetResource

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

func (*CollectionEntry_InlineEntry) GetVersion

func (x *CollectionEntry_InlineEntry) GetVersion() string

func (*CollectionEntry_InlineEntry) ProtoMessage

func (*CollectionEntry_InlineEntry) ProtoMessage()

func (*CollectionEntry_InlineEntry) ProtoReflect

func (*CollectionEntry_InlineEntry) Reset

func (x *CollectionEntry_InlineEntry) Reset()

func (*CollectionEntry_InlineEntry) String

func (x *CollectionEntry_InlineEntry) String() string

type CollectionEntry_InlineEntry_

type CollectionEntry_InlineEntry_ struct {
	// The resource is inlined in the list collection.
	InlineEntry *CollectionEntry_InlineEntry `protobuf:"bytes,2,opt,name=inline_entry,json=inlineEntry,proto3,oneof"`
}

type CollectionEntry_Locator

type CollectionEntry_Locator struct {
	// A resource locator describing how the member resource is to be located.
	Locator *ResourceLocator `protobuf:"bytes,1,opt,name=locator,proto3,oneof"`
}

type ContextParams

type ContextParams struct {
	Params map[string]string `` /* 153-byte string literal not displayed */
	// contains filtered or unexported fields
}

Additional parameters that can be used to select resource variants. These include any global context parameters, per-resource type client feature capabilities and per-resource type functional attributes. All per-resource type attributes will be `xds.resource.` prefixed and some of these are documented below:

`xds.resource.listening_address`: The value is "IP:port" (e.g. "10.1.1.3:8080") which is

the listening address of a Listener. Used in a Listener resource query.

func (*ContextParams) Descriptor deprecated

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

Deprecated: Use ContextParams.ProtoReflect.Descriptor instead.

func (*ContextParams) GetParams

func (x *ContextParams) GetParams() map[string]string

func (*ContextParams) ProtoMessage

func (*ContextParams) ProtoMessage()

func (*ContextParams) ProtoReflect

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

func (*ContextParams) Reset

func (x *ContextParams) Reset()

func (*ContextParams) String

func (x *ContextParams) String() string

type Resource

type Resource struct {

	// Resource name. This may be omitted for filesystem resources.
	Name *ResourceName `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The resource's logical version. It is illegal to have the same named xDS
	// resource name at a given version with different resource payloads.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// The resource payload, including type URL.
	Resource *anypb.Any `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"`
	// contains filtered or unexported fields
}

xDS resource wrapper. This encapsulates a xDS resource when appearing in an xDS transport discovery response or when accessed as a filesystem object.

func (*Resource) Descriptor deprecated

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

Deprecated: Use Resource.ProtoReflect.Descriptor instead.

func (*Resource) GetName

func (x *Resource) GetName() *ResourceName

func (*Resource) GetResource

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

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 {

	// URI scheme.
	Scheme ResourceLocator_Scheme `protobuf:"varint,1,opt,name=scheme,proto3,enum=xds.core.v3.ResourceLocator_Scheme" json:"scheme,omitempty"`
	// Opaque identifier for the resource. Any '/' will not be escaped during URI
	// encoding and will form part of the URI path. This may end
	// with ‘*’ for glob collection references.
	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// Logical authority for resource (not necessarily transport network address).
	// Authorities are opaque in the xDS API, data-plane load balancers will map
	// them to concrete network transports such as an xDS management server, e.g.
	// via envoy.config.core.v3.ConfigSource.
	Authority string `protobuf:"bytes,3,opt,name=authority,proto3" json:"authority,omitempty"`
	// Fully qualified resource type (as in type URL without types.googleapis.com/
	// prefix).
	ResourceType string `protobuf:"bytes,4,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
	// Types that are assignable to ContextParamSpecifier:
	//
	//	*ResourceLocator_ExactContext
	ContextParamSpecifier isResourceLocator_ContextParamSpecifier `protobuf_oneof:"context_param_specifier"`
	// A list of directives that appear in the xDS resource locator #fragment.
	//
	// When encoding to URI form, directives are percent encoded with comma
	// separation.
	Directives []*ResourceLocator_Directive `protobuf:"bytes,6,rep,name=directives,proto3" json:"directives,omitempty"`
	// contains filtered or unexported fields
}

xDS resource locators identify a xDS resource name and instruct the data-plane load balancer on how the resource may be located.

Resource locators have a canonical xdstp:// URI representation:

xdstp://{authority}/{type_url}/{id}?{context_params}{#directive,*}

where context_params take the form of URI query parameters.

Resource locators have a similar canonical http:// URI representation:

http://{authority}/{type_url}/{id}?{context_params}{#directive,*}

Resource locators also have a simplified file:// URI representation:

file:///{id}{#directive,*}

func (*ResourceLocator) Descriptor deprecated

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

Deprecated: Use ResourceLocator.ProtoReflect.Descriptor instead.

func (*ResourceLocator) GetAuthority

func (x *ResourceLocator) GetAuthority() string

func (*ResourceLocator) GetContextParamSpecifier

func (m *ResourceLocator) GetContextParamSpecifier() isResourceLocator_ContextParamSpecifier

func (*ResourceLocator) GetDirectives

func (x *ResourceLocator) GetDirectives() []*ResourceLocator_Directive

func (*ResourceLocator) GetExactContext

func (x *ResourceLocator) GetExactContext() *ContextParams

func (*ResourceLocator) GetId

func (x *ResourceLocator) GetId() string

func (*ResourceLocator) GetResourceType

func (x *ResourceLocator) GetResourceType() string

func (*ResourceLocator) GetScheme

func (x *ResourceLocator) GetScheme() ResourceLocator_Scheme

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 ResourceLocator_Directive

type ResourceLocator_Directive struct {

	// Types that are assignable to Directive:
	//
	//	*ResourceLocator_Directive_Alt
	//	*ResourceLocator_Directive_Entry
	Directive isResourceLocator_Directive_Directive `protobuf_oneof:"directive"`
	// contains filtered or unexported fields
}

Directives provide information to data-plane load balancers on how xDS resource names are to be interpreted and potentially further resolved. For example, they may provide alternative resource locators for when primary resolution fails. Directives are not part of resource names and do not appear in a xDS transport discovery request.

When encoding to URIs, directives take the form:

<directive name>=<string representation of directive value>

For example, we can have alt=xdstp://foo/bar or entry=some%20thing. Each directive value type may have its own string encoding, in the case of ResourceLocator there is a recursive URI encoding.

Percent encoding applies to the URI encoding of the directive value. Multiple directives are comma-separated, so the reserved characters that require percent encoding in a directive value are [',', '#', '[', ']', '%']. These are the RFC3986 fragment reserved characters with the addition of the xDS scheme specific ','. See https://tools.ietf.org/html/rfc3986#page-49 for further details on URI ABNF and reserved characters.

func (*ResourceLocator_Directive) Descriptor deprecated

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

Deprecated: Use ResourceLocator_Directive.ProtoReflect.Descriptor instead.

func (*ResourceLocator_Directive) GetAlt

func (*ResourceLocator_Directive) GetDirective

func (m *ResourceLocator_Directive) GetDirective() isResourceLocator_Directive_Directive

func (*ResourceLocator_Directive) GetEntry

func (x *ResourceLocator_Directive) GetEntry() string

func (*ResourceLocator_Directive) ProtoMessage

func (*ResourceLocator_Directive) ProtoMessage()

func (*ResourceLocator_Directive) ProtoReflect

func (*ResourceLocator_Directive) Reset

func (x *ResourceLocator_Directive) Reset()

func (*ResourceLocator_Directive) String

func (x *ResourceLocator_Directive) String() string

type ResourceLocator_Directive_Alt

type ResourceLocator_Directive_Alt struct {
	// An alternative resource locator for fallback if the resource is
	// unavailable. For example, take the resource locator:
	//
	//	xdstp://foo/some-type/some-route-table#alt=xdstp://bar/some-type/another-route-table
	//
	// If the data-plane load balancer is unable to reach `foo` to fetch the
	// resource, it will fallback to `bar`. Alternative resources do not need
	// to have equivalent content, but they should be functional substitutes.
	Alt *ResourceLocator `protobuf:"bytes,1,opt,name=alt,proto3,oneof"`
}

type ResourceLocator_Directive_Entry

type ResourceLocator_Directive_Entry struct {
	// List collections support inlining of resources via the entry field in
	// Resource. These inlined Resource objects may have an optional name
	// field specified. When specified, the entry directive allows
	// ResourceLocator to directly reference these inlined resources, e.g.
	// xdstp://.../foo#entry=bar.
	Entry string `protobuf:"bytes,2,opt,name=entry,proto3,oneof"`
}

type ResourceLocator_ExactContext

type ResourceLocator_ExactContext struct {
	// Additional parameters that can be used to select resource variants.
	// Matches must be exact, i.e. all context parameters must match exactly and
	// there must be no additional context parameters set on the matched
	// resource.
	ExactContext *ContextParams `protobuf:"bytes,5,opt,name=exact_context,json=exactContext,proto3,oneof"`
}

type ResourceLocator_Scheme

type ResourceLocator_Scheme int32
const (
	ResourceLocator_XDSTP ResourceLocator_Scheme = 0
	ResourceLocator_HTTP  ResourceLocator_Scheme = 1
	ResourceLocator_FILE  ResourceLocator_Scheme = 2
)

func (ResourceLocator_Scheme) Descriptor

func (ResourceLocator_Scheme) Enum

func (ResourceLocator_Scheme) EnumDescriptor deprecated

func (ResourceLocator_Scheme) EnumDescriptor() ([]byte, []int)

Deprecated: Use ResourceLocator_Scheme.Descriptor instead.

func (ResourceLocator_Scheme) Number

func (ResourceLocator_Scheme) String

func (x ResourceLocator_Scheme) String() string

func (ResourceLocator_Scheme) Type

type ResourceName

type ResourceName struct {

	// Opaque identifier for the resource. Any '/' will not be escaped during URI
	// encoding and will form part of the URI path.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Logical authority for resource (not necessarily transport network address).
	// Authorities are opaque in the xDS API, data-plane load balancers will map
	// them to concrete network transports such as an xDS management server.
	Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"`
	// Fully qualified resource type (as in type URL without types.googleapis.com/
	// prefix).
	ResourceType string `protobuf:"bytes,3,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
	// Additional parameters that can be used to select resource variants.
	Context *ContextParams `protobuf:"bytes,4,opt,name=context,proto3" json:"context,omitempty"`
	// contains filtered or unexported fields
}

xDS resource name. This has a canonical xdstp:// URI representation:

xdstp://{authority}/{type_url}/{id}?{context_params}

where context_params take the form of URI query parameters.

A xDS resource name fully identifies a network resource for transport purposes. xDS resource names in this form appear only in discovery request/response messages used with the xDS transport.

func (*ResourceName) Descriptor deprecated

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

Deprecated: Use ResourceName.ProtoReflect.Descriptor instead.

func (*ResourceName) GetAuthority

func (x *ResourceName) GetAuthority() string

func (*ResourceName) GetContext

func (x *ResourceName) GetContext() *ContextParams

func (*ResourceName) GetId

func (x *ResourceName) GetId() string

func (*ResourceName) GetResourceType

func (x *ResourceName) GetResourceType() 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 TypedExtensionConfig

type TypedExtensionConfig struct {

	// The name of an extension. This is not used to select the extension, instead
	// it serves the role of an opaque identifier.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The typed config for the extension. The type URL will be used to identify
	// the extension. In the case that the type URL is *xds.type.v3.TypedStruct*
	// (or, for historical reasons, *udpa.type.v1.TypedStruct*), the inner type
	// URL of *TypedStruct* will be utilized. See the
	// :ref:`extension configuration overview
	// <config_overview_extension_configuration>` for further details.
	TypedConfig *anypb.Any `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"`
	// contains filtered or unexported fields
}

Message type for extension configuration.

func (*TypedExtensionConfig) Descriptor deprecated

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

Deprecated: Use TypedExtensionConfig.ProtoReflect.Descriptor instead.

func (*TypedExtensionConfig) GetName

func (x *TypedExtensionConfig) GetName() string

func (*TypedExtensionConfig) GetTypedConfig

func (x *TypedExtensionConfig) GetTypedConfig() *anypb.Any

func (*TypedExtensionConfig) ProtoMessage

func (*TypedExtensionConfig) ProtoMessage()

func (*TypedExtensionConfig) ProtoReflect

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

func (*TypedExtensionConfig) Reset

func (x *TypedExtensionConfig) Reset()

func (*TypedExtensionConfig) String

func (x *TypedExtensionConfig) String() string

Jump to

Keyboard shortcuts

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