aws-sdk-sagemaker 1.340.0 → 1.341.0

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.
@@ -5145,6 +5145,26 @@ module Aws::SageMaker
5145
5145
  include Aws::Structure
5146
5146
  end
5147
5147
 
5148
+ # Defines the instance capacity requirements for an instance group,
5149
+ # including configurations for both Spot and On-Demand capacity types.
5150
+ #
5151
+ # @!attribute [rw] spot
5152
+ # Configuration options specific to Spot instances.
5153
+ # @return [Types::ClusterSpotOptions]
5154
+ #
5155
+ # @!attribute [rw] on_demand
5156
+ # Configuration options specific to On-Demand instances.
5157
+ # @return [Types::ClusterOnDemandOptions]
5158
+ #
5159
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterCapacityRequirements AWS API Documentation
5160
+ #
5161
+ class ClusterCapacityRequirements < Struct.new(
5162
+ :spot,
5163
+ :on_demand)
5164
+ SENSITIVE = []
5165
+ include Aws::Structure
5166
+ end
5167
+
5148
5168
  # Defines the configuration for attaching an additional Amazon Elastic
5149
5169
  # Block Store (EBS) volume to each instance of the SageMaker HyperPod
5150
5170
  # cluster instance group. To learn more, see [SageMaker HyperPod release
@@ -5329,6 +5349,12 @@ module Aws::SageMaker
5329
5349
  # of a SageMaker HyperPod cluster.
5330
5350
  # @return [Integer]
5331
5351
  #
5352
+ # @!attribute [rw] min_count
5353
+ # The minimum number of instances that must be available in the
5354
+ # instance group of a SageMaker HyperPod cluster before it transitions
5355
+ # to `InService` status.
5356
+ # @return [Integer]
5357
+ #
5332
5358
  # @!attribute [rw] instance_group_name
5333
5359
  # The name of the instance group of a SageMaker HyperPod cluster.
5334
5360
  # @return [String]
@@ -5423,6 +5449,23 @@ module Aws::SageMaker
5423
5449
  # group.
5424
5450
  # @return [String]
5425
5451
  #
5452
+ # @!attribute [rw] active_operations
5453
+ # A map indicating active operations currently in progress for the
5454
+ # instance group of a SageMaker HyperPod cluster. When there is a
5455
+ # scaling operation in progress, this map contains a key `Scaling`
5456
+ # with value 1.
5457
+ # @return [Hash<String,Integer>]
5458
+ #
5459
+ # @!attribute [rw] kubernetes_config
5460
+ # The Kubernetes configuration for the instance group that contains
5461
+ # labels and taints to be applied for the nodes in this instance
5462
+ # group.
5463
+ # @return [Types::ClusterKubernetesConfigDetails]
5464
+ #
5465
+ # @!attribute [rw] capacity_requirements
5466
+ # The instance capacity requirements for the instance group.
5467
+ # @return [Types::ClusterCapacityRequirements]
5468
+ #
5426
5469
  # @!attribute [rw] target_state_count
5427
5470
  # The number of nodes running a specific image ID since the last
5428
5471
  # software update request.
@@ -5441,6 +5484,7 @@ module Aws::SageMaker
5441
5484
  class ClusterInstanceGroupDetails < Struct.new(
5442
5485
  :current_count,
5443
5486
  :target_count,
5487
+ :min_count,
5444
5488
  :instance_group_name,
5445
5489
  :instance_type,
5446
5490
  :life_cycle_config,
@@ -5455,6 +5499,9 @@ module Aws::SageMaker
5455
5499
  :scheduled_update_config,
5456
5500
  :current_image_id,
5457
5501
  :desired_image_id,
5502
+ :active_operations,
5503
+ :kubernetes_config,
5504
+ :capacity_requirements,
5458
5505
  :target_state_count,
5459
5506
  :software_update_status,
5460
5507
  :active_software_update_config)
@@ -5469,6 +5516,16 @@ module Aws::SageMaker
5469
5516
  # SageMaker HyperPod cluster.
5470
5517
  # @return [Integer]
5471
5518
  #
5519
+ # @!attribute [rw] min_instance_count
5520
+ # Defines the minimum number of instances required for an instance
5521
+ # group to become `InService`. If this threshold isn't met within 3
5522
+ # hours, the instance group rolls back to its previous state - zero
5523
+ # instances for new instance groups, or previous settings for existing
5524
+ # instance groups. `MinInstanceCount` only affects the initial
5525
+ # transition to `InService` and does not guarantee maintaining this
5526
+ # minimum afterward.
5527
+ # @return [Integer]
5528
+ #
5472
5529
  # @!attribute [rw] instance_group_name
5473
5530
  # Specifies the name of the instance group.
5474
5531
  # @return [String]
@@ -5596,10 +5653,22 @@ module Aws::SageMaker
5596
5653
  # patched with the specified image.
5597
5654
  # @return [String]
5598
5655
  #
