/AWS1/IF_IAM=>CREATEDELEGATIONREQUEST()¶
About CreateDelegationRequest¶
Creates an IAM delegation request for temporary access delegation.
This API is not available for general use. In order to use this API, a caller first need to go through an onboarding process described in the partner onboarding documentation.
Method Signature¶
METHODS /AWS1/IF_IAM~CREATEDELEGATIONREQUEST
IMPORTING
!IV_OWNERACCOUNTID TYPE /AWS1/IAMACCOUNTIDTYPE OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/IAMDELEGATIONREQDESCTYPE OPTIONAL
!IO_PERMISSIONS TYPE REF TO /AWS1/CL_IAMDELEGATIONPERM OPTIONAL
!IV_REQUESTMESSAGE TYPE /AWS1/IAMREQUESTMESSAGETYPE OPTIONAL
!IV_REQUESTORWORKFLOWID TYPE /AWS1/IAMREQORWORKFLOWIDTYPE OPTIONAL
!IV_REDIRECTURL TYPE /AWS1/IAMREDIRECTURLTYPE OPTIONAL
!IV_NOTIFICATIONCHANNEL TYPE /AWS1/IAMNOTIFCHANNELTYPE OPTIONAL
!IV_SESSIONDURATION TYPE /AWS1/IAMSESSIONDURATIONTYPE OPTIONAL
!IV_ONLYSENDBYOWNER TYPE /AWS1/IAMBOOLEANTYPE OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_iamcredelegationreq01
RAISING
/AWS1/CX_IAMCONCURRENTMODEX
/AWS1/CX_IAMENTITYALRDYEXEX
/AWS1/CX_IAMINVALIDINPUTEX
/AWS1/CX_IAMLIMITEXCEEDEDEX
/AWS1/CX_IAMSERVICEFAILUREEX
/AWS1/CX_IAMCLIENTEXC
/AWS1/CX_IAMSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_description TYPE /AWS1/IAMDELEGATIONREQDESCTYPE /AWS1/IAMDELEGATIONREQDESCTYPE¶
A description of the delegation request.
io_permissions TYPE REF TO /AWS1/CL_IAMDELEGATIONPERM /AWS1/CL_IAMDELEGATIONPERM¶
The permissions to be delegated in this delegation request.
iv_requestorworkflowid TYPE /AWS1/IAMREQORWORKFLOWIDTYPE /AWS1/IAMREQORWORKFLOWIDTYPE¶
The workflow ID associated with the requestor.
This is the unique identifier on the partner side that can be used to track the progress of the request.
IAM maintains a uniqueness check on this workflow id for each request - if a workflow id for an existing request is passed, this API call will fail.
iv_notificationchannel TYPE /AWS1/IAMNOTIFCHANNELTYPE /AWS1/IAMNOTIFCHANNELTYPE¶
The notification channel for updates about the delegation request.
At this time,only SNS topic ARNs are accepted for notification. This topic ARN must have a resource policy granting
SNS:Publishpermission to the IAM service principal (iam.amazonaws.com). See partner onboarding documentation for more details.
iv_sessionduration TYPE /AWS1/IAMSESSIONDURATIONTYPE /AWS1/IAMSESSIONDURATIONTYPE¶
The duration for which the delegated session should remain active, in seconds.
The active time window for the session starts when the customer calls the SendDelegationToken API.
Optional arguments:¶
iv_owneraccountid TYPE /AWS1/IAMACCOUNTIDTYPE /AWS1/IAMACCOUNTIDTYPE¶
The Amazon Web Services account ID this delegation request is targeted to.
If the account ID is not known, this parameter can be omitted, resulting in a request that can be associated by any account. If the account ID passed, then the created delegation request can only be associated with an identity of that target account.
iv_requestmessage TYPE /AWS1/IAMREQUESTMESSAGETYPE /AWS1/IAMREQUESTMESSAGETYPE¶
A message explaining the reason for the delegation request.
Requesters can utilize this field to add a custom note to the delegation request. This field is different from the description such that this is to be utilized for a custom messaging on a case-by-case basis.
For example, if the current delegation request is in response to a previous request being rejected, this explanation can be added to the request via this field.
iv_redirecturl TYPE /AWS1/IAMREDIRECTURLTYPE /AWS1/IAMREDIRECTURLTYPE¶
The URL to redirect to after the delegation request is processed.
This URL is used by the IAM console to show a link to the customer to re-load the partner workflow.
iv_onlysendbyowner TYPE /AWS1/IAMBOOLEANTYPE /AWS1/IAMBOOLEANTYPE¶
Specifies whether the delegation token should only be sent by the owner.
This flag prevents any party other than the owner from calling
SendDelegationTokenAPI for this delegation request. This behavior becomes useful when the delegation request owner needs to be present for subsequent partner interactions, but the delegation request was sent to a more privileged user for approval due to the owner lacking sufficient delegation permissions.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_iamcredelegationreq01 /AWS1/CL_IAMCREDELEGATIONREQ01¶
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->createdelegationrequest(
io_permissions = new /aws1/cl_iamdelegationperm(
it_parameters = VALUE /aws1/cl_iampolicyparameter=>tt_policyparameterlisttype(
(
new /aws1/cl_iampolicyparameter(
it_values = VALUE /aws1/cl_iamplyprmvalslsttyp00=>tt_policyparamvalueslisttype(
( new /aws1/cl_iamplyprmvalslsttyp00( |string| ) )
)
iv_name = |string|
iv_type = |string|
)
)
)
iv_policytemplatearn = |string|
)
iv_description = |string|
iv_notificationchannel = |string|
iv_onlysendbyowner = ABAP_TRUE
iv_owneraccountid = |string|
iv_redirecturl = |string|
iv_requestmessage = |string|
iv_requestorworkflowid = |string|
iv_sessionduration = 123
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_consoledeeplinktype = lo_result->get_consoledeeplink( ).
lv_delegationrequestidtype = lo_result->get_delegationrequestid( ).
ENDIF.