aws-sdk-connect 1.153.0

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

/// <p>Information about the Customer on the contact.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Customer {
    /// <p>Information regarding Customer’s device.</p>
    pub device_info: ::std::option::Option<crate::types::DeviceInfo>,
    /// <p>The configuration for the allowed video and screen sharing capabilities for participants present over the call. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/inapp-calling.html">Set up in-app, web, video calling, and screen sharing capabilities</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
    pub capabilities: ::std::option::Option<crate::types::ParticipantCapabilities>,
}
impl Customer {
    /// <p>Information regarding Customer’s device.</p>
    pub fn device_info(&self) -> ::std::option::Option<&crate::types::DeviceInfo> {
        self.device_info.as_ref()
    }
    /// <p>The configuration for the allowed video and screen sharing capabilities for participants present over the call. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/inapp-calling.html">Set up in-app, web, video calling, and screen sharing capabilities</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
    pub fn capabilities(&self) -> ::std::option::Option<&crate::types::ParticipantCapabilities> {
        self.capabilities.as_ref()
    }
}
impl Customer {
    /// Creates a new builder-style object to manufacture [`Customer`](crate::types::Customer).
    pub fn builder() -> crate::types::builders::CustomerBuilder {
        crate::types::builders::CustomerBuilder::default()
    }
}

/// A builder for [`Customer`](crate::types::Customer).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct CustomerBuilder {
    pub(crate) device_info: ::std::option::Option<crate::types::DeviceInfo>,
    pub(crate) capabilities: ::std::option::Option<crate::types::ParticipantCapabilities>,
}
impl CustomerBuilder {
    /// <p>Information regarding Customer’s device.</p>
    pub fn device_info(mut self, input: crate::types::DeviceInfo) -> Self {
        self.device_info = ::std::option::Option::Some(input);
        self
    }
    /// <p>Information regarding Customer’s device.</p>
    pub fn set_device_info(mut self, input: ::std::option::Option<crate::types::DeviceInfo>) -> Self {
        self.device_info = input;
        self
    }
    /// <p>Information regarding Customer’s device.</p>
    pub fn get_device_info(&self) -> &::std::option::Option<crate::types::DeviceInfo> {
        &self.device_info
    }
    /// <p>The configuration for the allowed video and screen sharing capabilities for participants present over the call. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/inapp-calling.html">Set up in-app, web, video calling, and screen sharing capabilities</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
    pub fn capabilities(mut self, input: crate::types::ParticipantCapabilities) -> Self {
        self.capabilities = ::std::option::Option::Some(input);
        self
    }
    /// <p>The configuration for the allowed video and screen sharing capabilities for participants present over the call. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/inapp-calling.html">Set up in-app, web, video calling, and screen sharing capabilities</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
    pub fn set_capabilities(mut self, input: ::std::option::Option<crate::types::ParticipantCapabilities>) -> Self {
        self.capabilities = input;
        self
    }
    /// <p>The configuration for the allowed video and screen sharing capabilities for participants present over the call. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/inapp-calling.html">Set up in-app, web, video calling, and screen sharing capabilities</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
    pub fn get_capabilities(&self) -> &::std::option::Option<crate::types::ParticipantCapabilities> {
        &self.capabilities
    }
    /// Consumes the builder and constructs a [`Customer`](crate::types::Customer).
    pub fn build(self) -> crate::types::Customer {
        crate::types::Customer {
            device_info: self.device_info,
            capabilities: self.capabilities,
        }
    }
}