5656
+ # @!attribute [rw] kubernetes_config
5657
+ # Specifies the Kubernetes configuration for the instance group. You
5658
+ # describe what you want the labels and taints to look like, and the
5659
+ # cluster works to reconcile the actual state with the declared state
5660
+ # for nodes in this instance group.
5661
+ # @return [Types::ClusterKubernetesConfig]
5662
+ #
5663
+ # @!attribute [rw] capacity_requirements
5664
+ # Specifies the capacity requirements for the instance group.
5665
+ # @return [Types::ClusterCapacityRequirements]
5666
+ #
5599
5667
  # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterInstanceGroupSpecification AWS API Documentation
5600
5668
  #
5601
5669
  class ClusterInstanceGroupSpecification < Struct.new(
5602
5670
  :instance_count,
5671
+ :min_instance_count,
5603
5672
  :instance_group_name,
5604
5673
  :instance_type,
5605
5674
  :life_cycle_config,
@@ -5610,7 +5679,9 @@ module Aws::SageMaker
5610
5679
  :training_plan_arn,
5611
5680
  :override_vpc_config,
5612
5681
  :scheduled_update_config,
5613
- :image_id)
5682
+ :image_id,
5683
+ :kubernetes_config,
5684
+ :capacity_requirements)
5614
5685
  SENSITIVE = []
5615
5686
  include Aws::Structure
5616
5687
  end
@@ -5690,6 +5761,113 @@ module Aws::SageMaker
5690
5761
  class Unknown < ClusterInstanceStorageConfig; end
5691
5762
  end
5692
5763
 
5764
+ # Kubernetes configuration that specifies labels and taints to be
5765
+ # applied to cluster nodes in an instance group.
5766
+ #
5767
+ # @!attribute [rw] labels
5768
+ # Key-value pairs of labels to be applied to cluster nodes.
5769
+ # @return [Hash<String,String>]
5770
+ #
5771
+ # @!attribute [rw] taints
5772
+ # List of taints to be applied to cluster nodes.
5773
+ # @return [Array<Types::ClusterKubernetesTaint>]
5774
+ #
5775
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterKubernetesConfig AWS API Documentation
5776
+ #
5777
+ class ClusterKubernetesConfig < Struct.new(
5778
+ :labels,
5779
+ :taints)
5780
+ SENSITIVE = []
5781
+ include Aws::Structure
5782
+ end
5783
+
5784
+ # Detailed Kubernetes configuration showing both the current and desired
5785
+ # state of labels and taints for cluster nodes.
5786
+ #
5787
+ # @!attribute [rw] current_labels
5788
+ # The current labels applied to cluster nodes of an instance group.
5789
+ # @return [Hash<String,String>]
5790
+ #
5791
+ # @!attribute [rw] desired_labels
5792
+ # The desired labels to be applied to cluster nodes of an instance
5793
+ # group.
5794
+ # @return [Hash<String,String>]
5795
+ #
5796
+ # @!attribute [rw] current_taints
5797
+ # The current taints applied to cluster nodes of an instance group.
5798
+ # @return [Array<Types::ClusterKubernetesTaint>]
5799
+ #
5800
+ # @!attribute [rw] desired_taints
5801
+ # The desired taints to be applied to cluster nodes of an instance
5802
+ # group.
5803
+ # @return [Array<Types::ClusterKubernetesTaint>]
5804
+ #
5805
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterKubernetesConfigDetails AWS API Documentation
5806
+ #
5807
+ class ClusterKubernetesConfigDetails < Struct.new(
5808
+ :current_labels,
5809
+ :desired_labels,
5810
+ :current_taints,
5811
+ :desired_taints)
5812
+ SENSITIVE = []
5813
+ include Aws::Structure
5814
+ end
5815
+
5816
+ # Node-specific Kubernetes configuration showing both current and
5817
+ # desired state of labels and taints for an individual cluster node.
5818
+ #
5819
+ # @!attribute [rw] current_labels
5820
+ # The current labels applied to the cluster node.
5821
+ # @return [Hash<String,String>]
5822
+ #
5823
+ # @!attribute [rw] desired_labels
5824
+ # The desired labels to be applied to the cluster node.
5825
+ # @return [Hash<String,String>]
5826
+ #
5827
+ # @!attribute [rw] current_taints
5828
+ # The current taints applied to the cluster node.
5829
+ # @return [Array<Types::ClusterKubernetesTaint>]
5830
+ #
5831
+ # @!attribute [rw] desired_taints
5832
+ # The desired taints to be applied to the cluster node.
5833
+ # @return [Array<Types::ClusterKubernetesTaint>]
5834
+ #
5835
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterKubernetesConfigNodeDetails AWS API Documentation
5836
+ #
5837
+ class ClusterKubernetesConfigNodeDetails < Struct.new(
5838
+ :current_labels,
5839
+ :desired_labels,
5840
+ :current_taints,
5841
+ :desired_taints)
5842
+ SENSITIVE = []
5843
+ include Aws::Structure
5844
+ end
5845
+
5846
+ # A Kubernetes taint that can be applied to cluster nodes.
5847
+ #
5848
+ # @!attribute [rw] key
5849
+ # The key of the taint.
5850
+ # @return [String]
5851
+ #
5852
+ # @!attribute [rw] value
5853
+ # The value of the taint.
5854
+ # @return [String]
5855
+ #
5856
+ # @!attribute [rw] effect
5857
+ # The effect of the taint. Valid values are `NoSchedule`,
5858
+ # `PreferNoSchedule`, and `NoExecute`.
5859
+ # @return [String]
5860
+ #
5861
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterKubernetesTaint AWS API Documentation
5862
+ #
5863
+ class ClusterKubernetesTaint < Struct.new(
5864
+ :key,
5865
+ :value,
5866
+ :effect)
5867
+ SENSITIVE = []
5868
+ include Aws::Structure
5869
+ end
5870
+
5693
5871
  # The lifecycle configuration for a SageMaker HyperPod cluster.
