detachClusterNodeVolume method
Detaches your Amazon Elastic Block Store (Amazon EBS) volume from a node in your EKS orchestrated SageMaker HyperPod cluster.
This API works with the Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) driver to manage the lifecycle of persistent storage in your HyperPod EKS clusters.
May throw ResourceNotFound.
Parameter clusterArn :
The Amazon Resource Name (ARN) of your SageMaker HyperPod cluster
containing the target node. Your cluster must use EKS as the orchestration
and be in the InService state.
Parameter nodeId :
The unique identifier of the cluster node from which you want to detach
the volume.
Parameter volumeId :
The unique identifier of your EBS volume that you want to detach. Your
volume must be currently attached to the specified node.
Implementation
Future<DetachClusterNodeVolumeResponse> detachClusterNodeVolume({
required String clusterArn,
required String nodeId,
required String volumeId,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'SageMaker.DetachClusterNodeVolume'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'ClusterArn': clusterArn,
'NodeId': nodeId,
'VolumeId': volumeId,
},
);
return DetachClusterNodeVolumeResponse.fromJson(jsonResponse.body);
}