#[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
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: StringOutput only. The name of the clone.
state: StateOutput 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
impl CloneJob
Sourcepub fn set_create_time<T>(self, v: T) -> Self
pub fn set_create_time<T>(self, v: T) -> Self
Sets the value of create_time.
§Example
use wkt::Timestamp;
let x = CloneJob::new().set_create_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
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>);Sourcepub fn set_end_time<T>(self, v: T) -> Self
pub fn set_end_time<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_end_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_end_time<T>(self, v: Option<T>) -> Self
Sourcepub fn set_state_time<T>(self, v: T) -> Self
pub fn set_state_time<T>(self, v: T) -> Self
Sets the value of state_time.
§Example
use wkt::Timestamp;
let x = CloneJob::new().set_state_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_state_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_state_time<T>(self, v: Option<T>) -> Self
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>);Sourcepub fn set_or_clear_error<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_error<T>(self, v: Option<T>) -> Self
Sourcepub fn set_target_vm_details<T: Into<Option<TargetVmDetails>>>(
self,
v: T,
) -> Self
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())));Sourcepub fn compute_engine_target_details(
&self,
) -> Option<&Box<ComputeEngineTargetDetails>>
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.
Sourcepub fn set_compute_engine_target_details<T: Into<Box<ComputeEngineTargetDetails>>>(
self,
v: T,
) -> Self
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());Sourcepub fn compute_engine_disks_target_details(
&self,
) -> Option<&Box<ComputeEngineDisksTargetDetails>>
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.
Sourcepub fn set_compute_engine_disks_target_details<T: Into<Box<ComputeEngineDisksTargetDetails>>>(
self,
v: T,
) -> Self
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());