Class: AWSCDK::Sagemaker::CfnCluster::ClusterRestrictedInstanceGroupProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
sagemaker/cfn_cluster.rb

Overview

Details of a restricted instance group in a SageMaker HyperPod cluster.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(execution_role:, instance_count:, instance_group_name:, instance_type:, current_count: nil, environment_config: nil, instance_storage_configs: nil, on_start_deep_health_checks: nil, override_vpc_config: nil, threads_per_core: nil, training_plan_arn: nil) ⇒ ClusterRestrictedInstanceGroupProperty

Returns a new instance of ClusterRestrictedInstanceGroupProperty.

Parameters:

  • execution_role (String)

    The execution role for the instance group to assume.

  • instance_count (Numeric)

    The number of instances you specified to add to the restricted instance group of a SageMaker HyperPod cluster.

  • instance_group_name (String)

    The name of the instance group of a SageMaker HyperPod cluster.

  • instance_type (String)

    The instance type of the instance group of a SageMaker HyperPod cluster.

  • current_count (Numeric, nil) (defaults to: nil)

    The number of instances that are currently in the restricted instance group of a SageMaker HyperPod cluster.

  • environment_config (AWSCDK::IResolvable, AWSCDK::Sagemaker::CfnCluster::EnvironmentConfigProperty, nil) (defaults to: nil)

    The configuration for the restricted instance groups (RIG) environment.

  • instance_storage_configs (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Sagemaker::CfnCluster::ClusterInstanceStorageConfigProperty>, nil) (defaults to: nil)

    The instance storage configuration for the instance group.

  • on_start_deep_health_checks (Array<String>, nil) (defaults to: nil)

    Nodes will undergo advanced stress test to detect and replace faulty instances, based on the type of deep health check(s) passed in.

  • override_vpc_config (AWSCDK::IResolvable, AWSCDK::Sagemaker::CfnCluster::VPCConfigProperty, nil) (defaults to: nil)

    Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to.

  • threads_per_core (Numeric, nil) (defaults to: nil)

    The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading.

  • training_plan_arn (String, nil) (defaults to: nil)

    The Amazon Resource Name (ARN) of the training plan to use for this cluster restricted instance group.



1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
# File 'sagemaker/cfn_cluster.rb', line 1571

def initialize(execution_role:, instance_count:, instance_group_name:, instance_type:, current_count: nil, environment_config: nil, instance_storage_configs: nil, on_start_deep_health_checks: nil, override_vpc_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")
  @instance_type = instance_type
  Jsii::Type.check_type(@instance_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceType")
  @current_count = current_count
  Jsii::Type.check_type(@current_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "currentCount") unless @current_count.nil?
  @environment_config = environment_config.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnCluster::EnvironmentConfigProperty.new(**environment_config.transform_keys(&:to_sym)) : environment_config
  Jsii::Type.check_type(@environment_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuQ2x1c3Rlci5FbnZpcm9ubWVudENvbmZpZ1Byb3BlcnR5In1dfX0=")), "environmentConfig") unless @environment_config.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?
  @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?
  @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

#current_countNumeric? (readonly)

The number of instances that are currently in the restricted instance group of a SageMaker HyperPod cluster.



1620
1621
1622
# File 'sagemaker/cfn_cluster.rb', line 1620

def current_count
  @current_count
end

#environment_configAWSCDK::IResolvable, ... (readonly)

The configuration for the restricted instance groups (RIG) environment.



1625
1626
1627
# File 'sagemaker/cfn_cluster.rb', line 1625

def environment_config
  @environment_config
end

#execution_roleString (readonly)

The execution role for the instance group to assume.



1600
1601
1602
# File 'sagemaker/cfn_cluster.rb', line 1600

def execution_role
  @execution_role
end

#instance_countNumeric (readonly)

The number of instances you specified to add to the restricted instance group of a SageMaker HyperPod cluster.



1605
1606
1607
# File 'sagemaker/cfn_cluster.rb', line 1605

def instance_count
  @instance_count
end

#instance_group_nameString (readonly)

The name of the instance group of a SageMaker HyperPod cluster.



1610
1611
1612
# File 'sagemaker/cfn_cluster.rb', line 1610

def instance_group_name
  @instance_group_name
end

#instance_storage_configsAWSCDK::IResolvable, ... (readonly)

The instance storage configuration for the instance group.



1630
1631
1632
# File 'sagemaker/cfn_cluster.rb', line 1630

def instance_storage_configs
  @instance_storage_configs
end

#instance_typeString (readonly)

The instance type of the instance group of a SageMaker HyperPod cluster.



1615
1616
1617
# File 'sagemaker/cfn_cluster.rb', line 1615

def instance_type
  @instance_type
end

#on_start_deep_health_checksArray<String>? (readonly)

Nodes will undergo advanced stress test to detect and replace faulty instances, based on the type of deep health check(s) passed in.



1635
1636
1637
# File 'sagemaker/cfn_cluster.rb', line 1635

def on_start_deep_health_checks
  @on_start_deep_health_checks
end

#override_vpc_configAWSCDK::IResolvable, ... (readonly)

Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to.

You can control access to and from your resources by configuring a VPC.



1642
1643
1644
# File 'sagemaker/cfn_cluster.rb', line 1642

def override_vpc_config
  @override_vpc_config
end

#threads_per_coreNumeric? (readonly)

The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading.

For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading.



1649
1650
1651
# File 'sagemaker/cfn_cluster.rb', line 1649

def threads_per_core
  @threads_per_core
end

#training_plan_arnString? (readonly)

The Amazon Resource Name (ARN) of the training plan to use for this cluster restricted instance group.

For more information about how to reserve GPU capacity for your SageMaker HyperPod clusters using Amazon SageMaker Training Plan, see CreateTrainingPlan.



1656
1657
1658
# File 'sagemaker/cfn_cluster.rb', line 1656

def training_plan_arn
  @training_plan_arn
end

Class Method Details

.jsii_propertiesObject



1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
# File 'sagemaker/cfn_cluster.rb', line 1658

def self.jsii_properties
  {
    :execution_role => "executionRole",
    :instance_count => "instanceCount",
    :instance_group_name => "instanceGroupName",
    :instance_type => "instanceType",
    :current_count => "currentCount",
    :environment_config => "environmentConfig",
    :instance_storage_configs => "instanceStorageConfigs",
    :on_start_deep_health_checks => "onStartDeepHealthChecks",
    :override_vpc_config => "overrideVpcConfig",
    :threads_per_core => "threadsPerCore",
    :training_plan_arn => "trainingPlanArn",
  }
end

Instance Method Details

#to_jsiiObject



1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
# File 'sagemaker/cfn_cluster.rb', line 1674

def to_jsii
  result = {}
  result.merge!({
    "executionRole" => @execution_role,
    "instanceCount" => @instance_count,
    "instanceGroupName" => @instance_group_name,
    "instanceType" => @instance_type,
    "currentCount" => @current_count,
    "environmentConfig" => @environment_config,
    "instanceStorageConfigs" => @instance_storage_configs,
    "onStartDeepHealthChecks" => @on_start_deep_health_checks,
    "overrideVpcConfig" => @override_vpc_config,
    "threadsPerCore" => @threads_per_core,
    "trainingPlanArn" => @training_plan_arn,
  })
  result.compact
end