Skip to content

/AWS1/IF_SGM=>UPDATEDOMAIN()

About UpdateDomain

Updates the default settings for new user profiles in the domain.

Method Signature

METHODS /AWS1/IF_SGM~UPDATEDOMAIN
  IMPORTING
    !IV_DOMAINID TYPE /AWS1/SGMDOMAINID OPTIONAL
    !IO_DEFAULTUSERSETTINGS TYPE REF TO /AWS1/CL_SGMUSERSETTINGS OPTIONAL
    !IO_DOMAINSETTINGSFORUPDATE TYPE REF TO /AWS1/CL_SGMDOMSTGSFORUPDATE OPTIONAL
    !IV_APPSECGROUPMANAGEMENT TYPE /AWS1/SGMAPPSECGROUPMANAGEMENT OPTIONAL
    !IO_DEFAULTSPACESETTINGS TYPE REF TO /AWS1/CL_SGMDEFAULTSPACESTGS OPTIONAL
    !IT_SUBNETIDS TYPE /AWS1/CL_SGMSUBNETS_W=>TT_SUBNETS OPTIONAL
    !IV_APPNETWORKACCESSTYPE TYPE /AWS1/SGMAPPNETWORKACCESSTYPE OPTIONAL
    !IV_TAGPROPAGATION TYPE /AWS1/SGMTAGPROPAGATION OPTIONAL
    !IV_VPCID TYPE /AWS1/SGMVPCID OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_sgmupdatedomainrsp
  RAISING
    /AWS1/CX_SGMRESOURCEINUSE
    /AWS1/CX_SGMRESOURCELIMITEXCD
    /AWS1/CX_SGMRESOURCENOTFOUND
    /AWS1/CX_SGMCLIENTEXC
    /AWS1/CX_SGMSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_domainid TYPE /AWS1/SGMDOMAINID /AWS1/SGMDOMAINID

The ID of the domain to be updated.

Optional arguments:

io_defaultusersettings TYPE REF TO /AWS1/CL_SGMUSERSETTINGS /AWS1/CL_SGMUSERSETTINGS

A collection of settings.

io_domainsettingsforupdate TYPE REF TO /AWS1/CL_SGMDOMSTGSFORUPDATE /AWS1/CL_SGMDOMSTGSFORUPDATE

A collection of DomainSettings configuration values to update.

iv_appsecgroupmanagement TYPE /AWS1/SGMAPPSECGROUPMANAGEMENT /AWS1/SGMAPPSECGROUPMANAGEMENT

The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided. If setting up the domain for use with RStudio, this value must be set to Service.

io_defaultspacesettings TYPE REF TO /AWS1/CL_SGMDEFAULTSPACESTGS /AWS1/CL_SGMDEFAULTSPACESTGS

The default settings for shared spaces that users create in the domain.

it_subnetids TYPE /AWS1/CL_SGMSUBNETS_W=>TT_SUBNETS TT_SUBNETS

The VPC subnets that Studio uses for communication.

If removing subnets, ensure there are no apps in the InService, Pending, or Deleting state.

iv_appnetworkaccesstype TYPE /AWS1/SGMAPPNETWORKACCESSTYPE /AWS1/SGMAPPNETWORKACCESSTYPE

Specifies the VPC used for non-EFS traffic.

  • PublicInternetOnly - Non-EFS traffic is through a VPC managed by Amazon SageMaker AI, which allows direct internet access.

  • VpcOnly - All Studio traffic is through the specified VPC and subnets.

This configuration can only be modified if there are no apps in the InService, Pending, or Deleting state. The configuration cannot be updated if DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is already set or DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided as part of the same request.

iv_tagpropagation TYPE /AWS1/SGMTAGPROPAGATION /AWS1/SGMTAGPROPAGATION

Indicates whether custom tag propagation is supported for the domain. Defaults to DISABLED.

iv_vpcid TYPE /AWS1/SGMVPCID /AWS1/SGMVPCID

The identifier for the VPC used by the domain for network communication. Use this field only when adding VPC configuration to a SageMaker AI domain used in Amazon SageMaker Unified Studio that was created without VPC settings. SageMaker AI doesn't automatically apply VPC updates to existing applications. Stop and restart your applications to apply the changes.

RETURNING

