@awboost/cfn-resource-types 0.1.388 → 0.1.390

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40,7 +40,7 @@ export type S3BucketProperties = {
40
40
  */
41
41
  IntelligentTieringConfigurations?: IntelligentTieringConfiguration[];
42
42
  /**
43
- * Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.
43
+ * Specifies the S3 Inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.
44
44
  */
45
45
  InventoryConfigurations?: InventoryConfiguration[];
46
46
  /**
@@ -51,6 +51,9 @@ export type S3BucketProperties = {
51
51
  * Settings that define where logs are stored.
52
52
  */
53
53
  LoggingConfiguration?: LoggingConfiguration;
54
+ /**
55
+ * The S3 Metadata configuration for a general purpose bucket.
56
+ */
54
57
  MetadataConfiguration?: MetadataConfiguration;
55
58
  /**
56
59
  * The metadata table configuration of an S3 general purpose bucket.
@@ -114,30 +117,33 @@ export type S3BucketAttributes = {
114
117
  Arn: string;
115
118
  DomainName: string;
116
119
  DualStackDomainName: string;
120
+ /**
121
+ * The S3 Metadata configuration for a general purpose bucket.
122
+ */
117
123
  MetadataConfiguration: {
118
124
  /**
119
- * The destination information for the metadata configuration.
125
+ * The destination information for the S3 Metadata configuration.
120
126
  */
121
127
  Destination: {
122
128
  /**
123
- * The ARN of the table bucket.
129
+ * The Amazon Resource Name (ARN) of the table bucket where the metadata configuration is stored.
124
130
  */
125
131
  TableBucketArn: string;
126
132
  /**
127
- * The type of the table bucket.
133
+ * The type of the table bucket where the metadata configuration is stored. The ``aws`` value indicates an AWS managed table bucket, and the ``customer`` value indicates a customer-managed table bucket. V2 metadata configurations are stored in AWS managed table buckets, and V1 metadata configurations are stored in customer-managed table buckets.
128
134
  */
129
135
  TableBucketType: "aws" | "customer";
130
136
  /**
131
- * The namespace of the table.
137
+ * The namespace in the table bucket where the metadata tables for a metadata configuration are stored.
132
138
  */
133
139
  TableNamespace: string;
134
140
  };
135
141
  /**
136
- * The configuration for the inventory table.
142
+ * The inventory table configuration for a metadata configuration.
137
143
  */
138
144
  InventoryTableConfiguration: {
139
145
  /**
140
- * The ARN of the inventory table.
146
+ * The Amazon Resource Name (ARN) for the inventory table.
141
147
  */
142
148
  TableArn: string;
143
149
  /**
@@ -146,11 +152,11 @@ export type S3BucketAttributes = {
146
152
  TableName: string;
147
153
  };
148
154
  /**
149
- * The configuration for the journal table.
155
+ * The journal table configuration for a metadata configuration.
150
156
  */
151
157
  JournalTableConfiguration: {
152
158
  /**
153
- * The ARN of the journal table.
159
+ * The Amazon Resource Name (ARN) for the journal table.
154
160
  */
155
161
  TableArn: string;
156
162
  /**
@@ -439,7 +445,7 @@ export type IntelligentTieringConfiguration = {
439
445
  };
440
446
  /**
441
447
  * Type definition for `AWS::S3::Bucket.InventoryConfiguration`.
442
- * Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.
448
+ * Specifies the S3 Inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.
443
449
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html}
444
450
  */
445
451
  export type InventoryConfiguration = {
@@ -474,11 +480,12 @@ export type InventoryConfiguration = {
474
480
  };
475
481
  /**
476
482
  * Type definition for `AWS::S3::Bucket.InventoryTableConfiguration`.
483
+ * The inventory table configuration for an S3 Metadata configuration.
477
484
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventorytableconfiguration.html}
478
485
  */
479
486
  export type InventoryTableConfiguration = {
480
487
  /**
481
- * Specifies whether inventory table configuration is enabled or disabled.
488
+ * The configuration state of the inventory table, indicating whether the inventory table is enabled or disabled.
482
489
  */
483
490
  ConfigurationState: "ENABLED" | "DISABLED";
484
491
  /**
@@ -488,6 +495,7 @@ export type InventoryTableConfiguration = {
488
495
  };
489
496
  /**
490
497
  * Type definition for `AWS::S3::Bucket.JournalTableConfiguration`.
498
+ * The journal table configuration for an S3 Metadata configuration.
491
499
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-journaltableconfiguration.html}
492
500
  */
493
501
  export type JournalTableConfiguration = {
@@ -495,6 +503,9 @@ export type JournalTableConfiguration = {
495
503
  * The encryption configuration for the journal table.
496
504
  */
497
505
  EncryptionConfiguration?: MetadataTableEncryptionConfiguration;
506
+ /**
507
+ * The journal table record expiration settings for the journal table.
508
+ */
498
509
  RecordExpiration: RecordExpiration;
499
510
  };
500
511
  /**
@@ -558,39 +569,43 @@ export type LoggingConfiguration = {
558
569
  };
559
570
  /**
560
571
  * Type definition for `AWS::S3::Bucket.MetadataConfiguration`.
572
+ * Creates a V2 S3 Metadata configuration of a general purpose bucket. For more information, see [Accelerating data discovery with S3 Metadata](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html) in the *Amazon S3 User Guide*.
561
573
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadataconfiguration.html}
562
574
  */
563
575
  export type MetadataConfiguration = {
564
576
  /**
565
- * The configuration for the inventory table.
577
+ * The inventory table configuration for a metadata configuration.
566
578
  */
567
579
  InventoryTableConfiguration?: InventoryTableConfiguration;
568
580
  /**
569
- * The configuration for the journal table.
581
+ * The journal table configuration for a metadata configuration.
570
582
  */
571
583
  JournalTableConfiguration: JournalTableConfiguration;
572
584
  };
573
585
  /**
574
586
  * Type definition for `AWS::S3::Bucket.MetadataDestination`.
587
+ * The destination information for the S3 Metadata configuration.
575
588
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadatadestination.html}
576
589
  */
577
590
  export type MetadataDestination = {
578
591
  /**
579
- * The ARN of the table bucket.
592
+ * The Amazon Resource Name (ARN) of the table bucket where the metadata configuration is stored.
580
593
  */
581
594
  TableBucketArn?: string;
582
595
  /**
583
- * The type of the table bucket.
596
+ * The type of the table bucket where the metadata configuration is stored. The ``aws`` value indicates an AWS managed table bucket, and the ``customer`` value indicates a customer-managed table bucket. V2 metadata configurations are stored in AWS managed table buckets, and V1 metadata configurations are stored in customer-managed table buckets.
584
597
  */
585
598
  TableBucketType: "aws" | "customer";
586
599
  /**
587
- * The namespace of the table.
600
+ * The namespace in the table bucket where the metadata tables for a metadata configuration are stored.
588
601
  */
589
602
  TableNamespace?: string;
590
603
  };
591
604
  /**
592
605
  * Type definition for `AWS::S3::Bucket.MetadataTableConfiguration`.
593
- * The metadata table configuration of an S3 general purpose bucket. For more information, see [Accelerating data discovery with S3 Metadata](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html) and [Setting up permissions for configuring metadata tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html).
606
+ * We recommend that you create your S3 Metadata configurations by using the V2 [MetadataConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-s3-bucket-metadataconfiguration.html) resource type. We no longer recommend using the V1 ``MetadataTableConfiguration`` resource type.
607
+ If you created your S3 Metadata configuration before July 15, 2025, we recommend that you delete and re-create your configuration by using the [MetadataConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-s3-bucket-metadataconfiguration.html) resource type so that you can expire journal table records and create a live inventory table.
608
+ Creates a V1 S3 Metadata configuration for a general purpose bucket. For more information, see [Accelerating data discovery with S3 Metadata](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html) in the *Amazon S3 User Guide*.
594
609
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadatatableconfiguration.html}
595
610
  */
596
611
  export type MetadataTableConfiguration = {
@@ -601,15 +616,16 @@ export type MetadataTableConfiguration = {
601
616
  };
602
617
  /**
603
618
  * Type definition for `AWS::S3::Bucket.MetadataTableEncryptionConfiguration`.
619
+ * The encryption settings for an S3 Metadata journal table or inventory table configuration.
604
620
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadatatableencryptionconfiguration.html}
605
621
  */
606
622
  export type MetadataTableEncryptionConfiguration = {
607
623
  /**
608
- * The ARN of the KMS key. Required if SseAlgorithm is aws:kms.
624
+ * If server-side encryption with KMSlong (KMS) keys (SSE-KMS) is specified, you must also specify the KMS key Amazon Resource Name (ARN). You must specify a customer-managed KMS key that's located in the same Region as the general purpose bucket that corresponds to the metadata table configuration.
609
625
  */
610
626
  KmsKeyArn?: string;
611
627
  /**
612
- * Specifies the server-side encryption algorithm to use for encrypting tables.
628
+ * The encryption type specified for a metadata table. To specify server-side encryption with KMSlong (KMS) keys (SSE-KMS), use the ``aws:kms`` value. To specify server-side encryption with Amazon S3 managed keys (SSE-S3), use the ``AES256`` value.
613
629
  */
614
630
  SseAlgorithm: "aws:kms" | "AES256";
615
631
  };
@@ -840,15 +856,16 @@ export type QueueConfiguration = {
840
856
  };
841
857
  /**
842
858
  * Type definition for `AWS::S3::Bucket.RecordExpiration`.
859
+ * The journal table record expiration settings for a journal table in an S3 Metadata configuration.
843
860
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-recordexpiration.html}
844
861
  */
845
862
  export type RecordExpiration = {
846
863
  /**
847
- * The number of days after which records expire. Required if Expiration is ENABLED.
864
+ * If you enable journal table record expiration, you can set the number of days to retain your journal table records. Journal table records must be retained for a minimum of 7 days. To set this value, specify any whole number from ``7`` to ``2147483647``. For example, to retain your journal table records for one year, set this value to ``365``.
848
865
  */
849
866
  Days?: number;
850
867
  /**
851
- * Specifies whether record expiration is enabled or disabled.
868
+ * Specifies whether journal table record expiration is enabled or disabled.
852
869
  */
853
870
  Expiration: "ENABLED" | "DISABLED";
854
871
  };
@@ -957,6 +974,7 @@ export type ReplicationDestination = {
957
974
  /**
958
975
  * The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.
959
976
  For valid values, see the ``StorageClass`` element of the [PUT Bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) action in the *Amazon S3 API Reference*.
977
+ ``FSX_OPENZFS`` is not an accepted value when replicating objects.
960
978
  */
961
979
  StorageClass?: "DEEP_ARCHIVE" | "GLACIER" | "GLACIER_IR" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "REDUCED_REDUNDANCY" | "STANDARD" | "STANDARD_IA";
962
980
  };
@@ -1199,7 +1217,7 @@ export type S3KeyFilter = {
1199
1217
  };
1200
1218
  /**
1201
1219
  * Type definition for `AWS::S3::Bucket.S3TablesDestination`.
1202
- * The destination information for the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.
1220
+ * The destination information for a V1 S3 Metadata configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.
1203
1221
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-s3tablesdestination.html}
1204
1222
  */
1205
1223
  export type S3TablesDestination = {
@@ -36,6 +36,7 @@ export type S3ExpressAccessPointProperties = {
36
36
  * For directory buckets, you can filter access control to specific prefixes, API operations, or a combination of both.
37
37
  */
38
38
  Scope?: Scope;
39
+ Tags?: Tag[];
39
40
  /**
40
41
  * If you include this field, Amazon S3 restricts access to this Access Point to requests from the specified Virtual Private Cloud (VPC).
41
42
  */
@@ -96,6 +97,24 @@ export type Scope = {
96
97
  */
97
98
  Prefixes?: string[];
98
99
  };
100
+ /**
101
+ * Type definition for `AWS::S3Express::AccessPoint.Tag`.
102
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-accesspoint-tag.html}
103
+ */
104
+ export type Tag = {
105
+ /**
106
+ * @minLength `1`
107
+ * @maxLength `128`
108
+ * @pattern `^(?!aws:.*)([\p{L}\p{Z}\p{N}_.:=+\/\-@%]*)$`
109
+ */
110
+ Key: string;
111
+ /**
112
+ * @minLength `0`
113
+ * @maxLength `256`
114
+ * @pattern `^([\p{L}\p{Z}\p{N}_.:=+\/\-@%]*)$`
115
+ */
116
+ Value: string;
117
+ };
99
118
  /**
100
119
  * Type definition for `AWS::S3Express::AccessPoint.VpcConfiguration`.
101
120
  * The Virtual Private Cloud (VPC) configuration for a bucket access point.
@@ -3,7 +3,7 @@ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-
3
3
  /**
4
4
  * The ``AWS::SSM::Parameter`` resource creates an SSM parameter in SYSlong Parameter Store.
5
5
  To create an SSM parameter, you must have the IAMlong (IAM) permissions ``ssm:PutParameter`` and ``ssm:AddTagsToResource``. On stack creation, CFNlong adds the following three tags to the parameter: ``aws:cloudformation:stack-name``, ``aws:cloudformation:logical-id``, and ``aws:cloudformation:stack-id``, in addition to any custom tags you specify.
6
- To add, update, or remove tags during stack update, you must have IAM permissions for both ``ssm:AddTagsToResource`` and ``ssm:RemoveTagsFromResource``. For more information, see [Managing Access Using Policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/security-iam.html#security_iam_access-manage) in the *User Guide*.
6
+ To add, update, or remove tags during stack update, you must have IAM permissions for both ``ssm:AddTagsToResource`` and ``ssm:RemoveTagsFromResource``. For more information, see [Managing access using policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/security-iam.html#security_iam_access-manage) in the *User Guide*.
7
7
  For information about valid values for parameters, see [About requirements and constraints for parameter names](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html#sysman-parameter-name-constraints) in the *User Guide* and [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) in the *API Reference*.
8
8
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html}
9
9
  */
@@ -22,12 +22,13 @@ export type SSMParameterProperties = {
22
22
  Description?: string;
23
23
  /**
24
24
  * The name of the parameter.
25
- The maximum length constraint listed below includes capacity for additional system attributes that aren't part of the name. The maximum length for a parameter name, including the full length of the parameter Amazon Resource Name (ARN), is 1011 characters. For example, the length of the following parameter name is 65 characters, not 20 characters: ``arn:aws:ssm:us-east-2:111222333444:parameter/ExampleParameterName``
25
+ The reported maximum length of 2048 characters for a parameter name includes 1037 characters that are reserved for internal use by SYS. The maximum length for a parameter name that you specify is 1011 characters.
26
+ This count of 1011 characters includes the characters in the ARN that precede the name you specify. This ARN length will vary depending on your partition and Region. For example, the following 45 characters count toward the 1011 character maximum for a parameter created in the US East (Ohio) Region: ``arn:aws:ssm:us-east-2:111122223333:parameter/``.
26
27
  */
27
28
  Name?: string;
28
29
  /**
29
30
  * Information about the policies assigned to a parameter.
30
- [Assigning parameter policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html) in the *User Guide*.
31
+ [Assigning parameter policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html) in the *User Guide*.
31
32
  */
32
33
  Policies?: string;
33
34
  /**
@@ -39,8 +40,9 @@ export type SSMParameterProperties = {
39
40
  */
40
41
  Tier?: "Standard" | "Advanced" | "Intelligent-Tiering";
41
42
  /**
42
- * The type of parameter.
43
- */
43
+ * The type of parameter.
44
+ Parameters of type ``SecureString`` are not supported by CFNlong.
45
+ */
44
46
  Type: "String" | "StringList";
45
47
  /**
46
48
  * The parameter value.
@@ -51,7 +53,7 @@ export type SSMParameterProperties = {
51
53
  /**
52
54
  * The ``AWS::SSM::Parameter`` resource creates an SSM parameter in SYSlong Parameter Store.
53
55
  To create an SSM parameter, you must have the IAMlong (IAM) permissions ``ssm:PutParameter`` and ``ssm:AddTagsToResource``. On stack creation, CFNlong adds the following three tags to the parameter: ``aws:cloudformation:stack-name``, ``aws:cloudformation:logical-id``, and ``aws:cloudformation:stack-id``, in addition to any custom tags you specify.
54
- To add, update, or remove tags during stack update, you must have IAM permissions for both ``ssm:AddTagsToResource`` and ``ssm:RemoveTagsFromResource``. For more information, see [Managing Access Using Policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/security-iam.html#security_iam_access-manage) in the *User Guide*.
56
+ To add, update, or remove tags during stack update, you must have IAM permissions for both ``ssm:AddTagsToResource`` and ``ssm:RemoveTagsFromResource``. For more information, see [Managing access using policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/security-iam.html#security_iam_access-manage) in the *User Guide*.
55
57
  For information about valid values for parameters, see [About requirements and constraints for parameter names](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html#sysman-parameter-name-constraints) in the *User Guide* and [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) in the *API Reference*.
56
58
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html}
57
59
  */
@@ -2,7 +2,7 @@ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/re
2
2
  /**
3
3
  * The ``AWS::SSM::Parameter`` resource creates an SSM parameter in SYSlong Parameter Store.
4
4
  To create an SSM parameter, you must have the IAMlong (IAM) permissions ``ssm:PutParameter`` and ``ssm:AddTagsToResource``. On stack creation, CFNlong adds the following three tags to the parameter: ``aws:cloudformation:stack-name``, ``aws:cloudformation:logical-id``, and ``aws:cloudformation:stack-id``, in addition to any custom tags you specify.
5
- To add, update, or remove tags during stack update, you must have IAM permissions for both ``ssm:AddTagsToResource`` and ``ssm:RemoveTagsFromResource``. For more information, see [Managing Access Using Policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/security-iam.html#security_iam_access-manage) in the *User Guide*.
5
+ To add, update, or remove tags during stack update, you must have IAM permissions for both ``ssm:AddTagsToResource`` and ``ssm:RemoveTagsFromResource``. For more information, see [Managing access using policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/security-iam.html#security_iam_access-manage) in the *User Guide*.
6
6
  For information about valid values for parameters, see [About requirements and constraints for parameter names](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html#sysman-parameter-name-constraints) in the *User Guide* and [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) in the *API Reference*.
7
7
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html}
8
8
  */
@@ -16,7 +16,7 @@ export type SageMakerClusterProperties = {
16
16
  * The instance groups of the SageMaker HyperPod cluster.
17
17
  * @minLength `1`
18
18
  */
19
- InstanceGroups: ClusterInstanceGroup[];
19
+ InstanceGroups?: ClusterInstanceGroup[];
20
20
  /**
21
21
  * If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected.
22
22
  */
@@ -25,6 +25,11 @@ export type SageMakerClusterProperties = {
25
25
  * Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.
26
26
  */
27
27
  Orchestrator?: Orchestrator;
28
+ /**
29
+ * The restricted instance groups of the SageMaker HyperPod cluster.
30
+ * @minLength `1`
31
+ */
32
+ RestrictedInstanceGroups?: ClusterRestrictedInstanceGroup[];
28
33
  /**
29
34
  * Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging.
30
35
  * @maxLength `50`
@@ -69,6 +74,17 @@ export type SageMakerClusterAttributes = {
69
74
  */
70
75
  CurrentCount: number;
71
76
  }[];
77
+ /**
78
+ * The restricted instance groups of the SageMaker HyperPod cluster.
79
+ * @minLength `1`
80
+ */
81
+ RestrictedInstanceGroups: {
82
+ /**
83
+ * The number of instances that are currently in the restricted instance group of a SageMaker HyperPod cluster.
84
+ * @min `0`
85
+ */
86
+ CurrentCount: number;
87
+ }[];
72
88
  };
73
89
  /**
74
90
  * Type definition for `AWS::SageMaker::Cluster.ClusterEbsVolumeConfig`.
@@ -135,6 +151,13 @@ export type ClusterInstanceGroup = {
135
151
  * @max `2`
136
152
  */
137
153
  ThreadsPerCore?: number;
154
+ /**
155
+ * 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.
156
+ * @minLength `50`
157
+ * @maxLength `2048`
158
+ * @pattern `^arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:training-plan/.*$`
159
+ */
160
+ TrainingPlanArn?: string;
138
161
  };
139
162
  /**
140
163
  * Type definition for `AWS::SageMaker::Cluster.ClusterInstanceStorageConfig`.
@@ -177,12 +200,102 @@ export type ClusterOrchestratorEksConfig = {
177
200
  */
178
201
  ClusterArn: string;
179
202
  };
203
+ /**
204
+ * Type definition for `AWS::SageMaker::Cluster.ClusterRestrictedInstanceGroup`.
205
+ * Details of a restricted instance group in a SageMaker HyperPod cluster.
206
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-clusterrestrictedinstancegroup.html}
207
+ */
208
+ export type ClusterRestrictedInstanceGroup = {
209
+ /**
210
+ * The configuration for the restricted instance groups (RIG) environment.
211
+ */
212
+ EnvironmentConfig: EnvironmentConfig;
213
+ /**
214
+ * The execution role for the instance group to assume.
215
+ * @minLength `20`
216
+ * @maxLength `2048`
217
+ * @pattern `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`
218
+ */
219
+ ExecutionRole: string;
220
+ /**
221
+ * The number of instances you specified to add to the restricted instance group of a SageMaker HyperPod cluster.
222
+ * @min `0`
223
+ */
224
+ InstanceCount: number;
225
+ /**
226
+ * The name of the instance group of a SageMaker HyperPod cluster.
227
+ * @minLength `1`
228
+ * @maxLength `63`
229
+ * @pattern `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`
230
+ */
231
+ InstanceGroupName: string;
232
+ /**
233
+ * The instance storage configuration for the instance group.
234
+ * @maxLength `1`
235
+ */
236
+ InstanceStorageConfigs?: ClusterInstanceStorageConfig[];
237
+ /**
238
+ * The instance type of the instance group of a SageMaker HyperPod cluster.
239
+ */
240
+ InstanceType: string;
241
+ /**
242
+ * Nodes will undergo advanced stress test to detect and replace faulty instances, based on the type of deep health check(s) passed in.
243
+ */
244
+ OnStartDeepHealthChecks?: DeepHealthCheckType[];
245
+ /**
246
+ * 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.
247
+ */
248
+ OverrideVpcConfig?: VpcConfig;
249
+ /**
250
+ * 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.
251
+ * @min `1`
252
+ * @max `2`
253
+ */
254
+ ThreadsPerCore?: number;
255
+ /**
256
+ * 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.
257
+ * @minLength `50`
258
+ * @maxLength `2048`
259
+ * @pattern `^arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:training-plan/.*$`
260
+ */
261
+ TrainingPlanArn?: string;
262
+ };
180
263
  /**
181
264
  * Type definition for `AWS::SageMaker::Cluster.DeepHealthCheckType`.
182
265
  * The type of deep health check(s) to be performed on the instances in the SageMaker HyperPod cluster instance group.
183
266
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-deephealthchecktype.html}
184
267
  */
185
268
  export type DeepHealthCheckType = "InstanceStress" | "InstanceConnectivity";
269
+ /**
270
+ * Type definition for `AWS::SageMaker::Cluster.EnvironmentConfig`.
271
+ * The configuration for the restricted instance groups (RIG) environment.
272
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-environmentconfig.html}
273
+ */
274
+ export type EnvironmentConfig = {
275
+ /**
276
+ * Configuration settings for an Amazon FSx for Lustre file system to be used with the cluster.
277
+ */
278
+ FSxLustreConfig?: FSxLustreConfig;
279
+ };
280
+ /**
281
+ * Type definition for `AWS::SageMaker::Cluster.FSxLustreConfig`.
282
+ * Configuration settings for an Amazon FSx for Lustre file system to be used with the cluster.
283
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-cluster-fsxlustreconfig.html}
284
+ */
285
+ export type FSxLustreConfig = {
286
+ /**
287
+ * The throughput capacity of the FSx for Lustre file system, measured in MB/s per TiB of storage.
288
+ * @min `125`
289
+ * @max `1000`
290
+ */
291
+ PerUnitStorageThroughput: number;
292
+ /**
293
+ * The storage capacity of the FSx for Lustre file system, specified in gibibytes (GiB).
294
+ * @min `1200`
295
+ * @max `100800`
296
+ */
297
+ SizeInGiB: number;
298
+ };
186
299
  /**
187
300
  * Type definition for `AWS::SageMaker::Cluster.Orchestrator`.
188
301
  * Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.