/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace PinpointSMSVoiceV2 { namespace Model { /** */ class UpdatePoolRequest : public PinpointSMSVoiceV2Request { public: AWS_PINPOINTSMSVOICEV2_API UpdatePoolRequest(); // 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 "UpdatePool"; } AWS_PINPOINTSMSVOICEV2_API Aws::String SerializePayload() const override; AWS_PINPOINTSMSVOICEV2_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The unique identifier of the pool to update. Valid values are either the * PoolId or PoolArn.

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

The unique identifier of the pool to update. Valid values are either the * PoolId or PoolArn.

*/ inline bool PoolIdHasBeenSet() const { return m_poolIdHasBeenSet; } /** *

The unique identifier of the pool to update. Valid values are either the * PoolId or PoolArn.

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

The unique identifier of the pool to update. Valid values are either the * PoolId or PoolArn.

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

The unique identifier of the pool to update. Valid values are either the * PoolId or PoolArn.

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

The unique identifier of the pool to update. Valid values are either the * PoolId or PoolArn.

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

The unique identifier of the pool to update. Valid values are either the * PoolId or PoolArn.

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

The unique identifier of the pool to update. Valid values are either the * PoolId or PoolArn.

*/ inline UpdatePoolRequest& WithPoolId(const char* value) { SetPoolId(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 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.

*/ 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.

*/ inline UpdatePoolRequest& 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 UpdatePoolRequest& WithTwoWayChannelArn(const Aws::String& value) { SetTwoWayChannelArn(value); return *this;} /** *

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

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

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

*/ inline UpdatePoolRequest& 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 bool SelfManagedOptOutsEnabledHasBeenSet() const { return m_selfManagedOptOutsEnabledHasBeenSet; } /** *

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_selfManagedOptOutsEnabledHasBeenSet = true; 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 UpdatePoolRequest& WithSelfManagedOptOutsEnabled(bool value) { SetSelfManagedOptOutsEnabled(value); return *this;} /** *

The OptOutList to associate with the pool. Valid values are either * OptOutListName or OptOutListArn.

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

The OptOutList to associate with the pool. Valid values are either * OptOutListName or OptOutListArn.

*/ inline bool OptOutListNameHasBeenSet() const { return m_optOutListNameHasBeenSet; } /** *

The OptOutList to associate with the pool. Valid values are either * OptOutListName or OptOutListArn.

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

The OptOutList to associate with the pool. Valid values are either * OptOutListName or OptOutListArn.

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

The OptOutList to associate with the pool. Valid values are either * OptOutListName or OptOutListArn.

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

The OptOutList to associate with the pool. Valid values are either * OptOutListName or OptOutListArn.

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

The OptOutList to associate with the pool. Valid values are either * OptOutListName or OptOutListArn.

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

The OptOutList to associate with the pool. Valid values are either * OptOutListName or OptOutListArn.

*/ inline UpdatePoolRequest& 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 bool SharedRoutesEnabledHasBeenSet() const { return m_sharedRoutesEnabledHasBeenSet; } /** *

Indicates whether shared routes are enabled for the pool.

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

Indicates whether shared routes are enabled for the pool.

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

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 UpdatePoolRequest& WithDeletionProtectionEnabled(bool value) { SetDeletionProtectionEnabled(value); return *this;} private: Aws::String m_poolId; bool m_poolIdHasBeenSet = 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; }; } // namespace Model } // namespace PinpointSMSVoiceV2 } // namespace Aws