/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace ChimeSDKVoice { namespace Model { /** */ class CreateProxySessionRequest : public ChimeSDKVoiceRequest { public: AWS_CHIMESDKVOICE_API CreateProxySessionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateProxySession"; } AWS_CHIMESDKVOICE_API Aws::String SerializePayload() const override; /** *

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 CreateProxySessionRequest& WithVoiceConnectorId(const Aws::String& value) { SetVoiceConnectorId(value); return *this;} /** *

The Voice Connector ID.

*/ inline CreateProxySessionRequest& WithVoiceConnectorId(Aws::String&& value) { SetVoiceConnectorId(std::move(value)); return *this;} /** *

The Voice Connector ID.

*/ inline CreateProxySessionRequest& WithVoiceConnectorId(const char* value) { SetVoiceConnectorId(value); return *this;} /** *

The participant phone numbers.

*/ inline const Aws::Vector& GetParticipantPhoneNumbers() const{ return m_participantPhoneNumbers; } /** *

The participant phone numbers.

*/ inline bool ParticipantPhoneNumbersHasBeenSet() const { return m_participantPhoneNumbersHasBeenSet; } /** *

The participant phone numbers.

*/ inline void SetParticipantPhoneNumbers(const Aws::Vector& value) { m_participantPhoneNumbersHasBeenSet = true; m_participantPhoneNumbers = value; } /** *

The participant phone numbers.

*/ inline void SetParticipantPhoneNumbers(Aws::Vector&& value) { m_participantPhoneNumbersHasBeenSet = true; m_participantPhoneNumbers = std::move(value); } /** *

The participant phone numbers.

*/ inline CreateProxySessionRequest& WithParticipantPhoneNumbers(const Aws::Vector& value) { SetParticipantPhoneNumbers(value); return *this;} /** *

The participant phone numbers.

*/ inline CreateProxySessionRequest& WithParticipantPhoneNumbers(Aws::Vector&& value) { SetParticipantPhoneNumbers(std::move(value)); return *this;} /** *

The participant phone numbers.

*/ inline CreateProxySessionRequest& AddParticipantPhoneNumbers(const Aws::String& value) { m_participantPhoneNumbersHasBeenSet = true; m_participantPhoneNumbers.push_back(value); return *this; } /** *

The participant phone numbers.

*/ inline CreateProxySessionRequest& AddParticipantPhoneNumbers(Aws::String&& value) { m_participantPhoneNumbersHasBeenSet = true; m_participantPhoneNumbers.push_back(std::move(value)); return *this; } /** *

The participant phone numbers.

*/ inline CreateProxySessionRequest& AddParticipantPhoneNumbers(const char* value) { m_participantPhoneNumbersHasBeenSet = true; m_participantPhoneNumbers.push_back(value); return *this; } /** *

The name of the proxy session.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the proxy session.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the proxy session.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the proxy session.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the proxy session.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the proxy session.

*/ inline CreateProxySessionRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the proxy session.

*/ inline CreateProxySessionRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the proxy session.

*/ inline CreateProxySessionRequest& WithName(const char* value) { SetName(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 CreateProxySessionRequest& WithExpiryMinutes(int value) { SetExpiryMinutes(value); return *this;} /** *

The proxy session's capabilities.

*/ inline const Aws::Vector& GetCapabilities() const{ return m_capabilities; } /** *

The proxy session's capabilities.

*/ inline bool CapabilitiesHasBeenSet() const { return m_capabilitiesHasBeenSet; } /** *

The proxy session's capabilities.

*/ inline void SetCapabilities(const Aws::Vector& value) { m_capabilitiesHasBeenSet = true; m_capabilities = value; } /** *

The proxy session's capabilities.

*/ inline void SetCapabilities(Aws::Vector&& value) { m_capabilitiesHasBeenSet = true; m_capabilities = std::move(value); } /** *

The proxy session's capabilities.

*/ inline CreateProxySessionRequest& WithCapabilities(const Aws::Vector& value) { SetCapabilities(value); return *this;} /** *

The proxy session's capabilities.

*/ inline CreateProxySessionRequest& WithCapabilities(Aws::Vector&& value) { SetCapabilities(std::move(value)); return *this;} /** *

The proxy session's capabilities.

*/ inline CreateProxySessionRequest& AddCapabilities(const Capability& value) { m_capabilitiesHasBeenSet = true; m_capabilities.push_back(value); return *this; } /** *

The proxy session's capabilities.

*/ inline CreateProxySessionRequest& AddCapabilities(Capability&& value) { m_capabilitiesHasBeenSet = true; m_capabilities.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 CreateProxySessionRequest& WithNumberSelectionBehavior(const NumberSelectionBehavior& value) { SetNumberSelectionBehavior(value); return *this;} /** *

The preference for proxy phone number reuse, or stickiness, between the same * participants across sessions.

*/ inline CreateProxySessionRequest& 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 CreateProxySessionRequest& 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 CreateProxySessionRequest& 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 CreateProxySessionRequest& WithGeoMatchParams(const GeoMatchParams& value) { SetGeoMatchParams(value); return *this;} /** *

The country and area code for the proxy phone number.

*/ inline CreateProxySessionRequest& WithGeoMatchParams(GeoMatchParams&& value) { SetGeoMatchParams(std::move(value)); return *this;} private: Aws::String m_voiceConnectorId; bool m_voiceConnectorIdHasBeenSet = false; Aws::Vector m_participantPhoneNumbers; bool m_participantPhoneNumbersHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; int m_expiryMinutes; bool m_expiryMinutesHasBeenSet = false; Aws::Vector m_capabilities; bool m_capabilitiesHasBeenSet = false; NumberSelectionBehavior m_numberSelectionBehavior; bool m_numberSelectionBehaviorHasBeenSet = false; GeoMatchLevel m_geoMatchLevel; bool m_geoMatchLevelHasBeenSet = false; GeoMatchParams m_geoMatchParams; bool m_geoMatchParamsHasBeenSet = false; }; } // namespace Model } // namespace ChimeSDKVoice } // namespace Aws