Skip to main content

CloneJob

Struct CloneJob 

Source
#[non_exhaustive]
pub struct CloneJob { pub create_time: Option<Timestamp>, pub end_time: Option<Timestamp>, pub name: String, pub state: State, pub state_time: Option<Timestamp>, pub error: Option<Status>, pub steps: Vec<CloneStep>, pub target_vm_details: Option<TargetVmDetails>, /* private fields */ }
Expand description

CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§create_time: Option<Timestamp>

Output only. The time the clone job was created (as an API call, not when it was actually created in the target).

§end_time: Option<Timestamp>

Output only. The time the clone job was ended.

§name: String

Output only. The name of the clone.

§state: State

Output only. State of the clone job.

§state_time: Option<Timestamp>

Output only. The time the state was last updated.

§error: Option<Status>

Output only. Provides details for the errors that led to the Clone Job’s state.

§steps: Vec<CloneStep>

Output only. The clone steps list representing its progress.

§target_vm_details: Option<TargetVmDetails>

Details of the VM to create as the target of this clone job.

Implementations§

Source§

impl CloneJob

Source

pub fn new() -> Self

Creates a new default instance.

Source

pub fn set_create_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of create_time.

§Example
use wkt::Timestamp;
let x = CloneJob::new().set_create_time(Timestamp::default()/* use setters */);
Source

pub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
where T: Into<Timestamp>,

Sets or clears the value of create_time.

§Example
use wkt::Timestamp;
let x = CloneJob::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
let x = CloneJob::new().set_or_clear_create_time(None::<Timestamp>);
Source

pub fn set_end_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of end_time.

§Example
use wkt::Timestamp;
let x = CloneJob::new().set_end_time(Timestamp::default()/* use setters */);
Source

pub fn set_or_clear_end_time<T>(self, v: Option<T>) -> Self
where T: Into<Timestamp>,

Sets or clears the value of end_time.

§Example
use wkt::Timestamp;
let x = CloneJob::new().set_or_clear_end_time(Some(Timestamp::default()/* use setters */));
let x = CloneJob::new().set_or_clear_end_time(None::<Timestamp>);
Source

pub fn set_name<T: Into<String>>(self, v: T) -> Self

Sets the value of name.

§Example
let x = CloneJob::new().set_name(format!("projects/{project_id}/locations/{location_id}/sources/{source_id}/migratingVms/{migrating_vm_id}/cloneJobs/{clone_job_id}"));
Source

pub fn set_state<T: Into<State>>(self, v: T) -> Self

Sets the value of state.

§Example
use google_cloud_vmmigration_v1::model::clone_job::State;
let x0 = CloneJob::new().set_state(State::Pending);
let x1 = CloneJob::new().set_state(State::Active);
let x2 = CloneJob::new().set_state(State::Failed);
Source

pub fn set_state_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of state_time.

§Example
use wkt::Timestamp;
let x = CloneJob::new().set_state_time(Timestamp::default()/* use setters */);
Source

pub fn set_or_clear_state_time<T>(self, v: Option<T>) -> Self
where T: Into<Timestamp>,

Sets or clears the value of state_time.

§Example
use wkt::Timestamp;
let x = CloneJob::new().set_or_clear_state_time(Some(Timestamp::default()/* use setters */));
let x = CloneJob::new().set_or_clear_state_time(None::<Timestamp>);
Source

pub fn set_error<T>(self, v: T) -> Self
where T: Into<Status>,

Sets the value of error.

§Example
use google_cloud_rpc::model::Status;
let x = CloneJob::new().set_error(Status::default()/* use setters */);
Source

pub fn set_or_clear_error<T>(self, v: Option<T>) -> Self
where T: Into<Status>,

Sets or clears the value of error.

§Example
use google_cloud_rpc::model::Status;
let x = CloneJob::new().set_or_clear_error(Some(Status::default()/* use setters */));
let x = CloneJob::new().set_or_clear_error(None::<Status>);
Source

pub fn set_steps<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<CloneStep>,

Sets the value of steps.

§Example
use google_cloud_vmmigration_v1::model::CloneStep;
let x = CloneJob::new()
    .set_steps([
        CloneStep::default()/* use setters */,
        CloneStep::default()/* use (different) setters */,
    ]);
Source

pub fn set_target_vm_details<T: Into<Option<TargetVmDetails>>>( self, v: T, ) -> Self

Sets the value of target_vm_details.

Note that all the setters affecting target_vm_details are mutually exclusive.

§Example
use google_cloud_vmmigration_v1::model::ComputeEngineTargetDetails;
let x = CloneJob::new().set_target_vm_details(Some(
    google_cloud_vmmigration_v1::model::clone_job::TargetVmDetails::ComputeEngineTargetDetails(ComputeEngineTargetDetails::default().into())));
Source

pub fn compute_engine_target_details( &self, ) -> Option<&Box<ComputeEngineTargetDetails>>

The value of target_vm_details if it holds a ComputeEngineTargetDetails, None if the field is not set or holds a different branch.

Source

pub fn set_compute_engine_target_details<T: Into<Box<ComputeEngineTargetDetails>>>( self, v: T, ) -> Self

Sets the value of target_vm_details to hold a ComputeEngineTargetDetails.

Note that all the setters affecting target_vm_details are mutually exclusive.

§Example
use google_cloud_vmmigration_v1::model::ComputeEngineTargetDetails;
let x = CloneJob::new().set_compute_engine_target_details(ComputeEngineTargetDetails::default()/* use setters */);
assert!(x.compute_engine_target_details().is_some());
assert!(x.compute_engine_disks_target_details().is_none());
Source

pub fn compute_engine_disks_target_details( &self, ) -> Option<&Box<ComputeEngineDisksTargetDetails>>

The value of target_vm_details if it holds a ComputeEngineDisksTargetDetails, None if the field is not set or holds a different branch.

Source

pub fn set_compute_engine_disks_target_details<T: Into<Box<ComputeEngineDisksTargetDetails>>>( self, v: T, ) -> Self

Sets the value of target_vm_details to hold a ComputeEngineDisksTargetDetails.

Note that all the setters affecting target_vm_details are mutually exclusive.

§Example
use google_cloud_vmmigration_v1::model::ComputeEngineDisksTargetDetails;
let x = CloneJob::new().set_compute_engine_disks_target_details(ComputeEngineDisksTargetDetails::default()/* use setters */);
assert!(x.compute_engine_disks_target_details().is_some());
assert!(x.compute_engine_target_details().is_none());

Trait Implementations§

Source§

impl Clone for CloneJob

Source§

fn clone(&self) -> CloneJob

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 CloneJob

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for CloneJob

Source§

fn default() -> CloneJob

Returns the “default value” for a type. Read more
Source§

impl Message for CloneJob

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for CloneJob

Source§

fn eq(&self, other: &CloneJob) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for CloneJob

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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