#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct RadiusSettings {
pub radius_servers: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub radius_port: ::std::option::Option<i32>,
pub radius_timeout: ::std::option::Option<i32>,
pub radius_retries: i32,
pub shared_secret: ::std::option::Option<::std::string::String>,
pub authentication_protocol: ::std::option::Option<crate::types::RadiusAuthenticationProtocol>,
pub display_label: ::std::option::Option<::std::string::String>,
pub use_same_username: bool,
}
impl RadiusSettings {
pub fn radius_servers(&self) -> &[::std::string::String] {
self.radius_servers.as_deref().unwrap_or_default()
}
pub fn radius_port(&self) -> ::std::option::Option<i32> {
self.radius_port
}
pub fn radius_timeout(&self) -> ::std::option::Option<i32> {
self.radius_timeout
}
pub fn radius_retries(&self) -> i32 {
self.radius_retries
}
pub fn shared_secret(&self) -> ::std::option::Option<&str> {
self.shared_secret.as_deref()
}
pub fn authentication_protocol(&self) -> ::std::option::Option<&crate::types::RadiusAuthenticationProtocol> {
self.authentication_protocol.as_ref()
}
pub fn display_label(&self) -> ::std::option::Option<&str> {
self.display_label.as_deref()
}
pub fn use_same_username(&self) -> bool {
self.use_same_username
}
}
impl ::std::fmt::Debug for RadiusSettings {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("RadiusSettings");
formatter.field("radius_servers", &self.radius_servers);
formatter.field("radius_port", &self.radius_port);
formatter.field("radius_timeout", &self.radius_timeout);
formatter.field("radius_retries", &self.radius_retries);
formatter.field("shared_secret", &"*** Sensitive Data Redacted ***");
formatter.field("authentication_protocol", &self.authentication_protocol);
formatter.field("display_label", &self.display_label);
formatter.field("use_same_username", &self.use_same_username);
formatter.finish()
}
}
impl RadiusSettings {
pub fn builder() -> crate::types::builders::RadiusSettingsBuilder {
crate::types::builders::RadiusSettingsBuilder::default()
}
}
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
pub struct RadiusSettingsBuilder {
pub(crate) radius_servers: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) radius_port: ::std::option::Option<i32>,
pub(crate) radius_timeout: ::std::option::Option<i32>,
pub(crate) radius_retries: ::std::option::Option<i32>,
pub(crate) shared_secret: ::std::option::Option<::std::string::String>,
pub(crate) authentication_protocol: ::std::option::Option<crate::types::RadiusAuthenticationProtocol>,
pub(crate) display_label: ::std::option::Option<::std::string::String>,
pub(crate) use_same_username: ::std::option::Option<bool>,
}
impl RadiusSettingsBuilder {
pub fn radius_servers(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.radius_servers.unwrap_or_default();
v.push(input.into());
self.radius_servers = ::std::option::Option::Some(v);
self
}
pub fn set_radius_servers(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.radius_servers = input;
self
}
pub fn get_radius_servers(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.radius_servers
}
pub fn radius_port(mut self, input: i32) -> Self {
self.radius_port = ::std::option::Option::Some(input);
self
}
pub fn set_radius_port(mut self, input: ::std::option::Option<i32>) -> Self {
self.radius_port = input;
self
}
pub fn get_radius_port(&self) -> &::std::option::Option<i32> {
&self.radius_port
}
pub fn radius_timeout(mut self, input: i32) -> Self {
self.radius_timeout = ::std::option::Option::Some(input);
self
}
pub fn set_radius_timeout(mut self, input: ::std::option::Option<i32>) -> Self {
self.radius_timeout = input;
self
}
pub fn get_radius_timeout(&self) -> &::std::option::Option<i32> {
&self.radius_timeout
}
pub fn radius_retries(mut self, input: i32) -> Self {
self.radius_retries = ::std::option::Option::Some(input);
self
}
pub fn set_radius_retries(mut self, input: ::std::option::Option<i32>) -> Self {
self.radius_retries = input;
self
}
pub fn get_radius_retries(&self) -> &::std::option::Option<i32> {
&self.radius_retries
}
pub fn shared_secret(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.shared_secret = ::std::option::Option::Some(input.into());
self
}
pub fn set_shared_secret(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.shared_secret = input;
self
}
pub fn get_shared_secret(&self) -> &::std::option::Option<::std::string::String> {
&self.shared_secret
}
pub fn authentication_protocol(mut self, input: crate::types::RadiusAuthenticationProtocol) -> Self {
self.authentication_protocol = ::std::option::Option::Some(input);
self
}
pub fn set_authentication_protocol(mut self, input: ::std::option::Option<crate::types::RadiusAuthenticationProtocol>) -> Self {
self.authentication_protocol = input;
self
}
pub fn get_authentication_protocol(&self) -> &::std::option::Option<crate::types::RadiusAuthenticationProtocol> {
&self.authentication_protocol
}
pub fn display_label(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.display_label = ::std::option::Option::Some(input.into());
self
}
pub fn set_display_label(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.display_label = input;
self
}
pub fn get_display_label(&self) -> &::std::option::Option<::std::string::String> {
&self.display_label
}
pub fn use_same_username(mut self, input: bool) -> Self {
self.use_same_username = ::std::option::Option::Some(input);
self
}
pub fn set_use_same_username(mut self, input: ::std::option::Option<bool>) -> Self {
self.use_same_username = input;
self
}
pub fn get_use_same_username(&self) -> &::std::option::Option<bool> {
&self.use_same_username
}
pub fn build(self) -> crate::types::RadiusSettings {
crate::types::RadiusSettings {
radius_servers: self.radius_servers,
radius_port: self.radius_port,
radius_timeout: self.radius_timeout,
radius_retries: self.radius_retries.unwrap_or_default(),
shared_secret: self.shared_secret,
authentication_protocol: self.authentication_protocol,
display_label: self.display_label,
use_same_username: self.use_same_username.unwrap_or_default(),
}
}
}
impl ::std::fmt::Debug for RadiusSettingsBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("RadiusSettingsBuilder");
formatter.field("radius_servers", &self.radius_servers);
formatter.field("radius_port", &self.radius_port);
formatter.field("radius_timeout", &self.radius_timeout);
formatter.field("radius_retries", &self.radius_retries);
formatter.field("shared_secret", &"*** Sensitive Data Redacted ***");
formatter.field("authentication_protocol", &self.authentication_protocol);
formatter.field("display_label", &self.display_label);
formatter.field("use_same_username", &self.use_same_username);
formatter.finish()
}
}