Skip to content

/AWS1/CL_SGM=>UPDATECLUSTERSOFTWARE()

About UpdateClusterSoftware

Updates the platform software of a SageMaker HyperPod cluster for security patching. To learn how to use this API, see Update the SageMaker HyperPod platform software of a cluster.

The UpgradeClusterSoftware API call may impact your SageMaker HyperPod cluster uptime and availability. Plan accordingly to mitigate potential disruptions to your workloads.

Method Signature

IMPORTING

Required arguments:

iv_clustername TYPE /AWS1/SGMCLUSTERNAMEORARN /AWS1/SGMCLUSTERNAMEORARN

Specify the name or the Amazon Resource Name (ARN) of the SageMaker HyperPod cluster you want to update for security patching.

Optional arguments:

it_instancegroups TYPE /AWS1/CL_SGMUPCLSTSOFTWAREIN00=>TT_UPDCLUSTSOFTWAREINSTGROUPS TT_UPDCLUSTSOFTWAREINSTGROUPS

The array of instance groups for which to update AMI versions.

io_deploymentconfig TYPE REF TO /AWS1/CL_SGMDEPLOYMENTCONF /AWS1/CL_SGMDEPLOYMENTCONF

The configuration to use when updating the AMI versions.

iv_imageid TYPE /AWS1/SGMIMAGEID /AWS1/SGMIMAGEID

When configuring your HyperPod cluster, you can specify an image ID using one of the following options:

  • HyperPodPublicAmiId: Use a HyperPod public AMI

  • CustomAmiId: Use your custom AMI

  • default: Use the default latest system image

f you choose to use a custom AMI (CustomAmiId), ensure it meets the following requirements:

  • Encryption: The custom AMI must be unencrypted.

  • Ownership: The custom AMI must be owned by the same Amazon Web Services account that is creating the HyperPod cluster.

  • Volume support: Only the primary AMI snapshot volume is supported; additional AMI volumes are not supported.

When updating the instance group's AMI through the UpdateClusterSoftware operation, if an instance group uses a custom AMI, you must provide an ImageId or use the default as input.

RETURNING

oo_output TYPE REF TO /aws1/cl_sgmupclstsoftwarersp /AWS1/CL_SGMUPCLSTSOFTWARERSP

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->/aws1/if_sgm~updateclustersoftware(
  io_deploymentconfig = new /aws1/cl_sgmdeploymentconf(
    io_rollingupdatepolicy = new /aws1/cl_sgmrollingdeploymen00(
      io_maximumbatchsize = new /aws1/cl_sgmcapacitysizeconfig(
        iv_type = |string|
        iv_value = 123
      )
      io_rollbackmaximumbatchsize = new /aws1/cl_sgmcapacitysizeconfig(
        iv_type = |string|
        iv_value = 123
      )
    )
    it_autorollbackconfiguration = VALUE /aws1/cl_sgmalarmdetails=>tt_autorollbackalarms(
      ( new /aws1/cl_sgmalarmdetails( |string| ) )
    )
    iv_waitintervalinseconds = 123
  )
  it_instancegroups = VALUE /aws1/cl_sgmupclstsoftwarein00=>tt_updclustsoftwareinstgroups(
    ( new /aws1/cl_sgmupclstsoftwarein00( |string| ) )
  )
  iv_clustername = |string|
  iv_imageid = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_clusterarn = lo_result->get_clusterarn( ).
ENDIF.