#[non_exhaustive]pub struct ServiceShapeName(/* private fields */);Expand description
The name of the Smithy service shape a client was generated for.
Some protocols derive parts of the wire format from model names rather than
from HTTP binding traits. RPC v2 CBOR is the canonical example: every request
is routed to /service/{serviceName}/operation/{operationName}, where
serviceName is the service shape name — not the @aws.api#service
sdkId, and not the shape’s namespace.
Because SharedClientProtocol can be swapped at runtime, a protocol cannot
rely on codegen having baked its route into the generated request path: a
client generated for awsJson1_0 may have RpcV2CborProtocol plugged in via
Config::builder().protocol(..). Generated clients therefore store this entry
in the config bag regardless of which protocol they were generated for, so
whichever protocol ends up being used can resolve the names it needs. The
companion operation name comes from
Metadata::name.
Implementations§
Trait Implementations§
Source§impl Clone for ServiceShapeName
impl Clone for ServiceShapeName
Source§impl Debug for ServiceShapeName
impl Debug for ServiceShapeName
impl Eq for ServiceShapeName
Source§impl PartialEq for ServiceShapeName
impl PartialEq for ServiceShapeName
Source§impl Storable for ServiceShapeName
impl Storable for ServiceShapeName
Source§type Storer = StoreReplace<ServiceShapeName>
type Storer = StoreReplace<ServiceShapeName>
StoreReplace and StoreAppendimpl StructuralPartialEq for ServiceShapeName
Auto Trait Implementations§
impl Freeze for ServiceShapeName
impl RefUnwindSafe for ServiceShapeName
impl Send for ServiceShapeName
impl Sync for ServiceShapeName
impl Unpin for ServiceShapeName
impl UnsafeUnpin for ServiceShapeName
impl UnwindSafe for ServiceShapeName
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more