/AWS1/IF_PP2=>CREATEPOOL()¶
About CreatePool¶
Creates a new pool and associates the specified origination identity to the pool. A pool can include one or more phone numbers and SenderIds that are associated with your Amazon Web Services account.
The new pool inherits its configuration from the specified origination identity. This includes keywords, message type, opt-out list, two-way configuration, and self-managed opt-out configuration. Deletion protection isn't inherited from the origination identity and defaults to false.
If the origination identity is a phone number and is already associated with another pool, an error is returned. A sender ID can be associated with multiple pools.
Method Signature¶
METHODS /AWS1/IF_PP2~CREATEPOOL
IMPORTING
!IV_ORIGINATIONIDENTITY TYPE /AWS1/PP2PHONEORSENDERIDORARN OPTIONAL
!IV_ISOCOUNTRYCODE TYPE /AWS1/PP2ISOCOUNTRYCODE OPTIONAL
!IV_MESSAGETYPE TYPE /AWS1/PP2MESSAGETYPE OPTIONAL
!IV_DELETIONPROTECTIONENABLED TYPE /AWS1/PP2BOOLEAN OPTIONAL
!IT_TAGS TYPE /AWS1/CL_PP2TAG=>TT_TAGLIST OPTIONAL
!IV_CLIENTTOKEN TYPE /AWS1/PP2CLIENTTOKEN OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_pp2createpoolresult
RAISING
/AWS1/CX_PP2ACCESSDENIEDEX
/AWS1/CX_PP2CONFLICTEXCEPTION
/AWS1/CX_PP2INTERNALSERVEREX
/AWS1/CX_PP2RESOURCENOTFOUNDEX
/AWS1/CX_PP2SERVICEQUOTAEXCDEX
/AWS1/CX_PP2THROTTLINGEX
/AWS1/CX_PP2VALIDATIONEX
/AWS1/CX_PP2CLIENTEXC
/AWS1/CX_PP2SERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_originationidentity TYPE /AWS1/PP2PHONEORSENDERIDORARN /AWS1/PP2PHONEORSENDERIDORARN¶
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, and use DescribeSenderIds can be used to get the values for SenderId and SenderIdArn.
After the pool is created you can add more origination identities to the pool by using AssociateOriginationIdentity.
If you are using a shared End User MessagingSMS resource then you must use the full Amazon Resource Name(ARN).
iv_isocountrycode TYPE /AWS1/PP2ISOCOUNTRYCODE /AWS1/PP2ISOCOUNTRYCODE¶
The new two-character code, in ISO 3166-1 alpha-2 format, for the country or region of the new pool.
iv_messagetype TYPE /AWS1/PP2MESSAGETYPE /AWS1/PP2MESSAGETYPE¶
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. After the pool is created the MessageType can't be changed.
Optional arguments:¶
iv_deletionprotectionenabled TYPE /AWS1/PP2BOOLEAN /AWS1/PP2BOOLEAN¶
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.
it_tags TYPE /AWS1/CL_PP2TAG=>TT_TAGLIST TT_TAGLIST¶
An array of tags (key and value pairs) associated with the pool.
iv_clienttoken TYPE /AWS1/PP2CLIENTTOKEN /AWS1/PP2CLIENTTOKEN¶
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.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_pp2createpoolresult /AWS1/CL_PP2CREATEPOOLRESULT¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->createpool(
it_tags = VALUE /aws1/cl_pp2tag=>tt_taglist(
(
new /aws1/cl_pp2tag(
iv_key = |string|
iv_value = |string|
)
)
)
iv_clienttoken = |string|
iv_deletionprotectionenabled = ABAP_TRUE
iv_isocountrycode = |string|
iv_messagetype = |string|
iv_originationidentity = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_string = lo_result->get_poolarn( ).
lv_string = lo_result->get_poolid( ).
lv_poolstatus = lo_result->get_status( ).
lv_messagetype = lo_result->get_messagetype( ).
lv_primitiveboolean = lo_result->get_twowayenabled( ).
lv_twowaychannelarn = lo_result->get_twowaychannelarn( ).
lv_iamrolearn = lo_result->get_twowaychannelrole( ).
lv_primitiveboolean = lo_result->get_selfmanagedoptoutsenbd( ).
lv_optoutlistname = lo_result->get_optoutlistname( ).
lv_primitiveboolean = lo_result->get_sharedroutesenabled( ).
lv_primitiveboolean = lo_result->get_deletionprotectionenbd( ).
LOOP AT lo_result->get_tags( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_tagkey = lo_row_1->get_key( ).
lv_tagvalue = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
lv_timestamp = lo_result->get_createdtimestamp( ).
ENDIF.