/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Information about the contact
* associated to the user.See Also:
AWS
* API Reference
The identifier of the contact in this instance of Amazon Connect.
*/ inline const Aws::String& GetContactId() const{ return m_contactId; } /** *The identifier of the contact in this instance of Amazon Connect.
*/ inline bool ContactIdHasBeenSet() const { return m_contactIdHasBeenSet; } /** *The identifier of the contact in this instance of Amazon Connect.
*/ inline void SetContactId(const Aws::String& value) { m_contactIdHasBeenSet = true; m_contactId = value; } /** *The identifier of the contact in this instance of Amazon Connect.
*/ inline void SetContactId(Aws::String&& value) { m_contactIdHasBeenSet = true; m_contactId = std::move(value); } /** *The identifier of the contact in this instance of Amazon Connect.
*/ inline void SetContactId(const char* value) { m_contactIdHasBeenSet = true; m_contactId.assign(value); } /** *The identifier of the contact in this instance of Amazon Connect.
*/ inline AgentContactReference& WithContactId(const Aws::String& value) { SetContactId(value); return *this;} /** *The identifier of the contact in this instance of Amazon Connect.
*/ inline AgentContactReference& WithContactId(Aws::String&& value) { SetContactId(std::move(value)); return *this;} /** *The identifier of the contact in this instance of Amazon Connect.
*/ inline AgentContactReference& WithContactId(const char* value) { SetContactId(value); return *this;} /** *The channel of the contact.
*/ inline const Channel& GetChannel() const{ return m_channel; } /** *The channel of the contact.
*/ inline bool ChannelHasBeenSet() const { return m_channelHasBeenSet; } /** *The channel of the contact.
*/ inline void SetChannel(const Channel& value) { m_channelHasBeenSet = true; m_channel = value; } /** *The channel of the contact.
*/ inline void SetChannel(Channel&& value) { m_channelHasBeenSet = true; m_channel = std::move(value); } /** *The channel of the contact.
*/ inline AgentContactReference& WithChannel(const Channel& value) { SetChannel(value); return *this;} /** *The channel of the contact.
*/ inline AgentContactReference& WithChannel(Channel&& value) { SetChannel(std::move(value)); return *this;} /** *How the contact was initiated.
*/ inline const ContactInitiationMethod& GetInitiationMethod() const{ return m_initiationMethod; } /** *How the contact was initiated.
*/ inline bool InitiationMethodHasBeenSet() const { return m_initiationMethodHasBeenSet; } /** *How the contact was initiated.
*/ inline void SetInitiationMethod(const ContactInitiationMethod& value) { m_initiationMethodHasBeenSet = true; m_initiationMethod = value; } /** *How the contact was initiated.
*/ inline void SetInitiationMethod(ContactInitiationMethod&& value) { m_initiationMethodHasBeenSet = true; m_initiationMethod = std::move(value); } /** *How the contact was initiated.
*/ inline AgentContactReference& WithInitiationMethod(const ContactInitiationMethod& value) { SetInitiationMethod(value); return *this;} /** *How the contact was initiated.
*/ inline AgentContactReference& WithInitiationMethod(ContactInitiationMethod&& value) { SetInitiationMethod(std::move(value)); return *this;} /** * */ inline const ContactState& GetAgentContactState() const{ return m_agentContactState; } /** * */ inline bool AgentContactStateHasBeenSet() const { return m_agentContactStateHasBeenSet; } /** * */ inline void SetAgentContactState(const ContactState& value) { m_agentContactStateHasBeenSet = true; m_agentContactState = value; } /** * */ inline void SetAgentContactState(ContactState&& value) { m_agentContactStateHasBeenSet = true; m_agentContactState = std::move(value); } /** * */ inline AgentContactReference& WithAgentContactState(const ContactState& value) { SetAgentContactState(value); return *this;} /** * */ inline AgentContactReference& WithAgentContactState(ContactState&& value) { SetAgentContactState(std::move(value)); return *this;} /** *The epoch timestamp when the contact state started.
*/ inline const Aws::Utils::DateTime& GetStateStartTimestamp() const{ return m_stateStartTimestamp; } /** *The epoch timestamp when the contact state started.
*/ inline bool StateStartTimestampHasBeenSet() const { return m_stateStartTimestampHasBeenSet; } /** *The epoch timestamp when the contact state started.
*/ inline void SetStateStartTimestamp(const Aws::Utils::DateTime& value) { m_stateStartTimestampHasBeenSet = true; m_stateStartTimestamp = value; } /** *The epoch timestamp when the contact state started.
*/ inline void SetStateStartTimestamp(Aws::Utils::DateTime&& value) { m_stateStartTimestampHasBeenSet = true; m_stateStartTimestamp = std::move(value); } /** *The epoch timestamp when the contact state started.
*/ inline AgentContactReference& WithStateStartTimestamp(const Aws::Utils::DateTime& value) { SetStateStartTimestamp(value); return *this;} /** *The epoch timestamp when the contact state started.
*/ inline AgentContactReference& WithStateStartTimestamp(Aws::Utils::DateTime&& value) { SetStateStartTimestamp(std::move(value)); return *this;} /** *The time at which the contact was connected to an agent.
*/ inline const Aws::Utils::DateTime& GetConnectedToAgentTimestamp() const{ return m_connectedToAgentTimestamp; } /** *The time at which the contact was connected to an agent.
*/ inline bool ConnectedToAgentTimestampHasBeenSet() const { return m_connectedToAgentTimestampHasBeenSet; } /** *The time at which the contact was connected to an agent.
*/ inline void SetConnectedToAgentTimestamp(const Aws::Utils::DateTime& value) { m_connectedToAgentTimestampHasBeenSet = true; m_connectedToAgentTimestamp = value; } /** *The time at which the contact was connected to an agent.
*/ inline void SetConnectedToAgentTimestamp(Aws::Utils::DateTime&& value) { m_connectedToAgentTimestampHasBeenSet = true; m_connectedToAgentTimestamp = std::move(value); } /** *The time at which the contact was connected to an agent.
*/ inline AgentContactReference& WithConnectedToAgentTimestamp(const Aws::Utils::DateTime& value) { SetConnectedToAgentTimestamp(value); return *this;} /** *The time at which the contact was connected to an agent.
*/ inline AgentContactReference& WithConnectedToAgentTimestamp(Aws::Utils::DateTime&& value) { SetConnectedToAgentTimestamp(std::move(value)); return *this;} inline const QueueReference& GetQueue() const{ return m_queue; } inline bool QueueHasBeenSet() const { return m_queueHasBeenSet; } inline void SetQueue(const QueueReference& value) { m_queueHasBeenSet = true; m_queue = value; } inline void SetQueue(QueueReference&& value) { m_queueHasBeenSet = true; m_queue = std::move(value); } inline AgentContactReference& WithQueue(const QueueReference& value) { SetQueue(value); return *this;} inline AgentContactReference& WithQueue(QueueReference&& value) { SetQueue(std::move(value)); return *this;} private: Aws::String m_contactId; bool m_contactIdHasBeenSet = false; Channel m_channel; bool m_channelHasBeenSet = false; ContactInitiationMethod m_initiationMethod; bool m_initiationMethodHasBeenSet = false; ContactState m_agentContactState; bool m_agentContactStateHasBeenSet = false; Aws::Utils::DateTime m_stateStartTimestamp; bool m_stateStartTimestampHasBeenSet = false; Aws::Utils::DateTime m_connectedToAgentTimestamp; bool m_connectedToAgentTimestampHasBeenSet = false; QueueReference m_queue; bool m_queueHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws