/** * 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 namespace Aws { namespace PinpointSMSVoiceV2 { namespace Model { /** */ class SendVoiceMessageRequest : public PinpointSMSVoiceV2Request { public: AWS_PINPOINTSMSVOICEV2_API SendVoiceMessageRequest(); // 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 "SendVoiceMessage"; } AWS_PINPOINTSMSVOICEV2_API Aws::String SerializePayload() const override; AWS_PINPOINTSMSVOICEV2_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The destination phone number in E.164 format.

*/ inline const Aws::String& GetDestinationPhoneNumber() const{ return m_destinationPhoneNumber; } /** *

The destination phone number in E.164 format.

*/ inline bool DestinationPhoneNumberHasBeenSet() const { return m_destinationPhoneNumberHasBeenSet; } /** *

The destination phone number in E.164 format.

*/ inline void SetDestinationPhoneNumber(const Aws::String& value) { m_destinationPhoneNumberHasBeenSet = true; m_destinationPhoneNumber = value; } /** *

The destination phone number in E.164 format.

*/ inline void SetDestinationPhoneNumber(Aws::String&& value) { m_destinationPhoneNumberHasBeenSet = true; m_destinationPhoneNumber = std::move(value); } /** *

The destination phone number in E.164 format.

*/ inline void SetDestinationPhoneNumber(const char* value) { m_destinationPhoneNumberHasBeenSet = true; m_destinationPhoneNumber.assign(value); } /** *

The destination phone number in E.164 format.

*/ inline SendVoiceMessageRequest& WithDestinationPhoneNumber(const Aws::String& value) { SetDestinationPhoneNumber(value); return *this;} /** *

The destination phone number in E.164 format.

*/ inline SendVoiceMessageRequest& WithDestinationPhoneNumber(Aws::String&& value) { SetDestinationPhoneNumber(std::move(value)); return *this;} /** *

The destination phone number in E.164 format.

*/ inline SendVoiceMessageRequest& WithDestinationPhoneNumber(const char* value) { SetDestinationPhoneNumber(value); return *this;} /** *

The origination identity to use for the voice call. This can be the * PhoneNumber, PhoneNumberId, PhoneNumberArn, PoolId, or PoolArn.

*/ inline const Aws::String& GetOriginationIdentity() const{ return m_originationIdentity; } /** *

The origination identity to use for the voice call. This can be the * PhoneNumber, PhoneNumberId, PhoneNumberArn, PoolId, or PoolArn.

*/ inline bool OriginationIdentityHasBeenSet() const { return m_originationIdentityHasBeenSet; } /** *

The origination identity to use for the voice call. This can be the * PhoneNumber, PhoneNumberId, PhoneNumberArn, PoolId, or PoolArn.

*/ inline void SetOriginationIdentity(const Aws::String& value) { m_originationIdentityHasBeenSet = true; m_originationIdentity = value; } /** *

The origination identity to use for the voice call. This can be the * PhoneNumber, PhoneNumberId, PhoneNumberArn, PoolId, or PoolArn.

*/ inline void SetOriginationIdentity(Aws::String&& value) { m_originationIdentityHasBeenSet = true; m_originationIdentity = std::move(value); } /** *

The origination identity to use for the voice call. This can be the * PhoneNumber, PhoneNumberId, PhoneNumberArn, PoolId, or PoolArn.

*/ inline void SetOriginationIdentity(const char* value) { m_originationIdentityHasBeenSet = true; m_originationIdentity.assign(value); } /** *

The origination identity to use for the voice call. This can be the * PhoneNumber, PhoneNumberId, PhoneNumberArn, PoolId, or PoolArn.

*/ inline SendVoiceMessageRequest& WithOriginationIdentity(const Aws::String& value) { SetOriginationIdentity(value); return *this;} /** *

The origination identity to use for the voice call. This can be the * PhoneNumber, PhoneNumberId, PhoneNumberArn, PoolId, or PoolArn.

*/ inline SendVoiceMessageRequest& WithOriginationIdentity(Aws::String&& value) { SetOriginationIdentity(std::move(value)); return *this;} /** *

The origination identity to use for the voice call. This can be the * PhoneNumber, PhoneNumberId, PhoneNumberArn, PoolId, or PoolArn.

*/ inline SendVoiceMessageRequest& WithOriginationIdentity(const char* value) { SetOriginationIdentity(value); return *this;} /** *

The text to convert to a voice message.

*/ inline const Aws::String& GetMessageBody() const{ return m_messageBody; } /** *

The text to convert to a voice message.

*/ inline bool MessageBodyHasBeenSet() const { return m_messageBodyHasBeenSet; } /** *

The text to convert to a voice message.

*/ inline void SetMessageBody(const Aws::String& value) { m_messageBodyHasBeenSet = true; m_messageBody = value; } /** *

The text to convert to a voice message.

*/ inline void SetMessageBody(Aws::String&& value) { m_messageBodyHasBeenSet = true; m_messageBody = std::move(value); } /** *

The text to convert to a voice message.

*/ inline void SetMessageBody(const char* value) { m_messageBodyHasBeenSet = true; m_messageBody.assign(value); } /** *

The text to convert to a voice message.

*/ inline SendVoiceMessageRequest& WithMessageBody(const Aws::String& value) { SetMessageBody(value); return *this;} /** *

The text to convert to a voice message.

*/ inline SendVoiceMessageRequest& WithMessageBody(Aws::String&& value) { SetMessageBody(std::move(value)); return *this;} /** *

The text to convert to a voice message.

*/ inline SendVoiceMessageRequest& WithMessageBody(const char* value) { SetMessageBody(value); return *this;} /** *

Specifies if the MessageBody field contains text or speech synthesis * markup language (SSML).

  • TEXT: This is the default value. * When used the maximum character limit is 3000.

  • SSML: When used * the maximum character limit is 6000 including SSML tagging.

*/ inline const VoiceMessageBodyTextType& GetMessageBodyTextType() const{ return m_messageBodyTextType; } /** *

Specifies if the MessageBody field contains text or speech synthesis * markup language (SSML).

  • TEXT: This is the default value. * When used the maximum character limit is 3000.

  • SSML: When used * the maximum character limit is 6000 including SSML tagging.

*/ inline bool MessageBodyTextTypeHasBeenSet() const { return m_messageBodyTextTypeHasBeenSet; } /** *

Specifies if the MessageBody field contains text or speech synthesis * markup language (SSML).

  • TEXT: This is the default value. * When used the maximum character limit is 3000.

  • SSML: When used * the maximum character limit is 6000 including SSML tagging.

*/ inline void SetMessageBodyTextType(const VoiceMessageBodyTextType& value) { m_messageBodyTextTypeHasBeenSet = true; m_messageBodyTextType = value; } /** *

Specifies if the MessageBody field contains text or speech synthesis * markup language (SSML).

  • TEXT: This is the default value. * When used the maximum character limit is 3000.

  • SSML: When used * the maximum character limit is 6000 including SSML tagging.

*/ inline void SetMessageBodyTextType(VoiceMessageBodyTextType&& value) { m_messageBodyTextTypeHasBeenSet = true; m_messageBodyTextType = std::move(value); } /** *

Specifies if the MessageBody field contains text or speech synthesis * markup language (SSML).

  • TEXT: This is the default value. * When used the maximum character limit is 3000.

  • SSML: When used * the maximum character limit is 6000 including SSML tagging.

*/ inline SendVoiceMessageRequest& WithMessageBodyTextType(const VoiceMessageBodyTextType& value) { SetMessageBodyTextType(value); return *this;} /** *

Specifies if the MessageBody field contains text or speech synthesis * markup language (SSML).

  • TEXT: This is the default value. * When used the maximum character limit is 3000.

  • SSML: When used * the maximum character limit is 6000 including SSML tagging.

*/ inline SendVoiceMessageRequest& WithMessageBodyTextType(VoiceMessageBodyTextType&& value) { SetMessageBodyTextType(std::move(value)); return *this;} /** *

The voice for the Amazon Polly * service to use. By default this is set to "MATTHEW".

*/ inline const VoiceId& GetVoiceId() const{ return m_voiceId; } /** *

The voice for the Amazon Polly * service to use. By default this is set to "MATTHEW".

*/ inline bool VoiceIdHasBeenSet() const { return m_voiceIdHasBeenSet; } /** *

The voice for the Amazon Polly * service to use. By default this is set to "MATTHEW".

*/ inline void SetVoiceId(const VoiceId& value) { m_voiceIdHasBeenSet = true; m_voiceId = value; } /** *

The voice for the Amazon Polly * service to use. By default this is set to "MATTHEW".

*/ inline void SetVoiceId(VoiceId&& value) { m_voiceIdHasBeenSet = true; m_voiceId = std::move(value); } /** *

The voice for the Amazon Polly * service to use. By default this is set to "MATTHEW".

*/ inline SendVoiceMessageRequest& WithVoiceId(const VoiceId& value) { SetVoiceId(value); return *this;} /** *

The voice for the Amazon Polly * service to use. By default this is set to "MATTHEW".

*/ inline SendVoiceMessageRequest& WithVoiceId(VoiceId&& value) { SetVoiceId(std::move(value)); return *this;} /** *

The name of the configuration set to use. This can be either the * ConfigurationSetName or ConfigurationSetArn.

*/ inline const Aws::String& GetConfigurationSetName() const{ return m_configurationSetName; } /** *

The name of the configuration set to use. This can be either the * ConfigurationSetName or ConfigurationSetArn.

*/ inline bool ConfigurationSetNameHasBeenSet() const { return m_configurationSetNameHasBeenSet; } /** *

The name of the configuration set to use. This can be either the * ConfigurationSetName or ConfigurationSetArn.

*/ inline void SetConfigurationSetName(const Aws::String& value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName = value; } /** *

The name of the configuration set to use. This can be either the * ConfigurationSetName or ConfigurationSetArn.

*/ inline void SetConfigurationSetName(Aws::String&& value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName = std::move(value); } /** *

The name of the configuration set to use. This can be either the * ConfigurationSetName or ConfigurationSetArn.

*/ inline void SetConfigurationSetName(const char* value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName.assign(value); } /** *

The name of the configuration set to use. This can be either the * ConfigurationSetName or ConfigurationSetArn.

*/ inline SendVoiceMessageRequest& WithConfigurationSetName(const Aws::String& value) { SetConfigurationSetName(value); return *this;} /** *

The name of the configuration set to use. This can be either the * ConfigurationSetName or ConfigurationSetArn.

*/ inline SendVoiceMessageRequest& WithConfigurationSetName(Aws::String&& value) { SetConfigurationSetName(std::move(value)); return *this;} /** *

The name of the configuration set to use. This can be either the * ConfigurationSetName or ConfigurationSetArn.

*/ inline SendVoiceMessageRequest& WithConfigurationSetName(const char* value) { SetConfigurationSetName(value); return *this;} /** *

The maximum amount to spend per voice message, in US dollars.

*/ inline const Aws::String& GetMaxPricePerMinute() const{ return m_maxPricePerMinute; } /** *

The maximum amount to spend per voice message, in US dollars.

*/ inline bool MaxPricePerMinuteHasBeenSet() const { return m_maxPricePerMinuteHasBeenSet; } /** *

The maximum amount to spend per voice message, in US dollars.

*/ inline void SetMaxPricePerMinute(const Aws::String& value) { m_maxPricePerMinuteHasBeenSet = true; m_maxPricePerMinute = value; } /** *

The maximum amount to spend per voice message, in US dollars.

*/ inline void SetMaxPricePerMinute(Aws::String&& value) { m_maxPricePerMinuteHasBeenSet = true; m_maxPricePerMinute = std::move(value); } /** *

The maximum amount to spend per voice message, in US dollars.

*/ inline void SetMaxPricePerMinute(const char* value) { m_maxPricePerMinuteHasBeenSet = true; m_maxPricePerMinute.assign(value); } /** *

The maximum amount to spend per voice message, in US dollars.

*/ inline SendVoiceMessageRequest& WithMaxPricePerMinute(const Aws::String& value) { SetMaxPricePerMinute(value); return *this;} /** *

The maximum amount to spend per voice message, in US dollars.

*/ inline SendVoiceMessageRequest& WithMaxPricePerMinute(Aws::String&& value) { SetMaxPricePerMinute(std::move(value)); return *this;} /** *

The maximum amount to spend per voice message, in US dollars.

*/ inline SendVoiceMessageRequest& WithMaxPricePerMinute(const char* value) { SetMaxPricePerMinute(value); return *this;} /** *

How long the voice message is valid for. By default this is 72 hours.

*/ inline int GetTimeToLive() const{ return m_timeToLive; } /** *

How long the voice message is valid for. By default this is 72 hours.

*/ inline bool TimeToLiveHasBeenSet() const { return m_timeToLiveHasBeenSet; } /** *

How long the voice message is valid for. By default this is 72 hours.

*/ inline void SetTimeToLive(int value) { m_timeToLiveHasBeenSet = true; m_timeToLive = value; } /** *

How long the voice message is valid for. By default this is 72 hours.

*/ inline SendVoiceMessageRequest& WithTimeToLive(int value) { SetTimeToLive(value); return *this;} /** *

You can specify custom data in this field. If you do, that data is logged to * the event destination.

*/ inline const Aws::Map& GetContext() const{ return m_context; } /** *

You can specify custom data in this field. If you do, that data is logged to * the event destination.

*/ inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; } /** *

You can specify custom data in this field. If you do, that data is logged to * the event destination.

*/ inline void SetContext(const Aws::Map& value) { m_contextHasBeenSet = true; m_context = value; } /** *

You can specify custom data in this field. If you do, that data is logged to * the event destination.

*/ inline void SetContext(Aws::Map&& value) { m_contextHasBeenSet = true; m_context = std::move(value); } /** *

You can specify custom data in this field. If you do, that data is logged to * the event destination.

*/ inline SendVoiceMessageRequest& WithContext(const Aws::Map& value) { SetContext(value); return *this;} /** *

You can specify custom data in this field. If you do, that data is logged to * the event destination.

*/ inline SendVoiceMessageRequest& WithContext(Aws::Map&& value) { SetContext(std::move(value)); return *this;} /** *

You can specify custom data in this field. If you do, that data is logged to * the event destination.

*/ inline SendVoiceMessageRequest& AddContext(const Aws::String& key, const Aws::String& value) { m_contextHasBeenSet = true; m_context.emplace(key, value); return *this; } /** *

You can specify custom data in this field. If you do, that data is logged to * the event destination.

*/ inline SendVoiceMessageRequest& AddContext(Aws::String&& key, const Aws::String& value) { m_contextHasBeenSet = true; m_context.emplace(std::move(key), value); return *this; } /** *

You can specify custom data in this field. If you do, that data is logged to * the event destination.

*/ inline SendVoiceMessageRequest& AddContext(const Aws::String& key, Aws::String&& value) { m_contextHasBeenSet = true; m_context.emplace(key, std::move(value)); return *this; } /** *

You can specify custom data in this field. If you do, that data is logged to * the event destination.

*/ inline SendVoiceMessageRequest& AddContext(Aws::String&& key, Aws::String&& value) { m_contextHasBeenSet = true; m_context.emplace(std::move(key), std::move(value)); return *this; } /** *

You can specify custom data in this field. If you do, that data is logged to * the event destination.

*/ inline SendVoiceMessageRequest& AddContext(const char* key, Aws::String&& value) { m_contextHasBeenSet = true; m_context.emplace(key, std::move(value)); return *this; } /** *

You can specify custom data in this field. If you do, that data is logged to * the event destination.

*/ inline SendVoiceMessageRequest& AddContext(Aws::String&& key, const char* value) { m_contextHasBeenSet = true; m_context.emplace(std::move(key), value); return *this; } /** *

You can specify custom data in this field. If you do, that data is logged to * the event destination.

*/ inline SendVoiceMessageRequest& AddContext(const char* key, const char* value) { m_contextHasBeenSet = true; m_context.emplace(key, value); return *this; } /** *

When set to true, the message is checked and validated, but isn't sent to the * end recipient.

*/ inline bool GetDryRun() const{ return m_dryRun; } /** *

When set to true, the message is checked and validated, but isn't sent to the * end recipient.

*/ inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } /** *

When set to true, the message is checked and validated, but isn't sent to the * end recipient.

*/ inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } /** *

When set to true, the message is checked and validated, but isn't sent to the * end recipient.

*/ inline SendVoiceMessageRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} private: Aws::String m_destinationPhoneNumber; bool m_destinationPhoneNumberHasBeenSet = false; Aws::String m_originationIdentity; bool m_originationIdentityHasBeenSet = false; Aws::String m_messageBody; bool m_messageBodyHasBeenSet = false; VoiceMessageBodyTextType m_messageBodyTextType; bool m_messageBodyTextTypeHasBeenSet = false; VoiceId m_voiceId; bool m_voiceIdHasBeenSet = false; Aws::String m_configurationSetName; bool m_configurationSetNameHasBeenSet = false; Aws::String m_maxPricePerMinute; bool m_maxPricePerMinuteHasBeenSet = false; int m_timeToLive; bool m_timeToLiveHasBeenSet = false; Aws::Map m_context; bool m_contextHasBeenSet = false; bool m_dryRun; bool m_dryRunHasBeenSet = false; }; } // namespace Model } // namespace PinpointSMSVoiceV2 } // namespace Aws