aws-sdk-chime 1.93.0

AWS SDK for Amazon Chime
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>The member details, such as email address, name, member ID, and member type.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct Member {
    /// <p>The member ID (user ID or bot ID).</p>
    pub member_id: ::std::option::Option<::std::string::String>,
    /// <p>The member type.</p>
    pub member_type: ::std::option::Option<crate::types::MemberType>,
    /// <p>The member email address.</p>
    pub email: ::std::option::Option<::std::string::String>,
    /// <p>The member name.</p>
    pub full_name: ::std::option::Option<::std::string::String>,
    /// <p>The Amazon Chime account ID.</p>
    pub account_id: ::std::option::Option<::std::string::String>,
}
impl Member {
    /// <p>The member ID (user ID or bot ID).</p>
    pub fn member_id(&self) -> ::std::option::Option<&str> {
        self.member_id.as_deref()
    }
    /// <p>The member type.</p>
    pub fn member_type(&self) -> ::std::option::Option<&crate::types::MemberType> {
        self.member_type.as_ref()
    }
    /// <p>The member email address.</p>
    pub fn email(&self) -> ::std::option::Option<&str> {
        self.email.as_deref()
    }
    /// <p>The member name.</p>
    pub fn full_name(&self) -> ::std::option::Option<&str> {
        self.full_name.as_deref()
    }
    /// <p>The Amazon Chime account ID.</p>
    pub fn account_id(&self) -> ::std::option::Option<&str> {
        self.account_id.as_deref()
    }
}
impl ::std::fmt::Debug for Member {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        let mut formatter = f.debug_struct("Member");
        formatter.field("member_id", &self.member_id);
        formatter.field("member_type", &self.member_type);
        formatter.field("email", &"*** Sensitive Data Redacted ***");
        formatter.field("full_name", &"*** Sensitive Data Redacted ***");
        formatter.field("account_id", &self.account_id);
        formatter.finish()
    }
}
impl Member {
    /// Creates a new builder-style object to manufacture [`Member`](crate::types::Member).
    pub fn builder() -> crate::types::builders::MemberBuilder {
        crate::types::builders::MemberBuilder::default()
    }
}

/// A builder for [`Member`](crate::types::Member).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct MemberBuilder {
    pub(crate) member_id: ::std::option::Option<::std::string::String>,
    pub(crate) member_type: ::std::option::Option<crate::types::MemberType>,
    pub(crate) email: ::std::option::Option<::std::string::String>,
    pub(crate) full_name: ::std::option::Option<::std::string::String>,
    pub(crate) account_id: ::std::option::Option<::std::string::String>,
}
impl MemberBuilder {
    /// <p>The member ID (user ID or bot ID).</p>
    pub fn member_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.member_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The member ID (user ID or bot ID).</p>
    pub fn set_member_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.member_id = input;
        self
    }
    /// <p>The member ID (user ID or bot ID).</p>
    pub fn get_member_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.member_id
    }
    /// <p>The member type.</p>
    pub fn member_type(mut self, input: crate::types::MemberType) -> Self {
        self.member_type = ::std::option::Option::Some(input);
        self
    }
    /// <p>The member type.</p>
    pub fn set_member_type(mut self, input: ::std::option::Option<crate::types::MemberType>) -> Self {
        self.member_type = input;
        self
    }
    /// <p>The member type.</p>
    pub fn get_member_type(&self) -> &::std::option::Option<crate::types::MemberType> {
        &self.member_type
    }
    /// <p>The member email address.</p>
    pub fn email(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.email = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The member email address.</p>
    pub fn set_email(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.email = input;
        self
    }
    /// <p>The member email address.</p>
    pub fn get_email(&self) -> &::std::option::Option<::std::string::String> {
        &self.email
    }
    /// <p>The member name.</p>
    pub fn full_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.full_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The member name.</p>
    pub fn set_full_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.full_name = input;
        self
    }
    /// <p>The member name.</p>
    pub fn get_full_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.full_name
    }
    /// <p>The Amazon Chime account ID.</p>
    pub fn account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.account_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The Amazon Chime account ID.</p>
    pub fn set_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.account_id = input;
        self
    }
    /// <p>The Amazon Chime account ID.</p>
    pub fn get_account_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.account_id
    }
    /// Consumes the builder and constructs a [`Member`](crate::types::Member).
    pub fn build(self) -> crate::types::Member {
        crate::types::Member {
            member_id: self.member_id,
            member_type: self.member_type,
            email: self.email,
            full_name: self.full_name,
            account_id: self.account_id,
        }
    }
}
impl ::std::fmt::Debug for MemberBuilder {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        let mut formatter = f.debug_struct("MemberBuilder");
        formatter.field("member_id", &self.member_id);
        formatter.field("member_type", &self.member_type);
        formatter.field("email", &"*** Sensitive Data Redacted ***");
        formatter.field("full_name", &"*** Sensitive Data Redacted ***");
        formatter.field("account_id", &self.account_id);
        formatter.finish()
    }
}