pub struct VultrFloatingIp { /* private fields */ }Expand description
Vultr reserved-IP client. Bearer-token auth (Vultr’s personal-access-token scheme).
Implementations§
Source§impl VultrFloatingIp
impl VultrFloatingIp
Sourcepub fn new(api_key: impl Into<String>) -> VultrFloatingIp
pub fn new(api_key: impl Into<String>) -> VultrFloatingIp
Build against api.vultr.com.
Sourcepub fn with_base_url(self, url: impl Into<String>) -> VultrFloatingIp
pub fn with_base_url(self, url: impl Into<String>) -> VultrFloatingIp
Override the base URL — used by the in-process axum mocks below.
Trait Implementations§
Source§impl Clone for VultrFloatingIp
impl Clone for VultrFloatingIp
Source§fn clone(&self) -> VultrFloatingIp
fn clone(&self) -> VultrFloatingIp
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl EnvoyAdapter for VultrFloatingIp
impl EnvoyAdapter for VultrFloatingIp
Source§fn id(&self) -> &str
fn id(&self) -> &str
Stable provider id, e.g.
"hetzner". Used for tool-namespace
composition (mcp__yah__envoy__hetzner__<verb>) and for matching
against .yah/envoys/<id>/.Source§fn flavor(&self) -> AdapterFlavor
fn flavor(&self) -> AdapterFlavor
How the adapter is built.
Source§fn supported_verb_ids(&self) -> Vec<&'static str>
fn supported_verb_ids(&self) -> Vec<&'static str>
Verb ids this adapter supports. The host calls this once at
registration time; per W144 D2 the result becomes the adapter’s
“supported_verbs” claim in its manifest.
Source§fn dispatch<'life0, 'life1, 'async_trait>(
&'life0 self,
verb_id: &'life1 str,
input: Value,
) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn dispatch<'life0, 'life1, 'async_trait>(
&'life0 self,
verb_id: &'life1 str,
input: Value,
) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Dispatch one verb call.
verb_id is one of the entries in
Self::supported_verb_ids; input is the raw JSON request body.
Returns the verb’s response body as JSON. Read moreSource§impl FloatingIpProvider for VultrFloatingIp
impl FloatingIpProvider for VultrFloatingIp
Source§fn resolve_target<'life0, 'life1, 'async_trait>(
&'life0 self,
machine: &'life1 FloatingIpMachine,
) -> Pin<Box<dyn Future<Output = Result<FloatingIpTarget, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
VultrFloatingIp: 'async_trait,
fn resolve_target<'life0, 'life1, 'async_trait>(
&'life0 self,
machine: &'life1 FloatingIpMachine,
) -> Pin<Box<dyn Future<Output = Result<FloatingIpTarget, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
VultrFloatingIp: 'async_trait,
GET /v2/instances?label=<machine.name> — Vultr instances are
looked up by their label, the same name-is-the-key convention
as Hetzner’s GET /servers?name=.
Source§fn current_assignment<'life0, 'life1, 'async_trait>(
&'life0 self,
ip_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<FloatingIpState, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
VultrFloatingIp: 'async_trait,
fn current_assignment<'life0, 'life1, 'async_trait>(
&'life0 self,
ip_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<FloatingIpState, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
VultrFloatingIp: 'async_trait,
GET /v2/reserved-ips/{id}.
Source§fn reassign<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ip_id: &'life1 str,
target: &'life2 FloatingIpTarget,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
VultrFloatingIp: 'async_trait,
fn reassign<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ip_id: &'life1 str,
target: &'life2 FloatingIpTarget,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
VultrFloatingIp: 'async_trait,
POST /v2/reserved-ips/{id}/attach.
Source§fn id(&self) -> &'static str
fn id(&self) -> &'static str
Provider id, e.g.
"hetzner" — matches
FloatingIpMachine::provider.Auto Trait Implementations§
impl !RefUnwindSafe for VultrFloatingIp
impl !UnwindSafe for VultrFloatingIp
impl Freeze for VultrFloatingIp
impl Send for VultrFloatingIp
impl Sync for VultrFloatingIp
impl Unpin for VultrFloatingIp
impl UnsafeUnpin for VultrFloatingIp
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> FloatingIpEnvoy for Twhere
T: FloatingIpProvider + ?Sized,
impl<T> FloatingIpEnvoy for Twhere
T: FloatingIpProvider + ?Sized,
Source§fn floating_ip_assign<'life0, 'async_trait>(
&'life0 self,
input: FloatingIpAssignInput,
) -> Pin<Box<dyn Future<Output = Result<FloatingIpAssignOutput, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn floating_ip_assign<'life0, 'async_trait>(
&'life0 self,
input: FloatingIpAssignInput,
) -> Pin<Box<dyn Future<Output = Result<FloatingIpAssignOutput, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
floating_ip.assign — move the IP, idempotently and zone-checked.Source§fn floating_ip_status<'life0, 'async_trait>(
&'life0 self,
input: FloatingIpStatusInput,
) -> Pin<Box<dyn Future<Output = Result<FloatingIpStatusOutput, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn floating_ip_status<'life0, 'async_trait>(
&'life0 self,
input: FloatingIpStatusInput,
) -> Pin<Box<dyn Future<Output = Result<FloatingIpStatusOutput, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
floating_ip.status — report where the IP lives today.impl<T> Fruit for T
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> ⓘ
Converts
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> ⓘ
Converts
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