5694
5872
  #
5695
5873
  # @!attribute [rw] source_s3_uri
@@ -5839,6 +6017,19 @@ module Aws::SageMaker
5839
6017
  # Contains information about the UltraServer.
5840
6018
  # @return [Types::UltraServerInfo]
5841
6019
  #
6020
+ # @!attribute [rw] kubernetes_config
6021
+ # The Kubernetes configuration applied to this node, showing both the
6022
+ # current and desired state of labels and taints. The cluster works to
6023
+ # reconcile the actual state with the declared state.
6024
+ # @return [Types::ClusterKubernetesConfigNodeDetails]
6025
+ #
6026
+ # @!attribute [rw] capacity_type
6027
+ # The capacity type of the node. Valid values are `OnDemand` and
6028
+ # `Spot`. When set to `OnDemand`, the node is launched as an On-Demand
6029
+ # instance. When set to `Spot`, the node is launched as a Spot
6030
+ # instance.
6031
+ # @return [String]
6032
+ #
5842
6033
  # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterNodeDetails AWS API Documentation
5843
6034
  #
5844
6035
  class ClusterNodeDetails < Struct.new(
@@ -5859,7 +6050,9 @@ module Aws::SageMaker
5859
6050
  :placement,
5860
6051
  :current_image_id,
5861
6052
  :desired_image_id,
5862
- :ultra_server_info)
6053
+ :ultra_server_info,
6054
+ :kubernetes_config,
6055
+ :capacity_type)
5863
6056
  SENSITIVE = []
5864
6057
  include Aws::Structure
5865
6058
  end
@@ -5925,6 +6118,14 @@ module Aws::SageMaker
5925
6118
  include Aws::Structure
5926
6119
  end
5927
6120
 
6121
+ # Configuration options specific to On-Demand instances.
6122
+ #
6123
+ # @api private
6124
+ #
6125
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterOnDemandOptions AWS API Documentation
6126
+ #
6127
+ class ClusterOnDemandOptions < Aws::EmptyStructure; end
6128
+
5928
6129
  # The type of orchestrator used for the SageMaker HyperPod cluster.
5929
6130
  #
5930
6131
  # @!attribute [rw] eks
@@ -6221,6 +6422,14 @@ module Aws::SageMaker
6221
6422
  include Aws::Structure
6222
6423
  end
6223
6424
 
6425
+ # Configuration options specific to Spot instances.
6426
+ #
6427
+ # @api private
6428
+ #
6429
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterSpotOptions AWS API Documentation
6430
+ #
6431
+ class ClusterSpotOptions < Aws::EmptyStructure; end
6432
+
6224
6433
  # Lists a summary of the properties of a SageMaker HyperPod cluster.
6225
6434
  #
6226
6435
  # @!attribute [rw] cluster_arn
@@ -11189,6 +11398,10 @@ module Aws::SageMaker
11189
11398
  # with the optimization job.
11190
11399
  # @return [String]
11191
11400
  #
11401
+ # @!attribute [rw] max_instance_count
11402
+ # The maximum number of instances to use for the optimization job.
11403
+ # @return [Integer]
11404
+ #
11192
11405
  # @!attribute [rw] optimization_environment
11193
11406
  # The environment variables to set in the model container.
11194
11407
  # @return [Hash<String,String>]
@@ -11248,6 +11461,7 @@ module Aws::SageMaker
11248
11461
  :role_arn,
11249
11462
  :model_source,
11250
11463
  :deployment_instance_type,
11464
+ :max_instance_count,
11251
11465
  :optimization_environment,
11252
11466
  :optimization_configs,
11253
11467
  :output_config,
@@ -19760,6 +19974,10 @@ module Aws::SageMaker
19760
19974
  # with the optimization job.
19761
19975
  # @return [String]
19762
19976
  #
19977
+ # @!attribute [rw] max_instance_count
19978
+ # The maximum number of instances to use for the optimization job.
19979
+ # @return [Integer]
19980
+ #
19763
19981
  # @!attribute [rw] optimization_configs
19764
19982
  # Settings for each of the optimization techniques that the job
19765
19983
  # applies.
@@ -19820,6 +20038,7 @@ module Aws::SageMaker
19820
20038
  :model_source,
19821
20039
  :optimization_environment,
19822
20040
  :deployment_instance_type,
20041
+ :max_instance_count,
19823
20042
  :optimization_configs,
19824
20043
  :output_config,
19825
20044
  :optimization_output,
@@ -29039,6 +29258,10 @@ module Aws::SageMaker
29039
29258
  # The desired number of instances for the group after scaling.
