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

Contains configuration settings for a quick connect.

See Also:

* AWS * API Reference

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

The type of quick connect. In the Amazon Connect console, when you create a * quick connect, you are prompted to assign one of the following types: Agent * (USER), External (PHONE_NUMBER), or Queue (QUEUE).

*/ inline const QuickConnectType& GetQuickConnectType() const{ return m_quickConnectType; } /** *

The type of quick connect. In the Amazon Connect console, when you create a * quick connect, you are prompted to assign one of the following types: Agent * (USER), External (PHONE_NUMBER), or Queue (QUEUE).

*/ inline bool QuickConnectTypeHasBeenSet() const { return m_quickConnectTypeHasBeenSet; } /** *

The type of quick connect. In the Amazon Connect console, when you create a * quick connect, you are prompted to assign one of the following types: Agent * (USER), External (PHONE_NUMBER), or Queue (QUEUE).

*/ inline void SetQuickConnectType(const QuickConnectType& value) { m_quickConnectTypeHasBeenSet = true; m_quickConnectType = value; } /** *

The type of quick connect. In the Amazon Connect console, when you create a * quick connect, you are prompted to assign one of the following types: Agent * (USER), External (PHONE_NUMBER), or Queue (QUEUE).

*/ inline void SetQuickConnectType(QuickConnectType&& value) { m_quickConnectTypeHasBeenSet = true; m_quickConnectType = std::move(value); } /** *

The type of quick connect. In the Amazon Connect console, when you create a * quick connect, you are prompted to assign one of the following types: Agent * (USER), External (PHONE_NUMBER), or Queue (QUEUE).

*/ inline QuickConnectConfig& WithQuickConnectType(const QuickConnectType& value) { SetQuickConnectType(value); return *this;} /** *

The type of quick connect. In the Amazon Connect console, when you create a * quick connect, you are prompted to assign one of the following types: Agent * (USER), External (PHONE_NUMBER), or Queue (QUEUE).

*/ inline QuickConnectConfig& WithQuickConnectType(QuickConnectType&& value) { SetQuickConnectType(std::move(value)); return *this;} /** *

The user configuration. This is required only if QuickConnectType is * USER.

*/ inline const UserQuickConnectConfig& GetUserConfig() const{ return m_userConfig; } /** *

The user configuration. This is required only if QuickConnectType is * USER.

*/ inline bool UserConfigHasBeenSet() const { return m_userConfigHasBeenSet; } /** *

The user configuration. This is required only if QuickConnectType is * USER.

*/ inline void SetUserConfig(const UserQuickConnectConfig& value) { m_userConfigHasBeenSet = true; m_userConfig = value; } /** *

The user configuration. This is required only if QuickConnectType is * USER.

*/ inline void SetUserConfig(UserQuickConnectConfig&& value) { m_userConfigHasBeenSet = true; m_userConfig = std::move(value); } /** *

The user configuration. This is required only if QuickConnectType is * USER.

*/ inline QuickConnectConfig& WithUserConfig(const UserQuickConnectConfig& value) { SetUserConfig(value); return *this;} /** *

The user configuration. This is required only if QuickConnectType is * USER.

*/ inline QuickConnectConfig& WithUserConfig(UserQuickConnectConfig&& value) { SetUserConfig(std::move(value)); return *this;} /** *

The queue configuration. This is required only if QuickConnectType is * QUEUE.

*/ inline const QueueQuickConnectConfig& GetQueueConfig() const{ return m_queueConfig; } /** *

The queue configuration. This is required only if QuickConnectType is * QUEUE.

*/ inline bool QueueConfigHasBeenSet() const { return m_queueConfigHasBeenSet; } /** *

The queue configuration. This is required only if QuickConnectType is * QUEUE.

*/ inline void SetQueueConfig(const QueueQuickConnectConfig& value) { m_queueConfigHasBeenSet = true; m_queueConfig = value; } /** *

The queue configuration. This is required only if QuickConnectType is * QUEUE.

*/ inline void SetQueueConfig(QueueQuickConnectConfig&& value) { m_queueConfigHasBeenSet = true; m_queueConfig = std::move(value); } /** *

The queue configuration. This is required only if QuickConnectType is * QUEUE.

*/ inline QuickConnectConfig& WithQueueConfig(const QueueQuickConnectConfig& value) { SetQueueConfig(value); return *this;} /** *

The queue configuration. This is required only if QuickConnectType is * QUEUE.

*/ inline QuickConnectConfig& WithQueueConfig(QueueQuickConnectConfig&& value) { SetQueueConfig(std::move(value)); return *this;} /** *

The phone configuration. This is required only if QuickConnectType is * PHONE_NUMBER.

*/ inline const PhoneNumberQuickConnectConfig& GetPhoneConfig() const{ return m_phoneConfig; } /** *

The phone configuration. This is required only if QuickConnectType is * PHONE_NUMBER.

*/ inline bool PhoneConfigHasBeenSet() const { return m_phoneConfigHasBeenSet; } /** *

The phone configuration. This is required only if QuickConnectType is * PHONE_NUMBER.

*/ inline void SetPhoneConfig(const PhoneNumberQuickConnectConfig& value) { m_phoneConfigHasBeenSet = true; m_phoneConfig = value; } /** *

The phone configuration. This is required only if QuickConnectType is * PHONE_NUMBER.

*/ inline void SetPhoneConfig(PhoneNumberQuickConnectConfig&& value) { m_phoneConfigHasBeenSet = true; m_phoneConfig = std::move(value); } /** *

The phone configuration. This is required only if QuickConnectType is * PHONE_NUMBER.

*/ inline QuickConnectConfig& WithPhoneConfig(const PhoneNumberQuickConnectConfig& value) { SetPhoneConfig(value); return *this;} /** *

The phone configuration. This is required only if QuickConnectType is * PHONE_NUMBER.

*/ inline QuickConnectConfig& WithPhoneConfig(PhoneNumberQuickConnectConfig&& value) { SetPhoneConfig(std::move(value)); return *this;} private: QuickConnectType m_quickConnectType; bool m_quickConnectTypeHasBeenSet = false; UserQuickConnectConfig m_userConfig; bool m_userConfigHasBeenSet = false; QueueQuickConnectConfig m_queueConfig; bool m_queueConfigHasBeenSet = false; PhoneNumberQuickConnectConfig m_phoneConfig; bool m_phoneConfigHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws