#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct SetSecurityGroupRequest {
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "tags",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub tags: Option<Option<Vec<String>>>,
#[serde(
rename = "creation_date",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub creation_date: Option<Option<String>>,
#[serde(
rename = "modification_date",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub modification_date: Option<Option<String>>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(
rename = "enable_default_security",
skip_serializing_if = "Option::is_none"
)]
pub enable_default_security: Option<bool>,
#[serde(
rename = "inbound_default_policy",
skip_serializing_if = "Option::is_none"
)]
pub inbound_default_policy: Option<InboundDefaultPolicy>,
#[serde(
rename = "outbound_default_policy",
skip_serializing_if = "Option::is_none"
)]
pub outbound_default_policy: Option<OutboundDefaultPolicy>,
#[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 = "organization_default",
skip_serializing_if = "Option::is_none"
)]
pub organization_default: Option<bool>,
#[serde(rename = "project_default", skip_serializing_if = "Option::is_none")]
pub project_default: Option<bool>,
#[serde(rename = "servers", skip_serializing_if = "Option::is_none")]
pub servers: Option<Vec<crate::models::ScalewayPeriodInstancePeriodV1PeriodServerSummary>>,
#[serde(rename = "stateful", skip_serializing_if = "Option::is_none")]
pub stateful: Option<bool>,
}
impl SetSecurityGroupRequest {
pub fn new() -> SetSecurityGroupRequest {
SetSecurityGroupRequest {
name: None,
tags: None,
creation_date: None,
modification_date: None,
description: None,
enable_default_security: None,
inbound_default_policy: None,
outbound_default_policy: None,
organization: None,
project: None,
organization_default: None,
project_default: None,
servers: None,
stateful: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum InboundDefaultPolicy {
#[serde(rename = "accept")]
Accept,
#[serde(rename = "drop")]
Drop,
}
impl Default for InboundDefaultPolicy {
fn default() -> InboundDefaultPolicy {
Self::Accept
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum OutboundDefaultPolicy {
#[serde(rename = "accept")]
Accept,
#[serde(rename = "drop")]
Drop,
}
impl Default for OutboundDefaultPolicy {
fn default() -> OutboundDefaultPolicy {
Self::Accept
}
}