Skip to main content

InstanceClient

Struct InstanceClient 

Source
pub struct InstanceClient { /* private fields */ }
Expand description

Calls InstanceService.

Instances: virtual machines in one zone, booted from an image onto a durable boot volume, with network interfaces created beforehand with the network service.

Implementations§

Source§

impl InstanceClient

Source

pub fn new(client: &Client) -> Self

Returns a client of InstanceService that sends its calls through client.

Source

pub fn service(&self) -> &Service

The endpoint the client sends its calls to, which also serves the operations its methods answer with.

Source

pub async fn get_instance( &self, request: GetInstanceRequest, ) -> Result<Instance, Error>

Returns an instance. A terminated instance can be read by name for a day after it was terminated.

Source

pub async fn list_instances( &self, request: ListInstancesRequest, ) -> Result<ListInstancesResponse, Error>

Lists the instances in a zone, oldest first. A terminated instance is listed for two hours after it was terminated. For every zone’s instances, list the zones whose services name compute with the location service (location.origincloudapis.eu), then each zone’s instances.

Source

pub fn all_instances(&self, request: ListInstancesRequest) -> Pages<Instance>

Returns everything list_instances lists from request’s page on, fetching the next page as the stream reaches it. A page that fails ends the stream with its error.

Source

pub async fn create_instance( &self, request: CreateInstanceRequest, ) -> Result<Operation<Instance>, Error>

Launches an instance. The operation is done once the instance is instance::State::Running, or failed once it is instance::State::Failed, with the reason in state_reason; a failed instance still exists, and can be started again or deleted.

It answers with an operation to wait on: Operation::wait returns the Instance once the change is done.

Source

pub async fn update_instance( &self, request: UpdateInstanceRequest, ) -> Result<Operation<Instance>, Error>

Changes an instance’s type, tags or service account. A new instance_type needs the instance instance::State::Stopped, and is refused with FAILED_PRECONDITION otherwise; it takes effect at the next start. A larger type is checked against the same vCPU quota a launch is. The operation is done once the instance shows the change.

It answers with an operation to wait on: Operation::wait returns the Instance once the change is done.

Source

pub async fn delete_instance( &self, request: DeleteInstanceRequest, ) -> Result<Operation<Empty>, Error>

Terminates an instance: its guest is stopped for good, its network interfaces are released, AVAILABLE again with their addresses (one created for it at launch is deleted), and its boot volume is deleted with it unless a snapshot of it exists. Other attached volumes are detached and kept. Terminating a terminated instance changes nothing. The operation is done once the instance is instance::State::Terminated.

It answers with an operation to wait on, which has no result: Operation::wait returns once the change is done.

Source

pub async fn start_instance( &self, request: StartInstanceRequest, ) -> Result<Operation<Instance>, Error>

Starts a instance::State::Stopped or instance::State::Failed instance. It keeps its name, its addresses and its volumes, and may come back on another machine. Starting a running instance changes nothing; it is refused while the instance is instance::State::Initializing, instance::State::Stopping or instance::State::ShuttingDown. The operation is done once the instance is instance::State::Running, or failed once it is instance::State::Failed.

It answers with an operation to wait on: Operation::wait returns the Instance once the change is done.

Source

pub async fn stop_instance( &self, request: StopInstanceRequest, ) -> Result<Operation<Instance>, Error>

Stops a running instance: its guest is shut down, and it keeps its volumes and addresses. Stopping a stopped instance changes nothing. The operation is done once the instance is instance::State::Stopped, or failed once it is instance::State::Failed.

It answers with an operation to wait on: Operation::wait returns the Instance once the change is done.

Trait Implementations§

Source§

impl Clone for InstanceClient

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for InstanceClient

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more