/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Connect { namespace Model { /** *

Data for a user.

See Also:

AWS * API Reference

*/ class UserData { public: AWS_CONNECT_API UserData(); AWS_CONNECT_API UserData(Aws::Utils::Json::JsonView jsonValue); AWS_CONNECT_API UserData& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Information about the user for the data that is returned. It contains the * resourceId and ARN of the user.

*/ inline const UserReference& GetUser() const{ return m_user; } /** *

Information about the user for the data that is returned. It contains the * resourceId and ARN of the user.

*/ inline bool UserHasBeenSet() const { return m_userHasBeenSet; } /** *

Information about the user for the data that is returned. It contains the * resourceId and ARN of the user.

*/ inline void SetUser(const UserReference& value) { m_userHasBeenSet = true; m_user = value; } /** *

Information about the user for the data that is returned. It contains the * resourceId and ARN of the user.

*/ inline void SetUser(UserReference&& value) { m_userHasBeenSet = true; m_user = std::move(value); } /** *

Information about the user for the data that is returned. It contains the * resourceId and ARN of the user.

*/ inline UserData& WithUser(const UserReference& value) { SetUser(value); return *this;} /** *

Information about the user for the data that is returned. It contains the * resourceId and ARN of the user.

*/ inline UserData& WithUser(UserReference&& value) { SetUser(std::move(value)); return *this;} /** *

Information about the routing profile that is assigned to the user.

*/ inline const RoutingProfileReference& GetRoutingProfile() const{ return m_routingProfile; } /** *

Information about the routing profile that is assigned to the user.

*/ inline bool RoutingProfileHasBeenSet() const { return m_routingProfileHasBeenSet; } /** *

Information about the routing profile that is assigned to the user.

*/ inline void SetRoutingProfile(const RoutingProfileReference& value) { m_routingProfileHasBeenSet = true; m_routingProfile = value; } /** *

Information about the routing profile that is assigned to the user.

*/ inline void SetRoutingProfile(RoutingProfileReference&& value) { m_routingProfileHasBeenSet = true; m_routingProfile = std::move(value); } /** *

Information about the routing profile that is assigned to the user.

*/ inline UserData& WithRoutingProfile(const RoutingProfileReference& value) { SetRoutingProfile(value); return *this;} /** *

Information about the routing profile that is assigned to the user.

*/ inline UserData& WithRoutingProfile(RoutingProfileReference&& value) { SetRoutingProfile(std::move(value)); return *this;} /** *

Contains information about the levels of a hierarchy group assigned to a * user.

*/ inline const HierarchyPathReference& GetHierarchyPath() const{ return m_hierarchyPath; } /** *

Contains information about the levels of a hierarchy group assigned to a * user.

*/ inline bool HierarchyPathHasBeenSet() const { return m_hierarchyPathHasBeenSet; } /** *

Contains information about the levels of a hierarchy group assigned to a * user.

*/ inline void SetHierarchyPath(const HierarchyPathReference& value) { m_hierarchyPathHasBeenSet = true; m_hierarchyPath = value; } /** *

Contains information about the levels of a hierarchy group assigned to a * user.

*/ inline void SetHierarchyPath(HierarchyPathReference&& value) { m_hierarchyPathHasBeenSet = true; m_hierarchyPath = std::move(value); } /** *

Contains information about the levels of a hierarchy group assigned to a * user.

*/ inline UserData& WithHierarchyPath(const HierarchyPathReference& value) { SetHierarchyPath(value); return *this;} /** *

Contains information about the levels of a hierarchy group assigned to a * user.

*/ inline UserData& WithHierarchyPath(HierarchyPathReference&& value) { SetHierarchyPath(std::move(value)); return *this;} /** *

The status of the agent that they manually set in their Contact Control Panel * (CCP), or that the supervisor manually changes in the real-time metrics * report.

*/ inline const AgentStatusReference& GetStatus() const{ return m_status; } /** *

The status of the agent that they manually set in their Contact Control Panel * (CCP), or that the supervisor manually changes in the real-time metrics * report.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the agent that they manually set in their Contact Control Panel * (CCP), or that the supervisor manually changes in the real-time metrics * report.

*/ inline void SetStatus(const AgentStatusReference& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the agent that they manually set in their Contact Control Panel * (CCP), or that the supervisor manually changes in the real-time metrics * report.

*/ inline void SetStatus(AgentStatusReference&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the agent that they manually set in their Contact Control Panel * (CCP), or that the supervisor manually changes in the real-time metrics * report.

*/ inline UserData& WithStatus(const AgentStatusReference& value) { SetStatus(value); return *this;} /** *

The status of the agent that they manually set in their Contact Control Panel * (CCP), or that the supervisor manually changes in the real-time metrics * report.

*/ inline UserData& WithStatus(AgentStatusReference&& value) { SetStatus(std::move(value)); return *this;} /** *

A map of available slots by channel. The key is a channel name. The value is * an integer: the available number of slots.

*/ inline const Aws::Map& GetAvailableSlotsByChannel() const{ return m_availableSlotsByChannel; } /** *

A map of available slots by channel. The key is a channel name. The value is * an integer: the available number of slots.

*/ inline bool AvailableSlotsByChannelHasBeenSet() const { return m_availableSlotsByChannelHasBeenSet; } /** *

A map of available slots by channel. The key is a channel name. The value is * an integer: the available number of slots.

*/ inline void SetAvailableSlotsByChannel(const Aws::Map& value) { m_availableSlotsByChannelHasBeenSet = true; m_availableSlotsByChannel = value; } /** *

A map of available slots by channel. The key is a channel name. The value is * an integer: the available number of slots.

*/ inline void SetAvailableSlotsByChannel(Aws::Map&& value) { m_availableSlotsByChannelHasBeenSet = true; m_availableSlotsByChannel = std::move(value); } /** *

A map of available slots by channel. The key is a channel name. The value is * an integer: the available number of slots.

*/ inline UserData& WithAvailableSlotsByChannel(const Aws::Map& value) { SetAvailableSlotsByChannel(value); return *this;} /** *

A map of available slots by channel. The key is a channel name. The value is * an integer: the available number of slots.

*/ inline UserData& WithAvailableSlotsByChannel(Aws::Map&& value) { SetAvailableSlotsByChannel(std::move(value)); return *this;} /** *

A map of available slots by channel. The key is a channel name. The value is * an integer: the available number of slots.

*/ inline UserData& AddAvailableSlotsByChannel(const Channel& key, int value) { m_availableSlotsByChannelHasBeenSet = true; m_availableSlotsByChannel.emplace(key, value); return *this; } /** *

A map of available slots by channel. The key is a channel name. The value is * an integer: the available number of slots.

*/ inline UserData& AddAvailableSlotsByChannel(Channel&& key, int value) { m_availableSlotsByChannelHasBeenSet = true; m_availableSlotsByChannel.emplace(std::move(key), value); return *this; } /** *

A map of maximum slots by channel. The key is a channel name. The value is an * integer: the maximum number of slots. This is calculated from MediaConcurrency * of the RoutingProfile assigned to the agent.

*/ inline const Aws::Map& GetMaxSlotsByChannel() const{ return m_maxSlotsByChannel; } /** *

A map of maximum slots by channel. The key is a channel name. The value is an * integer: the maximum number of slots. This is calculated from MediaConcurrency * of the RoutingProfile assigned to the agent.

*/ inline bool MaxSlotsByChannelHasBeenSet() const { return m_maxSlotsByChannelHasBeenSet; } /** *

A map of maximum slots by channel. The key is a channel name. The value is an * integer: the maximum number of slots. This is calculated from MediaConcurrency * of the RoutingProfile assigned to the agent.

*/ inline void SetMaxSlotsByChannel(const Aws::Map& value) { m_maxSlotsByChannelHasBeenSet = true; m_maxSlotsByChannel = value; } /** *

A map of maximum slots by channel. The key is a channel name. The value is an * integer: the maximum number of slots. This is calculated from MediaConcurrency * of the RoutingProfile assigned to the agent.

*/ inline void SetMaxSlotsByChannel(Aws::Map&& value) { m_maxSlotsByChannelHasBeenSet = true; m_maxSlotsByChannel = std::move(value); } /** *

A map of maximum slots by channel. The key is a channel name. The value is an * integer: the maximum number of slots. This is calculated from MediaConcurrency * of the RoutingProfile assigned to the agent.

*/ inline UserData& WithMaxSlotsByChannel(const Aws::Map& value) { SetMaxSlotsByChannel(value); return *this;} /** *

A map of maximum slots by channel. The key is a channel name. The value is an * integer: the maximum number of slots. This is calculated from MediaConcurrency * of the RoutingProfile assigned to the agent.

*/ inline UserData& WithMaxSlotsByChannel(Aws::Map&& value) { SetMaxSlotsByChannel(std::move(value)); return *this;} /** *

A map of maximum slots by channel. The key is a channel name. The value is an * integer: the maximum number of slots. This is calculated from MediaConcurrency * of the RoutingProfile assigned to the agent.

*/ inline UserData& AddMaxSlotsByChannel(const Channel& key, int value) { m_maxSlotsByChannelHasBeenSet = true; m_maxSlotsByChannel.emplace(key, value); return *this; } /** *

A map of maximum slots by channel. The key is a channel name. The value is an * integer: the maximum number of slots. This is calculated from MediaConcurrency * of the RoutingProfile assigned to the agent.

*/ inline UserData& AddMaxSlotsByChannel(Channel&& key, int value) { m_maxSlotsByChannelHasBeenSet = true; m_maxSlotsByChannel.emplace(std::move(key), value); return *this; } /** *

A map of active slots by channel. The key is a channel name. The value is an * integer: the number of active slots.

*/ inline const Aws::Map& GetActiveSlotsByChannel() const{ return m_activeSlotsByChannel; } /** *

A map of active slots by channel. The key is a channel name. The value is an * integer: the number of active slots.

*/ inline bool ActiveSlotsByChannelHasBeenSet() const { return m_activeSlotsByChannelHasBeenSet; } /** *

A map of active slots by channel. The key is a channel name. The value is an * integer: the number of active slots.

*/ inline void SetActiveSlotsByChannel(const Aws::Map& value) { m_activeSlotsByChannelHasBeenSet = true; m_activeSlotsByChannel = value; } /** *

A map of active slots by channel. The key is a channel name. The value is an * integer: the number of active slots.

*/ inline void SetActiveSlotsByChannel(Aws::Map&& value) { m_activeSlotsByChannelHasBeenSet = true; m_activeSlotsByChannel = std::move(value); } /** *

A map of active slots by channel. The key is a channel name. The value is an * integer: the number of active slots.

*/ inline UserData& WithActiveSlotsByChannel(const Aws::Map& value) { SetActiveSlotsByChannel(value); return *this;} /** *

A map of active slots by channel. The key is a channel name. The value is an * integer: the number of active slots.

*/ inline UserData& WithActiveSlotsByChannel(Aws::Map&& value) { SetActiveSlotsByChannel(std::move(value)); return *this;} /** *

A map of active slots by channel. The key is a channel name. The value is an * integer: the number of active slots.

*/ inline UserData& AddActiveSlotsByChannel(const Channel& key, int value) { m_activeSlotsByChannelHasBeenSet = true; m_activeSlotsByChannel.emplace(key, value); return *this; } /** *

A map of active slots by channel. The key is a channel name. The value is an * integer: the number of active slots.

*/ inline UserData& AddActiveSlotsByChannel(Channel&& key, int value) { m_activeSlotsByChannelHasBeenSet = true; m_activeSlotsByChannel.emplace(std::move(key), value); return *this; } /** *

A list of contact reference information.

*/ inline const Aws::Vector& GetContacts() const{ return m_contacts; } /** *

A list of contact reference information.

*/ inline bool ContactsHasBeenSet() const { return m_contactsHasBeenSet; } /** *

A list of contact reference information.

*/ inline void SetContacts(const Aws::Vector& value) { m_contactsHasBeenSet = true; m_contacts = value; } /** *

A list of contact reference information.

*/ inline void SetContacts(Aws::Vector&& value) { m_contactsHasBeenSet = true; m_contacts = std::move(value); } /** *

A list of contact reference information.

*/ inline UserData& WithContacts(const Aws::Vector& value) { SetContacts(value); return *this;} /** *

A list of contact reference information.

*/ inline UserData& WithContacts(Aws::Vector&& value) { SetContacts(std::move(value)); return *this;} /** *

A list of contact reference information.

*/ inline UserData& AddContacts(const AgentContactReference& value) { m_contactsHasBeenSet = true; m_contacts.push_back(value); return *this; } /** *

A list of contact reference information.

*/ inline UserData& AddContacts(AgentContactReference&& value) { m_contactsHasBeenSet = true; m_contacts.push_back(std::move(value)); return *this; } /** *

The Next status of the agent.

*/ inline const Aws::String& GetNextStatus() const{ return m_nextStatus; } /** *

The Next status of the agent.

*/ inline bool NextStatusHasBeenSet() const { return m_nextStatusHasBeenSet; } /** *

The Next status of the agent.

*/ inline void SetNextStatus(const Aws::String& value) { m_nextStatusHasBeenSet = true; m_nextStatus = value; } /** *

The Next status of the agent.

*/ inline void SetNextStatus(Aws::String&& value) { m_nextStatusHasBeenSet = true; m_nextStatus = std::move(value); } /** *

The Next status of the agent.

*/ inline void SetNextStatus(const char* value) { m_nextStatusHasBeenSet = true; m_nextStatus.assign(value); } /** *

The Next status of the agent.

*/ inline UserData& WithNextStatus(const Aws::String& value) { SetNextStatus(value); return *this;} /** *

The Next status of the agent.

*/ inline UserData& WithNextStatus(Aws::String&& value) { SetNextStatus(std::move(value)); return *this;} /** *

The Next status of the agent.

*/ inline UserData& WithNextStatus(const char* value) { SetNextStatus(value); return *this;} private: UserReference m_user; bool m_userHasBeenSet = false; RoutingProfileReference m_routingProfile; bool m_routingProfileHasBeenSet = false; HierarchyPathReference m_hierarchyPath; bool m_hierarchyPathHasBeenSet = false; AgentStatusReference m_status; bool m_statusHasBeenSet = false; Aws::Map m_availableSlotsByChannel; bool m_availableSlotsByChannelHasBeenSet = false; Aws::Map m_maxSlotsByChannel; bool m_maxSlotsByChannelHasBeenSet = false; Aws::Map m_activeSlotsByChannel; bool m_activeSlotsByChannelHasBeenSet = false; Aws::Vector m_contacts; bool m_contactsHasBeenSet = false; Aws::String m_nextStatus; bool m_nextStatusHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws