pub struct ResourceLocator {
pub scheme: i32,
pub id: String,
pub authority: String,
pub resource_type: String,
pub directives: Vec<Directive>,
pub context_param_specifier: Option<ContextParamSpecifier>,
}
Expand description
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,*}
Fields§
§scheme: i32
URI scheme.
id: String
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.
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.
resource_type: String
Fully qualified resource type (as in type URL without types.googleapis.com/ prefix).
directives: Vec<Directive>
A list of directives that appear in the xDS resource locator #fragment.
When encoding to URI form, directives are percent encoded with comma separation.
context_param_specifier: Option<ContextParamSpecifier>
Implementations§
Trait Implementations§
Source§impl Clone for ResourceLocator
impl Clone for ResourceLocator
Source§fn clone(&self) -> ResourceLocator
fn clone(&self) -> ResourceLocator
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ResourceLocator
impl Debug for ResourceLocator
Source§impl Default for ResourceLocator
impl Default for ResourceLocator
Source§impl Message for ResourceLocator
impl Message for ResourceLocator
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.Source§impl Name for ResourceLocator
impl Name for ResourceLocator
Source§const NAME: &'static str = "ResourceLocator"
const NAME: &'static str = "ResourceLocator"
Message
.
This name is the same as it appears in the source .proto file, e.g. FooBar
.Source§const PACKAGE: &'static str = "xds.core.v3"
const PACKAGE: &'static str = "xds.core.v3"
.
, e.g. google.protobuf
.Source§fn full_name() -> String
fn full_name() -> String
Message
.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation
.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.Source§impl PartialEq for ResourceLocator
impl PartialEq for ResourceLocator
impl StructuralPartialEq for ResourceLocator
Auto Trait Implementations§
impl Freeze for ResourceLocator
impl RefUnwindSafe for ResourceLocator
impl Send for ResourceLocator
impl Sync for ResourceLocator
impl Unpin for ResourceLocator
impl UnwindSafe for ResourceLocator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request