Skip to content

Commit a8af101

Browse files
tas50claude
andcommitted
🧹 Refine SageMaker resource types: typed SG, instance group resource, cleanup
- Replace securityGroupIdForDomainBoundary string with typed securityGroupForDomainBoundary() aws.ec2.securitygroup on domain - Create aws.sagemaker.clusterInstanceGroup resource with name, instanceType, status, currentCount, targetCount, threadsPerCore, iamRole, lifecycleConfig - Replace cluster instanceGroups() []dict with []aws.sagemaker.clusterInstanceGroup - Remove deprecated vpcConfig() dict from cluster (vpc() reference is sufficient) - Rename clusterNode launchTime → launchedAt for naming consistency Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 1edac1d commit a8af101

File tree

4 files changed

+338
-74
lines changed

4 files changed

+338
-74
lines changed

‎providers/aws/resources/aws.lr‎

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1903,8 +1903,8 @@ private aws.sagemaker.domain @defaults("arn name status") {
19031903
homeEfsFileSystemId() string
19041904
// Default user settings
19051905
defaultUserSettings() dict
1906-
// Security group ID for domain boundary
1907-
securityGroupIdForDomainBoundary() string
1906+
// Security group for domain boundary
1907+
securityGroupForDomainBoundary() aws.ec2.securitygroup
19081908
// Who manages security groups for inter-app communication: Service or Customer
19091909
appSecurityGroupManagement() string
19101910
// Whether custom tag propagation is supported
@@ -1972,11 +1972,9 @@ private aws.sagemaker.cluster @defaults("arn name status") {
19721972
// IAM role used for cluster operations
19731973
iamRole() aws.iam.role
19741974
// Cluster instance groups
1975-
instanceGroups() []dict
1975+
instanceGroups() []aws.sagemaker.clusterInstanceGroup
19761976
// Orchestrator type (EKS or Slurm configuration)
19771977
orchestrator() dict
1978-
// Deprecated: Use vpc instead. Raw VPC configuration dict
1979-
vpcConfig() dict
19801978
// VPC associated with this cluster
19811979
vpc() aws.vpc
19821980
// Node recovery mode
@@ -1989,6 +1987,28 @@ private aws.sagemaker.cluster @defaults("arn name status") {
19891987
nodes() []aws.sagemaker.clusterNode
19901988
}
19911989

1990+
// AWS SageMaker HyperPod cluster instance group
1991+
private aws.sagemaker.clusterInstanceGroup @defaults("instanceGroupName instanceType status") {
1992+
// Name of the instance group
1993+
instanceGroupName string
1994+
// ML instance type for the group
1995+
instanceType string
1996+
// Region where the cluster exists
1997+
region string
1998+
// Status of the instance group
1999+
status string
2000+
// Current number of instances in the group
2001+
currentCount int
2002+
// Target number of instances in the group
2003+
targetCount int
2004+
// Threads per CPU core
2005+
threadsPerCore int
2006+
// IAM execution role for the instance group
2007+
iamRole() aws.iam.role
2008+
// Lifecycle configuration
2009+
lifecycleConfig() dict
2010+
}
2011+
19922012
// AWS SageMaker HyperPod cluster node
19932013
private aws.sagemaker.clusterNode @defaults("instanceId instanceGroupName instanceType") {
19942014
// Instance ID of the node
@@ -2002,7 +2022,7 @@ private aws.sagemaker.clusterNode @defaults("instanceId instanceGroupName instan
20022022
// Status message for the node
20032023
statusMessage string
20042024
// Time when the node was launched
2005-
launchTime time
2025+
launchedAt time
20062026
// Private DNS hostname of the node
20072027
privateDnsHostname string
20082028
// Region where the node exists

0 commit comments

Comments
 (0)