/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The information for a pool in an Amazon Web Services account.See
* Also:
AWS
* API Reference
The Amazon Resource Name (ARN) for the pool.
*/ inline const Aws::String& GetPoolArn() const{ return m_poolArn; } /** *The Amazon Resource Name (ARN) for the pool.
*/ inline bool PoolArnHasBeenSet() const { return m_poolArnHasBeenSet; } /** *The Amazon Resource Name (ARN) for the pool.
*/ inline void SetPoolArn(const Aws::String& value) { m_poolArnHasBeenSet = true; m_poolArn = value; } /** *The Amazon Resource Name (ARN) for the pool.
*/ inline void SetPoolArn(Aws::String&& value) { m_poolArnHasBeenSet = true; m_poolArn = std::move(value); } /** *The Amazon Resource Name (ARN) for the pool.
*/ inline void SetPoolArn(const char* value) { m_poolArnHasBeenSet = true; m_poolArn.assign(value); } /** *The Amazon Resource Name (ARN) for the pool.
*/ inline PoolInformation& WithPoolArn(const Aws::String& value) { SetPoolArn(value); return *this;} /** *The Amazon Resource Name (ARN) for the pool.
*/ inline PoolInformation& WithPoolArn(Aws::String&& value) { SetPoolArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) for the pool.
*/ inline PoolInformation& WithPoolArn(const char* value) { SetPoolArn(value); return *this;} /** *The unique identifier for the pool.
*/ inline const Aws::String& GetPoolId() const{ return m_poolId; } /** *The unique identifier for the pool.
*/ inline bool PoolIdHasBeenSet() const { return m_poolIdHasBeenSet; } /** *The unique identifier for the pool.
*/ inline void SetPoolId(const Aws::String& value) { m_poolIdHasBeenSet = true; m_poolId = value; } /** *The unique identifier for the pool.
*/ inline void SetPoolId(Aws::String&& value) { m_poolIdHasBeenSet = true; m_poolId = std::move(value); } /** *The unique identifier for the pool.
*/ inline void SetPoolId(const char* value) { m_poolIdHasBeenSet = true; m_poolId.assign(value); } /** *The unique identifier for the pool.
*/ inline PoolInformation& WithPoolId(const Aws::String& value) { SetPoolId(value); return *this;} /** *The unique identifier for the pool.
*/ inline PoolInformation& WithPoolId(Aws::String&& value) { SetPoolId(std::move(value)); return *this;} /** *The unique identifier for the pool.
*/ inline PoolInformation& WithPoolId(const char* value) { SetPoolId(value); return *this;} /** *The current status of the pool.
*/ inline const PoolStatus& GetStatus() const{ return m_status; } /** *The current status of the pool.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The current status of the pool.
*/ inline void SetStatus(const PoolStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The current status of the pool.
*/ inline void SetStatus(PoolStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The current status of the pool.
*/ inline PoolInformation& WithStatus(const PoolStatus& value) { SetStatus(value); return *this;} /** *The current status of the pool.
*/ inline PoolInformation& WithStatus(PoolStatus&& value) { SetStatus(std::move(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 PoolInformation& 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 PoolInformation& WithMessageType(MessageType&& value) { SetMessageType(std::move(value)); return *this;} /** *When set to true you can receive incoming text messages from your end * recipients using the TwoWayChannelArn.
*/ inline bool GetTwoWayEnabled() const{ return m_twoWayEnabled; } /** *When set to true you can receive incoming text messages from your end * recipients using the TwoWayChannelArn.
*/ inline bool TwoWayEnabledHasBeenSet() const { return m_twoWayEnabledHasBeenSet; } /** *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; } /** *When set to true you can receive incoming text messages from your end * recipients using the TwoWayChannelArn.
*/ inline PoolInformation& 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 PoolInformation& WithTwoWayChannelArn(const Aws::String& value) { SetTwoWayChannelArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the two way channel.
*/ inline PoolInformation& WithTwoWayChannelArn(Aws::String&& value) { SetTwoWayChannelArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the two way channel.
*/ inline PoolInformation& 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 requests. 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 requests. 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 requests. 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 requests. For more * information see Self-managed * opt-outs
*/ inline PoolInformation& WithSelfManagedOptOutsEnabled(bool value) { SetSelfManagedOptOutsEnabled(value); return *this;} /** *The name of the OptOutList associated with the pool.
*/ inline const Aws::String& GetOptOutListName() const{ return m_optOutListName; } /** *The name of the OptOutList associated with the pool.
*/ inline bool OptOutListNameHasBeenSet() const { return m_optOutListNameHasBeenSet; } /** *The name of the OptOutList associated with the pool.
*/ inline void SetOptOutListName(const Aws::String& value) { m_optOutListNameHasBeenSet = true; m_optOutListName = value; } /** *The name of the OptOutList associated with the pool.
*/ inline void SetOptOutListName(Aws::String&& value) { m_optOutListNameHasBeenSet = true; m_optOutListName = std::move(value); } /** *The name of the OptOutList associated with the pool.
*/ inline void SetOptOutListName(const char* value) { m_optOutListNameHasBeenSet = true; m_optOutListName.assign(value); } /** *The name of the OptOutList associated with the pool.
*/ inline PoolInformation& WithOptOutListName(const Aws::String& value) { SetOptOutListName(value); return *this;} /** *The name of the OptOutList associated with the pool.
*/ inline PoolInformation& WithOptOutListName(Aws::String&& value) { SetOptOutListName(std::move(value)); return *this;} /** *The name of the OptOutList associated with the pool.
*/ inline PoolInformation& WithOptOutListName(const char* value) { SetOptOutListName(value); return *this;} /** *Allows you to enable shared routes on your pool.
By default, this is
* set to False
. If you set this value to True
, your
* messages are sent using phone numbers or sender IDs (depending on the country)
* that are shared with other Amazon Pinpoint users. In some countries, such as the
* United States, senders aren't allowed to use shared routes and must use a
* dedicated phone number or short code.
Allows you to enable shared routes on your pool.
By default, this is
* set to False
. If you set this value to True
, your
* messages are sent using phone numbers or sender IDs (depending on the country)
* that are shared with other Amazon Pinpoint users. In some countries, such as the
* United States, senders aren't allowed to use shared routes and must use a
* dedicated phone number or short code.
Allows you to enable shared routes on your pool.
By default, this is
* set to False
. If you set this value to True
, your
* messages are sent using phone numbers or sender IDs (depending on the country)
* that are shared with other Amazon Pinpoint users. In some countries, such as the
* United States, senders aren't allowed to use shared routes and must use a
* dedicated phone number or short code.
Allows you to enable shared routes on your pool.
By default, this is
* set to False
. If you set this value to True
, your
* messages are sent using phone numbers or sender IDs (depending on the country)
* that are shared with other Amazon Pinpoint users. In some countries, such as the
* United States, senders aren't allowed to use shared routes and must use a
* dedicated phone number or short code.
When set to true the pool can't be deleted.
*/ inline bool GetDeletionProtectionEnabled() const{ return m_deletionProtectionEnabled; } /** *When set to true the pool can't be deleted.
*/ inline bool DeletionProtectionEnabledHasBeenSet() const { return m_deletionProtectionEnabledHasBeenSet; } /** *When set to true the pool can't be deleted.
*/ inline void SetDeletionProtectionEnabled(bool value) { m_deletionProtectionEnabledHasBeenSet = true; m_deletionProtectionEnabled = value; } /** *When set to true the pool can't be deleted.
*/ inline PoolInformation& WithDeletionProtectionEnabled(bool value) { SetDeletionProtectionEnabled(value); return *this;} /** *The time when the pool was created, in UNIX epoch time format.
*/ inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } /** *The time when the pool was created, in UNIX epoch time format.
*/ inline bool CreatedTimestampHasBeenSet() const { return m_createdTimestampHasBeenSet; } /** *The time when the pool 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 pool 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 pool was created, in UNIX epoch time format.
*/ inline PoolInformation& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} /** *The time when the pool was created, in UNIX epoch time format.
*/ inline PoolInformation& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} private: Aws::String m_poolArn; bool m_poolArnHasBeenSet = false; Aws::String m_poolId; bool m_poolIdHasBeenSet = false; PoolStatus m_status; bool m_statusHasBeenSet = false; MessageType m_messageType; bool m_messageTypeHasBeenSet = false; bool m_twoWayEnabled; bool m_twoWayEnabledHasBeenSet = false; Aws::String m_twoWayChannelArn; bool m_twoWayChannelArnHasBeenSet = false; bool m_selfManagedOptOutsEnabled; bool m_selfManagedOptOutsEnabledHasBeenSet = false; Aws::String m_optOutListName; bool m_optOutListNameHasBeenSet = false; bool m_sharedRoutesEnabled; bool m_sharedRoutesEnabledHasBeenSet = false; bool m_deletionProtectionEnabled; bool m_deletionProtectionEnabledHasBeenSet = false; Aws::Utils::DateTime m_createdTimestamp; bool m_createdTimestampHasBeenSet = false; }; } // namespace Model } // namespace PinpointSMSVoiceV2 } // namespace Aws