Skip to content

/AWS1/IF_CBO=>CREATESLACKCHANNELCONF()

About CreateSlackChannelConfiguration

Creates an AWS Chatbot confugration for Slack.

Method Signature

METHODS /AWS1/IF_CBO~CREATESLACKCHANNELCONF
  IMPORTING
    !IV_SLACKTEAMID TYPE /AWS1/CBOSLACKTEAMID OPTIONAL
    !IV_SLACKCHANNELID TYPE /AWS1/CBOSLACKCHANNELID OPTIONAL
    !IV_SLACKCHANNELNAME TYPE /AWS1/CBOSLACKCHANNELDSPNAME OPTIONAL
    !IT_SNSTOPICARNS TYPE /AWS1/CL_CBOSNSTOPICARNLIST_W=>TT_SNSTOPICARNLIST OPTIONAL
    !IV_IAMROLEARN TYPE /AWS1/CBOARN OPTIONAL
    !IV_CONFIGURATIONNAME TYPE /AWS1/CBOCONFIGURATIONNAME OPTIONAL
    !IV_LOGGINGLEVEL TYPE /AWS1/CBOCUSTOMERCWLOGLEVEL OPTIONAL
    !IT_GUARDRAILPOLICYARNS TYPE /AWS1/CL_CBOGUARDRAILPLYARNL00=>TT_GUARDRAILPOLICYARNLIST OPTIONAL
    !IV_USERAUTHORIZATIONREQUIRED TYPE /AWS1/CBOBLNACCOUNTPREFERENCE OPTIONAL
    !IT_TAGS TYPE /AWS1/CL_CBOTAG=>TT_TAGS OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_cbocreslackchannelc01
  RAISING
    /AWS1/CX_CBOCONFLICTEXCEPTION
    /AWS1/CX_CBOCRESLACKCHANNELC00
    /AWS1/CX_CBOINVALIDPARAMETEREX
    /AWS1/CX_CBOINVALIDREQUESTEX
    /AWS1/CX_CBOLIMITEXCEEDEDEX
    /AWS1/CX_CBOCLIENTEXC
    /AWS1/CX_CBOSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_slackteamid TYPE /AWS1/CBOSLACKTEAMID /AWS1/CBOSLACKTEAMID

The ID of the Slack workspace authorized with AWS Chatbot.

iv_slackchannelid TYPE /AWS1/CBOSLACKCHANNELID /AWS1/CBOSLACKCHANNELID

The ID of the Slack channel.

To get this ID, open Slack, right click on the channel name in the left pane, then choose Copy Link. The channel ID is the 9-character string at the end of the URL. For example, ABCBBLZZZ.

iv_iamrolearn TYPE /AWS1/CBOARN /AWS1/CBOARN

A user-defined role that AWS Chatbot assumes. This is not the service-linked role.

For more information, see IAM policies for AWS Chatbot in the AWS Chatbot Administrator Guide.

iv_configurationname TYPE /AWS1/CBOCONFIGURATIONNAME /AWS1/CBOCONFIGURATIONNAME

The name of the configuration.

Optional arguments:

iv_slackchannelname TYPE /AWS1/CBOSLACKCHANNELDSPNAME /AWS1/CBOSLACKCHANNELDSPNAME

The name of the Slack channel.

it_snstopicarns TYPE /AWS1/CL_CBOSNSTOPICARNLIST_W=>TT_SNSTOPICARNLIST TT_SNSTOPICARNLIST

The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS Chatbot.

iv_logginglevel TYPE /AWS1/CBOCUSTOMERCWLOGLEVEL /AWS1/CBOCUSTOMERCWLOGLEVEL

Logging levels include ERROR, INFO, or NONE.

it_guardrailpolicyarns TYPE /AWS1/CL_CBOGUARDRAILPLYARNL00=>TT_GUARDRAILPOLICYARNLIST TT_GUARDRAILPOLICYARNLIST

The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed AdministratorAccess policy is applied by default if this is not set.

iv_userauthorizationrequired TYPE /AWS1/CBOBLNACCOUNTPREFERENCE /AWS1/CBOBLNACCOUNTPREFERENCE

Enables use of a user role requirement in your chat configuration.

it_tags TYPE /AWS1/CL_CBOTAG=>TT_TAGS TT_TAGS

A map of tags assigned to a resource. A tag is a string-to-string map of key-value pairs.

RETURNING

oo_output TYPE REF TO /aws1/cl_cbocreslackchannelc01 /AWS1/CL_CBOCRESLACKCHANNELC01

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->createslackchannelconf(
  it_guardrailpolicyarns = VALUE /aws1/cl_cboguardrailplyarnl00=>tt_guardrailpolicyarnlist(
    ( new /aws1/cl_cboguardrailplyarnl00( |string| ) )
  )
  it_snstopicarns = VALUE /aws1/cl_cbosnstopicarnlist_w=>tt_snstopicarnlist(
    ( new /aws1/cl_cbosnstopicarnlist_w( |string| ) )
  )
  it_tags = VALUE /aws1/cl_cbotag=>tt_tags(
    (
      new /aws1/cl_cbotag(
        iv_tagkey = |string|
        iv_tagvalue = |string|
      )
    )
  )
  iv_configurationname = |string|
  iv_iamrolearn = |string|
  iv_logginglevel = |string|
  iv_slackchannelid = |string|
  iv_slackchannelname = |string|
  iv_slackteamid = |string|
  iv_userauthorizationrequired = ABAP_TRUE
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_slackchannelconfigurati = lo_result->get_channelconfiguration( ).
  IF lo_slackchannelconfigurati IS NOT INITIAL.
    lv_slackteamname = lo_slackchannelconfigurati->get_slackteamname( ).
    lv_slackteamid = lo_slackchannelconfigurati->get_slackteamid( ).
    lv_slackchannelid = lo_slackchannelconfigurati->get_slackchannelid( ).
    lv_slackchanneldisplayname = lo_slackchannelconfigurati->get_slackchannelname( ).
    lv_chatconfigurationarn = lo_slackchannelconfigurati->get_chatconfigurationarn( ).
    lv_arn = lo_slackchannelconfigurati->get_iamrolearn( ).
    LOOP AT lo_slackchannelconfigurati->get_snstopicarns( ) into lo_row.
      lo_row_1 = lo_row.
      IF lo_row_1 IS NOT INITIAL.
        lv_arn = lo_row_1->get_value( ).
      ENDIF.
    ENDLOOP.
    lv_configurationname = lo_slackchannelconfigurati->get_configurationname( ).
    lv_customercwloglevel = lo_slackchannelconfigurati->get_logginglevel( ).
    LOOP AT lo_slackchannelconfigurati->get_guardrailpolicyarns( ) into lo_row_2.
      lo_row_3 = lo_row_2.
      IF lo_row_3 IS NOT INITIAL.
        lv_guardrailpolicyarn = lo_row_3->get_value( ).
      ENDIF.
    ENDLOOP.
    lv_booleanaccountpreferenc = lo_slackchannelconfigurati->get_userauthrequired( ).
    LOOP AT lo_slackchannelconfigurati->get_tags( ) into lo_row_4.
      lo_row_5 = lo_row_4.
      IF lo_row_5 IS NOT INITIAL.
        lv_tagkey = lo_row_5->get_tagkey( ).
        lv_tagvalue = lo_row_5->get_tagvalue( ).
      ENDIF.
    ENDLOOP.
    lv_resourcestate = lo_slackchannelconfigurati->get_state( ).
    lv_string = lo_slackchannelconfigurati->get_statereason( ).
  ENDIF.
ENDIF.