/AWS1/IF_LM2=>CREATERESOURCEPOLICYSTMT()¶
About CreateResourcePolicyStatement¶
Adds a new resource policy statement to a bot or bot alias. If a resource policy exists, the statement is added to the current resource policy. If a policy doesn't exist, a new policy is created.
You can't create a resource policy statement that allows cross-account access.
You need to add the CreateResourcePolicy or UpdateResourcePolicy
action to the bot role in order to call the API.
Method Signature¶
METHODS /AWS1/IF_LM2~CREATERESOURCEPOLICYSTMT
IMPORTING
!IV_RESOURCEARN TYPE /AWS1/LM2AMAZONRESOURCENAME OPTIONAL
!IV_STATEMENTID TYPE /AWS1/LM2NAME OPTIONAL
!IV_EFFECT TYPE /AWS1/LM2EFFECT OPTIONAL
!IT_PRINCIPAL TYPE /AWS1/CL_LM2PRINCIPAL=>TT_PRINCIPALLIST OPTIONAL
!IT_ACTION TYPE /AWS1/CL_LM2OPERATIONLIST_W=>TT_OPERATIONLIST OPTIONAL
!IT_CONDITION TYPE /AWS1/CL_LM2CONDKEYVALUEMAP_W=>TT_CONDITIONMAP OPTIONAL
!IV_EXPECTEDREVISIONID TYPE /AWS1/LM2REVISIONID OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_lm2creresrcplystmtrsp
RAISING
/AWS1/CX_LM2CONFLICTEXCEPTION
/AWS1/CX_LM2INTERNALSERVEREX
/AWS1/CX_LM2PRECONDFAILEDEX
/AWS1/CX_LM2RESOURCENOTFOUNDEX
/AWS1/CX_LM2SERVICEQUOTAEXCDEX
/AWS1/CX_LM2THROTTLINGEX
/AWS1/CX_LM2VALIDATIONEX
/AWS1/CX_LM2CLIENTEXC
/AWS1/CX_LM2SERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_resourcearn TYPE /AWS1/LM2AMAZONRESOURCENAME /AWS1/LM2AMAZONRESOURCENAME¶
The Amazon Resource Name (ARN) of the bot or bot alias that the resource policy is attached to.
iv_statementid TYPE /AWS1/LM2NAME /AWS1/LM2NAME¶
The name of the statement. The ID is the same as the
SidIAM property. The statement name must be unique within the policy. For more information, see IAM JSON policy elements: Sid.
iv_effect TYPE /AWS1/LM2EFFECT /AWS1/LM2EFFECT¶
Determines whether the statement allows or denies access to the resource.
it_principal TYPE /AWS1/CL_LM2PRINCIPAL=>TT_PRINCIPALLIST TT_PRINCIPALLIST¶
An IAM principal, such as an IAM user, IAM role, or Amazon Web Services services that is allowed or denied access to a resource. For more information, see Amazon Web Services JSON policy elements: Principal.
it_action TYPE /AWS1/CL_LM2OPERATIONLIST_W=>TT_OPERATIONLIST TT_OPERATIONLIST¶
The Amazon Lex action that this policy either allows or denies. The action must apply to the resource type of the specified ARN. For more information, see Actions, resources, and condition keys for Amazon Lex V2.
Optional arguments:¶
it_condition TYPE /AWS1/CL_LM2CONDKEYVALUEMAP_W=>TT_CONDITIONMAP TT_CONDITIONMAP¶
Specifies a condition when the policy is in effect. If the principal of the policy is a service principal, you must provide two condition blocks, one with a SourceAccount global condition key and one with a SourceArn global condition key.
For more information, see IAM JSON policy elements: Condition .
iv_expectedrevisionid TYPE /AWS1/LM2REVISIONID /AWS1/LM2REVISIONID¶
The identifier of the revision of the policy to edit. If this revision ID doesn't match the current revision ID, Amazon Lex throws an exception.
If you don't specify a revision, Amazon Lex overwrites the contents of the policy with the new values.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_lm2creresrcplystmtrsp /AWS1/CL_LM2CRERESRCPLYSTMTRSP¶
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->createresourcepolicystmt(
it_action = VALUE /aws1/cl_lm2operationlist_w=>tt_operationlist(
( new /aws1/cl_lm2operationlist_w( |string| ) )
)
it_condition = VALUE /aws1/cl_lm2condkeyvaluemap_w=>tt_conditionmap(
(
VALUE /aws1/cl_lm2condkeyvaluemap_w=>ts_conditionmap_maprow(
value = VALUE /aws1/cl_lm2condkeyvaluemap_w=>tt_conditionkeyvaluemap(
(
VALUE /aws1/cl_lm2condkeyvaluemap_w=>ts_conditionkeyvaluemap_maprow(
value = new /aws1/cl_lm2condkeyvaluemap_w( |string| )
key = |string|
)
)
)
key = |string|
)
)
)
it_principal = VALUE /aws1/cl_lm2principal=>tt_principallist(
(
new /aws1/cl_lm2principal(
iv_arn = |string|
iv_service = |string|
)
)
)
iv_effect = |string|
iv_expectedrevisionid = |string|
iv_resourcearn = |string|
iv_statementid = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_amazonresourcename = lo_result->get_resourcearn( ).
lv_revisionid = lo_result->get_revisionid( ).
ENDIF.