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>Contains information about the dimensions for a set of metrics.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Dimensions {
    /// <p>Information about the queue for which metrics are returned.</p>
    pub queue: ::std::option::Option<crate::types::QueueReference>,
    /// <p>The channel used for grouping and filters.</p>
    pub channel: ::std::option::Option<crate::types::Channel>,
    /// <p>Information about the routing profile assigned to the user.</p>
    pub routing_profile: ::std::option::Option<crate::types::RoutingProfileReference>,
    /// <p>The expression of a step in a routing criteria.</p>
    pub routing_step_expression: ::std::option::Option<::std::string::String>,
    /// <p>Information about the agent status assigned to the user.</p>
    pub agent_status: ::std::option::Option<crate::types::AgentStatusIdentifier>,
    /// <p>The subtype of the channel used for the contact.</p>
    pub subtype: ::std::option::Option<::std::string::String>,
    /// <p>The testing and simulation type</p>
    pub validation_test_type: ::std::option::Option<::std::string::String>,
}
impl Dimensions {
    /// <p>Information about the queue for which metrics are returned.</p>
    pub fn queue(&self) -> ::std::option::Option<&crate::types::QueueReference> {
        self.queue.as_ref()
    }
    /// <p>The channel used for grouping and filters.</p>
    pub fn channel(&self) -> ::std::option::Option<&crate::types::Channel> {
        self.channel.as_ref()
    }
    /// <p>Information about the routing profile assigned to the user.</p>
    pub fn routing_profile(&self) -> ::std::option::Option<&crate::types::RoutingProfileReference> {
        self.routing_profile.as_ref()
    }
    /// <p>The expression of a step in a routing criteria.</p>
    pub fn routing_step_expression(&self) -> ::std::option::Option<&str> {
        self.routing_step_expression.as_deref()
    }
    /// <p>Information about the agent status assigned to the user.</p>
    pub fn agent_status(&self) -> ::std::option::Option<&crate::types::AgentStatusIdentifier> {
        self.agent_status.as_ref()
    }
    /// <p>The subtype of the channel used for the contact.</p>
    pub fn subtype(&self) -> ::std::option::Option<&str> {
        self.subtype.as_deref()
    }
    /// <p>The testing and simulation type</p>
    pub fn validation_test_type(&self) -> ::std::option::Option<&str> {
        self.validation_test_type.as_deref()
    }
}
impl Dimensions {
    /// Creates a new builder-style object to manufacture [`Dimensions`](crate::types::Dimensions).
    pub fn builder() -> crate::types::builders::DimensionsBuilder {
        crate::types::builders::DimensionsBuilder::default()
    }
}

/// A builder for [`Dimensions`](crate::types::Dimensions).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct DimensionsBuilder {
    pub(crate) queue: ::std::option::Option<crate::types::QueueReference>,
    pub(crate) channel: ::std::option::Option<crate::types::Channel>,
    pub(crate) routing_profile: ::std::option::Option<crate::types::RoutingProfileReference>,
    pub(crate) routing_step_expression: ::std::option::Option<::std::string::String>,
    pub(crate) agent_status: ::std::option::Option<crate::types::AgentStatusIdentifier>,
    pub(crate) subtype: ::std::option::Option<::std::string::String>,
    pub(crate) validation_test_type: ::std::option::Option<::std::string::String>,
}
impl DimensionsBuilder {
    /// <p>Information about the queue for which metrics are returned.</p>
    pub fn queue(mut self, input: crate::types::QueueReference) -> Self {
        self.queue = ::std::option::Option::Some(input);
        self
    }
    /// <p>Information about the queue for which metrics are returned.</p>
    pub fn set_queue(mut self, input: ::std::option::Option<crate::types::QueueReference>) -> Self {
        self.queue = input;
        self
    }
    /// <p>Information about the queue for which metrics are returned.</p>
    pub fn get_queue(&self) -> &::std::option::Option<crate::types::QueueReference> {
        &self.queue
    }
    /// <p>The channel used for grouping and filters.</p>
    pub fn channel(mut self, input: crate::types::Channel) -> Self {
        self.channel = ::std::option::Option::Some(input);
        self
    }
    /// <p>The channel used for grouping and filters.</p>
    pub fn set_channel(mut self, input: ::std::option::Option<crate::types::Channel>) -> Self {
        self.channel = input;
        self
    }
    /// <p>The channel used for grouping and filters.</p>
    pub fn get_channel(&self) -> &::std::option::Option<crate::types::Channel> {
        &self.channel
    }
    /// <p>Information about the routing profile assigned to the user.</p>
    pub fn routing_profile(mut self, input: crate::types::RoutingProfileReference) -> Self {
        self.routing_profile = ::std::option::Option::Some(input);
        self
    }
    /// <p>Information about the routing profile assigned to the user.</p>
    pub fn set_routing_profile(mut self, input: ::std::option::Option<crate::types::RoutingProfileReference>) -> Self {
        self.routing_profile = input;
        self
    }
    /// <p>Information about the routing profile assigned to the user.</p>
    pub fn get_routing_profile(&self) -> &::std::option::Option<crate::types::RoutingProfileReference> {
        &self.routing_profile
    }
    /// <p>The expression of a step in a routing criteria.</p>
    pub fn routing_step_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.routing_step_expression = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The expression of a step in a routing criteria.</p>
    pub fn set_routing_step_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.routing_step_expression = input;
        self
    }
    /// <p>The expression of a step in a routing criteria.</p>
    pub fn get_routing_step_expression(&self) -> &::std::option::Option<::std::string::String> {
        &self.routing_step_expression
    }
    /// <p>Information about the agent status assigned to the user.</p>
    pub fn agent_status(mut self, input: crate::types::AgentStatusIdentifier) -> Self {
        self.agent_status = ::std::option::Option::Some(input);
        self
    }
    /// <p>Information about the agent status assigned to the user.</p>
    pub fn set_agent_status(mut self, input: ::std::option::Option<crate::types::AgentStatusIdentifier>) -> Self {
        self.agent_status = input;
        self
    }
    /// <p>Information about the agent status assigned to the user.</p>
    pub fn get_agent_status(&self) -> &::std::option::Option<crate::types::AgentStatusIdentifier> {
        &self.agent_status
    }
    /// <p>The subtype of the channel used for the contact.</p>
    pub fn subtype(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.subtype = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The subtype of the channel used for the contact.</p>
    pub fn set_subtype(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.subtype = input;
        self
    }
    /// <p>The subtype of the channel used for the contact.</p>
    pub fn get_subtype(&self) -> &::std::option::Option<::std::string::String> {
        &self.subtype
    }
    /// <p>The testing and simulation type</p>
    pub fn validation_test_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.validation_test_type = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The testing and simulation type</p>
    pub fn set_validation_test_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.validation_test_type = input;
        self
    }
    /// <p>The testing and simulation type</p>
    pub fn get_validation_test_type(&self) -> &::std::option::Option<::std::string::String> {
        &self.validation_test_type
    }
    /// Consumes the builder and constructs a [`Dimensions`](crate::types::Dimensions).
    pub fn build(self) -> crate::types::Dimensions {
        crate::types::Dimensions {
            queue: self.queue,
            channel: self.channel,
            routing_profile: self.routing_profile,
            routing_step_expression: self.routing_step_expression,
            agent_status: self.agent_status,
            subtype: self.subtype,
            validation_test_type: self.validation_test_type,
        }
    }
}