29040
29259
  # @return [Integer]
29041
29260
  #
29261
+ # @!attribute [rw] min_count
29262
+ # Minimum instance count of the instance group.
29263
+ # @return [Integer]
29264
+ #
29042
29265
  # @!attribute [rw] failure_message
29043
29266
  # An error message describing why the scaling operation failed, if
29044
29267
  # applicable.
@@ -29049,6 +29272,7 @@ module Aws::SageMaker
29049
29272
  class InstanceGroupScalingMetadata < Struct.new(
29050
29273
  :instance_count,
29051
29274
  :target_count,
29275
+ :min_count,
29052
29276
  :failure_message)
29053
29277
  SENSITIVE = []
29054
29278
  include Aws::Structure
@@ -38430,6 +38654,53 @@ module Aws::SageMaker
38430
38654
  include Aws::Structure
38431
38655
  end
38432
38656
 
38657
+ # Settings for the model speculative decoding technique that's applied
38658
+ # by a model optimization job.
38659
+ #
38660
+ # @!attribute [rw] technique
38661
+ # The speculative decoding technique to apply during model
38662
+ # optimization.
38663
+ # @return [String]
38664
+ #
38665
+ # @!attribute [rw] training_data_source
38666
+ # The location of the training data to use for speculative decoding.
38667
+ # The data must be formatted as ShareGPT, OpenAI Completions or OpenAI
38668
+ # Chat Completions. The input can also be unencrypted captured data
38669
+ # from a SageMaker endpoint as long as the endpoint uses one of the
38670
+ # above formats.
38671
+ # @return [Types::ModelSpeculativeDecodingTrainingDataSource]
38672
+ #
38673
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ModelSpeculativeDecodingConfig AWS API Documentation
38674
+ #
38675
+ class ModelSpeculativeDecodingConfig < Struct.new(
38676
+ :technique,
38677
+ :training_data_source)
38678
+ SENSITIVE = []
38679
+ include Aws::Structure
38680
+ end
38681
+
38682
+ # Contains information about the training data source for speculative
38683
+ # decoding.
38684
+ #
38685
+ # @!attribute [rw] s3_uri
38686
+ # The Amazon S3 URI that points to the training data for speculative
38687
+ # decoding.
38688
+ # @return [String]
38689
+ #
38690
+ # @!attribute [rw] s3_data_type
38691
+ # The type of data stored in the Amazon S3 location. Valid values are
38692
+ # `S3Prefix` or `ManifestFile`.
38693
+ # @return [String]
38694
+ #
38695
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ModelSpeculativeDecodingTrainingDataSource AWS API Documentation
38696
+ #
38697
+ class ModelSpeculativeDecodingTrainingDataSource < Struct.new(
38698
+ :s3_uri,
38699
+ :s3_data_type)
38700
+ SENSITIVE = []
38701
+ include Aws::Structure
38702
+ end
38703
+
38433
38704
  # Metadata for Model steps.
38434
38705
  #
38435
38706
  # @!attribute [rw] arn
@@ -40042,12 +40313,18 @@ module Aws::SageMaker
40042
40313
  # optimization job.
40043
40314
  # @return [Types::ModelShardingConfig]
40044
40315
  #
40316
+ # @!attribute [rw] model_speculative_decoding_config
40317
+ # Settings for the model speculative decoding technique that's
40318
+ # applied by a model optimization job.
40319
+ # @return [Types::ModelSpeculativeDecodingConfig]
40320
+ #
40045
40321
  # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/OptimizationConfig AWS API Documentation
40046
40322
  #
40047
40323
  class OptimizationConfig < Struct.new(
40048
40324
  :model_quantization_config,
40049
40325
  :model_compilation_config,
40050
40326
  :model_sharding_config,
40327
+ :model_speculative_decoding_config,
40051
40328
  :unknown)
40052
40329
  SENSITIVE = []
40053
40330
  include Aws::Structure
@@ -40056,6 +40333,7 @@ module Aws::SageMaker
40056
40333
  class ModelQuantizationConfig < OptimizationConfig; end
40057
40334
  class ModelCompilationConfig < OptimizationConfig; end
40058
40335
  class ModelShardingConfig < OptimizationConfig; end
40336
+ class ModelSpeculativeDecodingConfig < OptimizationConfig; end
40059
40337
  class Unknown < OptimizationConfig; end
40060
40338
  end
40061
40339
 
@@ -40066,10 +40344,16 @@ module Aws::SageMaker
40066
40344
  # optimization job.
40067
40345
  # @return [Types::OptimizationJobModelSourceS3]
40068
40346
  #
40347
+ # @!attribute [rw] sage_maker_model
40348
+ # The name of an existing SageMaker model to optimize with an
40349
+ # optimization job.
40350
+ # @return [Types::OptimizationSageMakerModel]
40351
+ #
40069
40352
  # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/OptimizationJobModelSource AWS API Documentation
40070
40353
  #
40071
40354
  class OptimizationJobModelSource < Struct.new(
40072
- :s3)
40355
+ :s3,
40356
+ :sage_maker_model)
40073
40357
  SENSITIVE = []
