use serde::{Deserialize, Serialize};
use crate::common::related_place::PlaceRef;
use crate::{HasId, HasName, Uri};
use tmflib_derive::{HasId, HasName};
use super::{TaskStateType, MOD_PATH};
const CLASS_PATH: &str = "migrate";
use super::resource_function::ResourceFunctionRef;
#[derive(Clone, Debug, Default, HasId, HasName, Deserialize, Serialize)]
pub struct ConnectionPointRef {
id: Option<String>,
href: Option<Uri>,
name: Option<String>,
version: Option<String>,
}
#[derive(Clone, Debug, Default, HasId, HasName, Deserialize, Serialize)]
pub struct Migrate {
pub id: Option<String>,
pub href: Option<Uri>,
pub name: Option<String>,
pub admin_state_modification: Option<String>,
pub cause: Option<String>,
pub completion_mode: Option<String>,
pub priority: Option<u16>,
pub start_time: Option<String>,
pub state: Option<TaskStateType>,
resource_function: ResourceFunctionRef,
place: Option<PlaceRef>,
}
impl Migrate {
pub fn new(name: impl Into<String>) -> Migrate {
Migrate {
..Migrate::create()
}
.name(name)
}
pub fn place(mut self, place: PlaceRef) -> Self {
self.place = Some(place);
self
}
}