文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Control Tower 使用適用於 SAP ABAP 的 SDK 的範例
下列程式碼範例示範如何使用適用於 SAP ABAP 的 AWS 開發套件來執行動作和實作常見案例 AWS Control Tower。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。
每個範例均包含完整原始碼的連結,您可在連結中找到如何設定和執行內容中程式碼的相關指示。
主題
動作
以下程式碼範例顯示如何使用 DisableBaseline。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 TRY. " Disable the baseline DATA(lo_output) = io_ctt->disablebaseline( iv_enabledbaselineidentifier = iv_enabled_baseline_identifier ). DATA(lv_operation_id) = lo_output->get_operationidentifier( ). " Wait for operation to complete DATA lv_status TYPE /aws1/cttbaselineopstatus. DO 100 TIMES. lv_status = get_baseline_operation( io_ctt = io_ctt iv_operation_id = lv_operation_id ). DATA(lv_msg) = |Baseline operation status: { lv_status }|. MESSAGE lv_msg TYPE 'I'. IF lv_status = 'SUCCEEDED' OR lv_status = 'FAILED'. EXIT. ENDIF. " Wait 30 seconds WAIT UP TO 30 SECONDS. ENDDO. ov_operation_id = lv_operation_id. MESSAGE 'Baseline disabled successfully.' TYPE 'I'. CATCH /aws1/cx_cttconflictexception INTO DATA(lo_conflict). " Log conflict but don't fail - return empty operation ID DATA(lv_msg2) = |Conflict disabling baseline: { lo_conflict->get_text( ) }. Skipping disable step.|. MESSAGE lv_msg2 TYPE 'I'. CLEAR ov_operation_id. ENDTRY.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 DisableBaseline。
-
以下程式碼範例顯示如何使用 DisableControl。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 " Disable the control DATA(lo_output) = io_ctt->disablecontrol( iv_controlidentifier = iv_control_arn iv_targetidentifier = iv_target_identifier ). DATA(lv_operation_id) = lo_output->get_operationidentifier( ). " Wait for operation to complete DATA lv_status TYPE /aws1/cttcontrolopstatus. DO 100 TIMES. lv_status = get_control_operation( io_ctt = io_ctt iv_operation_id = lv_operation_id ). DATA(lv_msg) = |Control operation status: { lv_status }|. MESSAGE lv_msg TYPE 'I'. IF lv_status = 'SUCCEEDED' OR lv_status = 'FAILED'. EXIT. ENDIF. " Wait 30 seconds WAIT UP TO 30 SECONDS. ENDDO. ov_operation_id = lv_operation_id. MESSAGE 'Control disabled successfully.' TYPE 'I'.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 DisableControl。
-
以下程式碼範例顯示如何使用 EnableBaseline。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 " Prepare parameters for enabling baseline DATA lt_parameters TYPE /aws1/cl_cttenbdbaselineparam=>tt_enabledbaselineparameters. " Add Identity Center baseline parameter if provided IF iv_identity_center_baseline IS NOT INITIAL. " Create a JSON document with the baseline ARN value DATA(lv_json) = |\{ "IdentityCenterEnabledBaselineArn": "{ iv_identity_center_baseline }" \}|. DATA(lo_param) = NEW /aws1/cl_cttenbdbaselineparam( iv_key = 'IdentityCenterEnabledBaselineArn' io_value = /aws1/cl_rt_document=>from_json_str( lv_json ) ). APPEND lo_param TO lt_parameters. ENDIF. " Enable the baseline DATA(lo_output) = io_ctt->enablebaseline( iv_baselineidentifier = iv_baseline_identifier iv_baselineversion = iv_baseline_version iv_targetidentifier = iv_target_identifier it_parameters = lt_parameters ). DATA(lv_operation_id) = lo_output->get_operationidentifier( ). " Wait for operation to complete DATA lv_status TYPE /aws1/cttbaselineopstatus. DO 100 TIMES. lv_status = get_baseline_operation( io_ctt = io_ctt iv_operation_id = lv_operation_id ). DATA(lv_msg) = |Baseline operation status: { lv_status }|. MESSAGE lv_msg TYPE 'I'. IF lv_status = 'SUCCEEDED' OR lv_status = 'FAILED'. EXIT. ENDIF. " Wait 30 seconds WAIT UP TO 30 SECONDS. ENDDO. ov_enabled_baseline_arn = lo_output->get_arn( ). MESSAGE 'Baseline enabled successfully.' TYPE 'I'.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 EnableBaseline。
-
以下程式碼範例顯示如何使用 EnableControl。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 " Enable the control DATA(lo_output) = io_ctt->enablecontrol( iv_controlidentifier = iv_control_arn iv_targetidentifier = iv_target_identifier ). DATA(lv_operation_id) = lo_output->get_operationidentifier( ). " Wait for operation to complete DATA lv_status TYPE /aws1/cttcontrolopstatus. DO 100 TIMES. lv_status = get_control_operation( io_ctt = io_ctt iv_operation_id = lv_operation_id ). DATA(lv_msg) = |Control operation status: { lv_status }|. MESSAGE lv_msg TYPE 'I'. IF lv_status = 'SUCCEEDED' OR lv_status = 'FAILED'. EXIT. ENDIF. " Wait 30 seconds WAIT UP TO 30 SECONDS. ENDDO. ov_operation_id = lv_operation_id. MESSAGE 'Control enabled successfully.' TYPE 'I'.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 EnableControl。
-
以下程式碼範例顯示如何使用 GetBaselineOperation。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 DATA(lo_output) = io_ctt->getbaselineoperation( iv_operationidentifier = iv_operation_id ). ov_status = lo_output->get_baselineoperation( )->get_status( ).-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 GetBaselineOperation。
-
以下程式碼範例顯示如何使用 GetControlOperation。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 DATA(lo_output) = io_ctt->getcontroloperation( iv_operationidentifier = iv_operation_id ). ov_status = lo_output->get_controloperation( )->get_status( ).-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 GetControlOperation。
-
以下程式碼範例顯示如何使用 ListBaselines。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 DATA lt_baselines TYPE /aws1/cl_cttbaselinesummary=>tt_baselines. DATA lv_nexttoken TYPE /aws1/cttstring. " List all baselines using pagination DO. DATA(lo_output) = io_ctt->listbaselines( iv_nexttoken = lv_nexttoken ). APPEND LINES OF lo_output->get_baselines( ) TO lt_baselines. lv_nexttoken = lo_output->get_nexttoken( ). IF lv_nexttoken IS INITIAL. EXIT. ENDIF. ENDDO. ot_baselines = lt_baselines. MESSAGE 'Listed baselines successfully.' TYPE 'I'.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 ListBaselines。
-
以下程式碼範例顯示如何使用 ListEnabledBaselines。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 DATA lt_enabled_baselines TYPE /aws1/cl_cttenbdbaselinesumm=>tt_enabledbaselines. DATA lv_nexttoken TYPE /aws1/cttlstenbdbaselinesnex00. " List all enabled baselines using pagination DO. DATA(lo_output) = io_ctt->listenabledbaselines( iv_nexttoken = lv_nexttoken ). APPEND LINES OF lo_output->get_enabledbaselines( ) TO lt_enabled_baselines. lv_nexttoken = lo_output->get_nexttoken( ). IF lv_nexttoken IS INITIAL. EXIT. ENDIF. ENDDO. ot_enabled_baselines = lt_enabled_baselines. MESSAGE 'Listed enabled baselines successfully.' TYPE 'I'.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 ListEnabledBaselines。
-
以下程式碼範例顯示如何使用 ListEnabledControls。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 DATA lt_enabled_controls TYPE /aws1/cl_cttenabledcontrolsumm=>tt_enabledcontrols. DATA lv_nexttoken TYPE /aws1/cttstring. " List all enabled controls using pagination DO. DATA(lo_output) = io_ctt->listenabledcontrols( iv_targetidentifier = iv_target_identifier iv_nexttoken = lv_nexttoken ). APPEND LINES OF lo_output->get_enabledcontrols( ) TO lt_enabled_controls. lv_nexttoken = lo_output->get_nexttoken( ). IF lv_nexttoken IS INITIAL. EXIT. ENDIF. ENDDO. ot_enabled_controls = lt_enabled_controls. MESSAGE 'Listed enabled controls successfully.' TYPE 'I'.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 ListEnabledControls。
-
以下程式碼範例顯示如何使用 ListLandingZones。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 DATA lt_landing_zones TYPE /aws1/cl_cttlandingzonesummary=>tt_landingzonesummaries. DATA lv_nexttoken TYPE /aws1/cttstring. " List all landing zones using pagination DO. DATA(lo_output) = io_ctt->listlandingzones( iv_nexttoken = lv_nexttoken ). APPEND LINES OF lo_output->get_landingzones( ) TO lt_landing_zones. lv_nexttoken = lo_output->get_nexttoken( ). IF lv_nexttoken IS INITIAL. EXIT. ENDIF. ENDDO. ot_landing_zones = lt_landing_zones. MESSAGE 'Listed landing zones successfully.' TYPE 'I'.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 ListLandingZones。
-
以下程式碼範例顯示如何使用 ResetEnabledBaseline。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 " Reset the enabled baseline DATA(lo_output) = io_ctt->resetenabledbaseline( iv_enabledbaselineidentifier = iv_enabled_baseline_identifier ). DATA(lv_operation_id) = lo_output->get_operationidentifier( ). " Wait for operation to complete DATA lv_status TYPE /aws1/cttbaselineopstatus. DO 100 TIMES. lv_status = get_baseline_operation( io_ctt = io_ctt iv_operation_id = lv_operation_id ). DATA(lv_msg) = |Baseline operation status: { lv_status }|. MESSAGE lv_msg TYPE 'I'. IF lv_status = 'SUCCEEDED' OR lv_status = 'FAILED'. EXIT. ENDIF. " Wait 30 seconds WAIT UP TO 30 SECONDS. ENDDO. ov_operation_id = lv_operation_id. MESSAGE 'Baseline reset successfully.' TYPE 'I'.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 ResetEnabledBaseline。
-