40074
40358
  include Aws::Structure
40075
40359
  end
@@ -40111,11 +40395,17 @@ module Aws::SageMaker
40111
40395
  # create with an optimization job.
40112
40396
  # @return [String]
40113
40397
  #
40398
+ # @!attribute [rw] sage_maker_model
40399
+ # The name of a SageMaker model to use as the output destination for
40400
+ # an optimization job.
40401
+ # @return [Types::OptimizationSageMakerModel]
40402
+ #
40114
40403
  # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/OptimizationJobOutputConfig AWS API Documentation
40115
40404
  #
40116
40405
  class OptimizationJobOutputConfig < Struct.new(
40117
40406
  :kms_key_id,
40118
- :s3_output_location)
40407
+ :s3_output_location,
40408
+ :sage_maker_model)
40119
40409
  SENSITIVE = []
40120
40410
  include Aws::Structure
40121
40411
  end
@@ -40156,6 +40446,10 @@ module Aws::SageMaker
40156
40446
  # with the optimization job.
40157
40447
  # @return [String]
40158
40448
  #
40449
+ # @!attribute [rw] max_instance_count
40450
+ # The maximum number of instances to use for the optimization job.
40451
+ # @return [Integer]
40452
+ #
40159
40453
  # @!attribute [rw] optimization_types
40160
40454
  # The optimization techniques that are applied by the optimization
40161
40455
  # job.
@@ -40172,6 +40466,7 @@ module Aws::SageMaker
40172
40466
  :optimization_end_time,
40173
40467
  :last_modified_time,
40174
40468
  :deployment_instance_type,
40469
+ :max_instance_count,
40175
40470
  :optimization_types)
40176
40471
  SENSITIVE = []
40177
40472
  include Aws::Structure
@@ -40213,6 +40508,21 @@ module Aws::SageMaker
40213
40508
  include Aws::Structure
40214
40509
  end
40215
40510
 
40511
+ # A SageMaker model to use as the source or destination for an
40512
+ # optimization job.
40513
+ #
40514
+ # @!attribute [rw] model_name
40515
+ # The name of a SageMaker model.
40516
+ # @return [String]
40517
+ #
40518
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/OptimizationSageMakerModel AWS API Documentation
40519
+ #
40520
+ class OptimizationSageMakerModel < Struct.new(
40521
+ :model_name)
40522
+ SENSITIVE = []
40523
+ include Aws::Structure
40524
+ end
40525
+
40216
40526
  # A VPC in Amazon VPC that's accessible to an optimized that you create
40217
40527
  # with an optimization job. You can control access to and from your
40218
40528
  # resources by configuring a VPC. For more information, see [Give
@@ -55,7 +55,7 @@ module Aws::SageMaker
55
55
  autoload :EndpointProvider, 'aws-sdk-sagemaker/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-sagemaker/endpoints'
57
57
 
58
- GEM_VERSION = '1.340.0'
58
+ GEM_VERSION = '1.341.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -806,6 +806,7 @@ module Aws
806
806
  ?instance_groups: Array[
807
807
  {
808
808
  instance_count: ::Integer,
809
+ min_instance_count: ::Integer?,
809
810
  instance_group_name: ::String,
810
811
  instance_type: ("ml.p4d.24xlarge" | "ml.p4de.24xlarge" | "ml.p5.48xlarge" | "ml.p6e-gb200.36xlarge" | "ml.trn1.32xlarge" | "ml.trn1n.32xlarge" | "ml.g5.xlarge" | "ml.g5.2xlarge" | "ml.g5.4xlarge" | "ml.g5.8xlarge" | "ml.g5.12xlarge" | "ml.g5.16xlarge" | "ml.g5.24xlarge" | "ml.g5.48xlarge" | "ml.c5.large" | "ml.c5.xlarge" | "ml.c5.2xlarge" | "ml.c5.4xlarge" | "ml.c5.9xlarge" | "ml.c5.12xlarge" | "ml.c5.18xlarge" | "ml.c5.24xlarge" | "ml.c5n.large" | "ml.c5n.2xlarge" | "ml.c5n.4xlarge" | "ml.c5n.9xlarge" | "ml.c5n.18xlarge" | "ml.m5.large" | "ml.m5.xlarge" | "ml.m5.2xlarge" | "ml.m5.4xlarge" | "ml.m5.8xlarge" | "ml.m5.12xlarge" | "ml.m5.16xlarge" | "ml.m5.24xlarge" | "ml.t3.medium" | "ml.t3.large" | "ml.t3.xlarge" | "ml.t3.2xlarge" | "ml.g6.xlarge" | "ml.g6.2xlarge" | "ml.g6.4xlarge" | "ml.g6.8xlarge" | "ml.g6.16xlarge" | "ml.g6.12xlarge" | "ml.g6.24xlarge" | "ml.g6.48xlarge" | "ml.gr6.4xlarge" | "ml.gr6.8xlarge" | "ml.g6e.xlarge" | "ml.g6e.2xlarge" | "ml.g6e.4xlarge" | "ml.g6e.8xlarge" | "ml.g6e.16xlarge" | "ml.g6e.12xlarge" | "ml.g6e.24xlarge" | "ml.g6e.48xlarge" | "ml.p5e.48xlarge" | "ml.p5en.48xlarge" | "ml.p6-b200.48xlarge" | "ml.trn2.3xlarge" | "ml.trn2.48xlarge" | "ml.c6i.large" | "ml.c6i.xlarge" | "ml.c6i.2xlarge" | "ml.c6i.4xlarge" | "ml.c6i.8xlarge" | "ml.c6i.12xlarge" | "ml.c6i.16xlarge" | "ml.c6i.24xlarge" | "ml.c6i.32xlarge" | "ml.m6i.large" | "ml.m6i.xlarge" | "ml.m6i.2xlarge" | "ml.m6i.4xlarge" | "ml.m6i.8xlarge" | "ml.m6i.12xlarge" | "ml.m6i.16xlarge" | "ml.m6i.24xlarge" | "ml.m6i.32xlarge" | "ml.r6i.large" | "ml.r6i.xlarge" | "ml.r6i.2xlarge" | "ml.r6i.4xlarge" | "ml.r6i.8xlarge" | "ml.r6i.12xlarge" | "ml.r6i.16xlarge" | "ml.r6i.24xlarge" | "ml.r6i.32xlarge" | "ml.i3en.large" | "ml.i3en.xlarge" | "ml.i3en.2xlarge" | "ml.i3en.3xlarge" | "ml.i3en.6xlarge" | "ml.i3en.12xlarge" | "ml.i3en.24xlarge" | "ml.m7i.large" | "ml.m7i.xlarge" | "ml.m7i.2xlarge" | "ml.m7i.4xlarge" | "ml.m7i.8xlarge" | "ml.m7i.12xlarge" | "ml.m7i.16xlarge" | "ml.m7i.24xlarge" | "ml.m7i.48xlarge" | "ml.r7i.large" | "ml.r7i.xlarge" | "ml.r7i.2xlarge" | "ml.r7i.4xlarge" | "ml.r7i.8xlarge" | "ml.r7i.12xlarge" | "ml.r7i.16xlarge" | "ml.r7i.24xlarge" | "ml.r7i.48xlarge"),
811
812
  life_cycle_config: {
@@ -850,7 +851,23 @@ module Aws
850
851
  ]?
851
852
  }?
852
853
  }?,
