/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The proxy session for an Amazon Chime SDK Voice Connector.See
* Also:
AWS
* API Reference
The Voice Connector ID.
*/ inline const Aws::String& GetVoiceConnectorId() const{ return m_voiceConnectorId; } /** *The Voice Connector ID.
*/ inline bool VoiceConnectorIdHasBeenSet() const { return m_voiceConnectorIdHasBeenSet; } /** *The Voice Connector ID.
*/ inline void SetVoiceConnectorId(const Aws::String& value) { m_voiceConnectorIdHasBeenSet = true; m_voiceConnectorId = value; } /** *The Voice Connector ID.
*/ inline void SetVoiceConnectorId(Aws::String&& value) { m_voiceConnectorIdHasBeenSet = true; m_voiceConnectorId = std::move(value); } /** *The Voice Connector ID.
*/ inline void SetVoiceConnectorId(const char* value) { m_voiceConnectorIdHasBeenSet = true; m_voiceConnectorId.assign(value); } /** *The Voice Connector ID.
*/ inline ProxySession& WithVoiceConnectorId(const Aws::String& value) { SetVoiceConnectorId(value); return *this;} /** *The Voice Connector ID.
*/ inline ProxySession& WithVoiceConnectorId(Aws::String&& value) { SetVoiceConnectorId(std::move(value)); return *this;} /** *The Voice Connector ID.
*/ inline ProxySession& WithVoiceConnectorId(const char* value) { SetVoiceConnectorId(value); return *this;} /** *The proxy session ID.
*/ inline const Aws::String& GetProxySessionId() const{ return m_proxySessionId; } /** *The proxy session ID.
*/ inline bool ProxySessionIdHasBeenSet() const { return m_proxySessionIdHasBeenSet; } /** *The proxy session ID.
*/ inline void SetProxySessionId(const Aws::String& value) { m_proxySessionIdHasBeenSet = true; m_proxySessionId = value; } /** *The proxy session ID.
*/ inline void SetProxySessionId(Aws::String&& value) { m_proxySessionIdHasBeenSet = true; m_proxySessionId = std::move(value); } /** *The proxy session ID.
*/ inline void SetProxySessionId(const char* value) { m_proxySessionIdHasBeenSet = true; m_proxySessionId.assign(value); } /** *The proxy session ID.
*/ inline ProxySession& WithProxySessionId(const Aws::String& value) { SetProxySessionId(value); return *this;} /** *The proxy session ID.
*/ inline ProxySession& WithProxySessionId(Aws::String&& value) { SetProxySessionId(std::move(value)); return *this;} /** *The proxy session ID.
*/ inline ProxySession& WithProxySessionId(const char* value) { SetProxySessionId(value); return *this;} /** *The proxy session name.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The proxy session name.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The proxy session name.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The proxy session name.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The proxy session name.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The proxy session name.
*/ inline ProxySession& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The proxy session name.
*/ inline ProxySession& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The proxy session name.
*/ inline ProxySession& WithName(const char* value) { SetName(value); return *this;} /** *The proxy session status.
*/ inline const ProxySessionStatus& GetStatus() const{ return m_status; } /** *The proxy session status.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The proxy session status.
*/ inline void SetStatus(const ProxySessionStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The proxy session status.
*/ inline void SetStatus(ProxySessionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The proxy session status.
*/ inline ProxySession& WithStatus(const ProxySessionStatus& value) { SetStatus(value); return *this;} /** *The proxy session status.
*/ inline ProxySession& WithStatus(ProxySessionStatus&& value) { SetStatus(std::move(value)); return *this;} /** *The number of minutes allowed for the proxy session.
*/ inline int GetExpiryMinutes() const{ return m_expiryMinutes; } /** *The number of minutes allowed for the proxy session.
*/ inline bool ExpiryMinutesHasBeenSet() const { return m_expiryMinutesHasBeenSet; } /** *The number of minutes allowed for the proxy session.
*/ inline void SetExpiryMinutes(int value) { m_expiryMinutesHasBeenSet = true; m_expiryMinutes = value; } /** *The number of minutes allowed for the proxy session.
*/ inline ProxySession& WithExpiryMinutes(int value) { SetExpiryMinutes(value); return *this;} /** *The proxy session capabilities.
*/ inline const Aws::VectorThe proxy session capabilities.
*/ inline bool CapabilitiesHasBeenSet() const { return m_capabilitiesHasBeenSet; } /** *The proxy session capabilities.
*/ inline void SetCapabilities(const Aws::VectorThe proxy session capabilities.
*/ inline void SetCapabilities(Aws::VectorThe proxy session capabilities.
*/ inline ProxySession& WithCapabilities(const Aws::VectorThe proxy session capabilities.
*/ inline ProxySession& WithCapabilities(Aws::VectorThe proxy session capabilities.
*/ inline ProxySession& AddCapabilities(const Capability& value) { m_capabilitiesHasBeenSet = true; m_capabilities.push_back(value); return *this; } /** *The proxy session capabilities.
*/ inline ProxySession& AddCapabilities(Capability&& value) { m_capabilitiesHasBeenSet = true; m_capabilities.push_back(std::move(value)); return *this; } /** *The created time stamp, in ISO 8601 format.
*/ inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } /** *The created time stamp, in ISO 8601 format.
*/ inline bool CreatedTimestampHasBeenSet() const { return m_createdTimestampHasBeenSet; } /** *The created time stamp, in ISO 8601 format.
*/ inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = value; } /** *The created time stamp, in ISO 8601 format.
*/ inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = std::move(value); } /** *The created time stamp, in ISO 8601 format.
*/ inline ProxySession& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} /** *The created time stamp, in ISO 8601 format.
*/ inline ProxySession& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} /** *The updated time stamp, in ISO 8601 format.
*/ inline const Aws::Utils::DateTime& GetUpdatedTimestamp() const{ return m_updatedTimestamp; } /** *The updated time stamp, in ISO 8601 format.
*/ inline bool UpdatedTimestampHasBeenSet() const { return m_updatedTimestampHasBeenSet; } /** *The updated time stamp, in ISO 8601 format.
*/ inline void SetUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_updatedTimestampHasBeenSet = true; m_updatedTimestamp = value; } /** *The updated time stamp, in ISO 8601 format.
*/ inline void SetUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_updatedTimestampHasBeenSet = true; m_updatedTimestamp = std::move(value); } /** *The updated time stamp, in ISO 8601 format.
*/ inline ProxySession& WithUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetUpdatedTimestamp(value); return *this;} /** *The updated time stamp, in ISO 8601 format.
*/ inline ProxySession& WithUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetUpdatedTimestamp(std::move(value)); return *this;} /** *The ended time stamp, in ISO 8601 format.
*/ inline const Aws::Utils::DateTime& GetEndedTimestamp() const{ return m_endedTimestamp; } /** *The ended time stamp, in ISO 8601 format.
*/ inline bool EndedTimestampHasBeenSet() const { return m_endedTimestampHasBeenSet; } /** *The ended time stamp, in ISO 8601 format.
*/ inline void SetEndedTimestamp(const Aws::Utils::DateTime& value) { m_endedTimestampHasBeenSet = true; m_endedTimestamp = value; } /** *The ended time stamp, in ISO 8601 format.
*/ inline void SetEndedTimestamp(Aws::Utils::DateTime&& value) { m_endedTimestampHasBeenSet = true; m_endedTimestamp = std::move(value); } /** *The ended time stamp, in ISO 8601 format.
*/ inline ProxySession& WithEndedTimestamp(const Aws::Utils::DateTime& value) { SetEndedTimestamp(value); return *this;} /** *The ended time stamp, in ISO 8601 format.
*/ inline ProxySession& WithEndedTimestamp(Aws::Utils::DateTime&& value) { SetEndedTimestamp(std::move(value)); return *this;} /** *The proxy session participants.
*/ inline const Aws::VectorThe proxy session participants.
*/ inline bool ParticipantsHasBeenSet() const { return m_participantsHasBeenSet; } /** *The proxy session participants.
*/ inline void SetParticipants(const Aws::VectorThe proxy session participants.
*/ inline void SetParticipants(Aws::VectorThe proxy session participants.
*/ inline ProxySession& WithParticipants(const Aws::VectorThe proxy session participants.
*/ inline ProxySession& WithParticipants(Aws::VectorThe proxy session participants.
*/ inline ProxySession& AddParticipants(const Participant& value) { m_participantsHasBeenSet = true; m_participants.push_back(value); return *this; } /** *The proxy session participants.
*/ inline ProxySession& AddParticipants(Participant&& value) { m_participantsHasBeenSet = true; m_participants.push_back(std::move(value)); return *this; } /** *The preference for proxy phone number reuse, or stickiness, between the same * participants across sessions.
*/ inline const NumberSelectionBehavior& GetNumberSelectionBehavior() const{ return m_numberSelectionBehavior; } /** *The preference for proxy phone number reuse, or stickiness, between the same * participants across sessions.
*/ inline bool NumberSelectionBehaviorHasBeenSet() const { return m_numberSelectionBehaviorHasBeenSet; } /** *The preference for proxy phone number reuse, or stickiness, between the same * participants across sessions.
*/ inline void SetNumberSelectionBehavior(const NumberSelectionBehavior& value) { m_numberSelectionBehaviorHasBeenSet = true; m_numberSelectionBehavior = value; } /** *The preference for proxy phone number reuse, or stickiness, between the same * participants across sessions.
*/ inline void SetNumberSelectionBehavior(NumberSelectionBehavior&& value) { m_numberSelectionBehaviorHasBeenSet = true; m_numberSelectionBehavior = std::move(value); } /** *The preference for proxy phone number reuse, or stickiness, between the same * participants across sessions.
*/ inline ProxySession& WithNumberSelectionBehavior(const NumberSelectionBehavior& value) { SetNumberSelectionBehavior(value); return *this;} /** *The preference for proxy phone number reuse, or stickiness, between the same * participants across sessions.
*/ inline ProxySession& WithNumberSelectionBehavior(NumberSelectionBehavior&& value) { SetNumberSelectionBehavior(std::move(value)); return *this;} /** *The preference for matching the country or area code of the proxy phone * number with that of the first participant.
*/ inline const GeoMatchLevel& GetGeoMatchLevel() const{ return m_geoMatchLevel; } /** *The preference for matching the country or area code of the proxy phone * number with that of the first participant.
*/ inline bool GeoMatchLevelHasBeenSet() const { return m_geoMatchLevelHasBeenSet; } /** *The preference for matching the country or area code of the proxy phone * number with that of the first participant.
*/ inline void SetGeoMatchLevel(const GeoMatchLevel& value) { m_geoMatchLevelHasBeenSet = true; m_geoMatchLevel = value; } /** *The preference for matching the country or area code of the proxy phone * number with that of the first participant.
*/ inline void SetGeoMatchLevel(GeoMatchLevel&& value) { m_geoMatchLevelHasBeenSet = true; m_geoMatchLevel = std::move(value); } /** *The preference for matching the country or area code of the proxy phone * number with that of the first participant.
*/ inline ProxySession& WithGeoMatchLevel(const GeoMatchLevel& value) { SetGeoMatchLevel(value); return *this;} /** *The preference for matching the country or area code of the proxy phone * number with that of the first participant.
*/ inline ProxySession& WithGeoMatchLevel(GeoMatchLevel&& value) { SetGeoMatchLevel(std::move(value)); return *this;} /** *The country and area code for the proxy phone number.
*/ inline const GeoMatchParams& GetGeoMatchParams() const{ return m_geoMatchParams; } /** *The country and area code for the proxy phone number.
*/ inline bool GeoMatchParamsHasBeenSet() const { return m_geoMatchParamsHasBeenSet; } /** *The country and area code for the proxy phone number.
*/ inline void SetGeoMatchParams(const GeoMatchParams& value) { m_geoMatchParamsHasBeenSet = true; m_geoMatchParams = value; } /** *The country and area code for the proxy phone number.
*/ inline void SetGeoMatchParams(GeoMatchParams&& value) { m_geoMatchParamsHasBeenSet = true; m_geoMatchParams = std::move(value); } /** *The country and area code for the proxy phone number.
*/ inline ProxySession& WithGeoMatchParams(const GeoMatchParams& value) { SetGeoMatchParams(value); return *this;} /** *The country and area code for the proxy phone number.
*/ inline ProxySession& WithGeoMatchParams(GeoMatchParams&& value) { SetGeoMatchParams(std::move(value)); return *this;} private: Aws::String m_voiceConnectorId; bool m_voiceConnectorIdHasBeenSet = false; Aws::String m_proxySessionId; bool m_proxySessionIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; ProxySessionStatus m_status; bool m_statusHasBeenSet = false; int m_expiryMinutes; bool m_expiryMinutesHasBeenSet = false; Aws::Vector