Skip to content

/AWS1/CL_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

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 while 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 AWS End User Messaging SMS and Voice 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->/aws1/if_pp2~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.