CreateClusterExtension
Installs an extension, such as sagemaker-observability, on a SageMaker HyperPod
cluster orchestrated by Slurm. The cluster must have NodeProvisioningMode set
to Continuous and can have only one extension with a given name. To track the
installation, call DescribeClusterExtension.
Request Syntax
{
"ClientToken": "string",
"ClusterArn": "string",
"ConfigurationValues": "string",
"ExtensionName": "string",
"ExtensionVersion": "string",
"Tags": [
{
"Key": "string",
"Value": "string"
}
]
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- ClientToken
-
A unique, case-sensitive identifier that you provide so that the operation completes no more than one time. This token is valid for 8 hours. If you retry the request with the same client token and the same parameters within this time, the API returns the Amazon Resource Name (ARN) of the extension that the original request created, without creating a duplicate. If you use the same client token with different parameters, the request fails.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 64.
Pattern:
[\x21-\x7E]+Required: No
- ClusterArn
-
The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster on which to install the extension. The cluster must use Slurm as the orchestrator and have
NodeProvisioningModeset toContinuous.Type: String
Length Constraints: Minimum length of 0. Maximum length of 256.
Pattern:
arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:cluster/[a-z0-9]{12}Required: Yes
- ConfigurationValues
-
The configuration settings for the extension, as a JSON object serialized as a string, for example
{"metricsProvider":{"nodeMetrics":{"level":"ADVANCED"}}}. Each extension version defines which settings it accepts. SageMaker HyperPod validates the settings against that definition, and rejects the request if a setting is unknown or has an invalid value. Settings that you omit use the extension's default values. If you omitConfigurationValues, all settings use their default values.Type: String
Length Constraints: Minimum length of 1. Maximum length of 10240.
Required: No
- ExtensionName
-
The name of the extension to install, for example
sagemaker-observability.Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[a-z]([a-z0-9]|-[a-z0-9])*Required: Yes
- ExtensionVersion
-
The version of the extension to install, in
MAJOR.MINOR.PATCHformat, for example1.0.0. If you don't specify a version, SageMaker HyperPod installs the latest available version of the extension.Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[0-9]+\.[0-9]+\.[0-9]+Required: No
- Tags
-
Custom tags for managing the extension as an AWS resource. You can add tags to your extension in the same way you add them in other AWS services that support tagging. To learn more about tagging AWS resources in general, see Tagging AWS Resources User Guide. To use this operation to add tags when you create an extension, you must have the
sagemaker:AddTagspermission.Type: Array of Tag objects
Array Members: Minimum number of 0 items. Maximum number of 50 items.
Required: No
Response Syntax
{
"ExtensionArn": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- ExtensionArn
-
The Amazon Resource Name (ARN) of the extension that you created. Use this ARN to describe, update, or delete the extension.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:extension/(sagemaker|eks|pcs)-[a-z0-9-]+/[a-z0-9-]+/[a-z0-9]+
Errors
For information about the errors that are common to all actions, see Common Error Types.
- ConflictException
-
There was a conflict when you attempted to modify a SageMaker entity such as an
ExperimentorArtifact.HTTP Status Code: 400
- ResourceInUse
-
Resource being accessed is in use.
HTTP Status Code: 400
- ResourceNotFound
-
Resource being access is not found.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: