/AWS1/IF_AMF=>CREATEAPP()¶
About CreateApp¶
Creates a new Amplify app.
Method Signature¶
METHODS /AWS1/IF_AMF~CREATEAPP
  IMPORTING
    !IV_NAME TYPE /AWS1/AMFNAME OPTIONAL
    !IV_DESCRIPTION TYPE /AWS1/AMFDESCRIPTION OPTIONAL
    !IV_REPOSITORY TYPE /AWS1/AMFREPOSITORY OPTIONAL
    !IV_PLATFORM TYPE /AWS1/AMFPLATFORM OPTIONAL
    !IV_COMPUTEROLEARN TYPE /AWS1/AMFCOMPUTEROLEARN OPTIONAL
    !IV_IAMSERVICEROLEARN TYPE /AWS1/AMFSERVICEROLEARN OPTIONAL
    !IV_OAUTHTOKEN TYPE /AWS1/AMFOAUTHTOKEN OPTIONAL
    !IV_ACCESSTOKEN TYPE /AWS1/AMFACCESSTOKEN OPTIONAL
    !IT_ENVIRONMENTVARIABLES TYPE /AWS1/CL_AMFENVIRONMENTVARIA00=>TT_ENVIRONMENTVARIABLES OPTIONAL
    !IV_ENABLEBRANCHAUTOBUILD TYPE /AWS1/AMFENABLEBRANCHAUTOBUILD OPTIONAL
    !IV_ENABLEBRANCHAUTODELETION TYPE /AWS1/AMFENBBRANCHAUTODELETION OPTIONAL
    !IV_ENABLEBASICAUTH TYPE /AWS1/AMFENABLEBASICAUTH OPTIONAL
    !IV_BASICAUTHCREDENTIALS TYPE /AWS1/AMFBASICAUTHCREDENTIALS OPTIONAL
    !IT_CUSTOMRULES TYPE /AWS1/CL_AMFCUSTOMRULE=>TT_CUSTOMRULES OPTIONAL
    !IT_TAGS TYPE /AWS1/CL_AMFTAGMAP_W=>TT_TAGMAP OPTIONAL
    !IV_BUILDSPEC TYPE /AWS1/AMFBUILDSPEC OPTIONAL
    !IV_CUSTOMHEADERS TYPE /AWS1/AMFCUSTOMHEADERS OPTIONAL
    !IV_ENABLEAUTOBRANCHCREATION TYPE /AWS1/AMFENBAUTOBRANCHCREATION OPTIONAL
    !IT_AUTOBRANCHCREATIONPATS TYPE /AWS1/CL_AMFAUTOBRANCHCREATI00=>TT_AUTOBRANCHCREATIONPATTERNS OPTIONAL
    !IO_AUTOBRANCHCREATIONCONFIG TYPE REF TO /AWS1/CL_AMFAUTOBRANCHCREATI01 OPTIONAL
    !IO_JOBCONFIG TYPE REF TO /AWS1/CL_AMFJOBCONFIG OPTIONAL
    !IO_CACHECONFIG TYPE REF TO /AWS1/CL_AMFCACHECONFIG OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_amfcreateappresult
  RAISING
    /AWS1/CX_AMFBADREQUESTEX
    /AWS1/CX_AMFDEPENDENTSVCFAIL00
    /AWS1/CX_AMFINTERNALFAILUREEX
    /AWS1/CX_AMFLIMITEXCEEDEDEX
    /AWS1/CX_AMFUNAUTHORIZEDEX
    /AWS1/CX_AMFCLIENTEXC
    /AWS1/CX_AMFSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_name TYPE /AWS1/AMFNAME /AWS1/AMFNAME¶
