/AWS1/IF_S3F=>CREATEACCESSPOINT()¶
About CreateAccessPoint¶
Creates an S3 File System Access Point for application-specific access with POSIX user identity and root directory enforcement. Access points provide a way to manage access to shared datasets in multi-tenant scenarios.
Method Signature¶
METHODS /AWS1/IF_S3F~CREATEACCESSPOINT
IMPORTING
!IV_CLIENTTOKEN TYPE /AWS1/S3FCLIENTTOKEN OPTIONAL
!IT_TAGS TYPE /AWS1/CL_S3FTAG=>TT_TAGLIST OPTIONAL
!IV_FILESYSTEMID TYPE /AWS1/S3FFILESYSTEMID OPTIONAL
!IO_POSIXUSER TYPE REF TO /AWS1/CL_S3FPOSIXUSER OPTIONAL
!IO_ROOTDIRECTORY TYPE REF TO /AWS1/CL_S3FROOTDIRECTORY OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_s3fcreateaccpointrsp
RAISING
/AWS1/CX_S3FTHROTTLINGEX
/AWS1/CX_S3FCONFLICTEXCEPTION
/AWS1/CX_S3FINTERNALSERVEREX
/AWS1/CX_S3FRESOURCENOTFOUNDEX
/AWS1/CX_S3FSERVICEQUOTAEXCDEX
/AWS1/CX_S3FVLDTNEXCEPTION
/AWS1/CX_S3FCLIENTEXC
/AWS1/CX_S3FSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_filesystemid TYPE /AWS1/S3FFILESYSTEMID /AWS1/S3FFILESYSTEMID¶
The ID or Amazon Resource Name (ARN) of the S3 File System.
Optional arguments:¶
iv_clienttoken TYPE /AWS1/S3FCLIENTTOKEN /AWS1/S3FCLIENTTOKEN¶
A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, Amazon Web Services ignores the request, but does not return an error.
it_tags TYPE /AWS1/CL_S3FTAG=>TT_TAGLIST TT_TAGLIST¶
An array of key-value pairs to apply to the access point for resource tagging.
io_posixuser TYPE REF TO /AWS1/CL_S3FPOSIXUSER /AWS1/CL_S3FPOSIXUSER¶
The POSIX identity with uid, gid, and secondary group IDs for user enforcement when accessing the file system through this access point.
io_rootdirectory TYPE REF TO /AWS1/CL_S3FROOTDIRECTORY /AWS1/CL_S3FROOTDIRECTORY¶
The root directory path for the access point, with optional creation permissions for newly created directories.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_s3fcreateaccpointrsp /AWS1/CL_S3FCREATEACCPOINTRSP¶
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->createaccesspoint(
io_posixuser = new /aws1/cl_s3fposixuser(
it_secondarygids = VALUE /aws1/cl_s3fsecondarygids_w=>tt_secondarygids(
( new /aws1/cl_s3fsecondarygids_w( 123 ) )
)
iv_gid = 123
iv_uid = 123
)
io_rootdirectory = new /aws1/cl_s3frootdirectory(
io_creationpermissions = new /aws1/cl_s3fcreationperms(
iv_ownergid = 123
iv_owneruid = 123
iv_permissions = |string|
)
iv_path = |string|
)
it_tags = VALUE /aws1/cl_s3ftag=>tt_taglist(
(
new /aws1/cl_s3ftag(
iv_key = |string|
iv_value = |string|
)
)
)
iv_clienttoken = |string|
iv_filesystemid = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_accesspointarn = lo_result->get_accesspointarn( ).
lv_accesspointid = lo_result->get_accesspointid( ).
lv_clienttoken = lo_result->get_clienttoken( ).
lv_filesystemid = lo_result->get_filesystemid( ).
lv_lifecyclestate = lo_result->get_status( ).
lv_awsaccountid = lo_result->get_ownerid( ).
lo_posixuser = lo_result->get_posixuser( ).
IF lo_posixuser IS NOT INITIAL.
lv_uid = lo_posixuser->get_uid( ).
lv_gid = lo_posixuser->get_gid( ).
LOOP AT lo_posixuser->get_secondarygids( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_gid = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
lo_rootdirectory = lo_result->get_rootdirectory( ).
IF lo_rootdirectory IS NOT INITIAL.
lv_path = lo_rootdirectory->get_path( ).
lo_creationpermissions = lo_rootdirectory->get_creationpermissions( ).
IF lo_creationpermissions IS NOT INITIAL.
lv_owneruid = lo_creationpermissions->get_owneruid( ).
lv_ownergid = lo_creationpermissions->get_ownergid( ).
lv_permissions = lo_creationpermissions->get_permissions( ).
ENDIF.
ENDIF.
LOOP AT lo_result->get_tags( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_tagkey = lo_row_3->get_key( ).
lv_tagvalue = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
lv_tagvalue = lo_result->get_name( ).
ENDIF.