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

Contains information about the queue and channel for which priority and delay * can be set.

See Also:

AWS * API Reference

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

Contains information about a queue resource.

*/ inline const RoutingProfileQueueReference& GetQueueReference() const{ return m_queueReference; } /** *

Contains information about a queue resource.

*/ inline bool QueueReferenceHasBeenSet() const { return m_queueReferenceHasBeenSet; } /** *

Contains information about a queue resource.

*/ inline void SetQueueReference(const RoutingProfileQueueReference& value) { m_queueReferenceHasBeenSet = true; m_queueReference = value; } /** *

Contains information about a queue resource.

*/ inline void SetQueueReference(RoutingProfileQueueReference&& value) { m_queueReferenceHasBeenSet = true; m_queueReference = std::move(value); } /** *

Contains information about a queue resource.

*/ inline RoutingProfileQueueConfig& WithQueueReference(const RoutingProfileQueueReference& value) { SetQueueReference(value); return *this;} /** *

Contains information about a queue resource.

*/ inline RoutingProfileQueueConfig& WithQueueReference(RoutingProfileQueueReference&& value) { SetQueueReference(std::move(value)); return *this;} /** *

The order in which contacts are to be handled for the queue. For more * information, see Queues: * priority and delay.

*/ inline int GetPriority() const{ return m_priority; } /** *

The order in which contacts are to be handled for the queue. For more * information, see Queues: * priority and delay.

*/ inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } /** *

The order in which contacts are to be handled for the queue. For more * information, see Queues: * priority and delay.

*/ inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; } /** *

The order in which contacts are to be handled for the queue. For more * information, see Queues: * priority and delay.

*/ inline RoutingProfileQueueConfig& WithPriority(int value) { SetPriority(value); return *this;} /** *

The delay, in seconds, a contact should be in the queue before they are * routed to an available agent. For more information, see Queues: * priority and delay in the Amazon Connect Administrator Guide.

*/ inline int GetDelay() const{ return m_delay; } /** *

The delay, in seconds, a contact should be in the queue before they are * routed to an available agent. For more information, see Queues: * priority and delay in the Amazon Connect Administrator Guide.

*/ inline bool DelayHasBeenSet() const { return m_delayHasBeenSet; } /** *

The delay, in seconds, a contact should be in the queue before they are * routed to an available agent. For more information, see Queues: * priority and delay in the Amazon Connect Administrator Guide.

*/ inline void SetDelay(int value) { m_delayHasBeenSet = true; m_delay = value; } /** *

The delay, in seconds, a contact should be in the queue before they are * routed to an available agent. For more information, see Queues: * priority and delay in the Amazon Connect Administrator Guide.

*/ inline RoutingProfileQueueConfig& WithDelay(int value) { SetDelay(value); return *this;} private: RoutingProfileQueueReference m_queueReference; bool m_queueReferenceHasBeenSet = false; int m_priority; bool m_priorityHasBeenSet = false; int m_delay; bool m_delayHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws