Class: AWSCDK::Sagemaker::CfnCluster::ClusterInstanceGroupProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Sagemaker::CfnCluster::ClusterInstanceGroupProperty
- Defined in:
- sagemaker/cfn_cluster.rb
Overview
The configuration information of the instance group within the HyperPod cluster.
Instance Attribute Summary collapse
-
#capacity_requirements ⇒ AWSCDK::IResolvable, ...
readonly
Specifies the capacity requirements configuration for an instance group.
-
#current_count ⇒ Numeric?
readonly
The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.
-
#execution_role ⇒ String
readonly
The execution role for the instance group to assume.
-
#image_id ⇒ String?
readonly
AMI Id to be used for launching EC2 instances - HyperPodPublicAmiId or CustomAmiId.
-
#instance_count ⇒ Numeric
readonly
The number of instances in an instance group of the SageMaker HyperPod cluster.
-
#instance_group_name ⇒ String
readonly
The name of the instance group of a SageMaker HyperPod cluster.
-
#instance_requirements ⇒ AWSCDK::IResolvable, ...
readonly
The instance requirements for the instance group.
-
#instance_storage_configs ⇒ AWSCDK::IResolvable, ...
readonly
The configurations of additional storage specified to the instance group where the instance (node) is launched.
-
#instance_type ⇒ String?
readonly
The instance type of the instance group of a SageMaker HyperPod cluster.
-
#kubernetes_config ⇒ AWSCDK::IResolvable, ...
readonly
Kubernetes configuration for cluster nodes including labels and taints.
-
#life_cycle_config ⇒ AWSCDK::IResolvable, ...
readonly
The lifecycle configuration for a SageMaker HyperPod cluster.
-
#min_instance_count ⇒ Numeric?
readonly
The minimum number of instances required for the instance group to be InService.
-
#network_interface ⇒ AWSCDK::IResolvable, ...
readonly
Specifies the network interface configuration for the instance group.
-
#on_start_deep_health_checks ⇒ Array<String>?
readonly
A flag indicating whether deep health checks should be performed when the HyperPod cluster instance group is created or updated.
-
#override_vpc_config ⇒ AWSCDK::IResolvable, ...
readonly
The customized Amazon VPC configuration at the instance group level that overrides the default Amazon VPC configuration of the SageMaker HyperPod cluster.
-
#scheduled_update_config ⇒ AWSCDK::IResolvable, ...
readonly
The configuration object of the schedule that SageMaker follows when updating the AMI.
-
#slurm_config ⇒ AWSCDK::IResolvable, ...
readonly
Slurm configuration for the instance group.
-
#threads_per_core ⇒ Numeric?
readonly
The number of threads per CPU core you specified under
CreateCluster. -
#training_plan_arn ⇒ String?
readonly
The Amazon Resource Name (ARN) of the training plan to use for this cluster instance group.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(execution_role:, instance_count:, instance_group_name:, capacity_requirements: nil, current_count: nil, image_id: nil, instance_requirements: nil, instance_storage_configs: nil, instance_type: nil, kubernetes_config: nil, life_cycle_config: nil, min_instance_count: nil, network_interface: nil, on_start_deep_health_checks: nil, override_vpc_config: nil, scheduled_update_config: nil, slurm_config: nil, threads_per_core: nil, training_plan_arn: nil) ⇒ ClusterInstanceGroupProperty
constructor
A new instance of ClusterInstanceGroupProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(execution_role:, instance_count:, instance_group_name:, capacity_requirements: nil, current_count: nil, image_id: nil, instance_requirements: nil, instance_storage_configs: nil, instance_type: nil, kubernetes_config: nil, life_cycle_config: nil, min_instance_count: nil, network_interface: nil, on_start_deep_health_checks: nil, override_vpc_config: nil, scheduled_update_config: nil, slurm_config: nil, threads_per_core: nil, training_plan_arn: nil) ⇒ ClusterInstanceGroupProperty
Returns a new instance of ClusterInstanceGroupProperty.
1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 |
# File 'sagemaker/cfn_cluster.rb', line 1043 def initialize(execution_role:, instance_count:, instance_group_name:, capacity_requirements: nil, current_count: nil, image_id: nil, instance_requirements: nil, instance_storage_configs: nil, instance_type: nil, kubernetes_config: nil, life_cycle_config: nil, min_instance_count: nil, network_interface: nil, on_start_deep_health_checks: nil, override_vpc_config: nil, scheduled_update_config: nil, slurm_config: nil, threads_per_core: nil, training_plan_arn: nil) @execution_role = execution_role Jsii::Type.check_type(@execution_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "executionRole") @instance_count = instance_count Jsii::Type.check_type(@instance_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "instanceCount") @instance_group_name = instance_group_name Jsii::Type.check_type(@instance_group_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceGroupName") @capacity_requirements = capacity_requirements.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnCluster::ClusterCapacityRequirementsProperty.new(**capacity_requirements.transform_keys(&:to_sym)) : capacity_requirements Jsii::Type.check_type(@capacity_requirements, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuQ2x1c3Rlci5DbHVzdGVyQ2FwYWNpdHlSZXF1aXJlbWVudHNQcm9wZXJ0eSJ9XX19")), "capacityRequirements") unless @capacity_requirements.nil? @current_count = current_count Jsii::Type.check_type(@current_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "currentCount") unless @current_count.nil? @image_id = image_id Jsii::Type.check_type(@image_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "imageId") unless @image_id.nil? @instance_requirements = instance_requirements.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnCluster::InstanceRequirementsProperty.new(**instance_requirements.transform_keys(&:to_sym)) : instance_requirements Jsii::Type.check_type(@instance_requirements, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuQ2x1c3Rlci5JbnN0YW5jZVJlcXVpcmVtZW50c1Byb3BlcnR5In1dfX0=")), "instanceRequirements") unless @instance_requirements.nil? @instance_storage_configs = instance_storage_configs Jsii::Type.check_type(@instance_storage_configs, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2FnZW1ha2VyLkNmbkNsdXN0ZXIuQ2x1c3Rlckluc3RhbmNlU3RvcmFnZUNvbmZpZ1Byb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "instanceStorageConfigs") unless @instance_storage_configs.nil? @instance_type = instance_type Jsii::Type.check_type(@instance_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceType") unless @instance_type.nil? @kubernetes_config = kubernetes_config.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnCluster::ClusterKubernetesConfigProperty.new(**kubernetes_config.transform_keys(&:to_sym)) : kubernetes_config Jsii::Type.check_type(@kubernetes_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuQ2x1c3Rlci5DbHVzdGVyS3ViZXJuZXRlc0NvbmZpZ1Byb3BlcnR5In1dfX0=")), "kubernetesConfig") unless @kubernetes_config.nil? @life_cycle_config = life_cycle_config.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnCluster::ClusterLifeCycleConfigProperty.new(**life_cycle_config.transform_keys(&:to_sym)) : life_cycle_config Jsii::Type.check_type(@life_cycle_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuQ2x1c3Rlci5DbHVzdGVyTGlmZUN5Y2xlQ29uZmlnUHJvcGVydHkifV19fQ==")), "lifeCycleConfig") unless @life_cycle_config.nil? @min_instance_count = min_instance_count Jsii::Type.check_type(@min_instance_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minInstanceCount") unless @min_instance_count.nil? @network_interface = network_interface.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnCluster::ClusterNetworkInterfaceProperty.new(**network_interface.transform_keys(&:to_sym)) : network_interface Jsii::Type.check_type(@network_interface, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuQ2x1c3Rlci5DbHVzdGVyTmV0d29ya0ludGVyZmFjZVByb3BlcnR5In1dfX0=")), "networkInterface") unless @network_interface.nil? @on_start_deep_health_checks = on_start_deep_health_checks Jsii::Type.check_type(@on_start_deep_health_checks, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "onStartDeepHealthChecks") unless @on_start_deep_health_checks.nil? @override_vpc_config = override_vpc_config.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnCluster::VPCConfigProperty.new(**override_vpc_config.transform_keys(&:to_sym)) : override_vpc_config Jsii::Type.check_type(@override_vpc_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuQ2x1c3Rlci5WcGNDb25maWdQcm9wZXJ0eSJ9XX19")), "overrideVpcConfig") unless @override_vpc_config.nil? @scheduled_update_config = scheduled_update_config.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnCluster::ScheduledUpdateConfigProperty.new(**scheduled_update_config.transform_keys(&:to_sym)) : scheduled_update_config Jsii::Type.check_type(@scheduled_update_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuQ2x1c3Rlci5TY2hlZHVsZWRVcGRhdGVDb25maWdQcm9wZXJ0eSJ9XX19")), "scheduledUpdateConfig") unless @scheduled_update_config.nil? @slurm_config = slurm_config.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnCluster::ClusterSlurmConfigProperty.new(**slurm_config.transform_keys(&:to_sym)) : slurm_config Jsii::Type.check_type(@slurm_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuQ2x1c3Rlci5DbHVzdGVyU2x1cm1Db25maWdQcm9wZXJ0eSJ9XX19")), "slurmConfig") unless @slurm_config.nil? @threads_per_core = threads_per_core Jsii::Type.check_type(@threads_per_core, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "threadsPerCore") unless @threads_per_core.nil? @training_plan_arn = training_plan_arn Jsii::Type.check_type(@training_plan_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "trainingPlanArn") unless @training_plan_arn.nil? end |
Instance Attribute Details
#capacity_requirements ⇒ AWSCDK::IResolvable, ... (readonly)
Specifies the capacity requirements configuration for an instance group.
1103 1104 1105 |
# File 'sagemaker/cfn_cluster.rb', line 1103 def capacity_requirements @capacity_requirements end |
#current_count ⇒ Numeric? (readonly)
The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.
1108 1109 1110 |
# File 'sagemaker/cfn_cluster.rb', line 1108 def current_count @current_count end |
#execution_role ⇒ String (readonly)
The execution role for the instance group to assume.
1088 1089 1090 |
# File 'sagemaker/cfn_cluster.rb', line 1088 def execution_role @execution_role end |
#image_id ⇒ String? (readonly)
AMI Id to be used for launching EC2 instances - HyperPodPublicAmiId or CustomAmiId.
1113 1114 1115 |
# File 'sagemaker/cfn_cluster.rb', line 1113 def image_id @image_id end |
#instance_count ⇒ Numeric (readonly)
The number of instances in an instance group of the SageMaker HyperPod cluster.
1093 1094 1095 |
# File 'sagemaker/cfn_cluster.rb', line 1093 def instance_count @instance_count end |
#instance_group_name ⇒ String (readonly)
The name of the instance group of a SageMaker HyperPod cluster.
1098 1099 1100 |
# File 'sagemaker/cfn_cluster.rb', line 1098 def instance_group_name @instance_group_name end |
#instance_requirements ⇒ AWSCDK::IResolvable, ... (readonly)
The instance requirements for the instance group.
Specifies a list of instance types that can be used.
1120 1121 1122 |
# File 'sagemaker/cfn_cluster.rb', line 1120 def instance_requirements @instance_requirements end |
#instance_storage_configs ⇒ AWSCDK::IResolvable, ... (readonly)
The configurations of additional storage specified to the instance group where the instance (node) is launched.
1125 1126 1127 |
# File 'sagemaker/cfn_cluster.rb', line 1125 def instance_storage_configs @instance_storage_configs end |
#instance_type ⇒ String? (readonly)
The instance type of the instance group of a SageMaker HyperPod cluster.
1130 1131 1132 |
# File 'sagemaker/cfn_cluster.rb', line 1130 def instance_type @instance_type end |
#kubernetes_config ⇒ AWSCDK::IResolvable, ... (readonly)
Kubernetes configuration for cluster nodes including labels and taints.
1135 1136 1137 |
# File 'sagemaker/cfn_cluster.rb', line 1135 def kubernetes_config @kubernetes_config end |
#life_cycle_config ⇒ AWSCDK::IResolvable, ... (readonly)
The lifecycle configuration for a SageMaker HyperPod cluster.
1140 1141 1142 |
# File 'sagemaker/cfn_cluster.rb', line 1140 def life_cycle_config @life_cycle_config end |
#min_instance_count ⇒ Numeric? (readonly)
The minimum number of instances required for the instance group to be InService.
MinInstanceCount must be less than or equal to InstanceCount.
1147 1148 1149 |
# File 'sagemaker/cfn_cluster.rb', line 1147 def min_instance_count @min_instance_count end |
#network_interface ⇒ AWSCDK::IResolvable, ... (readonly)
Specifies the network interface configuration for the instance group.
1152 1153 1154 |
# File 'sagemaker/cfn_cluster.rb', line 1152 def network_interface @network_interface end |
#on_start_deep_health_checks ⇒ Array<String>? (readonly)
A flag indicating whether deep health checks should be performed when the HyperPod cluster instance group is created or updated.
Deep health checks are comprehensive, invasive tests that validate the health of the underlying hardware and infrastructure components.
1159 1160 1161 |
# File 'sagemaker/cfn_cluster.rb', line 1159 def on_start_deep_health_checks @on_start_deep_health_checks end |
#override_vpc_config ⇒ AWSCDK::IResolvable, ... (readonly)
The customized Amazon VPC configuration at the instance group level that overrides the default Amazon VPC configuration of the SageMaker HyperPod cluster.
1164 1165 1166 |
# File 'sagemaker/cfn_cluster.rb', line 1164 def override_vpc_config @override_vpc_config end |
#scheduled_update_config ⇒ AWSCDK::IResolvable, ... (readonly)
The configuration object of the schedule that SageMaker follows when updating the AMI.
1169 1170 1171 |
# File 'sagemaker/cfn_cluster.rb', line 1169 def scheduled_update_config @scheduled_update_config end |
#slurm_config ⇒ AWSCDK::IResolvable, ... (readonly)
Slurm configuration for the instance group.
1174 1175 1176 |
# File 'sagemaker/cfn_cluster.rb', line 1174 def slurm_config @slurm_config end |
#threads_per_core ⇒ Numeric? (readonly)
The number of threads per CPU core you specified under CreateCluster .
1179 1180 1181 |
# File 'sagemaker/cfn_cluster.rb', line 1179 def threads_per_core @threads_per_core end |
#training_plan_arn ⇒ String? (readonly)
The Amazon Resource Name (ARN) of the training plan to use for this cluster instance group.
For more information about how to reserve GPU capacity for your SageMaker HyperPod clusters using Amazon SageMaker Training Plan, see CreateTrainingPlan.
1186 1187 1188 |
# File 'sagemaker/cfn_cluster.rb', line 1186 def training_plan_arn @training_plan_arn end |
Class Method Details
.jsii_properties ⇒ Object
1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 |
# File 'sagemaker/cfn_cluster.rb', line 1188 def self.jsii_properties { :execution_role => "executionRole", :instance_count => "instanceCount", :instance_group_name => "instanceGroupName", :capacity_requirements => "capacityRequirements", :current_count => "currentCount", :image_id => "imageId", :instance_requirements => "instanceRequirements", :instance_storage_configs => "instanceStorageConfigs", :instance_type => "instanceType", :kubernetes_config => "kubernetesConfig", :life_cycle_config => "lifeCycleConfig", :min_instance_count => "minInstanceCount", :network_interface => "networkInterface", :on_start_deep_health_checks => "onStartDeepHealthChecks", :override_vpc_config => "overrideVpcConfig", :scheduled_update_config => "scheduledUpdateConfig", :slurm_config => "slurmConfig", :threads_per_core => "threadsPerCore", :training_plan_arn => "trainingPlanArn", } end |
Instance Method Details
#to_jsii ⇒ Object
1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 |
# File 'sagemaker/cfn_cluster.rb', line 1212 def to_jsii result = {} result.merge!({ "executionRole" => @execution_role, "instanceCount" => @instance_count, "instanceGroupName" => @instance_group_name, "capacityRequirements" => @capacity_requirements, "currentCount" => @current_count, "imageId" => @image_id, "instanceRequirements" => @instance_requirements, "instanceStorageConfigs" => @instance_storage_configs, "instanceType" => @instance_type, "kubernetesConfig" => @kubernetes_config, "lifeCycleConfig" => @life_cycle_config, "minInstanceCount" => @min_instance_count, "networkInterface" => @network_interface, "onStartDeepHealthChecks" => @on_start_deep_health_checks, "overrideVpcConfig" => @override_vpc_config, "scheduledUpdateConfig" => @scheduled_update_config, "slurmConfig" => @slurm_config, "threadsPerCore" => @threads_per_core, "trainingPlanArn" => @training_plan_arn, }) result.compact end |