/** * 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 #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace PinpointSMSVoiceV2 { namespace Model { class RequestPhoneNumberResult { public: AWS_PINPOINTSMSVOICEV2_API RequestPhoneNumberResult(); AWS_PINPOINTSMSVOICEV2_API RequestPhoneNumberResult(const Aws::AmazonWebServiceResult& result); AWS_PINPOINTSMSVOICEV2_API RequestPhoneNumberResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The Amazon Resource Name (ARN) of the requested phone number.

*/ inline const Aws::String& GetPhoneNumberArn() const{ return m_phoneNumberArn; } /** *

The Amazon Resource Name (ARN) of the requested phone number.

*/ inline void SetPhoneNumberArn(const Aws::String& value) { m_phoneNumberArn = value; } /** *

The Amazon Resource Name (ARN) of the requested phone number.

*/ inline void SetPhoneNumberArn(Aws::String&& value) { m_phoneNumberArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the requested phone number.

*/ inline void SetPhoneNumberArn(const char* value) { m_phoneNumberArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the requested phone number.

*/ inline RequestPhoneNumberResult& WithPhoneNumberArn(const Aws::String& value) { SetPhoneNumberArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the requested phone number.

*/ inline RequestPhoneNumberResult& WithPhoneNumberArn(Aws::String&& value) { SetPhoneNumberArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the requested phone number.

*/ inline RequestPhoneNumberResult& WithPhoneNumberArn(const char* value) { SetPhoneNumberArn(value); return *this;} /** *

The unique identifier of the new phone number.

*/ inline const Aws::String& GetPhoneNumberId() const{ return m_phoneNumberId; } /** *

The unique identifier of the new phone number.

*/ inline void SetPhoneNumberId(const Aws::String& value) { m_phoneNumberId = value; } /** *

The unique identifier of the new phone number.

*/ inline void SetPhoneNumberId(Aws::String&& value) { m_phoneNumberId = std::move(value); } /** *

The unique identifier of the new phone number.

*/ inline void SetPhoneNumberId(const char* value) { m_phoneNumberId.assign(value); } /** *

The unique identifier of the new phone number.

*/ inline RequestPhoneNumberResult& WithPhoneNumberId(const Aws::String& value) { SetPhoneNumberId(value); return *this;} /** *

The unique identifier of the new phone number.

*/ inline RequestPhoneNumberResult& WithPhoneNumberId(Aws::String&& value) { SetPhoneNumberId(std::move(value)); return *this;} /** *

The unique identifier of the new phone number.

*/ inline RequestPhoneNumberResult& WithPhoneNumberId(const char* value) { SetPhoneNumberId(value); return *this;} /** *

The new phone number that was requested.

*/ inline const Aws::String& GetPhoneNumber() const{ return m_phoneNumber; } /** *

The new phone number that was requested.

*/ inline void SetPhoneNumber(const Aws::String& value) { m_phoneNumber = value; } /** *

The new phone number that was requested.

*/ inline void SetPhoneNumber(Aws::String&& value) { m_phoneNumber = std::move(value); } /** *

The new phone number that was requested.

*/ inline void SetPhoneNumber(const char* value) { m_phoneNumber.assign(value); } /** *

The new phone number that was requested.

*/ inline RequestPhoneNumberResult& WithPhoneNumber(const Aws::String& value) { SetPhoneNumber(value); return *this;} /** *

The new phone number that was requested.

*/ inline RequestPhoneNumberResult& WithPhoneNumber(Aws::String&& value) { SetPhoneNumber(std::move(value)); return *this;} /** *

The new phone number that was requested.

*/ inline RequestPhoneNumberResult& WithPhoneNumber(const char* value) { SetPhoneNumber(value); return *this;} /** *

The current status of the request.

*/ inline const NumberStatus& GetStatus() const{ return m_status; } /** *

The current status of the request.

*/ inline void SetStatus(const NumberStatus& value) { m_status = value; } /** *

The current status of the request.

*/ inline void SetStatus(NumberStatus&& value) { m_status = std::move(value); } /** *

The current status of the request.

*/ inline RequestPhoneNumberResult& WithStatus(const NumberStatus& value) { SetStatus(value); return *this;} /** *

The current status of the request.

*/ inline RequestPhoneNumberResult& WithStatus(NumberStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The two-character code, in ISO 3166-1 alpha-2 format, for the country or * region.

*/ inline const Aws::String& GetIsoCountryCode() const{ return m_isoCountryCode; } /** *

The two-character code, in ISO 3166-1 alpha-2 format, for the country or * region.

*/ inline void SetIsoCountryCode(const Aws::String& value) { m_isoCountryCode = value; } /** *

The two-character code, in ISO 3166-1 alpha-2 format, for the country or * region.

*/ inline void SetIsoCountryCode(Aws::String&& value) { m_isoCountryCode = std::move(value); } /** *

The two-character code, in ISO 3166-1 alpha-2 format, for the country or * region.

*/ inline void SetIsoCountryCode(const char* value) { m_isoCountryCode.assign(value); } /** *

The two-character code, in ISO 3166-1 alpha-2 format, for the country or * region.

*/ inline RequestPhoneNumberResult& WithIsoCountryCode(const Aws::String& value) { SetIsoCountryCode(value); return *this;} /** *

The two-character code, in ISO 3166-1 alpha-2 format, for the country or * region.

*/ inline RequestPhoneNumberResult& WithIsoCountryCode(Aws::String&& value) { SetIsoCountryCode(std::move(value)); return *this;} /** *

The two-character code, in ISO 3166-1 alpha-2 format, for the country or * region.

*/ inline RequestPhoneNumberResult& WithIsoCountryCode(const char* value) { SetIsoCountryCode(value); return *this;} /** *

The type of message. Valid values are TRANSACTIONAL for messages that are * critical or time-sensitive and PROMOTIONAL for messages that aren't critical or * time-sensitive.

*/ inline const MessageType& GetMessageType() const{ return m_messageType; } /** *

The type of message. Valid values are TRANSACTIONAL for messages that are * critical or time-sensitive and PROMOTIONAL for messages that aren't critical or * time-sensitive.

*/ inline void SetMessageType(const MessageType& value) { m_messageType = value; } /** *

The type of message. Valid values are TRANSACTIONAL for messages that are * critical or time-sensitive and PROMOTIONAL for messages that aren't critical or * time-sensitive.

*/ inline void SetMessageType(MessageType&& value) { m_messageType = std::move(value); } /** *

The type of message. Valid values are TRANSACTIONAL for messages that are * critical or time-sensitive and PROMOTIONAL for messages that aren't critical or * time-sensitive.

*/ inline RequestPhoneNumberResult& WithMessageType(const MessageType& value) { SetMessageType(value); return *this;} /** *

The type of message. Valid values are TRANSACTIONAL for messages that are * critical or time-sensitive and PROMOTIONAL for messages that aren't critical or * time-sensitive.

*/ inline RequestPhoneNumberResult& WithMessageType(MessageType&& value) { SetMessageType(std::move(value)); return *this;} /** *

Indicates if the phone number will be used for text messages, voice messages * or both.

*/ inline const Aws::Vector& GetNumberCapabilities() const{ return m_numberCapabilities; } /** *

Indicates if the phone number will be used for text messages, voice messages * or both.

*/ inline void SetNumberCapabilities(const Aws::Vector& value) { m_numberCapabilities = value; } /** *

Indicates if the phone number will be used for text messages, voice messages * or both.

*/ inline void SetNumberCapabilities(Aws::Vector&& value) { m_numberCapabilities = std::move(value); } /** *

Indicates if the phone number will be used for text messages, voice messages * or both.

*/ inline RequestPhoneNumberResult& WithNumberCapabilities(const Aws::Vector& value) { SetNumberCapabilities(value); return *this;} /** *

Indicates if the phone number will be used for text messages, voice messages * or both.

*/ inline RequestPhoneNumberResult& WithNumberCapabilities(Aws::Vector&& value) { SetNumberCapabilities(std::move(value)); return *this;} /** *

Indicates if the phone number will be used for text messages, voice messages * or both.

*/ inline RequestPhoneNumberResult& AddNumberCapabilities(const NumberCapability& value) { m_numberCapabilities.push_back(value); return *this; } /** *

Indicates if the phone number will be used for text messages, voice messages * or both.

*/ inline RequestPhoneNumberResult& AddNumberCapabilities(NumberCapability&& value) { m_numberCapabilities.push_back(std::move(value)); return *this; } /** *

The type of number that was released.

*/ inline const RequestableNumberType& GetNumberType() const{ return m_numberType; } /** *

The type of number that was released.

*/ inline void SetNumberType(const RequestableNumberType& value) { m_numberType = value; } /** *

The type of number that was released.

*/ inline void SetNumberType(RequestableNumberType&& value) { m_numberType = std::move(value); } /** *

The type of number that was released.

*/ inline RequestPhoneNumberResult& WithNumberType(const RequestableNumberType& value) { SetNumberType(value); return *this;} /** *

The type of number that was released.

*/ inline RequestPhoneNumberResult& WithNumberType(RequestableNumberType&& value) { SetNumberType(std::move(value)); return *this;} /** *

The monthly price, in US dollars, to lease the phone number.

*/ inline const Aws::String& GetMonthlyLeasingPrice() const{ return m_monthlyLeasingPrice; } /** *

The monthly price, in US dollars, to lease the phone number.

*/ inline void SetMonthlyLeasingPrice(const Aws::String& value) { m_monthlyLeasingPrice = value; } /** *

The monthly price, in US dollars, to lease the phone number.

*/ inline void SetMonthlyLeasingPrice(Aws::String&& value) { m_monthlyLeasingPrice = std::move(value); } /** *

The monthly price, in US dollars, to lease the phone number.

*/ inline void SetMonthlyLeasingPrice(const char* value) { m_monthlyLeasingPrice.assign(value); } /** *

The monthly price, in US dollars, to lease the phone number.

*/ inline RequestPhoneNumberResult& WithMonthlyLeasingPrice(const Aws::String& value) { SetMonthlyLeasingPrice(value); return *this;} /** *

The monthly price, in US dollars, to lease the phone number.

*/ inline RequestPhoneNumberResult& WithMonthlyLeasingPrice(Aws::String&& value) { SetMonthlyLeasingPrice(std::move(value)); return *this;} /** *

The monthly price, in US dollars, to lease the phone number.

*/ inline RequestPhoneNumberResult& WithMonthlyLeasingPrice(const char* value) { SetMonthlyLeasingPrice(value); return *this;} /** *

By default this is set to false. When set to true you can receive incoming * text messages from your end recipients.

*/ inline bool GetTwoWayEnabled() const{ return m_twoWayEnabled; } /** *

By default this is set to false. When set to true you can receive incoming * text messages from your end recipients.

*/ inline void SetTwoWayEnabled(bool value) { m_twoWayEnabled = value; } /** *

By default this is set to false. When set to true you can receive incoming * text messages from your end recipients.

*/ inline RequestPhoneNumberResult& WithTwoWayEnabled(bool value) { SetTwoWayEnabled(value); return *this;} /** *

The ARN used to identify the two way channel.

*/ inline const Aws::String& GetTwoWayChannelArn() const{ return m_twoWayChannelArn; } /** *

The ARN used to identify the two way channel.

*/ inline void SetTwoWayChannelArn(const Aws::String& value) { m_twoWayChannelArn = value; } /** *

The ARN used to identify the two way channel.

*/ inline void SetTwoWayChannelArn(Aws::String&& value) { m_twoWayChannelArn = std::move(value); } /** *

The ARN used to identify the two way channel.

*/ inline void SetTwoWayChannelArn(const char* value) { m_twoWayChannelArn.assign(value); } /** *

The ARN used to identify the two way channel.

*/ inline RequestPhoneNumberResult& WithTwoWayChannelArn(const Aws::String& value) { SetTwoWayChannelArn(value); return *this;} /** *

The ARN used to identify the two way channel.

*/ inline RequestPhoneNumberResult& WithTwoWayChannelArn(Aws::String&& value) { SetTwoWayChannelArn(std::move(value)); return *this;} /** *

The ARN used to identify the two way channel.

*/ inline RequestPhoneNumberResult& WithTwoWayChannelArn(const char* value) { SetTwoWayChannelArn(value); return *this;} /** *

By default this is set to false. When an end recipient sends a message that * begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint * automatically replies with a customizable message and adds the end recipient to * the OptOutList. When set to true you're responsible for responding to HELP and * STOP requests. You're also responsible for tracking and honoring opt-out * requests.

*/ inline bool GetSelfManagedOptOutsEnabled() const{ return m_selfManagedOptOutsEnabled; } /** *

By default this is set to false. When an end recipient sends a message that * begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint * automatically replies with a customizable message and adds the end recipient to * the OptOutList. When set to true you're responsible for responding to HELP and * STOP requests. You're also responsible for tracking and honoring opt-out * requests.

*/ inline void SetSelfManagedOptOutsEnabled(bool value) { m_selfManagedOptOutsEnabled = value; } /** *

By default this is set to false. When an end recipient sends a message that * begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint * automatically replies with a customizable message and adds the end recipient to * the OptOutList. When set to true you're responsible for responding to HELP and * STOP requests. You're also responsible for tracking and honoring opt-out * requests.

*/ inline RequestPhoneNumberResult& WithSelfManagedOptOutsEnabled(bool value) { SetSelfManagedOptOutsEnabled(value); return *this;} /** *

The name of the OptOutList that is associated with the requested phone * number.

*/ inline const Aws::String& GetOptOutListName() const{ return m_optOutListName; } /** *

The name of the OptOutList that is associated with the requested phone * number.

*/ inline void SetOptOutListName(const Aws::String& value) { m_optOutListName = value; } /** *

The name of the OptOutList that is associated with the requested phone * number.

*/ inline void SetOptOutListName(Aws::String&& value) { m_optOutListName = std::move(value); } /** *

The name of the OptOutList that is associated with the requested phone * number.

*/ inline void SetOptOutListName(const char* value) { m_optOutListName.assign(value); } /** *

The name of the OptOutList that is associated with the requested phone * number.

*/ inline RequestPhoneNumberResult& WithOptOutListName(const Aws::String& value) { SetOptOutListName(value); return *this;} /** *

The name of the OptOutList that is associated with the requested phone * number.

*/ inline RequestPhoneNumberResult& WithOptOutListName(Aws::String&& value) { SetOptOutListName(std::move(value)); return *this;} /** *

The name of the OptOutList that is associated with the requested phone * number.

*/ inline RequestPhoneNumberResult& WithOptOutListName(const char* value) { SetOptOutListName(value); return *this;} /** *

By default this is set to false. When set to true the phone number can't be * deleted.

*/ inline bool GetDeletionProtectionEnabled() const{ return m_deletionProtectionEnabled; } /** *

By default this is set to false. When set to true the phone number can't be * deleted.

*/ inline void SetDeletionProtectionEnabled(bool value) { m_deletionProtectionEnabled = value; } /** *

By default this is set to false. When set to true the phone number can't be * deleted.

*/ inline RequestPhoneNumberResult& WithDeletionProtectionEnabled(bool value) { SetDeletionProtectionEnabled(value); return *this;} /** *

The unique identifier of the pool associated with the phone number

*/ inline const Aws::String& GetPoolId() const{ return m_poolId; } /** *

The unique identifier of the pool associated with the phone number

*/ inline void SetPoolId(const Aws::String& value) { m_poolId = value; } /** *

The unique identifier of the pool associated with the phone number

*/ inline void SetPoolId(Aws::String&& value) { m_poolId = std::move(value); } /** *

The unique identifier of the pool associated with the phone number

*/ inline void SetPoolId(const char* value) { m_poolId.assign(value); } /** *

The unique identifier of the pool associated with the phone number

*/ inline RequestPhoneNumberResult& WithPoolId(const Aws::String& value) { SetPoolId(value); return *this;} /** *

The unique identifier of the pool associated with the phone number

*/ inline RequestPhoneNumberResult& WithPoolId(Aws::String&& value) { SetPoolId(std::move(value)); return *this;} /** *

The unique identifier of the pool associated with the phone number

*/ inline RequestPhoneNumberResult& WithPoolId(const char* value) { SetPoolId(value); return *this;} /** *

An array of key and value pair tags that are associated with the phone * number.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

An array of key and value pair tags that are associated with the phone * number.

*/ inline void SetTags(const Aws::Vector& value) { m_tags = value; } /** *

An array of key and value pair tags that are associated with the phone * number.

*/ inline void SetTags(Aws::Vector&& value) { m_tags = std::move(value); } /** *

An array of key and value pair tags that are associated with the phone * number.

*/ inline RequestPhoneNumberResult& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

An array of key and value pair tags that are associated with the phone * number.

*/ inline RequestPhoneNumberResult& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

An array of key and value pair tags that are associated with the phone * number.

*/ inline RequestPhoneNumberResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; } /** *

An array of key and value pair tags that are associated with the phone * number.

*/ inline RequestPhoneNumberResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; } /** *

The time when the phone number was created, in UNIX epoch time format.

*/ inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } /** *

The time when the phone number was created, in UNIX epoch time format.

*/ inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestamp = value; } /** *

The time when the phone number was created, in UNIX epoch time format.

*/ inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestamp = std::move(value); } /** *

The time when the phone number was created, in UNIX epoch time format.

*/ inline RequestPhoneNumberResult& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} /** *

The time when the phone number was created, in UNIX epoch time format.

*/ inline RequestPhoneNumberResult& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline RequestPhoneNumberResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline RequestPhoneNumberResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline RequestPhoneNumberResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_phoneNumberArn; Aws::String m_phoneNumberId; Aws::String m_phoneNumber; NumberStatus m_status; Aws::String m_isoCountryCode; MessageType m_messageType; Aws::Vector m_numberCapabilities; RequestableNumberType m_numberType; Aws::String m_monthlyLeasingPrice; bool m_twoWayEnabled; Aws::String m_twoWayChannelArn; bool m_selfManagedOptOutsEnabled; Aws::String m_optOutListName; bool m_deletionProtectionEnabled; Aws::String m_poolId; Aws::Vector m_tags; Aws::Utils::DateTime m_createdTimestamp; Aws::String m_requestId; }; } // namespace Model } // namespace PinpointSMSVoiceV2 } // namespace Aws