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

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 void SetPoolArn(const Aws::String& value) { m_poolArn = value; } /** *

The Amazon Resource Name (ARN) for the pool.

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

The Amazon Resource Name (ARN) for the pool.

*/ inline void SetPoolArn(const char* value) { m_poolArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the pool.

*/ inline CreatePoolResult& WithPoolArn(const Aws::String& value) { SetPoolArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the pool.

*/ inline CreatePoolResult& WithPoolArn(Aws::String&& value) { SetPoolArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the pool.

*/ inline CreatePoolResult& 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 void SetPoolId(const Aws::String& value) { m_poolId = value; } /** *

The unique identifier for the pool.

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

The unique identifier for the pool.

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

The unique identifier for the pool.

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

The unique identifier for the pool.

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

The unique identifier for the pool.

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

The current status of the pool.

  • CREATING: The pool is * currently being created and isn't yet available for use.

  • *

    ACTIVE: The pool is active and available for use.

  • DELETING: * The pool is being deleted.

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

The current status of the pool.

  • CREATING: The pool is * currently being created and isn't yet available for use.

  • *

    ACTIVE: The pool is active and available for use.

  • DELETING: * The pool is being deleted.

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

The current status of the pool.

  • CREATING: The pool is * currently being created and isn't yet available for use.

  • *

    ACTIVE: The pool is active and available for use.

  • DELETING: * The pool is being deleted.

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

The current status of the pool.

  • CREATING: The pool is * currently being created and isn't yet available for use.

  • *

    ACTIVE: The pool is active and available for use.

  • DELETING: * The pool is being deleted.

*/ inline CreatePoolResult& WithStatus(const PoolStatus& value) { SetStatus(value); return *this;} /** *

The current status of the pool.

  • CREATING: The pool is * currently being created and isn't yet available for use.

  • *

    ACTIVE: The pool is active and available for use.

  • DELETING: * The pool is being deleted.

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

The type of message for the pool to use.

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

The type of message for the pool to use.

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

The type of message for the pool to use.

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

The type of message for the pool to use.

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

The type of message for the pool to use.

*/ inline CreatePoolResult& WithMessageType(MessageType&& value) { SetMessageType(std::move(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 CreatePoolResult& 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 void SetTwoWayChannelArn(const Aws::String& value) { m_twoWayChannelArn = value; } /** *

The Amazon Resource Name (ARN) of the two way channel.

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

The Amazon Resource Name (ARN) of the two way channel.

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

The Amazon Resource Name (ARN) of the two way channel.

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

The Amazon Resource Name (ARN) of the two way channel.

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

The Amazon Resource Name (ARN) of the two way channel.

*/ inline CreatePoolResult& 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 CreatePoolResult& 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 void SetOptOutListName(const Aws::String& value) { m_optOutListName = value; } /** *

The name of the OptOutList associated with the pool.

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

The name of the OptOutList associated with the pool.

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

The name of the OptOutList associated with the pool.

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

The name of the OptOutList associated with the pool.

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

The name of the OptOutList associated with the pool.

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

Indicates whether shared routes are enabled for the pool.

*/ inline bool GetSharedRoutesEnabled() const{ return m_sharedRoutesEnabled; } /** *

Indicates whether shared routes are enabled for the pool.

*/ inline void SetSharedRoutesEnabled(bool value) { m_sharedRoutesEnabled = value; } /** *

Indicates whether shared routes are enabled for the pool.

*/ inline CreatePoolResult& WithSharedRoutesEnabled(bool value) { SetSharedRoutesEnabled(value); return *this;} /** *

When set to true deletion protection is enabled. By default this is set to * false.

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

When set to true deletion protection is enabled. By default this is set to * false.

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

When set to true deletion protection is enabled. By default this is set to * false.

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

An array of tags (key and value pairs) associated with the pool.

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

An array of tags (key and value pairs) associated with the pool.

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

An array of tags (key and value pairs) associated with the pool.

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

An array of tags (key and value pairs) associated with the pool.

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

An array of tags (key and value pairs) associated with the pool.

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

An array of tags (key and value pairs) associated with the pool.

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

An array of tags (key and value pairs) associated with the pool.

*/ inline CreatePoolResult& AddTags(Tag&& value) { m_tags.push_back(std::move(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 void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestamp = value; } /** *

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

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

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

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

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

*/ inline CreatePoolResult& 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 CreatePoolResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline CreatePoolResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline CreatePoolResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_poolArn; Aws::String m_poolId; PoolStatus m_status; MessageType m_messageType; bool m_twoWayEnabled; Aws::String m_twoWayChannelArn; bool m_selfManagedOptOutsEnabled; Aws::String m_optOutListName; bool m_sharedRoutesEnabled; bool m_deletionProtectionEnabled; Aws::Vector m_tags; Aws::Utils::DateTime m_createdTimestamp; Aws::String m_requestId; }; } // namespace Model } // namespace PinpointSMSVoiceV2 } // namespace Aws