#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct SetSecurityGroupRuleRequest {
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "protocol", skip_serializing_if = "Option::is_none")]
pub protocol:
Option<crate::models::ScalewayPeriodInstancePeriodV1PeriodSecurityGroupRulePeriodProtocol>,
#[serde(rename = "direction", skip_serializing_if = "Option::is_none")]
pub direction:
Option<crate::models::ScalewayPeriodInstancePeriodV1PeriodSecurityGroupRulePeriodDirection>,
#[serde(rename = "action", skip_serializing_if = "Option::is_none")]
pub action:
Option<crate::models::ScalewayPeriodInstancePeriodV1PeriodSecurityGroupRulePeriodAction>,
#[serde(rename = "ip_range", skip_serializing_if = "Option::is_none")]
pub ip_range: Option<String>,
#[serde(
rename = "dest_port_from",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub dest_port_from: Option<Option<i32>>,
#[serde(
rename = "dest_port_to",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub dest_port_to: Option<Option<i32>>,
#[serde(rename = "position", skip_serializing_if = "Option::is_none")]
pub position: Option<i32>,
#[serde(rename = "editable", skip_serializing_if = "Option::is_none")]
pub editable: Option<bool>,
}
impl SetSecurityGroupRuleRequest {
pub fn new() -> SetSecurityGroupRuleRequest {
SetSecurityGroupRuleRequest {
id: None,
protocol: None,
direction: None,
action: None,
ip_range: None,
dest_port_from: None,
dest_port_to: None,
position: None,
editable: None,
}
}
}