#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct CreateInstanceRequest {
#[serde(rename = "organization_id", skip_serializing_if = "Option::is_none")]
pub organization_id: Option<String>,
#[serde(rename = "project_id", skip_serializing_if = "Option::is_none")]
pub project_id: Option<String>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "engine")]
pub engine: String,
#[serde(rename = "user_name")]
pub user_name: String,
#[serde(rename = "password")]
pub password: String,
#[serde(rename = "node_type")]
pub node_type: String,
#[serde(rename = "is_ha_cluster", skip_serializing_if = "Option::is_none")]
pub is_ha_cluster: Option<bool>,
#[serde(rename = "disable_backup", skip_serializing_if = "Option::is_none")]
pub disable_backup: Option<bool>,
#[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(rename = "init_settings", skip_serializing_if = "Option::is_none")]
pub init_settings: Option<Vec<crate::models::ScalewayPeriodRdbPeriodV1PeriodInstanceSetting>>,
#[serde(rename = "volume_type", skip_serializing_if = "Option::is_none")]
pub volume_type: Option<VolumeType>,
#[serde(rename = "volume_size", skip_serializing_if = "Option::is_none")]
pub volume_size: Option<i32>,
#[serde(rename = "init_endpoints", skip_serializing_if = "Option::is_none")]
pub init_endpoints: Option<Vec<crate::models::ScalewayPeriodRdbPeriodV1PeriodEndpointSpec>>,
#[serde(rename = "backup_same_region", skip_serializing_if = "Option::is_none")]
pub backup_same_region: Option<bool>,
}
impl CreateInstanceRequest {
pub fn new(
engine: String,
user_name: String,
password: String,
node_type: String,
) -> CreateInstanceRequest {
CreateInstanceRequest {
organization_id: None,
project_id: None,
name: None,
engine,
user_name,
password,
node_type,
is_ha_cluster: None,
disable_backup: None,
tags: None,
init_settings: None,
volume_type: None,
volume_size: None,
init_endpoints: None,
backup_same_region: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum VolumeType {
#[serde(rename = "lssd")]
Lssd,
#[serde(rename = "bssd")]
Bssd,
}
impl Default for VolumeType {
fn default() -> VolumeType {
Self::Lssd
}
}