Documentation
¶
Index ¶
- Constants
- Variables
- type Authority
- type Authority_builder
- type CidrRange
- func (x *CidrRange) ClearPrefixLen()
- func (x *CidrRange) GetAddressPrefix() string
- func (x *CidrRange) GetPrefixLen() *wrapperspb.UInt32Value
- func (x *CidrRange) HasPrefixLen() bool
- func (*CidrRange) ProtoMessage()
- func (x *CidrRange) ProtoReflect() protoreflect.Message
- func (x *CidrRange) Reset()
- func (x *CidrRange) SetAddressPrefix(v string)
- func (x *CidrRange) SetPrefixLen(v *wrapperspb.UInt32Value)
- func (x *CidrRange) String() string
- type CidrRange_builder
- type CollectionEntry
- func (x *CollectionEntry) ClearInlineEntry()
- func (x *CollectionEntry) ClearLocator()
- func (x *CollectionEntry) ClearResourceSpecifier()
- func (x *CollectionEntry) GetInlineEntry() *CollectionEntry_InlineEntry
- func (x *CollectionEntry) GetLocator() *ResourceLocator
- func (x *CollectionEntry) GetResourceSpecifier() isCollectionEntry_ResourceSpecifier
- func (x *CollectionEntry) HasInlineEntry() bool
- func (x *CollectionEntry) HasLocator() bool
- func (x *CollectionEntry) HasResourceSpecifier() bool
- func (*CollectionEntry) ProtoMessage()
- func (x *CollectionEntry) ProtoReflect() protoreflect.Message
- func (x *CollectionEntry) Reset()
- func (x *CollectionEntry) SetInlineEntry(v *CollectionEntry_InlineEntry)
- func (x *CollectionEntry) SetLocator(v *ResourceLocator)
- func (x *CollectionEntry) String() string
- func (x *CollectionEntry) WhichResourceSpecifier() case_CollectionEntry_ResourceSpecifier
- type CollectionEntry_InlineEntry
- func (x *CollectionEntry_InlineEntry) ClearResource()
- func (x *CollectionEntry_InlineEntry) GetName() string
- func (x *CollectionEntry_InlineEntry) GetResource() *anypb.Any
- func (x *CollectionEntry_InlineEntry) GetVersion() string
- func (x *CollectionEntry_InlineEntry) HasResource() bool
- func (*CollectionEntry_InlineEntry) ProtoMessage()
- func (x *CollectionEntry_InlineEntry) ProtoReflect() protoreflect.Message
- func (x *CollectionEntry_InlineEntry) Reset()
- func (x *CollectionEntry_InlineEntry) SetName(v string)
- func (x *CollectionEntry_InlineEntry) SetResource(v *anypb.Any)
- func (x *CollectionEntry_InlineEntry) SetVersion(v string)
- func (x *CollectionEntry_InlineEntry) String() string
- type CollectionEntry_InlineEntry_
- type CollectionEntry_InlineEntry_builder
- type CollectionEntry_Locator
- type CollectionEntry_builder
- type ContextParams
- type ContextParams_builder
- type Resource
- func (x *Resource) ClearName()
- func (x *Resource) ClearResource()
- func (x *Resource) GetName() *ResourceName
- func (x *Resource) GetResource() *anypb.Any
- func (x *Resource) GetVersion() string
- func (x *Resource) HasName() bool
- func (x *Resource) HasResource() bool
- func (*Resource) ProtoMessage()
- func (x *Resource) ProtoReflect() protoreflect.Message
- func (x *Resource) Reset()
- func (x *Resource) SetName(v *ResourceName)
- func (x *Resource) SetResource(v *anypb.Any)
- func (x *Resource) SetVersion(v string)
- func (x *Resource) String() string
- type ResourceLocator
- func (x *ResourceLocator) ClearContextParamSpecifier()
- func (x *ResourceLocator) ClearExactContext()
- func (x *ResourceLocator) GetAuthority() string
- func (x *ResourceLocator) GetContextParamSpecifier() isResourceLocator_ContextParamSpecifier
- func (x *ResourceLocator) GetDirectives() []*ResourceLocator_Directive
- func (x *ResourceLocator) GetExactContext() *ContextParams
- func (x *ResourceLocator) GetId() string
- func (x *ResourceLocator) GetResourceType() string
- func (x *ResourceLocator) GetScheme() ResourceLocator_Scheme
- func (x *ResourceLocator) HasContextParamSpecifier() bool
- func (x *ResourceLocator) HasExactContext() bool
- func (*ResourceLocator) ProtoMessage()
- func (x *ResourceLocator) ProtoReflect() protoreflect.Message
- func (x *ResourceLocator) Reset()
- func (x *ResourceLocator) SetAuthority(v string)
- func (x *ResourceLocator) SetDirectives(v []*ResourceLocator_Directive)
- func (x *ResourceLocator) SetExactContext(v *ContextParams)
- func (x *ResourceLocator) SetId(v string)
- func (x *ResourceLocator) SetResourceType(v string)
- func (x *ResourceLocator) SetScheme(v ResourceLocator_Scheme)
- func (x *ResourceLocator) String() string
- func (x *ResourceLocator) WhichContextParamSpecifier() case_ResourceLocator_ContextParamSpecifier
- type ResourceLocator_Directive
- func (x *ResourceLocator_Directive) ClearAlt()
- func (x *ResourceLocator_Directive) ClearDirective()
- func (x *ResourceLocator_Directive) ClearEntry()
- func (x *ResourceLocator_Directive) GetAlt() *ResourceLocator
- func (x *ResourceLocator_Directive) GetDirective() isResourceLocator_Directive_Directive
- func (x *ResourceLocator_Directive) GetEntry() string
- func (x *ResourceLocator_Directive) HasAlt() bool
- func (x *ResourceLocator_Directive) HasDirective() bool
- func (x *ResourceLocator_Directive) HasEntry() bool
- func (*ResourceLocator_Directive) ProtoMessage()
- func (x *ResourceLocator_Directive) ProtoReflect() protoreflect.Message
- func (x *ResourceLocator_Directive) Reset()
- func (x *ResourceLocator_Directive) SetAlt(v *ResourceLocator)
- func (x *ResourceLocator_Directive) SetEntry(v string)
- func (x *ResourceLocator_Directive) String() string
- func (x *ResourceLocator_Directive) WhichDirective() case_ResourceLocator_Directive_Directive
- type ResourceLocator_Directive_Alt
- type ResourceLocator_Directive_Entry
- type ResourceLocator_Directive_builder
- type ResourceLocator_ExactContext
- type ResourceLocator_Scheme
- func (ResourceLocator_Scheme) Descriptor() protoreflect.EnumDescriptor
- func (x ResourceLocator_Scheme) Enum() *ResourceLocator_Scheme
- func (x ResourceLocator_Scheme) Number() protoreflect.EnumNumber
- func (x ResourceLocator_Scheme) String() string
- func (ResourceLocator_Scheme) Type() protoreflect.EnumType
- type ResourceLocator_builder
- type ResourceName
- func (x *ResourceName) ClearContext()
- func (x *ResourceName) GetAuthority() string
- func (x *ResourceName) GetContext() *ContextParams
- func (x *ResourceName) GetId() string
- func (x *ResourceName) GetResourceType() string
- func (x *ResourceName) HasContext() bool
- func (*ResourceName) ProtoMessage()
- func (x *ResourceName) ProtoReflect() protoreflect.Message
- func (x *ResourceName) Reset()
- func (x *ResourceName) SetAuthority(v string)
- func (x *ResourceName) SetContext(v *ContextParams)
- func (x *ResourceName) SetId(v string)
- func (x *ResourceName) SetResourceType(v string)
- func (x *ResourceName) String() string
- type ResourceName_builder
- type Resource_builder
- type TypedExtensionConfig
- func (x *TypedExtensionConfig) ClearTypedConfig()
- func (x *TypedExtensionConfig) GetName() string
- func (x *TypedExtensionConfig) GetTypedConfig() *anypb.Any
- func (x *TypedExtensionConfig) HasTypedConfig() bool
- func (*TypedExtensionConfig) ProtoMessage()
- func (x *TypedExtensionConfig) ProtoReflect() protoreflect.Message
- func (x *TypedExtensionConfig) Reset()
- func (x *TypedExtensionConfig) SetName(v string)
- func (x *TypedExtensionConfig) SetTypedConfig(v *anypb.Any)
- func (x *TypedExtensionConfig) String() string
- type TypedExtensionConfig_builder
Constants ¶
const CollectionEntry_InlineEntry_case case_CollectionEntry_ResourceSpecifier = 2
const CollectionEntry_Locator_case case_CollectionEntry_ResourceSpecifier = 1
const CollectionEntry_ResourceSpecifier_not_set_case case_CollectionEntry_ResourceSpecifier = 0
const ResourceLocator_ContextParamSpecifier_not_set_case case_ResourceLocator_ContextParamSpecifier = 0
const ResourceLocator_Directive_Alt_case case_ResourceLocator_Directive_Directive = 1
const ResourceLocator_Directive_Directive_not_set_case case_ResourceLocator_Directive_Directive = 0
const ResourceLocator_Directive_Entry_case case_ResourceLocator_Directive_Directive = 2
const ResourceLocator_ExactContext_case case_ResourceLocator_ContextParamSpecifier = 5
Variables ¶
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.
var File_xds_core_v3_cidr_proto protoreflect.FileDescriptor
var File_xds_core_v3_collection_entry_proto protoreflect.FileDescriptor
var File_xds_core_v3_context_params_proto protoreflect.FileDescriptor
var File_xds_core_v3_extension_proto protoreflect.FileDescriptor
var File_xds_core_v3_resource_locator_proto protoreflect.FileDescriptor
var File_xds_core_v3_resource_name_proto protoreflect.FileDescriptor
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) ProtoReflect ¶
func (x *Authority) ProtoReflect() protoreflect.Message
type Authority_builder ¶
type Authority_builder struct {
Name string
// contains filtered or unexported fields
}
func (Authority_builder) Build ¶
func (b0 Authority_builder) Build() *Authority
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) GetPrefixLen ¶
func (x *CidrRange) GetPrefixLen() *wrapperspb.UInt32Value
func (*CidrRange) ProtoReflect ¶
func (x *CidrRange) ProtoReflect() protoreflect.Message
func (*CidrRange) SetPrefixLen ¶
func (x *CidrRange) SetPrefixLen(v *wrapperspb.UInt32Value)
type CidrRange_builder ¶
type CidrRange_builder struct {
// IPv4 or IPv6 address, e.g. “192.0.0.0“ or “2001:db8::“.
AddressPrefix string
// Length of prefix, e.g. 0, 32. Defaults to 0 when unset.
PrefixLen *wrapperspb.UInt32Value
// contains filtered or unexported fields
}
func (CidrRange_builder) Build ¶
func (b0 CidrRange_builder) Build() *CidrRange
type CollectionEntry ¶
type CollectionEntry struct {
// Types that are valid to be assigned 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) ClearInlineEntry ¶
func (x *CollectionEntry) ClearInlineEntry()
func (*CollectionEntry) ClearLocator ¶
func (x *CollectionEntry) ClearLocator()
func (*CollectionEntry) ClearResourceSpecifier ¶
func (x *CollectionEntry) ClearResourceSpecifier()
func (*CollectionEntry) GetInlineEntry ¶
func (x *CollectionEntry) GetInlineEntry() *CollectionEntry_InlineEntry
func (*CollectionEntry) GetLocator ¶
func (x *CollectionEntry) GetLocator() *ResourceLocator
func (*CollectionEntry) GetResourceSpecifier ¶
func (x *CollectionEntry) GetResourceSpecifier() isCollectionEntry_ResourceSpecifier
func (*CollectionEntry) HasInlineEntry ¶
func (x *CollectionEntry) HasInlineEntry() bool
func (*CollectionEntry) HasLocator ¶
func (x *CollectionEntry) HasLocator() bool
func (*CollectionEntry) HasResourceSpecifier ¶
func (x *CollectionEntry) HasResourceSpecifier() bool
func (*CollectionEntry) ProtoMessage ¶
func (*CollectionEntry) ProtoMessage()
func (*CollectionEntry) ProtoReflect ¶
func (x *CollectionEntry) ProtoReflect() protoreflect.Message
func (*CollectionEntry) Reset ¶
func (x *CollectionEntry) Reset()
func (*CollectionEntry) SetInlineEntry ¶
func (x *CollectionEntry) SetInlineEntry(v *CollectionEntry_InlineEntry)
func (*CollectionEntry) SetLocator ¶
func (x *CollectionEntry) SetLocator(v *ResourceLocator)
func (*CollectionEntry) String ¶
func (x *CollectionEntry) String() string
func (*CollectionEntry) WhichResourceSpecifier ¶
func (x *CollectionEntry) WhichResourceSpecifier() case_CollectionEntry_ResourceSpecifier
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) ClearResource ¶
func (x *CollectionEntry_InlineEntry) ClearResource()
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) HasResource ¶
func (x *CollectionEntry_InlineEntry) HasResource() bool
func (*CollectionEntry_InlineEntry) ProtoMessage ¶
func (*CollectionEntry_InlineEntry) ProtoMessage()
func (*CollectionEntry_InlineEntry) ProtoReflect ¶
func (x *CollectionEntry_InlineEntry) ProtoReflect() protoreflect.Message
func (*CollectionEntry_InlineEntry) Reset ¶
func (x *CollectionEntry_InlineEntry) Reset()
func (*CollectionEntry_InlineEntry) SetName ¶
func (x *CollectionEntry_InlineEntry) SetName(v string)
func (*CollectionEntry_InlineEntry) SetResource ¶
func (x *CollectionEntry_InlineEntry) SetResource(v *anypb.Any)
func (*CollectionEntry_InlineEntry) SetVersion ¶
func (x *CollectionEntry_InlineEntry) SetVersion(v string)
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_InlineEntry_builder ¶
type CollectionEntry_InlineEntry_builder 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
// 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
// The resource payload, including type URL.
Resource *anypb.Any
// contains filtered or unexported fields
}
func (CollectionEntry_InlineEntry_builder) Build ¶
func (b0 CollectionEntry_InlineEntry_builder) Build() *CollectionEntry_InlineEntry
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 CollectionEntry_builder ¶
type CollectionEntry_builder struct {
// Fields of oneof ResourceSpecifier:
// A resource locator describing how the member resource is to be located.
Locator *ResourceLocator
// The resource is inlined in the list collection.
InlineEntry *CollectionEntry_InlineEntry
// contains filtered or unexported fields
}
func (CollectionEntry_builder) Build ¶
func (b0 CollectionEntry_builder) Build() *CollectionEntry
type ContextParams ¶
type ContextParams struct {
Params map[string]string `` /* 139-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) 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) SetParams ¶
func (x *ContextParams) SetParams(v map[string]string)
func (*ContextParams) String ¶
func (x *ContextParams) String() string
type ContextParams_builder ¶
type ContextParams_builder struct {
Params map[string]string
// contains filtered or unexported fields
}
func (ContextParams_builder) Build ¶
func (b0 ContextParams_builder) Build() *ContextParams
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) GetName ¶
func (x *Resource) GetName() *ResourceName
func (*Resource) ProtoReflect ¶
func (x *Resource) ProtoReflect() protoreflect.Message
func (*Resource) SetName ¶
func (x *Resource) SetName(v *ResourceName)
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 valid to be assigned 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) ClearContextParamSpecifier ¶
func (x *ResourceLocator) ClearContextParamSpecifier()
func (*ResourceLocator) ClearExactContext ¶
func (x *ResourceLocator) ClearExactContext()
func (*ResourceLocator) GetAuthority ¶
func (x *ResourceLocator) GetAuthority() string
func (*ResourceLocator) GetContextParamSpecifier ¶
func (x *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) HasContextParamSpecifier ¶
func (x *ResourceLocator) HasContextParamSpecifier() bool
func (*ResourceLocator) HasExactContext ¶
func (x *ResourceLocator) HasExactContext() bool
func (*ResourceLocator) ProtoMessage ¶
func (*ResourceLocator) ProtoMessage()
func (*ResourceLocator) ProtoReflect ¶
func (x *ResourceLocator) ProtoReflect() protoreflect.Message
func (*ResourceLocator) Reset ¶
func (x *ResourceLocator) Reset()
func (*ResourceLocator) SetAuthority ¶
func (x *ResourceLocator) SetAuthority(v string)
func (*ResourceLocator) SetDirectives ¶
func (x *ResourceLocator) SetDirectives(v []*ResourceLocator_Directive)
func (*ResourceLocator) SetExactContext ¶
func (x *ResourceLocator) SetExactContext(v *ContextParams)
func (*ResourceLocator) SetId ¶
func (x *ResourceLocator) SetId(v string)
func (*ResourceLocator) SetResourceType ¶
func (x *ResourceLocator) SetResourceType(v string)
func (*ResourceLocator) SetScheme ¶
func (x *ResourceLocator) SetScheme(v ResourceLocator_Scheme)
func (*ResourceLocator) String ¶
func (x *ResourceLocator) String() string
func (*ResourceLocator) WhichContextParamSpecifier ¶
func (x *ResourceLocator) WhichContextParamSpecifier() case_ResourceLocator_ContextParamSpecifier
type ResourceLocator_Directive ¶
type ResourceLocator_Directive struct {
// Types that are valid to be assigned 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) ClearAlt ¶
func (x *ResourceLocator_Directive) ClearAlt()
func (*ResourceLocator_Directive) ClearDirective ¶
func (x *ResourceLocator_Directive) ClearDirective()
func (*ResourceLocator_Directive) ClearEntry ¶
func (x *ResourceLocator_Directive) ClearEntry()
func (*ResourceLocator_Directive) GetAlt ¶
func (x *ResourceLocator_Directive) GetAlt() *ResourceLocator
func (*ResourceLocator_Directive) GetDirective ¶
func (x *ResourceLocator_Directive) GetDirective() isResourceLocator_Directive_Directive
func (*ResourceLocator_Directive) GetEntry ¶
func (x *ResourceLocator_Directive) GetEntry() string
func (*ResourceLocator_Directive) HasAlt ¶
func (x *ResourceLocator_Directive) HasAlt() bool
func (*ResourceLocator_Directive) HasDirective ¶
func (x *ResourceLocator_Directive) HasDirective() bool
func (*ResourceLocator_Directive) HasEntry ¶
func (x *ResourceLocator_Directive) HasEntry() bool
func (*ResourceLocator_Directive) ProtoMessage ¶
func (*ResourceLocator_Directive) ProtoMessage()
func (*ResourceLocator_Directive) ProtoReflect ¶
func (x *ResourceLocator_Directive) ProtoReflect() protoreflect.Message
func (*ResourceLocator_Directive) Reset ¶
func (x *ResourceLocator_Directive) Reset()
func (*ResourceLocator_Directive) SetAlt ¶
func (x *ResourceLocator_Directive) SetAlt(v *ResourceLocator)
func (*ResourceLocator_Directive) SetEntry ¶
func (x *ResourceLocator_Directive) SetEntry(v string)
func (*ResourceLocator_Directive) String ¶
func (x *ResourceLocator_Directive) String() string
func (*ResourceLocator_Directive) WhichDirective ¶
func (x *ResourceLocator_Directive) WhichDirective() case_ResourceLocator_Directive_Directive
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_Directive_builder ¶
type ResourceLocator_Directive_builder struct {
// Fields of oneof Directive:
// 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
// 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
// contains filtered or unexported fields
}
func (ResourceLocator_Directive_builder) Build ¶
func (b0 ResourceLocator_Directive_builder) Build() *ResourceLocator_Directive
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) Descriptor() protoreflect.EnumDescriptor
func (ResourceLocator_Scheme) Enum ¶
func (x ResourceLocator_Scheme) Enum() *ResourceLocator_Scheme
func (ResourceLocator_Scheme) Number ¶
func (x ResourceLocator_Scheme) Number() protoreflect.EnumNumber
func (ResourceLocator_Scheme) String ¶
func (x ResourceLocator_Scheme) String() string
func (ResourceLocator_Scheme) Type ¶
func (ResourceLocator_Scheme) Type() protoreflect.EnumType
type ResourceLocator_builder ¶
type ResourceLocator_builder struct {
// URI scheme.
Scheme ResourceLocator_Scheme
// 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
// 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
// Fully qualified resource type (as in type URL without types.googleapis.com/
// prefix).
ResourceType string
// Fields of oneof ContextParamSpecifier:
// 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
// -- end of ContextParamSpecifier
// 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
// contains filtered or unexported fields
}
func (ResourceLocator_builder) Build ¶
func (b0 ResourceLocator_builder) Build() *ResourceLocator
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) ClearContext ¶
func (x *ResourceName) ClearContext()
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) HasContext ¶
func (x *ResourceName) HasContext() bool
func (*ResourceName) ProtoMessage ¶
func (*ResourceName) ProtoMessage()
func (*ResourceName) ProtoReflect ¶
func (x *ResourceName) ProtoReflect() protoreflect.Message
func (*ResourceName) Reset ¶
func (x *ResourceName) Reset()
func (*ResourceName) SetAuthority ¶
func (x *ResourceName) SetAuthority(v string)
func (*ResourceName) SetContext ¶
func (x *ResourceName) SetContext(v *ContextParams)
func (*ResourceName) SetId ¶
func (x *ResourceName) SetId(v string)
func (*ResourceName) SetResourceType ¶
func (x *ResourceName) SetResourceType(v string)
func (*ResourceName) String ¶
func (x *ResourceName) String() string
type ResourceName_builder ¶
type ResourceName_builder struct {
// Opaque identifier for the resource. Any '/' will not be escaped during URI
// encoding and will form part of the URI path.
Id string
// 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
// Fully qualified resource type (as in type URL without types.googleapis.com/
// prefix).
ResourceType string
// Additional parameters that can be used to select resource variants.
Context *ContextParams
// contains filtered or unexported fields
}
func (ResourceName_builder) Build ¶
func (b0 ResourceName_builder) Build() *ResourceName
type Resource_builder ¶
type Resource_builder struct {
// Resource name. This may be omitted for filesystem resources.
Name *ResourceName
// 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
// The resource payload, including type URL.
Resource *anypb.Any
// contains filtered or unexported fields
}
func (Resource_builder) Build ¶
func (b0 Resource_builder) Build() *Resource
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) ClearTypedConfig ¶
func (x *TypedExtensionConfig) ClearTypedConfig()
func (*TypedExtensionConfig) GetName ¶
func (x *TypedExtensionConfig) GetName() string
func (*TypedExtensionConfig) GetTypedConfig ¶
func (x *TypedExtensionConfig) GetTypedConfig() *anypb.Any
func (*TypedExtensionConfig) HasTypedConfig ¶
func (x *TypedExtensionConfig) HasTypedConfig() bool
func (*TypedExtensionConfig) ProtoMessage ¶
func (*TypedExtensionConfig) ProtoMessage()
func (*TypedExtensionConfig) ProtoReflect ¶
func (x *TypedExtensionConfig) ProtoReflect() protoreflect.Message
func (*TypedExtensionConfig) Reset ¶
func (x *TypedExtensionConfig) Reset()
func (*TypedExtensionConfig) SetName ¶
func (x *TypedExtensionConfig) SetName(v string)
func (*TypedExtensionConfig) SetTypedConfig ¶
func (x *TypedExtensionConfig) SetTypedConfig(v *anypb.Any)
func (*TypedExtensionConfig) String ¶
func (x *TypedExtensionConfig) String() string
type TypedExtensionConfig_builder ¶
type TypedExtensionConfig_builder 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
// 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
// contains filtered or unexported fields
}
func (TypedExtensionConfig_builder) Build ¶
func (b0 TypedExtensionConfig_builder) Build() *TypedExtensionConfig
Source Files
¶
- authority.pb.go
- cidr.pb.go
- collection_entry.pb.go
- context_params.pb.go
- extension.pb.go
- resource.pb.go
- resource_locator.pb.go
- resource_name.pb.go