pub struct DestinationProfile {
pub fully_qualified_name: String,
pub opaque_protocol: bool,
pub routes: Vec<Route>,
pub retry_budget: Option<RetryBudget>,
pub dst_overrides: Vec<WeightedDst>,
pub endpoint: Option<WeightedAddr>,
pub parent_ref: Option<Metadata>,
pub profile_ref: Option<Metadata>,
}
Fields§
§fully_qualified_name: String
The fully-qualified service name, if one exists.
When resolving (especially by IP), this field provides the fully-qualified
name of the resolved service, if one exists. This field does NOT include
any port information. E.g. a lookup for 10.2.3.4:8080 might have a name
like foo.bar.svc.cluster.local
.
Implementations MAY provide names for non-service IP-lookups (e.g., pod or node dns names), but this is not required.
If the lookup does not refer to a known named entity, this field MUST be left empty.
opaque_protocol: bool
Indicates that connections on this service address should be handled as opaque TCP streams. HTTP routes returned on for such services will be ignored.
routes: Vec<Route>
A list of routes, each with a RequestMatch. If a request matches more than one route, the first match wins.
retry_budget: Option<RetryBudget>
The retry budget controls how much additional load the proxy can generate as retries. Failured requests on retryable routes will not be retried if there is no available budget.
dst_overrides: Vec<WeightedDst>
If this list is non-empty, requests to this destination should instead be split between the destinations in this list. Each destination should receive a portion of the requests proportional to its weight. If this list is empty, requests should be sent to this destination as normal.
endpoint: Option<WeightedAddr>
If this field is set, it indicates that the target is a known endpoint (and
not a service address). The values of fully_qualified_name
and
dst_overrides
will be ignored for the purposes of service discovery–
traffic split and load balancing will be skipped and the single endpoint
are used.
No endpoint should be set If the target is unknown.
parent_ref: Option<Metadata>
A reference to the metadata for this destination, usually a service. May be omitted if the destination is not a service.
profile_ref: Option<Metadata>
A reference to the metadata for a ServiceProfile resource. This is omitted when no ServiceProfile resource exists.
Trait Implementations§
Source§impl Clone for DestinationProfile
impl Clone for DestinationProfile
Source§fn clone(&self) -> DestinationProfile
fn clone(&self) -> DestinationProfile
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for DestinationProfile
impl Debug for DestinationProfile
Source§impl Default for DestinationProfile
impl Default for DestinationProfile
Source§impl Message for DestinationProfile
impl Message for DestinationProfile
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 PartialEq for DestinationProfile
impl PartialEq for DestinationProfile
impl StructuralPartialEq for DestinationProfile
Auto Trait Implementations§
impl Freeze for DestinationProfile
impl RefUnwindSafe for DestinationProfile
impl Send for DestinationProfile
impl Sync for DestinationProfile
impl Unpin for DestinationProfile
impl UnwindSafe for DestinationProfile
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