CfnClusterProps Struct
Properties for defining a CfnCluster.
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_sagemaker as sagemaker } from 'aws-cdk-lib';
declare const onDemand: any;
declare const spot: any;
const cfnClusterProps: sagemaker.CfnClusterProps = {
autoScaling: {
mode: 'mode',
// the properties below are optional
autoScalerType: 'autoScalerType',
},
clusterName: 'clusterName',
clusterRole: 'clusterRole',
instanceGroups: [{
executionRole: 'executionRole',
instanceCount: 123,
instanceGroupName: 'instanceGroupName',
// the properties below are optional
autoPatchConfig: {
patchingStrategy: 'patchingStrategy',
// the properties below are optional
deploymentConfig: {
autoRollbackConfiguration: [{
alarmName: 'alarmName',
}],
rollingUpdatePolicy: {
maximumBatchSize: {
type: 'type',
value: 123,
},
// the properties below are optional
rollbackMaximumBatchSize: {
type: 'type',
value: 123,
},
},
waitIntervalInSeconds: 123,
},
patchSchedule: {
nextPatchDate: 'nextPatchDate',
},
},
capacityRequirements: {
onDemand: onDemand,
spot: spot,
},
currentCount: 123,
imageId: 'imageId',
instanceRequirements: {
instanceTypes: ['instanceTypes'],
},
instanceStorageConfigs: [{
ebsVolumeConfig: {
rootVolume: false,
volumeKmsKeyId: 'volumeKmsKeyId',
volumeSizeInGb: 123,
},
fsxLustreConfig: {
dnsName: 'dnsName',
mountName: 'mountName',
// the properties below are optional
mountPath: 'mountPath',
},
fsxOpenZfsConfig: {
dnsName: 'dnsName',
// the properties below are optional
mountPath: 'mountPath',
},
}],
instanceType: 'instanceType',
kubernetesConfig: {
labels: {
labelsKey: 'labels',
},
taints: [{
effect: 'effect',
key: 'key',
// the properties below are optional
value: 'value',
}],
},
lifeCycleConfig: {
onCreate: 'onCreate',
onInitComplete: 'onInitComplete',
sourceS3Uri: 'sourceS3Uri',
},
minInstanceCount: 123,
networkInterface: {
interfaceType: 'interfaceType',
},
onStartDeepHealthChecks: ['onStartDeepHealthChecks'],
overrideVpcConfig: {
securityGroupIds: ['securityGroupIds'],
subnets: ['subnets'],
},
scheduledUpdateConfig: {
scheduleExpression: 'scheduleExpression',
// the properties below are optional
deploymentConfig: {
autoRollbackConfiguration: [{
alarmName: 'alarmName',
}],
rollingUpdatePolicy: {
maximumBatchSize: {
type: 'type',
value: 123,
},
// the properties below are optional
rollbackMaximumBatchSize: {
type: 'type',
value: 123,
},
},
waitIntervalInSeconds: 123,
},
},
slurmConfig: {
nodeType: 'nodeType',
// the properties below are optional
partitionNames: ['partitionNames'],
},
threadsPerCore: 123,
trainingPlanArn: 'trainingPlanArn',
}],
nodeProvisioningMode: 'nodeProvisioningMode',
nodeRecovery: 'nodeRecovery',
orchestrator: {
eks: {
clusterArn: 'clusterArn',
},
slurm: {
accountingDatabase: {
endpoint: 'endpoint',
secretArn: 'secretArn',
// the properties below are optional
name: 'name',
port: 123,
},
slurmConfigStrategy: 'slurmConfigStrategy',
},
},
restrictedInstanceGroups: [{
executionRole: 'executionRole',
instanceCount: 123,
instanceGroupName: 'instanceGroupName',
instanceType: 'instanceType',
// the properties below are optional
currentCount: 123,
environmentConfig: {
fSxLustreConfig: {
perUnitStorageThroughput: 123,
sizeInGiB: 123,
},
},
instanceStorageConfigs: [{
ebsVolumeConfig: {
rootVolume: false,
volumeKmsKeyId: 'volumeKmsKeyId',
volumeSizeInGb: 123,
},
fsxLustreConfig: {
dnsName: 'dnsName',
mountName: 'mountName',
// the properties below are optional
mountPath: 'mountPath',
},
fsxOpenZfsConfig: {
dnsName: 'dnsName',
// the properties below are optional
mountPath: 'mountPath',
},
}],
onStartDeepHealthChecks: ['onStartDeepHealthChecks'],
overrideVpcConfig: {
securityGroupIds: ['securityGroupIds'],
subnets: ['subnets'],
},
threadsPerCore: 123,
trainingPlanArn: 'trainingPlanArn',
}],
restrictedInstanceGroupsConfig: {
sharedEnvironmentConfig: {
fSxLustreDeletionPolicy: 'fSxLustreDeletionPolicy',
// the properties below are optional
fSxLustreConfig: {
perUnitStorageThroughput: 123,
sizeInGiB: 123,
},
},
},
tags: [{
key: 'key',
value: 'value',
}],
tieredStorageConfig: {
mode: 'mode',
// the properties below are optional
instanceMemoryAllocationPercentage: 123,
},
vpcConfig: {
securityGroupIds: ['securityGroupIds'],
subnets: ['subnets'],
},
};
Properties
autoScalingIResolvable | CfnCluster.ClusterAutoScalingConfigPropertyauto_scalingtyping.Union[IResolvable, ClusterAutoScalingConfigProperty]autoScalingIResolvableAutoScalingIResolvableAutoScalinginterface{}#instanceGroupsIResolvable | IResolvable | CfnCluster.ClusterInstanceGroupProperty[]instance_groupstyping.Union[IResolvable, typing.List[typing.Union[IResolvable, ClusterInstanceGroupProperty]]]instanceGroupsIResolvableInstanceGroupsIResolvableInstanceGroupsinterface{}#To delete an instance group, remove it from the array.
nodeProvisioningModestringnode_provisioning_modestrnodeProvisioningModeStringNodeProvisioningModestringNodeProvisioningMode*string#When set to 'Continuous', enables continuous scaling which dynamically manages node provisioning. If the parameter is omitted, uses the standard scaling approach in previous release.
Available values are Automatic for enabling and None for disabling.
orchestratorIResolvable | CfnCluster.OrchestratorPropertyorchestratortyping.Union[IResolvable, OrchestratorProperty]orchestratorIResolvableOrchestratorIResolvableOrchestratorinterface{}#Currently, 'eks' is the only available option.
restrictedInstanceGroupsIResolvable | IResolvable | CfnCluster.ClusterRestrictedInstanceGroupProperty[]restricted_instance_groupstyping.Union[IResolvable, typing.List[typing.Union[IResolvable, ClusterRestrictedInstanceGroupProperty]]]restrictedInstanceGroupsIResolvableRestrictedInstanceGroupsIResolvableRestrictedInstanceGroupsinterface{}#restrictedInstanceGroupsConfigIResolvable | CfnCluster.RestrictedInstanceGroupsConfigPropertyrestricted_instance_groups_configtyping.Union[IResolvable, RestrictedInstanceGroupsConfigProperty]restrictedInstanceGroupsConfigIResolvableRestrictedInstanceGroupsConfigIResolvableRestrictedInstanceGroupsConfiginterface{}#notes
You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints. For more information on adding tags to SageMaker resources, see AddTags .
For more information on adding metadata to your AWS resources with tagging, see Tagging AWS resources . For advice on best practices for managing AWS resources with tagging, see Tagging Best Practices: Implement an Effective AWS Resource Tagging Strategy .
tieredStorageConfigIResolvable | CfnCluster.TieredStorageConfigPropertytiered_storage_configtyping.Union[IResolvable, TieredStorageConfigProperty]tieredStorageConfigIResolvableTieredStorageConfigIResolvableTieredStorageConfiginterface{}#vpcConfigIResolvable | CfnCluster.VpcConfigPropertyvpc_configtyping.Union[IResolvable, VpcConfigProperty]vpcConfigIResolvableVpcConfigIResolvableVpcConfiginterface{}#You can control access to and from your resources by configuring a VPC. For more information, see Give SageMaker Access to Resources in your Amazon VPC .