853
- image_id: ::String?
854
+ image_id: ::String?,
855
+ kubernetes_config: {
856
+ labels: Hash[::String, ::String]?,
857
+ taints: Array[
858
+ {
859
+ key: ::String,
860
+ value: ::String?,
861
+ effect: ("NoSchedule" | "PreferNoSchedule" | "NoExecute")
862
+ },
863
+ ]?
864
+ }?,
865
+ capacity_requirements: {
866
+ spot: {
867
+ }?,
868
+ on_demand: {
869
+ }?
870
+ }?
854
871
  },
855
872
  ],
856
873
  ?restricted_instance_groups: Array[
@@ -3788,9 +3805,13 @@ module Aws
3788
3805
  model_access_config: {
3789
3806
  accept_eula: bool
3790
3807
  }?
3808
+ }?,
3809
+ sage_maker_model: {
3810
+ model_name: ::String?
3791
3811
  }?
3792
3812
  },
3793
- deployment_instance_type: ("ml.p4d.24xlarge" | "ml.p4de.24xlarge" | "ml.p5.48xlarge" | "ml.g5.xlarge" | "ml.g5.2xlarge" | "ml.g5.4xlarge" | "ml.g5.8xlarge" | "ml.g5.12xlarge" | "ml.g5.16xlarge" | "ml.g5.24xlarge" | "ml.g5.48xlarge" | "ml.g6.xlarge" | "ml.g6.2xlarge" | "ml.g6.4xlarge" | "ml.g6.8xlarge" | "ml.g6.12xlarge" | "ml.g6.16xlarge" | "ml.g6.24xlarge" | "ml.g6.48xlarge" | "ml.g6e.xlarge" | "ml.g6e.2xlarge" | "ml.g6e.4xlarge" | "ml.g6e.8xlarge" | "ml.g6e.12xlarge" | "ml.g6e.16xlarge" | "ml.g6e.24xlarge" | "ml.g6e.48xlarge" | "ml.inf2.xlarge" | "ml.inf2.8xlarge" | "ml.inf2.24xlarge" | "ml.inf2.48xlarge" | "ml.trn1.2xlarge" | "ml.trn1.32xlarge" | "ml.trn1n.32xlarge"),
3813
+ deployment_instance_type: ("ml.p4d.24xlarge" | "ml.p4de.24xlarge" | "ml.p5.48xlarge" | "ml.p5e.48xlarge" | "ml.p5en.48xlarge" | "ml.g5.xlarge" | "ml.g5.2xlarge" | "ml.g5.4xlarge" | "ml.g5.8xlarge" | "ml.g5.12xlarge" | "ml.g5.16xlarge" | "ml.g5.24xlarge" | "ml.g5.48xlarge" | "ml.g6.xlarge" | "ml.g6.2xlarge" | "ml.g6.4xlarge" | "ml.g6.8xlarge" | "ml.g6.12xlarge" | "ml.g6.16xlarge" | "ml.g6.24xlarge" | "ml.g6.48xlarge" | "ml.g6e.xlarge" | "ml.g6e.2xlarge" | "ml.g6e.4xlarge" | "ml.g6e.8xlarge" | "ml.g6e.12xlarge" | "ml.g6e.16xlarge" | "ml.g6e.24xlarge" | "ml.g6e.48xlarge" | "ml.inf2.xlarge" | "ml.inf2.8xlarge" | "ml.inf2.24xlarge" | "ml.inf2.48xlarge" | "ml.trn1.2xlarge" | "ml.trn1.32xlarge" | "ml.trn1n.32xlarge"),
3814
+ ?max_instance_count: ::Integer,
3794
3815
  ?optimization_environment: Hash[::String, ::String],
