#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ActionLocalPortDetails {
#[doc(hidden)]
pub port: i32,
#[doc(hidden)]
pub port_name: std::option::Option<std::string::String>,
}
impl ActionLocalPortDetails {
pub fn port(&self) -> i32 {
self.port
}
pub fn port_name(&self) -> std::option::Option<&str> {
self.port_name.as_deref()
}
}
impl ActionLocalPortDetails {
pub fn builder() -> crate::types::builders::ActionLocalPortDetailsBuilder {
crate::types::builders::ActionLocalPortDetailsBuilder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct ActionLocalPortDetailsBuilder {
pub(crate) port: std::option::Option<i32>,
pub(crate) port_name: std::option::Option<std::string::String>,
}
impl ActionLocalPortDetailsBuilder {
pub fn port(mut self, input: i32) -> Self {
self.port = Some(input);
self
}
pub fn set_port(mut self, input: std::option::Option<i32>) -> Self {
self.port = input;
self
}
pub fn port_name(mut self, input: impl Into<std::string::String>) -> Self {
self.port_name = Some(input.into());
self
}
pub fn set_port_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.port_name = input;
self
}
pub fn build(self) -> crate::types::ActionLocalPortDetails {
crate::types::ActionLocalPortDetails {
port: self.port.unwrap_or_default(),
port_name: self.port_name,
}
}
}