Skip to content

Commit 634f6c3

Browse files
committed
First pass code generation
1 parent 718c6ff commit 634f6c3

2 files changed

Lines changed: 81 additions & 0 deletions

File tree

sap-abap/services/iam/#awsex#cl_iam_actions.clas.abap

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,15 @@ CLASS /awsex/cl_iam_actions DEFINITION
280280
RAISING
281281
/aws1/cx_rt_generic.
282282

283+
METHODS get_policy_version
284+
IMPORTING
285+
!iv_policy_arn TYPE /aws1/iamarntype
286+
!iv_version_id TYPE /aws1/iampolicyversionidtype
287+
EXPORTING
288+
!oo_result TYPE REF TO /aws1/cl_iamgetpolicyvrsrsp
289+
RAISING
290+
/aws1/cx_rt_generic.
291+
283292
PROTECTED SECTION.
284293
PRIVATE SECTION.
285294
ENDCLASS.
@@ -1027,4 +1036,25 @@ CLASS /AWSEX/CL_IAM_ACTIONS IMPLEMENTATION.
10271036
ENDTRY.
10281037
" snippet-end:[iam.abapv1.delete_policy_version]
10291038
ENDMETHOD.
1039+
1040+
1041+
METHOD get_policy_version.
1042+
CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'.
1043+
1044+
DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ).
1045+
DATA(lo_iam) = /aws1/cl_iam_factory=>create( lo_session ).
1046+
1047+
" snippet-start:[iam.abapv1.get_policy_version]
1048+
TRY.
1049+
oo_result = lo_iam->getpolicyversion(
1050+
iv_policyarn = iv_policy_arn
1051+
iv_versionid = iv_version_id ).
1052+
MESSAGE 'Retrieved policy version information.' TYPE 'I'.
1053+
CATCH /aws1/cx_iamnosuchentityex.
1054+
MESSAGE 'Policy or version does not exist.' TYPE 'E'.
1055+
CATCH /aws1/cx_iaminvalidinputex.
1056+
MESSAGE 'Invalid input provided.' TYPE 'E'.
1057+
ENDTRY.
1058+
" snippet-end:[iam.abapv1.get_policy_version]
1059+
ENDMETHOD.
10301060
ENDCLASS.

sap-abap/services/iam/#awsex#cl_iam_actions.clas.testclasses.abap

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ CLASS ltc_awsex_cl_iam_actions DEFINITION FOR TESTING DURATION LONG RISK LEVEL D
6767
list_saml_providers FOR TESTING RAISING /aws1/cx_rt_generic,
6868
create_service_linked_role FOR TESTING RAISING /aws1/cx_rt_generic,
6969
list_policy_versions FOR TESTING RAISING /aws1/cx_rt_generic,
70+
get_policy_version FOR TESTING RAISING /aws1/cx_rt_generic,
7071
set_default_policy_version FOR TESTING RAISING /aws1/cx_rt_generic,
7172
delete_policy_version FOR TESTING RAISING /aws1/cx_rt_generic.
7273

@@ -1507,6 +1508,56 @@ CLASS ltc_awsex_cl_iam_actions IMPLEMENTATION.
15071508
msg = |Policy should have a default version| ).
15081509
ENDMETHOD.
15091510

1511+
1512+
METHOD get_policy_version.
1513+
DATA lo_result TYPE REF TO /aws1/cl_iamgetpolicyvrsrsp.
1514+
DATA lv_version_id TYPE /aws1/iampolicyversionidtype.
1515+
1516+
" Use test policy created in class_setup
1517+
" First get the list of versions to find the default version ID
1518+
DATA(lo_list_result) = ao_iam->listpolicyversions( iv_policyarn = av_test_policy_arn ).
1519+
DATA(lt_versions) = lo_list_result->get_versions( ).
1520+
1521+
" Find the default version
1522+
LOOP AT lt_versions INTO DATA(lo_version).
1523+
IF lo_version->get_isdefaultversion( ) = abap_true.
1524+
lv_version_id = lo_version->get_versionid( ).
1525+
EXIT.
1526+
ENDIF.
1527+
ENDLOOP.
1528+
1529+
cl_abap_unit_assert=>assert_not_initial(
1530+
act = lv_version_id
1531+
msg = |Default policy version ID should be found| ).
1532+
1533+
" Now get the policy version details
1534+
ao_iam_actions->get_policy_version(
1535+
EXPORTING
1536+
iv_policy_arn = av_test_policy_arn
1537+
iv_version_id = lv_version_id
1538+
IMPORTING
1539+
oo_result = lo_result ).
1540+
1541+
cl_abap_unit_assert=>assert_bound(
1542+
act = lo_result
1543+
msg = |Get policy version result should not be initial| ).
1544+
1545+
DATA(lo_policy_version) = lo_result->get_policyversion( ).
1546+
cl_abap_unit_assert=>assert_bound(
1547+
act = lo_policy_version
1548+
msg = |Policy version should not be initial| ).
1549+
1550+
cl_abap_unit_assert=>assert_equals(
1551+
exp = lv_version_id
1552+
act = lo_policy_version->get_versionid( )
1553+
msg = |Version ID should match| ).
1554+
1555+
cl_abap_unit_assert=>assert_not_initial(
1556+
act = lo_policy_version->get_document( )
1557+
msg = |Policy document should not be initial| ).
1558+
ENDMETHOD.
1559+
1560+
15101561
METHOD set_default_policy_version.
15111562
DATA lv_new_policy_doc TYPE string.
15121563
DATA lv_version_id TYPE /aws1/iampolicyversionidtype.

0 commit comments

Comments
 (0)