#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct CreateServer1Request {
#[serde(rename = "name")]
pub name: String,
#[serde(
rename = "dynamic_ip_required",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub dynamic_ip_required: Option<Option<bool>>,
#[serde(rename = "commercial_type")]
pub commercial_type: String,
#[serde(rename = "image", skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(rename = "volumes", skip_serializing_if = "Option::is_none")]
pub volumes: Option<crate::models::CreateServer1RequestVolumes>,
#[serde(rename = "enable_ipv6", skip_serializing_if = "Option::is_none")]
pub enable_ipv6: Option<bool>,
#[serde(
rename = "public_ip",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub public_ip: Option<Option<String>>,
#[serde(rename = "boot_type", skip_serializing_if = "Option::is_none")]
pub boot_type: Option<BootType>,
#[serde(
rename = "bootscript",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub bootscript: Option<Option<String>>,
#[serde(rename = "organization", skip_serializing_if = "Option::is_none")]
pub organization: Option<String>,
#[serde(rename = "project", skip_serializing_if = "Option::is_none")]
pub project: Option<String>,
#[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(
rename = "security_group",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub security_group: Option<Option<String>>,
#[serde(
rename = "placement_group",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub placement_group: Option<Option<String>>,
}
impl CreateServer1Request {
pub fn new(name: String, commercial_type: String) -> CreateServer1Request {
CreateServer1Request {
name,
dynamic_ip_required: None,
commercial_type,
image: None,
volumes: None,
enable_ipv6: None,
public_ip: None,
boot_type: None,
bootscript: None,
organization: None,
project: None,
tags: None,
security_group: None,
placement_group: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum BootType {
#[serde(rename = "local")]
Local,
#[serde(rename = "bootscript")]
Bootscript,
#[serde(rename = "rescue")]
Rescue,
}
impl Default for BootType {
fn default() -> BootType {
Self::Local
}
}