/** * 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 { namespace PinpointSMSVoiceV2 { namespace Model { /** */ class CreatePoolRequest : public PinpointSMSVoiceV2Request { public: AWS_PINPOINTSMSVOICEV2_API CreatePoolRequest(); // 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 "CreatePool"; } AWS_PINPOINTSMSVOICEV2_API Aws::String SerializePayload() const override; AWS_PINPOINTSMSVOICEV2_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The origination identity to use such as a PhoneNumberId, PhoneNumberArn, * SenderId or SenderIdArn. You can use DescribePhoneNumbers to find the * values for PhoneNumberId and PhoneNumberArn while DescribeSenderIds can * be used to get the values for SenderId and SenderIdArn.

*/ inline const Aws::String& GetOriginationIdentity() const{ return m_originationIdentity; } /** *

The origination identity to use such as a PhoneNumberId, PhoneNumberArn, * SenderId or SenderIdArn. You can use DescribePhoneNumbers to find the * values for PhoneNumberId and PhoneNumberArn while DescribeSenderIds can * be used to get the values for SenderId and SenderIdArn.

*/ inline bool OriginationIdentityHasBeenSet() const { return m_originationIdentityHasBeenSet; } /** *

The origination identity to use such as a PhoneNumberId, PhoneNumberArn, * SenderId or SenderIdArn. You can use DescribePhoneNumbers to find the * values for PhoneNumberId and PhoneNumberArn while DescribeSenderIds can * be used to get the values for SenderId and SenderIdArn.

*/ inline void SetOriginationIdentity(const Aws::String& value) { m_originationIdentityHasBeenSet = true; m_originationIdentity = value; } /** *

The origination identity to use such as a PhoneNumberId, PhoneNumberArn, * SenderId or SenderIdArn. You can use DescribePhoneNumbers to find the * values for PhoneNumberId and PhoneNumberArn while DescribeSenderIds can * be used to get the values for SenderId and SenderIdArn.

*/ inline void SetOriginationIdentity(Aws::String&& value) { m_originationIdentityHasBeenSet = true; m_originationIdentity = std::move(value); } /** *

The origination identity to use such as a PhoneNumberId, PhoneNumberArn, * SenderId or SenderIdArn. You can use DescribePhoneNumbers to find the * values for PhoneNumberId and PhoneNumberArn while DescribeSenderIds can * be used to get the values for SenderId and SenderIdArn.

*/ inline void SetOriginationIdentity(const char* value) { m_originationIdentityHasBeenSet = true; m_originationIdentity.assign(value); } /** *

The origination identity to use such as a PhoneNumberId, PhoneNumberArn, * SenderId or SenderIdArn. You can use DescribePhoneNumbers to find the * values for PhoneNumberId and PhoneNumberArn while DescribeSenderIds can * be used to get the values for SenderId and SenderIdArn.

*/ inline CreatePoolRequest& WithOriginationIdentity(const Aws::String& value) { SetOriginationIdentity(value); return *this;} /** *

The origination identity to use such as a PhoneNumberId, PhoneNumberArn, * SenderId or SenderIdArn. You can use DescribePhoneNumbers to find the * values for PhoneNumberId and PhoneNumberArn while DescribeSenderIds can * be used to get the values for SenderId and SenderIdArn.

*/ inline CreatePoolRequest& WithOriginationIdentity(Aws::String&& value) { SetOriginationIdentity(std::move(value)); return *this;} /** *

The origination identity to use such as a PhoneNumberId, PhoneNumberArn, * SenderId or SenderIdArn. You can use DescribePhoneNumbers to find the * values for PhoneNumberId and PhoneNumberArn while DescribeSenderIds can * be used to get the values for SenderId and SenderIdArn.

*/ inline CreatePoolRequest& WithOriginationIdentity(const char* value) { SetOriginationIdentity(value); return *this;} /** *

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

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

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

*/ inline bool IsoCountryCodeHasBeenSet() const { return m_isoCountryCodeHasBeenSet; } /** *

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

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

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

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

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

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

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

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

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

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

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

*/ inline CreatePoolRequest& 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 CreatePoolRequest& 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 CreatePoolRequest& WithMessageType(MessageType&& value) { SetMessageType(std::move(value)); return *this;} /** *

By default this is set to false. When set to true the pool can't be deleted. * You can change this value using the UpdatePool action.

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

By default this is set to false. When set to true the pool can't be deleted. * You can change this value using the UpdatePool action.

*/ inline bool DeletionProtectionEnabledHasBeenSet() const { return m_deletionProtectionEnabledHasBeenSet; } /** *

By default this is set to false. When set to true the pool can't be deleted. * You can change this value using the UpdatePool action.

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

By default this is set to false. When set to true the pool can't be deleted. * You can change this value using the UpdatePool action.

*/ inline CreatePoolRequest& 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 bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

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

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

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

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

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

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

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

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

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

*/ inline CreatePoolRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

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

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

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. If you don't specify a client token, a randomly generated token * is used for the request to ensure idempotency.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. If you don't specify a client token, a randomly generated token * is used for the request to ensure idempotency.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. If you don't specify a client token, a randomly generated token * is used for the request to ensure idempotency.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. If you don't specify a client token, a randomly generated token * is used for the request to ensure idempotency.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. If you don't specify a client token, a randomly generated token * is used for the request to ensure idempotency.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. If you don't specify a client token, a randomly generated token * is used for the request to ensure idempotency.

*/ inline CreatePoolRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. If you don't specify a client token, a randomly generated token * is used for the request to ensure idempotency.

*/ inline CreatePoolRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. If you don't specify a client token, a randomly generated token * is used for the request to ensure idempotency.

*/ inline CreatePoolRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} private: Aws::String m_originationIdentity; bool m_originationIdentityHasBeenSet = false; Aws::String m_isoCountryCode; bool m_isoCountryCodeHasBeenSet = false; MessageType m_messageType; bool m_messageTypeHasBeenSet = false; bool m_deletionProtectionEnabled; bool m_deletionProtectionEnabledHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; }; } // namespace Model } // namespace PinpointSMSVoiceV2 } // namespace Aws