The name of the Amplify app.
Optional arguments:¶
iv_description TYPE /AWS1/AMFDESCRIPTION /AWS1/AMFDESCRIPTION¶
The description of the Amplify app.
iv_repository TYPE /AWS1/AMFREPOSITORY /AWS1/AMFREPOSITORY¶
The Git repository for the Amplify app.
iv_platform TYPE /AWS1/AMFPLATFORM /AWS1/AMFPLATFORM¶
The platform for the Amplify app. For a static app, set the platform type to
WEB. For a dynamic server-side rendered (SSR) app, set the platform type toWEB_COMPUTE. For an app requiring Amplify Hosting's original SSR support only, set the platform type toWEB_DYNAMIC.If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to
WEB_COMPUTEand set the artifactsbaseDirectoryto.nextin the application's build settings. For an example of the build specification settings, see Amplify build settings for a Next.js 14 SSG application in the Amplify Hosting User Guide.
iv_computerolearn TYPE /AWS1/AMFCOMPUTEROLEARN /AWS1/AMFCOMPUTEROLEARN¶
The Amazon Resource Name (ARN) of the IAM role to assign to an SSR app. The SSR Compute role allows the Amplify Hosting compute service to securely access specific Amazon Web Services resources based on the role's permissions. For more information about the SSR Compute role, see Adding an SSR Compute role in the Amplify User Guide.
iv_iamservicerolearn TYPE /AWS1/AMFSERVICEROLEARN /AWS1/AMFSERVICEROLEARN¶
The Amazon Resource Name (ARN) of the IAM service role for the Amplify app.
iv_oauthtoken TYPE /AWS1/AMFOAUTHTOKEN /AWS1/AMFOAUTHTOKEN¶
The OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key using SSH cloning. The OAuth token is not stored.
Use
oauthTokenfor repository providers other than GitHub, such as Bitbucket or CodeCommit. To authorize access to GitHub as your repository provider, useaccessToken.You must specify either
oauthTokenoraccessTokenwhen you create a new app.Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see Migrating an existing OAuth app to the Amplify GitHub App in the Amplify User Guide .
iv_accesstoken TYPE /AWS1/AMFACCESSTOKEN /AWS1/AMFACCESSTOKEN¶
The personal access token for a GitHub repository for an Amplify app. The personal access token is used to authorize access to a GitHub repository using the Amplify GitHub App. The token is not stored.
Use
accessTokenfor GitHub repositories only. To authorize access to a repository provider such as Bitbucket or CodeCommit, useoauthToken.You must specify either
accessTokenoroauthTokenwhen you create a new app.Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see Migrating an existing OAuth app to the Amplify GitHub App in the Amplify User Guide .
it_environmentvariables TYPE /AWS1/CL_AMFENVIRONMENTVARIA00=>TT_ENVIRONMENTVARIABLES TT_ENVIRONMENTVARIABLES¶
The environment variables map for an Amplify app.
For a list of the environment variables that are accessible to Amplify by default, see Amplify Environment variables in the Amplify Hosting User Guide.
iv_enablebranchautobuild TYPE /AWS1/AMFENABLEBRANCHAUTOBUILD /AWS1/AMFENABLEBRANCHAUTOBUILD¶
Enables the auto building of branches for an Amplify app.
iv_enablebranchautodeletion TYPE /AWS1/AMFENBBRANCHAUTODELETION /AWS1/AMFENBBRANCHAUTODELETION¶
Automatically disconnects a branch in the Amplify console when you delete a branch from your Git repository.
iv_enablebasicauth TYPE /AWS1/AMFENABLEBASICAUTH /AWS1/AMFENABLEBASICAUTH¶
Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
iv_basicauthcredentials TYPE /AWS1/AMFBASICAUTHCREDENTIALS /AWS1/AMFBASICAUTHCREDENTIALS¶
The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format
user:password.
it_customrules TYPE /AWS1/CL_AMFCUSTOMRULE=>TT_CUSTOMRULES TT_CUSTOMRULES¶
The custom rewrite and redirect rules for an Amplify app.
it_tags TYPE /AWS1/CL_AMFTAGMAP_W=>TT_TAGMAP TT_TAGMAP¶
The tag for an Amplify app.
iv_buildspec TYPE /AWS1/AMFBUILDSPEC /AWS1/AMFBUILDSPEC¶
The build specification (build spec) for an Amplify app.
iv_customheaders TYPE /AWS1/AMFCUSTOMHEADERS /AWS1/AMFCUSTOMHEADERS¶
The custom HTTP headers for an Amplify app.
iv_enableautobranchcreation TYPE /AWS1/AMFENBAUTOBRANCHCREATION /AWS1/AMFENBAUTOBRANCHCREATION¶
Enables automated branch creation for an Amplify app.
it_autobranchcreationpats TYPE /AWS1/CL_AMFAUTOBRANCHCREATI00=>TT_AUTOBRANCHCREATIONPATTERNS TT_AUTOBRANCHCREATIONPATTERNS¶
The automated branch creation glob patterns for an Amplify app.
io_autobranchcreationconfig TYPE REF TO /AWS1/CL_AMFAUTOBRANCHCREATI01 /AWS1/CL_AMFAUTOBRANCHCREATI01¶
The automated branch creation configuration for an Amplify app.
io_jobconfig TYPE REF TO /AWS1/CL_AMFJOBCONFIG /AWS1/CL_AMFJOBCONFIG¶
Describes the configuration details that apply to the jobs for an Amplify app.
io_cacheconfig TYPE REF TO /AWS1/CL_AMFCACHECONFIG /AWS1/CL_AMFCACHECONFIG¶
The cache configuration for the Amplify app.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_amfcreateappresult /AWS1/CL_AMFCREATEAPPRESULT¶
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->createapp(
  io_autobranchcreationconfig = new /aws1/cl_amfautobranchcreati01(
    it_environmentvariables = VALUE /aws1/cl_amfenvironmentvaria00=>tt_environmentvariables(
      (
        VALUE /aws1/cl_amfenvironmentvaria00=>ts_environmentvariables_maprow(
          value = new /aws1/cl_amfenvironmentvaria00( |string| )
          key = |string|
        )
      )
    )
    iv_basicauthcredentials = |string|
    iv_buildspec = |string|
    iv_enableautobuild = ABAP_TRUE
    iv_enablebasicauth = ABAP_TRUE
    iv_enableperformancemode = ABAP_TRUE
    iv_enablepullrequestpreview = ABAP_TRUE
    iv_framework = |string|
    iv_pullreqenvironmentname = |string|
    iv_stage = |string|
  )
  io_cacheconfig = new /aws1/cl_amfcacheconfig( |string| )
  io_jobconfig = new /aws1/cl_amfjobconfig( |string| )
  it_autobranchcreationpats = VALUE /aws1/cl_amfautobranchcreati00=>tt_autobranchcreationpatterns(
    ( new /aws1/cl_amfautobranchcreati00( |string| ) )
  )
  it_customrules = VALUE /aws1/cl_amfcustomrule=>tt_customrules(
    (
      new /aws1/cl_amfcustomrule(
        iv_condition = |string|
        iv_source = |string|
        iv_status = |string|
        iv_target = |string|
      )
    )
  )
  it_environmentvariables = VALUE /aws1/cl_amfenvironmentvaria00=>tt_environmentvariables(
    (
      VALUE /aws1/cl_amfenvironmentvaria00=>ts_environmentvariables_maprow(
        value = new /aws1/cl_amfenvironmentvaria00( |string| )
        key = |string|
      )
    )
  )
  it_tags = VALUE /aws1/cl_amftagmap_w=>tt_tagmap(
    (
      VALUE /aws1/cl_amftagmap_w=>ts_tagmap_maprow(
        value = new /aws1/cl_amftagmap_w( |string| )
        key = |string|
      )
    )
  )
  iv_accesstoken = |string|
  iv_basicauthcredentials = |string|
  iv_buildspec = |string|
  iv_computerolearn = |string|
  iv_customheaders = |string|
  iv_description = |string|
  iv_enableautobranchcreation = ABAP_TRUE
  iv_enablebasicauth = ABAP_TRUE
  iv_enablebranchautobuild = ABAP_TRUE
  iv_enablebranchautodeletion = ABAP_TRUE
  iv_iamservicerolearn = |string|
  iv_name = |string|
  iv_oauthtoken = |string|
  iv_platform = |string|
  iv_repository = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_app = lo_result->get_app( ).
  IF lo_app IS NOT INITIAL.
    lv_appid = lo_app->get_appid( ).
    lv_apparn = lo_app->get_apparn( ).
    lv_name = lo_app->get_name( ).
    LOOP AT lo_app->get_tags( ) into ls_row.
      lv_key = ls_row-key.
      lo_value = ls_row-value.
      IF lo_value IS NOT INITIAL.
        lv_tagvalue = lo_value->get_value( ).
      ENDIF.
    ENDLOOP.
    lv_description = lo_app->get_description( ).
    lv_repository = lo_app->get_repository( ).
    lv_platform = lo_app->get_platform( ).
    lv_createtime = lo_app->get_createtime( ).
    lv_updatetime = lo_app->get_updatetime( ).
    lv_computerolearn = lo_app->get_computerolearn( ).
    lv_servicerolearn = lo_app->get_iamservicerolearn( ).
    LOOP AT lo_app->get_environmentvariables( ) into ls_row_1.
      lv_key_1 = ls_row_1-key.
      lo_value_1 = ls_row_1-value.
      IF lo_value_1 IS NOT INITIAL.
        lv_envvalue = lo_value_1->get_value( ).
      ENDIF.
    ENDLOOP.
    lv_defaultdomain = lo_app->get_defaultdomain( ).
    lv_enablebranchautobuild = lo_app->get_enablebranchautobuild( ).
    lv_enablebranchautodeletio = lo_app->get_enablebranchautodeletion( ).
    lv_enablebasicauth = lo_app->get_enablebasicauth( ).
    lv_basicauthcredentials = lo_app->get_basicauthcredentials( ).
    LOOP AT lo_app->get_customrules( ) into lo_row_2.
      lo_row_3 = lo_row_2.
      IF lo_row_3 IS NOT INITIAL.
        lv_source = lo_row_3->get_source( ).
        lv_target = lo_row_3->get_target( ).
        lv_status = lo_row_3->get_status( ).
        lv_condition = lo_row_3->get_condition( ).
      ENDIF.
    ENDLOOP.
    lo_productionbranch = lo_app->get_productionbranch( ).
    IF lo_productionbranch IS NOT INITIAL.
      lv_lastdeploytime = lo_productionbranch->get_lastdeploytime( ).
      lv_status = lo_productionbranch->get_status( ).
      lv_thumbnailurl = lo_productionbranch->get_thumbnailurl( ).
      lv_branchname = lo_productionbranch->get_branchname( ).
    ENDIF.
    lv_buildspec = lo_app->get_buildspec( ).
    lv_customheaders = lo_app->get_customheaders( ).
    lv_enableautobranchcreatio = lo_app->get_enableautobranchcreation( ).
    LOOP AT lo_app->get_autobranchcreationpats( ) into lo_row_4.
      lo_row_5 = lo_row_4.
      IF lo_row_5 IS NOT INITIAL.
        lv_autobranchcreationpatte = lo_row_5->get_value( ).
      ENDIF.
    ENDLOOP.
    lo_autobranchcreationconfi = lo_app->get_autobranchcreationconfig( ).
    IF lo_autobranchcreationconfi IS NOT INITIAL.
      lv_stage = lo_autobranchcreationconfi->get_stage( ).
      lv_framework = lo_autobranchcreationconfi->get_framework( ).
      lv_enableautobuild = lo_autobranchcreationconfi->get_enableautobuild( ).
      LOOP AT lo_autobranchcreationconfi->get_environmentvariables( ) into ls_row_1.
        lv_key_1 = ls_row_1-key.
        lo_value_1 = ls_row_1-value.
        IF lo_value_1 IS NOT INITIAL.
          lv_envvalue = lo_value_1->get_value( ).
        ENDIF.
      ENDLOOP.
      lv_basicauthcredentials = lo_autobranchcreationconfi->get_basicauthcredentials( ).
      lv_enablebasicauth = lo_autobranchcreationconfi->get_enablebasicauth( ).
      lv_enableperformancemode = lo_autobranchcreationconfi->get_enableperformancemode( ).
      lv_buildspec = lo_autobranchcreationconfi->get_buildspec( ).
      lv_enablepullrequestprevie = lo_autobranchcreationconfi->get_enablepullrequestpreview( ).
      lv_pullrequestenvironmentn = lo_autobranchcreationconfi->get_pullreqenvironmentname( ).
    ENDIF.
    lv_repositoryclonemethod = lo_app->get_repositoryclonemethod( ).
    lo_cacheconfig = lo_app->get_cacheconfig( ).
    IF lo_cacheconfig IS NOT INITIAL.
      lv_cacheconfigtype = lo_cacheconfig->get_type( ).
    ENDIF.
    lv_webhookcreatetime = lo_app->get_webhookcreatetime( ).
    lo_wafconfiguration = lo_app->get_wafconfiguration( ).
    IF lo_wafconfiguration IS NOT INITIAL.
      lv_webaclarn = lo_wafconfiguration->get_webaclarn( ).
      lv_wafstatus = lo_wafconfiguration->get_wafstatus( ).
      lv_statusreason = lo_wafconfiguration->get_statusreason( ).
    ENDIF.
    lo_jobconfig = lo_app->get_jobconfig( ).
    IF lo_jobconfig IS NOT INITIAL.
      lv_buildcomputetype = lo_jobconfig->get_buildcomputetype( ).
    ENDIF.
  ENDIF.
ENDIF.