/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The information for a phone number in an Amazon Web Services
* account.See Also:
AWS
* API Reference
The Amazon Resource Name (ARN) associated with the phone number.
*/ inline const Aws::String& GetPhoneNumberArn() const{ return m_phoneNumberArn; } /** *The Amazon Resource Name (ARN) associated with the phone number.
*/ inline bool PhoneNumberArnHasBeenSet() const { return m_phoneNumberArnHasBeenSet; } /** *The Amazon Resource Name (ARN) associated with the phone number.
*/ inline void SetPhoneNumberArn(const Aws::String& value) { m_phoneNumberArnHasBeenSet = true; m_phoneNumberArn = value; } /** *The Amazon Resource Name (ARN) associated with the phone number.
*/ inline void SetPhoneNumberArn(Aws::String&& value) { m_phoneNumberArnHasBeenSet = true; m_phoneNumberArn = std::move(value); } /** *The Amazon Resource Name (ARN) associated with the phone number.
*/ inline void SetPhoneNumberArn(const char* value) { m_phoneNumberArnHasBeenSet = true; m_phoneNumberArn.assign(value); } /** *The Amazon Resource Name (ARN) associated with the phone number.
*/ inline PhoneNumberInformation& WithPhoneNumberArn(const Aws::String& value) { SetPhoneNumberArn(value); return *this;} /** *The Amazon Resource Name (ARN) associated with the phone number.
*/ inline PhoneNumberInformation& WithPhoneNumberArn(Aws::String&& value) { SetPhoneNumberArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) associated with the phone number.
*/ inline PhoneNumberInformation& WithPhoneNumberArn(const char* value) { SetPhoneNumberArn(value); return *this;} /** *The unique identifier for the phone number.
*/ inline const Aws::String& GetPhoneNumberId() const{ return m_phoneNumberId; } /** *The unique identifier for the phone number.
*/ inline bool PhoneNumberIdHasBeenSet() const { return m_phoneNumberIdHasBeenSet; } /** *The unique identifier for the phone number.
*/ inline void SetPhoneNumberId(const Aws::String& value) { m_phoneNumberIdHasBeenSet = true; m_phoneNumberId = value; } /** *The unique identifier for the phone number.
*/ inline void SetPhoneNumberId(Aws::String&& value) { m_phoneNumberIdHasBeenSet = true; m_phoneNumberId = std::move(value); } /** *The unique identifier for the phone number.
*/ inline void SetPhoneNumberId(const char* value) { m_phoneNumberIdHasBeenSet = true; m_phoneNumberId.assign(value); } /** *The unique identifier for the phone number.
*/ inline PhoneNumberInformation& WithPhoneNumberId(const Aws::String& value) { SetPhoneNumberId(value); return *this;} /** *The unique identifier for the phone number.
*/ inline PhoneNumberInformation& WithPhoneNumberId(Aws::String&& value) { SetPhoneNumberId(std::move(value)); return *this;} /** *The unique identifier for the phone number.
*/ inline PhoneNumberInformation& WithPhoneNumberId(const char* value) { SetPhoneNumberId(value); return *this;} /** *The phone number in E.164 format.
*/ inline const Aws::String& GetPhoneNumber() const{ return m_phoneNumber; } /** *The phone number in E.164 format.
*/ inline bool PhoneNumberHasBeenSet() const { return m_phoneNumberHasBeenSet; } /** *The phone number in E.164 format.
*/ inline void SetPhoneNumber(const Aws::String& value) { m_phoneNumberHasBeenSet = true; m_phoneNumber = value; } /** *The phone number in E.164 format.
*/ inline void SetPhoneNumber(Aws::String&& value) { m_phoneNumberHasBeenSet = true; m_phoneNumber = std::move(value); } /** *The phone number in E.164 format.
*/ inline void SetPhoneNumber(const char* value) { m_phoneNumberHasBeenSet = true; m_phoneNumber.assign(value); } /** *The phone number in E.164 format.
*/ inline PhoneNumberInformation& WithPhoneNumber(const Aws::String& value) { SetPhoneNumber(value); return *this;} /** *The phone number in E.164 format.
*/ inline PhoneNumberInformation& WithPhoneNumber(Aws::String&& value) { SetPhoneNumber(std::move(value)); return *this;} /** *The phone number in E.164 format.
*/ inline PhoneNumberInformation& WithPhoneNumber(const char* value) { SetPhoneNumber(value); return *this;} /** *The current status of the phone number.
*/ inline const NumberStatus& GetStatus() const{ return m_status; } /** *The current status of the phone number.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The current status of the phone number.
*/ inline void SetStatus(const NumberStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The current status of the phone number.
*/ inline void SetStatus(NumberStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The current status of the phone number.
*/ inline PhoneNumberInformation& WithStatus(const NumberStatus& value) { SetStatus(value); return *this;} /** *The current status of the phone number.
*/ inline PhoneNumberInformation& 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 bool IsoCountryCodeHasBeenSet() const { return m_isoCountryCodeHasBeenSet; } /** *The two-character code, in ISO 3166-1 alpha-2 format, for the country or * region.
*/ inline void SetIsoCountryCode(const Aws::String& value) { m_isoCountryCodeHasBeenSet = true; 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_isoCountryCodeHasBeenSet = true; 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_isoCountryCodeHasBeenSet = true; m_isoCountryCode.assign(value); } /** *The two-character code, in ISO 3166-1 alpha-2 format, for the country or * region.
*/ inline PhoneNumberInformation& 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 PhoneNumberInformation& 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 PhoneNumberInformation& 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 bool MessageTypeHasBeenSet() const { return m_messageTypeHasBeenSet; } /** *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_messageTypeHasBeenSet = true; 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_messageTypeHasBeenSet = true; 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 PhoneNumberInformation& 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 PhoneNumberInformation& WithMessageType(MessageType&& value) { SetMessageType(std::move(value)); return *this;} /** *Describes if the origination identity can be used for text messages, voice * calls or both.
*/ inline const Aws::VectorDescribes if the origination identity can be used for text messages, voice * calls or both.
*/ inline bool NumberCapabilitiesHasBeenSet() const { return m_numberCapabilitiesHasBeenSet; } /** *Describes if the origination identity can be used for text messages, voice * calls or both.
*/ inline void SetNumberCapabilities(const Aws::VectorDescribes if the origination identity can be used for text messages, voice * calls or both.
*/ inline void SetNumberCapabilities(Aws::VectorDescribes if the origination identity can be used for text messages, voice * calls or both.
*/ inline PhoneNumberInformation& WithNumberCapabilities(const Aws::VectorDescribes if the origination identity can be used for text messages, voice * calls or both.
*/ inline PhoneNumberInformation& WithNumberCapabilities(Aws::VectorDescribes if the origination identity can be used for text messages, voice * calls or both.
*/ inline PhoneNumberInformation& AddNumberCapabilities(const NumberCapability& value) { m_numberCapabilitiesHasBeenSet = true; m_numberCapabilities.push_back(value); return *this; } /** *Describes if the origination identity can be used for text messages, voice * calls or both.
*/ inline PhoneNumberInformation& AddNumberCapabilities(NumberCapability&& value) { m_numberCapabilitiesHasBeenSet = true; m_numberCapabilities.push_back(std::move(value)); return *this; } /** *The type of phone number.
*/ inline const NumberType& GetNumberType() const{ return m_numberType; } /** *The type of phone number.
*/ inline bool NumberTypeHasBeenSet() const { return m_numberTypeHasBeenSet; } /** *The type of phone number.
*/ inline void SetNumberType(const NumberType& value) { m_numberTypeHasBeenSet = true; m_numberType = value; } /** *The type of phone number.
*/ inline void SetNumberType(NumberType&& value) { m_numberTypeHasBeenSet = true; m_numberType = std::move(value); } /** *The type of phone number.
*/ inline PhoneNumberInformation& WithNumberType(const NumberType& value) { SetNumberType(value); return *this;} /** *The type of phone number.
*/ inline PhoneNumberInformation& WithNumberType(NumberType&& value) { SetNumberType(std::move(value)); return *this;} /** *The price, in US dollars, to lease the phone number.
*/ inline const Aws::String& GetMonthlyLeasingPrice() const{ return m_monthlyLeasingPrice; } /** *The price, in US dollars, to lease the phone number.
*/ inline bool MonthlyLeasingPriceHasBeenSet() const { return m_monthlyLeasingPriceHasBeenSet; } /** *The price, in US dollars, to lease the phone number.
*/ inline void SetMonthlyLeasingPrice(const Aws::String& value) { m_monthlyLeasingPriceHasBeenSet = true; m_monthlyLeasingPrice = value; } /** *The price, in US dollars, to lease the phone number.
*/ inline void SetMonthlyLeasingPrice(Aws::String&& value) { m_monthlyLeasingPriceHasBeenSet = true; m_monthlyLeasingPrice = std::move(value); } /** *The price, in US dollars, to lease the phone number.
*/ inline void SetMonthlyLeasingPrice(const char* value) { m_monthlyLeasingPriceHasBeenSet = true; m_monthlyLeasingPrice.assign(value); } /** *The price, in US dollars, to lease the phone number.
*/ inline PhoneNumberInformation& WithMonthlyLeasingPrice(const Aws::String& value) { SetMonthlyLeasingPrice(value); return *this;} /** *The price, in US dollars, to lease the phone number.
*/ inline PhoneNumberInformation& WithMonthlyLeasingPrice(Aws::String&& value) { SetMonthlyLeasingPrice(std::move(value)); return *this;} /** *The price, in US dollars, to lease the phone number.
*/ inline PhoneNumberInformation& 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 using the TwoWayChannelArn.
*/ 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 using the TwoWayChannelArn.
*/ inline bool TwoWayEnabledHasBeenSet() const { return m_twoWayEnabledHasBeenSet; } /** *By default this is set to false. When set to true you can receive incoming * text messages from your end recipients using the TwoWayChannelArn.
*/ inline void SetTwoWayEnabled(bool value) { m_twoWayEnabledHasBeenSet = true; m_twoWayEnabled = value; } /** *By default this is set to false. When set to true you can receive incoming * text messages from your end recipients using the TwoWayChannelArn.
*/ inline PhoneNumberInformation& WithTwoWayEnabled(bool value) { SetTwoWayEnabled(value); return *this;} /** *The Amazon Resource Name (ARN) of the two way channel.
*/ inline const Aws::String& GetTwoWayChannelArn() const{ return m_twoWayChannelArn; } /** *The Amazon Resource Name (ARN) of the two way channel.
*/ inline bool TwoWayChannelArnHasBeenSet() const { return m_twoWayChannelArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the two way channel.
*/ inline void SetTwoWayChannelArn(const Aws::String& value) { m_twoWayChannelArnHasBeenSet = true; m_twoWayChannelArn = value; } /** *The Amazon Resource Name (ARN) of the two way channel.
*/ inline void SetTwoWayChannelArn(Aws::String&& value) { m_twoWayChannelArnHasBeenSet = true; m_twoWayChannelArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the two way channel.
*/ inline void SetTwoWayChannelArn(const char* value) { m_twoWayChannelArnHasBeenSet = true; m_twoWayChannelArn.assign(value); } /** *The Amazon Resource Name (ARN) of the two way channel.
*/ inline PhoneNumberInformation& WithTwoWayChannelArn(const Aws::String& value) { SetTwoWayChannelArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the two way channel.
*/ inline PhoneNumberInformation& WithTwoWayChannelArn(Aws::String&& value) { SetTwoWayChannelArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the two way channel.
*/ inline PhoneNumberInformation& WithTwoWayChannelArn(const char* value) { SetTwoWayChannelArn(value); return *this;} /** *When set to false 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 request. For more information * see Self-managed * opt-outs
*/ inline bool GetSelfManagedOptOutsEnabled() const{ return m_selfManagedOptOutsEnabled; } /** *When set to false 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 request. For more information * see Self-managed * opt-outs
*/ inline bool SelfManagedOptOutsEnabledHasBeenSet() const { return m_selfManagedOptOutsEnabledHasBeenSet; } /** *When set to false 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 request. For more information * see Self-managed * opt-outs
*/ inline void SetSelfManagedOptOutsEnabled(bool value) { m_selfManagedOptOutsEnabledHasBeenSet = true; m_selfManagedOptOutsEnabled = value; } /** *When set to false 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 request. For more information * see Self-managed * opt-outs
*/ inline PhoneNumberInformation& WithSelfManagedOptOutsEnabled(bool value) { SetSelfManagedOptOutsEnabled(value); return *this;} /** *The name of the OptOutList associated with the phone number.
*/ inline const Aws::String& GetOptOutListName() const{ return m_optOutListName; } /** *The name of the OptOutList associated with the phone number.
*/ inline bool OptOutListNameHasBeenSet() const { return m_optOutListNameHasBeenSet; } /** *The name of the OptOutList associated with the phone number.
*/ inline void SetOptOutListName(const Aws::String& value) { m_optOutListNameHasBeenSet = true; m_optOutListName = value; } /** *The name of the OptOutList associated with the phone number.
*/ inline void SetOptOutListName(Aws::String&& value) { m_optOutListNameHasBeenSet = true; m_optOutListName = std::move(value); } /** *The name of the OptOutList associated with the phone number.
*/ inline void SetOptOutListName(const char* value) { m_optOutListNameHasBeenSet = true; m_optOutListName.assign(value); } /** *The name of the OptOutList associated with the phone number.
*/ inline PhoneNumberInformation& WithOptOutListName(const Aws::String& value) { SetOptOutListName(value); return *this;} /** *The name of the OptOutList associated with the phone number.
*/ inline PhoneNumberInformation& WithOptOutListName(Aws::String&& value) { SetOptOutListName(std::move(value)); return *this;} /** *The name of the OptOutList associated with the phone number.
*/ inline PhoneNumberInformation& WithOptOutListName(const char* value) { SetOptOutListName(value); return *this;} /** *When set to true the phone number can't be deleted.
*/ inline bool GetDeletionProtectionEnabled() const{ return m_deletionProtectionEnabled; } /** *When set to true the phone number can't be deleted.
*/ inline bool DeletionProtectionEnabledHasBeenSet() const { return m_deletionProtectionEnabledHasBeenSet; } /** *When set to true the phone number can't be deleted.
*/ inline void SetDeletionProtectionEnabled(bool value) { m_deletionProtectionEnabledHasBeenSet = true; m_deletionProtectionEnabled = value; } /** *When set to true the phone number can't be deleted.
*/ inline PhoneNumberInformation& 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 bool PoolIdHasBeenSet() const { return m_poolIdHasBeenSet; } /** *The unique identifier of the pool associated with the phone number.
*/ inline void SetPoolId(const Aws::String& value) { m_poolIdHasBeenSet = true; m_poolId = value; } /** *The unique identifier of the pool associated with the phone number.
*/ inline void SetPoolId(Aws::String&& value) { m_poolIdHasBeenSet = true; m_poolId = std::move(value); } /** *The unique identifier of the pool associated with the phone number.
*/ inline void SetPoolId(const char* value) { m_poolIdHasBeenSet = true; m_poolId.assign(value); } /** *The unique identifier of the pool associated with the phone number.
*/ inline PhoneNumberInformation& WithPoolId(const Aws::String& value) { SetPoolId(value); return *this;} /** *The unique identifier of the pool associated with the phone number.
*/ inline PhoneNumberInformation& WithPoolId(Aws::String&& value) { SetPoolId(std::move(value)); return *this;} /** *The unique identifier of the pool associated with the phone number.
*/ inline PhoneNumberInformation& WithPoolId(const char* value) { SetPoolId(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 bool CreatedTimestampHasBeenSet() const { return m_createdTimestampHasBeenSet; } /** *The time when the phone number was created, in UNIX epoch time format.
*/ inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = value; } /** *The time when the phone number was created, in UNIX epoch time format.
*/ inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = std::move(value); } /** *The time when the phone number was created, in UNIX epoch time format.
*/ inline PhoneNumberInformation& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} /** *The time when the phone number was created, in UNIX epoch time format.
*/ inline PhoneNumberInformation& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} private: Aws::String m_phoneNumberArn; bool m_phoneNumberArnHasBeenSet = false; Aws::String m_phoneNumberId; bool m_phoneNumberIdHasBeenSet = false; Aws::String m_phoneNumber; bool m_phoneNumberHasBeenSet = false; NumberStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_isoCountryCode; bool m_isoCountryCodeHasBeenSet = false; MessageType m_messageType; bool m_messageTypeHasBeenSet = false; Aws::Vector