3795
3816
  optimization_configs: Array[
3796
3817
  {
@@ -3805,12 +3826,22 @@ module Aws
3805
3826
  model_sharding_config: {
3806
3827
  image: ::String?,
3807
3828
  override_environment: Hash[::String, ::String]?
3829
+ }?,
3830
+ model_speculative_decoding_config: {
3831
+ technique: ("EAGLE"),
3832
+ training_data_source: {
3833
+ s3_uri: ::String,
3834
+ s3_data_type: ("S3Prefix" | "ManifestFile")
3835
+ }?
3808
3836
  }?
3809
3837
  },
3810
3838
  ],
3811
3839
  output_config: {
3812
3840
  kms_key_id: ::String?,
3813
- s3_output_location: ::String
3841
+ s3_output_location: ::String,
3842
+ sage_maker_model: {
3843
+ model_name: ::String?
3844
+ }?
3814
3845
  },
3815
3846
  stopping_condition: {
3816
3847
  max_runtime_in_seconds: ::Integer?,
@@ -6422,7 +6453,8 @@ module Aws
6422
6453
  def optimization_job_name: () -> ::String
6423
6454
  def model_source: () -> Types::OptimizationJobModelSource
6424
6455
  def optimization_environment: () -> ::Hash[::String, ::String]
6425
- def deployment_instance_type: () -> ("ml.p4d.24xlarge" | "ml.p4de.24xlarge" | "ml.p5.48xlarge" | "ml.g5.xlarge" | "ml.g5.2xlarge" | "ml.g5.4xlarge" | "ml.g5.8xlarge" | "ml.g5.12xlarge" | "ml.g5.16xlarge" | "ml.g5.24xlarge" | "ml.g5.48xlarge" | "ml.g6.xlarge" | "ml.g6.2xlarge" | "ml.g6.4xlarge" | "ml.g6.8xlarge" | "ml.g6.12xlarge" | "ml.g6.16xlarge" | "ml.g6.24xlarge" | "ml.g6.48xlarge" | "ml.g6e.xlarge" | "ml.g6e.2xlarge" | "ml.g6e.4xlarge" | "ml.g6e.8xlarge" | "ml.g6e.12xlarge" | "ml.g6e.16xlarge" | "ml.g6e.24xlarge" | "ml.g6e.48xlarge" | "ml.inf2.xlarge" | "ml.inf2.8xlarge" | "ml.inf2.24xlarge" | "ml.inf2.48xlarge" | "ml.trn1.2xlarge" | "ml.trn1.32xlarge" | "ml.trn1n.32xlarge")
6456
+ def deployment_instance_type: () -> ("ml.p4d.24xlarge" | "ml.p4de.24xlarge" | "ml.p5.48xlarge" | "ml.p5e.48xlarge" | "ml.p5en.48xlarge" | "ml.g5.xlarge" | "ml.g5.2xlarge" | "ml.g5.4xlarge" | "ml.g5.8xlarge" | "ml.g5.12xlarge" | "ml.g5.16xlarge" | "ml.g5.24xlarge" | "ml.g5.48xlarge" | "ml.g6.xlarge" | "ml.g6.2xlarge" | "ml.g6.4xlarge" | "ml.g6.8xlarge" | "ml.g6.12xlarge" | "ml.g6.16xlarge" | "ml.g6.24xlarge" | "ml.g6.48xlarge" | "ml.g6e.xlarge" | "ml.g6e.2xlarge" | "ml.g6e.4xlarge" | "ml.g6e.8xlarge" | "ml.g6e.12xlarge" | "ml.g6e.16xlarge" | "ml.g6e.24xlarge" | "ml.g6e.48xlarge" | "ml.inf2.xlarge" | "ml.inf2.8xlarge" | "ml.inf2.24xlarge" | "ml.inf2.48xlarge" | "ml.trn1.2xlarge" | "ml.trn1.32xlarge" | "ml.trn1n.32xlarge")
6457
+ def max_instance_count: () -> ::Integer
6426
6458
  def optimization_configs: () -> ::Array[Types::OptimizationConfig]
6427
6459
  def output_config: () -> Types::OptimizationJobOutputConfig
6428
6460
  def optimization_output: () -> Types::OptimizationOutput
@@ -8986,6 +9018,7 @@ module Aws
8986
9018
  ?instance_groups: Array[
8987
9019
  {
8988
9020
  instance_count: ::Integer,
9021
+ min_instance_count: ::Integer?,
8989
9022
  instance_group_name: ::String,
8990
9023
  instance_type: ("ml.p4d.24xlarge" | "ml.p4de.24xlarge" | "ml.p5.48xlarge" | "ml.p6e-gb200.36xlarge" | "ml.trn1.32xlarge" | "ml.trn1n.32xlarge" | "ml.g5.xlarge" | "ml.g5.2xlarge" | "ml.g5.4xlarge" | "ml.g5.8xlarge" | "ml.g5.12xlarge" | "ml.g5.16xlarge" | "ml.g5.24xlarge" | "ml.g5.48xlarge" | "ml.c5.large" | "ml.c5.xlarge" | "ml.c5.2xlarge" | "ml.c5.4xlarge" | "ml.c5.9xlarge" | "ml.c5.12xlarge" | "ml.c5.18xlarge" | "ml.c5.24xlarge" | "ml.c5n.large" | "ml.c5n.2xlarge" | "ml.c5n.4xlarge" | "ml.c5n.9xlarge" | "ml.c5n.18xlarge" | "ml.m5.large" | "ml.m5.xlarge" | "ml.m5.2xlarge" | "ml.m5.4xlarge" | "ml.m5.8xlarge" | "ml.m5.12xlarge" | "ml.m5.16xlarge" | "ml.m5.24xlarge" | "ml.t3.medium" | "ml.t3.large" | "ml.t3.xlarge" | "ml.t3.2xlarge" | "ml.g6.xlarge" | "ml.g6.2xlarge" | "ml.g6.4xlarge" | "ml.g6.8xlarge" | "ml.g6.16xlarge" | "ml.g6.12xlarge" | "ml.g6.24xlarge" | "ml.g6.48xlarge" | "ml.gr6.4xlarge" | "ml.gr6.8xlarge" | "ml.g6e.xlarge" | "ml.g6e.2xlarge" | "ml.g6e.4xlarge" | "ml.g6e.8xlarge" | "ml.g6e.16xlarge" | "ml.g6e.12xlarge" | "ml.g6e.24xlarge" | "ml.g6e.48xlarge" | "ml.p5e.48xlarge" | "ml.p5en.48xlarge" | "ml.p6-b200.48xlarge" | "ml.trn2.3xlarge" | "ml.trn2.48xlarge" | "ml.c6i.large" | "ml.c6i.xlarge" | "ml.c6i.2xlarge" | "ml.c6i.4xlarge" | "ml.c6i.8xlarge" | "ml.c6i.12xlarge" | "ml.c6i.16xlarge" | "ml.c6i.24xlarge" | "ml.c6i.32xlarge" | "ml.m6i.large" | "ml.m6i.xlarge" | "ml.m6i.2xlarge" | "ml.m6i.4xlarge" | "ml.m6i.8xlarge" | "ml.m6i.12xlarge" | "ml.m6i.16xlarge" | "ml.m6i.24xlarge" | "ml.m6i.32xlarge" | "ml.r6i.large" | "ml.r6i.xlarge" | "ml.r6i.2xlarge" | "ml.r6i.4xlarge" | "ml.r6i.8xlarge" | "ml.r6i.12xlarge" | "ml.r6i.16xlarge" | "ml.r6i.24xlarge" | "ml.r6i.32xlarge" | "ml.i3en.large" | "ml.i3en.xlarge" | "ml.i3en.2xlarge" | "ml.i3en.3xlarge" | "ml.i3en.6xlarge" | "ml.i3en.12xlarge" | "ml.i3en.24xlarge" | "ml.m7i.large" | "ml.m7i.xlarge" | "ml.m7i.2xlarge" | "ml.m7i.4xlarge" | "ml.m7i.8xlarge" | "ml.m7i.12xlarge" | "ml.m7i.16xlarge" | "ml.m7i.24xlarge" | "ml.m7i.48xlarge" | "ml.r7i.large" | "ml.r7i.xlarge" | "ml.r7i.2xlarge" | "ml.r7i.4xlarge" | "ml.r7i.8xlarge" | "ml.r7i.12xlarge" | "ml.r7i.16xlarge" | "ml.r7i.24xlarge" | "ml.r7i.48xlarge"),
8991
9024
  life_cycle_config: {
@@ -9030,7 +9063,23 @@ module Aws
9030
9063
  ]?
9031
9064
  }?
9032
9065
  }?,
9033
- image_id: ::String?
9066
+ image_id: ::String?,
9067
+ kubernetes_config: {
9068
+ labels: Hash[::String, ::String]?,
9069
+ taints: Array[
9070
+ {
9071
+ key: ::String,
9072
+ value: ::String?,
9073
+ effect: ("NoSchedule" | "PreferNoSchedule" | "NoExecute")
9074
+ },
9075
+ ]?
9076
+ }?,
9077
+ capacity_requirements: {
9078
+ spot: {
9079
+ }?,
9080
+ on_demand: {
9081
+ }?
9082
+ }?
9034
9083
  },
9035
9084
  ],
9036
9085
  ?restricted_instance_groups: Array[