oo_output TYPE REF TO /aws1/cl_sgmupdatedomainrsp /AWS1/CL_SGMUPDATEDOMAINRSP

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->updatedomain(
  io_defaultspacesettings = new /aws1/cl_sgmdefaultspacestgs(
    io_customposixuserconfig = new /aws1/cl_sgmcustomposixusercfg(
      iv_gid = 123
      iv_uid = 123
    )
    io_jupyterlabappsettings = new /aws1/cl_sgmjupyterlabappstgs(
      io_applifecyclemanagement = new /aws1/cl_sgmapplcmanagement(
        io_idlesettings = new /aws1/cl_sgmidlesettings(
          iv_idletimeoutinminutes = 123
          iv_lifecyclemanagement = |string|
          iv_maxidletimeoutinminutes = 123
          iv_minidletimeoutinminutes = 123
        )
      )
      io_defaultresourcespec = new /aws1/cl_sgmresourcespec(
        iv_instancetype = |string|
        iv_lifecycleconfigarn = |string|
        iv_sagemakerimagearn = |string|
        iv_sagemakerimageversionarn = |string|
        iv_smimageversionalias = |string|
      )
      io_emrsettings = new /aws1/cl_sgmemrsettings(
        it_assumablerolearns = VALUE /aws1/cl_sgmassumablerolearn00=>tt_assumablerolearns(
          ( new /aws1/cl_sgmassumablerolearn00( |string| ) )
        )
        it_executionrolearns = VALUE /aws1/cl_sgmexecrolearns_w=>tt_executionrolearns(
          ( new /aws1/cl_sgmexecrolearns_w( |string| ) )
        )
      )
      it_coderepositories = VALUE /aws1/cl_sgmcoderepository=>tt_coderepositories(
        ( new /aws1/cl_sgmcoderepository( |string| ) )
      )
      it_customimages = VALUE /aws1/cl_sgmcustomimage=>tt_customimages(
        (
          new /aws1/cl_sgmcustomimage(
            iv_appimageconfigname = |string|
            iv_imagename = |string|
            iv_imageversionnumber = 123
          )
        )
      )
      it_lifecycleconfigarns = VALUE /aws1/cl_sgmlcconfigarns_w=>tt_lifecycleconfigarns(
        ( new /aws1/cl_sgmlcconfigarns_w( |string| ) )
      )
      iv_builtinlifecycleconfigarn = |string|
    )
    io_jupyterserverappsettings = new /aws1/cl_sgmjupyterserverapp00(
      io_defaultresourcespec = new /aws1/cl_sgmresourcespec(
        iv_instancetype = |string|
        iv_lifecycleconfigarn = |string|
        iv_sagemakerimagearn = |string|
        iv_sagemakerimageversionarn = |string|
        iv_smimageversionalias = |string|
      )
      it_coderepositories = VALUE /aws1/cl_sgmcoderepository=>tt_coderepositories(
        ( new /aws1/cl_sgmcoderepository( |string| ) )
      )
      it_lifecycleconfigarns = VALUE /aws1/cl_sgmlcconfigarns_w=>tt_lifecycleconfigarns(
        ( new /aws1/cl_sgmlcconfigarns_w( |string| ) )
      )
    )
    io_kernelgatewayappsettings = new /aws1/cl_sgmkernelgwappstgs(
      io_defaultresourcespec = new /aws1/cl_sgmresourcespec(
        iv_instancetype = |string|
        iv_lifecycleconfigarn = |string|
        iv_sagemakerimagearn = |string|
        iv_sagemakerimageversionarn = |string|
        iv_smimageversionalias = |string|
      )
      it_customimages = VALUE /aws1/cl_sgmcustomimage=>tt_customimages(
        (
          new /aws1/cl_sgmcustomimage(
            iv_appimageconfigname = |string|
            iv_imagename = |string|
            iv_imageversionnumber = 123
          )
        )
      )
      it_lifecycleconfigarns = VALUE /aws1/cl_sgmlcconfigarns_w=>tt_lifecycleconfigarns(
        ( new /aws1/cl_sgmlcconfigarns_w( |string| ) )
      )
    )
    io_spacestoragesettings = new /aws1/cl_sgmdefspacestrgstgs(
      io_defaultebsstoragesettings = new /aws1/cl_sgmdefebsstoragestgs(
        iv_defaultebsvolumesizeingb = 123
        iv_maximumebsvolumesizeingb = 123
      )
    )
    it_customfilesystemconfigs = VALUE /aws1/cl_sgmcustfilesystemcfg=>tt_customfilesystemconfigs(
      (
        new /aws1/cl_sgmcustfilesystemcfg(
          io_efsfilesystemconfig = new /aws1/cl_sgmefsfilesystemcfg(
            iv_filesystemid = |string|
            iv_filesystempath = |string|
          )
          io_fsxlustrefilesystemconfig = new /aws1/cl_sgmfsxlustrefilesys00(
            iv_filesystemid = |string|
            iv_filesystempath = |string|
          )
          io_s3filesystemconfig = new /aws1/cl_sgms3filesystemconfig(
            iv_mountpath = |string|
            iv_s3uri = |string|
          )
        )
      )
    )
    it_securitygroups = VALUE /aws1/cl_sgmsecuritygroupids_w=>tt_securitygroupids(
      ( new /aws1/cl_sgmsecuritygroupids_w( |string| ) )
    )
    iv_executionrole = |string|
  )
  io_defaultusersettings = new /aws1/cl_sgmusersettings(
    io_canvasappsettings = new /aws1/cl_sgmcanvasappsettings(
      io_directdeploysettings = new /aws1/cl_sgmdirectdeploystgs( |string| )
      io_emrserverlesssettings = new /aws1/cl_sgmemrserverlessstgs(
        iv_executionrolearn = |string|
        iv_status = |string|
      )
      io_generativeaisettings = new /aws1/cl_sgmgenerativeaistgs( |string| )
      io_kendrasettings = new /aws1/cl_sgmkendrasettings( |string| )
      io_modelregistersettings = new /aws1/cl_sgmmodelregsettings(
        iv_crossacctmodelregrolearn = |string|
        iv_status = |string|
      )
      io_timeseriesfcingsettings = new /aws1/cl_sgmtimeseriesfcings00(
        iv_amazonforecastrolearn = |string|
        iv_status = |string|
      )
      io_workspacesettings = new /aws1/cl_sgmworkspacesettings(
        iv_s3artifactpath = |string|
        iv_s3kmskeyid = |string|
      )
      it_identitypvdroauthsettings = VALUE /aws1/cl_sgmidpvdroauthsetting=>tt_identitypvdroauthsettings(
        (
          new /aws1/cl_sgmidpvdroauthsetting(
            iv_datasourcename = |string|
            iv_secretarn = |string|
            iv_status = |string|
          )
        )
      )
    )
    io_codeeditorappsettings = new /aws1/cl_sgmcodeeditorappstgs(
      io_applifecyclemanagement = new /aws1/cl_sgmapplcmanagement(
        io_idlesettings = new /aws1/cl_sgmidlesettings(
          iv_idletimeoutinminutes = 123
          iv_lifecyclemanagement = |string|
          iv_maxidletimeoutinminutes = 123
          iv_minidletimeoutinminutes = 123
        )
      )
      io_defaultresourcespec = new /aws1/cl_sgmresourcespec(
        iv_instancetype = |string|
        iv_lifecycleconfigarn = |string|
        iv_sagemakerimagearn = |string|
        iv_sagemakerimageversionarn = |string|
        iv_smimageversionalias = |string|
      )
      it_customimages = VALUE /aws1/cl_sgmcustomimage=>tt_customimages(
        (
          new /aws1/cl_sgmcustomimage(
            iv_appimageconfigname = |string|
            iv_imagename = |string|
            iv_imageversionnumber = 123
          )
        )
      )
      it_lifecycleconfigarns = VALUE /aws1/cl_sgmlcconfigarns_w=>tt_lifecycleconfigarns(
        ( new /aws1/cl_sgmlcconfigarns_w( |string| ) )
      )
      iv_builtinlifecycleconfigarn = |string|
    )
    io_customposixuserconfig = new /aws1/cl_sgmcustomposixusercfg(
      iv_gid = 123
      iv_uid = 123
    )
    io_jupyterlabappsettings = new /aws1/cl_sgmjupyterlabappstgs(
      io_applifecyclemanagement = new /aws1/cl_sgmapplcmanagement(
        io_idlesettings = new /aws1/cl_sgmidlesettings(
          iv_idletimeoutinminutes = 123
          iv_lifecyclemanagement = |string|
          iv_maxidletimeoutinminutes = 123
          iv_minidletimeoutinminutes = 123
        )
      )
      io_defaultresourcespec = new /aws1/cl_sgmresourcespec(
        iv_instancetype = |string|
        iv_lifecycleconfigarn = |string|
        iv_sagemakerimagearn = |string|
        iv_sagemakerimageversionarn = |string|
        iv_smimageversionalias = |string|
      )
      io_emrsettings = new /aws1/cl_sgmemrsettings(
        it_assumablerolearns = VALUE /aws1/cl_sgmassumablerolearn00=>tt_assumablerolearns(
          ( new /aws1/cl_sgmassumablerolearn00( |string| ) )
        )
        it_executionrolearns = VALUE /aws1/cl_sgmexecrolearns_w=>tt_executionrolearns(
          ( new /aws1/cl_sgmexecrolearns_w( |string| ) )
        )
      )
      it_coderepositories = VALUE /aws1/cl_sgmcoderepository=>tt_coderepositories(
        ( new /aws1/cl_sgmcoderepository( |string| ) )
      )
      it_customimages = VALUE /aws1/cl_sgmcustomimage=>tt_customimages(
        (
          new /aws1/cl_sgmcustomimage(
            iv_appimageconfigname = |string|
            iv_imagename = |string|
            iv_imageversionnumber = 123
          )
        )
      )
      it_lifecycleconfigarns = VALUE /aws1/cl_sgmlcconfigarns_w=>tt_lifecycleconfigarns(
        ( new /aws1/cl_sgmlcconfigarns_w( |string| ) )
      )
      iv_builtinlifecycleconfigarn = |string|
    )
    io_jupyterserverappsettings = new /aws1/cl_sgmjupyterserverapp00(
      io_defaultresourcespec = new /aws1/cl_sgmresourcespec(
        iv_instancetype = |string|
        iv_lifecycleconfigarn = |string|
        iv_sagemakerimagearn = |string|
        iv_sagemakerimageversionarn = |string|
        iv_smimageversionalias = |string|
      )
      it_coderepositories = VALUE /aws1/cl_sgmcoderepository=>tt_coderepositories(
        ( new /aws1/cl_sgmcoderepository( |string| ) )
      )
      it_lifecycleconfigarns = VALUE /aws1/cl_sgmlcconfigarns_w=>tt_lifecycleconfigarns(
        ( new /aws1/cl_sgmlcconfigarns_w( |string| ) )
      )
    )
    io_kernelgatewayappsettings = new /aws1/cl_sgmkernelgwappstgs(
      io_defaultresourcespec = new /aws1/cl_sgmresourcespec(
        iv_instancetype = |string|
        iv_lifecycleconfigarn = |string|
        iv_sagemakerimagearn = |string|
        iv_sagemakerimageversionarn = |string|
        iv_smimageversionalias = |string|
      )
      it_customimages = VALUE /aws1/cl_sgmcustomimage=>tt_customimages(
        (
          new /aws1/cl_sgmcustomimage(
            iv_appimageconfigname = |string|
            iv_imagename = |string|
            iv_imageversionnumber = 123
          )
        )
      )
      it_lifecycleconfigarns = VALUE /aws1/cl_sgmlcconfigarns_w=>tt_lifecycleconfigarns(
        ( new /aws1/cl_sgmlcconfigarns_w( |string| ) )
      )
    )
    io_rsessionappsettings = new /aws1/cl_sgmrsessionappstgs(
      io_defaultresourcespec = new /aws1/cl_sgmresourcespec(
        iv_instancetype = |string|
        iv_lifecycleconfigarn = |string|
        iv_sagemakerimagearn = |string|
        iv_sagemakerimageversionarn = |string|
        iv_smimageversionalias = |string|
      )
      it_customimages = VALUE /aws1/cl_sgmcustomimage=>tt_customimages(
        (
          new /aws1/cl_sgmcustomimage(
            iv_appimageconfigname = |string|
            iv_imagename = |string|
            iv_imageversionnumber = 123
          )
        )
      )
    )
    io_rstudioserverproappstgs = new /aws1/cl_sgmrstudioserverpro00(
      iv_accessstatus = |string|
      iv_usergroup = |string|
    )
    io_sharingsettings = new /aws1/cl_sgmsharingsettings(
      iv_notebookoutputoption = |string|
      iv_s3kmskeyid = |string|
      iv_s3outputpath = |string|
    )
    io_spacestoragesettings = new /aws1/cl_sgmdefspacestrgstgs(
      io_defaultebsstoragesettings = new /aws1/cl_sgmdefebsstoragestgs(
        iv_defaultebsvolumesizeingb = 123
        iv_maximumebsvolumesizeingb = 123
      )
    )
    io_studiowebportalsettings = new /aws1/cl_sgmstudiowebportals00(
      it_hiddenapptypes = VALUE /aws1/cl_sgmhiddenapptypesls00=>tt_hiddenapptypeslist(
        ( new /aws1/cl_sgmhiddenapptypesls00( |string| ) )
      )
      it_hiddeninstancetypes = VALUE /aws1/cl_sgmhiddeninsttypesl00=>tt_hiddeninstancetypeslist(
        ( new /aws1/cl_sgmhiddeninsttypesl00( |string| ) )
      )
      it_hiddenmltools = VALUE /aws1/cl_sgmhiddenmltoolslst_w=>tt_hiddenmltoolslist(
        ( new /aws1/cl_sgmhiddenmltoolslst_w( |string| ) )
      )
      it_hiddensmimagevrsaliases = VALUE /aws1/cl_sgmhiddensmimage=>tt_hiddensmimagevrsaliaseslist(
        (
          new /aws1/cl_sgmhiddensmimage(
            it_versionaliases = VALUE /aws1/cl_sgmvrsaliaseslist_w=>tt_versionaliaseslist(
              ( new /aws1/cl_sgmvrsaliaseslist_w( |string| ) )
            )
            iv_sagemakerimagename = |string|
          )
        )
      )
    )
    io_tensorboardappsettings = new /aws1/cl_sgmtensorboardappstgs(
      io_defaultresourcespec = new /aws1/cl_sgmresourcespec(
        iv_instancetype = |string|
        iv_lifecycleconfigarn = |string|
        iv_sagemakerimagearn = |string|
        iv_sagemakerimageversionarn = |string|
        iv_smimageversionalias = |string|
      )
    )
    it_customfilesystemconfigs = VALUE /aws1/cl_sgmcustfilesystemcfg=>tt_customfilesystemconfigs(
      (
        new /aws1/cl_sgmcustfilesystemcfg(
          io_efsfilesystemconfig = new /aws1/cl_sgmefsfilesystemcfg(
            iv_filesystemid = |string|
            iv_filesystempath = |string|
          )
          io_fsxlustrefilesystemconfig = new /aws1/cl_sgmfsxlustrefilesys00(
            iv_filesystemid = |string|
            iv_filesystempath = |string|
          )
          io_s3filesystemconfig = new /aws1/cl_sgms3filesystemconfig(
            iv_mountpath = |string|
            iv_s3uri = |string|
          )
        )
      )
    )
    it_securitygroups = VALUE /aws1/cl_sgmsecuritygroupids_w=>tt_securitygroupids(
      ( new /aws1/cl_sgmsecuritygroupids_w( |string| ) )
    )
    iv_automounthomeefs = |string|
    iv_defaultlandinguri = |string|
    iv_executionrole = |string|
    iv_studiowebportal = |string|
  )
  io_domainsettingsforupdate = new /aws1/cl_sgmdomstgsforupdate(
    io_amazonqsettings = new /aws1/cl_sgmamazonqsettings(
      iv_qprofilearn = |string|
      iv_status = |string|
    )
    io_dockersettings = new /aws1/cl_sgmdockersettings(
      it_vpconlytrustedaccounts = VALUE /aws1/cl_sgmvpconlytrustedac00=>tt_vpconlytrustedaccounts(
        ( new /aws1/cl_sgmvpconlytrustedac00( |string| ) )
      )
      iv_enabledockeraccess = |string|
      iv_rootlessdocker = |string|
    )
    io_rstudioserverprodomstgs00 = new /aws1/cl_sgmrstudioserverpro02(
      io_defaultresourcespec = new /aws1/cl_sgmresourcespec(
        iv_instancetype = |string|
        iv_lifecycleconfigarn = |string|
        iv_sagemakerimagearn = |string|
        iv_sagemakerimageversionarn = |string|
        iv_smimageversionalias = |string|
      )
      iv_domainexecutionrolearn = |string|
      iv_rstudioconnecturl = |string|
      iv_rstudiopackagemanagerurl = |string|
    )
    io_trustedidpropagationstgs = new /aws1/cl_sgmtrsidpropagation00( |string| )
    io_unifiedstudiosettings = new /aws1/cl_sgmunifiedstudiostgs(
      iv_domainaccountid = |string|
      iv_domainid = |string|
      iv_domainregion = |string|
      iv_environmentid = |string|
      iv_projectid = |string|
      iv_projects3path = |string|
      iv_singlesignonapplication00 = |string|
      iv_studiowebportalaccess = |string|
    )
    it_securitygroupids = VALUE /aws1/cl_sgmdomsecgroupids_w=>tt_domainsecuritygroupids(
      ( new /aws1/cl_sgmdomsecgroupids_w( |string| ) )
    )
    iv_execroleidentityconfig = |string|
    iv_ipaddresstype = |string|
  )
  it_subnetids = VALUE /aws1/cl_sgmsubnets_w=>tt_subnets(
    ( new /aws1/cl_sgmsubnets_w( |string| ) )
  )
  iv_appnetworkaccesstype = |string|
  iv_appsecgroupmanagement = |string|
  iv_domainid = |string|
  iv_tagpropagation = |string|
  iv_vpcid = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_domainarn = lo_result->get_domainarn( ).
ENDIF.