/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #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 dimensions for a set of metrics.

See * Also:

AWS * API Reference

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

Information about the queue for which metrics are returned.

*/ inline const QueueReference& GetQueue() const{ return m_queue; } /** *

Information about the queue for which metrics are returned.

*/ inline bool QueueHasBeenSet() const { return m_queueHasBeenSet; } /** *

Information about the queue for which metrics are returned.

*/ inline void SetQueue(const QueueReference& value) { m_queueHasBeenSet = true; m_queue = value; } /** *

Information about the queue for which metrics are returned.

*/ inline void SetQueue(QueueReference&& value) { m_queueHasBeenSet = true; m_queue = std::move(value); } /** *

Information about the queue for which metrics are returned.

*/ inline Dimensions& WithQueue(const QueueReference& value) { SetQueue(value); return *this;} /** *

Information about the queue for which metrics are returned.

*/ inline Dimensions& WithQueue(QueueReference&& value) { SetQueue(std::move(value)); return *this;} /** *

The channel used for grouping and filters.

*/ inline const Channel& GetChannel() const{ return m_channel; } /** *

The channel used for grouping and filters.

*/ inline bool ChannelHasBeenSet() const { return m_channelHasBeenSet; } /** *

The channel used for grouping and filters.

*/ inline void SetChannel(const Channel& value) { m_channelHasBeenSet = true; m_channel = value; } /** *

The channel used for grouping and filters.

*/ inline void SetChannel(Channel&& value) { m_channelHasBeenSet = true; m_channel = std::move(value); } /** *

The channel used for grouping and filters.

*/ inline Dimensions& WithChannel(const Channel& value) { SetChannel(value); return *this;} /** *

The channel used for grouping and filters.

*/ inline Dimensions& WithChannel(Channel&& value) { SetChannel(std::move(value)); return *this;} inline const RoutingProfileReference& GetRoutingProfile() const{ return m_routingProfile; } inline bool RoutingProfileHasBeenSet() const { return m_routingProfileHasBeenSet; } inline void SetRoutingProfile(const RoutingProfileReference& value) { m_routingProfileHasBeenSet = true; m_routingProfile = value; } inline void SetRoutingProfile(RoutingProfileReference&& value) { m_routingProfileHasBeenSet = true; m_routingProfile = std::move(value); } inline Dimensions& WithRoutingProfile(const RoutingProfileReference& value) { SetRoutingProfile(value); return *this;} inline Dimensions& WithRoutingProfile(RoutingProfileReference&& value) { SetRoutingProfile(std::move(value)); return *this;} private: QueueReference m_queue; bool m_queueHasBeenSet = false; Channel m_channel; bool m_channelHasBeenSet = false; RoutingProfileReference m_routingProfile; bool m_routingProfileHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws