use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AttachDevWorkspaceRequest {
#[serde(rename = "dev_workspace_id")]
pub dev_workspace_id: String,
#[serde(rename = "lock_prod_deploy", skip_serializing_if = "Option::is_none")]
pub lock_prod_deploy: Option<bool>,
#[serde(rename = "lock_prod_forking", skip_serializing_if = "Option::is_none")]
pub lock_prod_forking: Option<bool>,
#[serde(rename = "dev_workspace_label", skip_serializing_if = "Option::is_none")]
pub dev_workspace_label: Option<DevWorkspaceLabel>,
}
impl AttachDevWorkspaceRequest {
pub fn new(dev_workspace_id: String) -> AttachDevWorkspaceRequest {
AttachDevWorkspaceRequest {
dev_workspace_id,
lock_prod_deploy: None,
lock_prod_forking: None,
dev_workspace_label: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum DevWorkspaceLabel {
#[serde(rename = "dev")]
Dev,
#[serde(rename = "staging")]
Staging,
}
impl Default for DevWorkspaceLabel {
fn default() -> DevWorkspaceLabel {
Self::Dev
}
}