aws-sdk-sagemaker 1.200.0 → 1.202.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0e5369f5bb546bc4a434084786180743b3c465f88f079270f4aeb875104a2f5e
4
- data.tar.gz: 4b21b756570b018c4f72496c571dbc8dcd58138e3851bab0a50d971df7771782
3
+ metadata.gz: 20447a1093ec62eddc28f9ba37e3c9e30df3384af011d2d49a49be70a65ec6f6
4
+ data.tar.gz: 19d9212fdeaaccbf50e1239a7d5ef527d4f02dcda19aa64e1da88bb3d4c5ca89
5
5
  SHA512:
6
- metadata.gz: bbf4fd1b274d7c25a5d3722e91e30bbcb5817b13a8d32d978a9800a31e4abfc94bc0c1b7e2089380e09cf0deecbbe9e36d4ec7ab397902afd93d64eaf15d5d41
7
- data.tar.gz: 528122c7a215f0a6901a12249845b09e8c08fff72f3928ee3800700fd9ea3b168e0af011197f6cd04c5f2094081da87f535af0f73d452202880f0efd1bcf9fe3
6
+ metadata.gz: bed0f6fa8acb414c51c6ae9a730509b24a5528e22e5b1248e4ad6613826d0a734f3ba0966e0d4c8fd6c0e45707c3b02b48bcf9af7ff10b7db4f174757a9bdc0e
7
+ data.tar.gz: 3895b91eb914ad77ad5630383dac5d16879587685de544e820de1fecea84e43a8963c832942d898ea5b5ff148a76eed70b7d64bae3934eef7052ef8081f5b62b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.202.0 (2023-08-02)
5
+ ------------------
6
+
7
+ * Feature - SageMaker Inference Recommender introduces a new API GetScalingConfigurationRecommendation to recommend auto scaling policies based on completed Inference Recommender jobs.
8
+
9
+ 1.201.0 (2023-08-01)
10
+ ------------------
11
+
12
+ * Feature - Add Stairs TrafficPattern and FlatInvocations to RecommendationJobStoppingConditions
13
+
4
14
  1.200.0 (2023-07-27)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.200.0
1
+ 1.202.0
@@ -4463,7 +4463,7 @@ module Aws::SageMaker
4463
4463
  # model_package_version_arn: "ModelPackageArn",
4464
4464
  # job_duration_in_seconds: 1,
4465
4465
  # traffic_pattern: {
4466
- # traffic_type: "PHASES", # accepts PHASES
4466
+ # traffic_type: "PHASES", # accepts PHASES, STAIRS
4467
4467
  # phases: [
4468
4468
  # {
4469
4469
  # initial_number_of_users: 1,
@@ -4471,6 +4471,11 @@ module Aws::SageMaker
4471
4471
  # duration_in_seconds: 1,
4472
4472
  # },
4473
4473
  # ],
4474
+ # stairs: {
4475
+ # duration_in_seconds: 1,
4476
+ # number_of_steps: 1,
4477
+ # users_per_step: 1,
4478
+ # },
4474
4479
  # },
4475
4480
  # resource_limit: {
4476
4481
  # max_number_of_tests: 1,
@@ -4530,6 +4535,7 @@ module Aws::SageMaker
4530
4535
  # value_in_milliseconds: 1,
4531
4536
  # },
4532
4537
  # ],
4538
+ # flat_invocations: "Continue", # accepts Continue, Stop
4533
4539
  # },
4534
4540
  # output_config: {
4535
4541
  # kms_key_id: "KmsKeyId",
@@ -12315,11 +12321,14 @@ module Aws::SageMaker
12315
12321
  # resp.failure_reason #=> String
12316
12322
  # resp.input_config.model_package_version_arn #=> String
12317
12323
  # resp.input_config.job_duration_in_seconds #=> Integer
12318
- # resp.input_config.traffic_pattern.traffic_type #=> String, one of "PHASES"
12324
+ # resp.input_config.traffic_pattern.traffic_type #=> String, one of "PHASES", "STAIRS"
12319
12325
  # resp.input_config.traffic_pattern.phases #=> Array
12320
12326
  # resp.input_config.traffic_pattern.phases[0].initial_number_of_users #=> Integer
12321
12327
  # resp.input_config.traffic_pattern.phases[0].spawn_rate #=> Integer
12322
12328
  # resp.input_config.traffic_pattern.phases[0].duration_in_seconds #=> Integer
12329
+ # resp.input_config.traffic_pattern.stairs.duration_in_seconds #=> Integer
12330
+ # resp.input_config.traffic_pattern.stairs.number_of_steps #=> Integer
12331
+ # resp.input_config.traffic_pattern.stairs.users_per_step #=> Integer
12323
12332
  # resp.input_config.resource_limit.max_number_of_tests #=> Integer
12324
12333
  # resp.input_config.resource_limit.max_parallel_of_tests #=> Integer
12325
12334
  # resp.input_config.endpoint_configurations #=> Array
@@ -12356,6 +12365,7 @@ module Aws::SageMaker
12356
12365
  # resp.stopping_conditions.model_latency_thresholds #=> Array
12357
12366
  # resp.stopping_conditions.model_latency_thresholds[0].percentile #=> String
12358
12367
  # resp.stopping_conditions.model_latency_thresholds[0].value_in_milliseconds #=> Integer
12368
+ # resp.stopping_conditions.flat_invocations #=> String, one of "Continue", "Stop"
12359
12369
  # resp.inference_recommendations #=> Array
12360
12370
  # resp.inference_recommendations[0].metrics.cost_per_hour #=> Float
12361
12371
  # resp.inference_recommendations[0].metrics.cost_per_inference #=> Float
@@ -14866,6 +14876,90 @@ module Aws::SageMaker
14866
14876
  req.send_request(options)
14867
14877
  end
14868
14878
 
14879
+ # Starts an Amazon SageMaker Inference Recommender autoscaling
14880
+ # recommendation job. Returns recommendations for autoscaling policies
14881
+ # that you can apply to your SageMaker endpoint.
14882
+ #
14883
+ # @option params [required, String] :inference_recommendations_job_name
14884
+ # The name of a previously completed Inference Recommender job.
14885
+ #
14886
+ # @option params [String] :recommendation_id
14887
+ # The recommendation ID of a previously completed inference
14888
+ # recommendation. This ID should come from one of the recommendations
14889
+ # returned by the job specified in the `InferenceRecommendationsJobName`
14890
+ # field.
14891
+ #
14892
+ # Specify either this field or the `EndpointName` field.
14893
+ #
14894
+ # @option params [String] :endpoint_name
14895
+ # The name of an endpoint benchmarked during a previously completed
14896
+ # inference recommendation job. This name should come from one of the
14897
+ # recommendations returned by the job specified in the
14898
+ # `InferenceRecommendationsJobName` field.
14899
+ #
14900
+ # Specify either this field or the `RecommendationId` field.
14901
+ #
14902
+ # @option params [Integer] :target_cpu_utilization_per_core
14903
+ # The percentage of how much utilization you want an instance to use
14904
+ # before autoscaling. The default value is 50%.
14905
+ #
14906
+ # @option params [Types::ScalingPolicyObjective] :scaling_policy_objective
14907
+ # An object where you specify the anticipated traffic pattern for an
14908
+ # endpoint.
14909
+ #
14910
+ # @return [Types::GetScalingConfigurationRecommendationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
14911
+ #
14912
+ # * {Types::GetScalingConfigurationRecommendationResponse#inference_recommendations_job_name #inference_recommendations_job_name} => String
14913
+ # * {Types::GetScalingConfigurationRecommendationResponse#recommendation_id #recommendation_id} => String
14914
+ # * {Types::GetScalingConfigurationRecommendationResponse#endpoint_name #endpoint_name} => String
14915
+ # * {Types::GetScalingConfigurationRecommendationResponse#target_cpu_utilization_per_core #target_cpu_utilization_per_core} => Integer
14916
+ # * {Types::GetScalingConfigurationRecommendationResponse#scaling_policy_objective #scaling_policy_objective} => Types::ScalingPolicyObjective
14917
+ # * {Types::GetScalingConfigurationRecommendationResponse#metric #metric} => Types::ScalingPolicyMetric
14918
+ # * {Types::GetScalingConfigurationRecommendationResponse#dynamic_scaling_configuration #dynamic_scaling_configuration} => Types::DynamicScalingConfiguration
14919
+ #
14920
+ # @example Request syntax with placeholder values
14921
+ #
14922
+ # resp = client.get_scaling_configuration_recommendation({
14923
+ # inference_recommendations_job_name: "RecommendationJobName", # required
14924
+ # recommendation_id: "String",
14925
+ # endpoint_name: "EndpointName",
14926
+ # target_cpu_utilization_per_core: 1,
14927
+ # scaling_policy_objective: {
14928
+ # min_invocations_per_minute: 1,
14929
+ # max_invocations_per_minute: 1,
14930
+ # },
14931
+ # })
14932
+ #
14933
+ # @example Response structure
14934
+ #
14935
+ # resp.inference_recommendations_job_name #=> String
14936
+ # resp.recommendation_id #=> String
14937
+ # resp.endpoint_name #=> String
14938
+ # resp.target_cpu_utilization_per_core #=> Integer
14939
+ # resp.scaling_policy_objective.min_invocations_per_minute #=> Integer
14940
+ # resp.scaling_policy_objective.max_invocations_per_minute #=> Integer
14941
+ # resp.metric.invocations_per_instance #=> Integer
14942
+ # resp.metric.model_latency #=> Integer
14943
+ # resp.dynamic_scaling_configuration.min_capacity #=> Integer
14944
+ # resp.dynamic_scaling_configuration.max_capacity #=> Integer
14945
+ # resp.dynamic_scaling_configuration.scale_in_cooldown #=> Integer
14946
+ # resp.dynamic_scaling_configuration.scale_out_cooldown #=> Integer
14947
+ # resp.dynamic_scaling_configuration.scaling_policies #=> Array
14948
+ # resp.dynamic_scaling_configuration.scaling_policies[0].target_tracking.metric_specification.predefined.predefined_metric_type #=> String
14949
+ # resp.dynamic_scaling_configuration.scaling_policies[0].target_tracking.metric_specification.customized.metric_name #=> String
14950
+ # resp.dynamic_scaling_configuration.scaling_policies[0].target_tracking.metric_specification.customized.namespace #=> String
14951
+ # resp.dynamic_scaling_configuration.scaling_policies[0].target_tracking.metric_specification.customized.statistic #=> String, one of "Average", "Minimum", "Maximum", "SampleCount", "Sum"
14952
+ # resp.dynamic_scaling_configuration.scaling_policies[0].target_tracking.target_value #=> Float
14953
+ #
14954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/GetScalingConfigurationRecommendation AWS API Documentation
14955
+ #
14956
+ # @overload get_scaling_configuration_recommendation(params = {})
14957
+ # @param [Hash] params ({})
14958
+ def get_scaling_configuration_recommendation(params = {}, options = {})
14959
+ req = build_request(:get_scaling_configuration_recommendation, params)
14960
+ req.send_request(options)
14961
+ end
14962
+
14869
14963
  # An auto-complete API for the search functionality in the SageMaker
14870
14964
  # console. It returns suggestions of possible matches for the property
14871
14965
  # name to use in `Search` queries. Provides suggestions for
@@ -23997,7 +24091,7 @@ module Aws::SageMaker
23997
24091
  params: params,
23998
24092
  config: config)
23999
24093
  context[:gem_name] = 'aws-sdk-sagemaker'
24000
- context[:gem_version] = '1.200.0'
24094
+ context[:gem_version] = '1.202.0'
24001
24095
  Seahorse::Client::Request.new(handlers, context)
24002
24096
  end
24003
24097
 
@@ -410,6 +410,7 @@ module Aws::SageMaker
410
410
  CustomerMetadataKeyList = Shapes::ListShape.new(name: 'CustomerMetadataKeyList')
411
411
  CustomerMetadataMap = Shapes::MapShape.new(name: 'CustomerMetadataMap')
412
412
  CustomerMetadataValue = Shapes::StringShape.new(name: 'CustomerMetadataValue')
413
+ CustomizedMetricSpecification = Shapes::StructureShape.new(name: 'CustomizedMetricSpecification')
413
414
  DataCaptureConfig = Shapes::StructureShape.new(name: 'DataCaptureConfig')
414
415
  DataCaptureConfigSummary = Shapes::StructureShape.new(name: 'DataCaptureConfigSummary')
415
416
  DataCatalogConfig = Shapes::StructureShape.new(name: 'DataCatalogConfig')
@@ -667,12 +668,14 @@ module Aws::SageMaker
667
668
  DomainSettings = Shapes::StructureShape.new(name: 'DomainSettings')
668
669
  DomainSettingsForUpdate = Shapes::StructureShape.new(name: 'DomainSettingsForUpdate')
669
670
  DomainStatus = Shapes::StringShape.new(name: 'DomainStatus')
671
+ Double = Shapes::FloatShape.new(name: 'Double')
670
672
  DoubleParameterValue = Shapes::FloatShape.new(name: 'DoubleParameterValue')
671
673
  DriftCheckBaselines = Shapes::StructureShape.new(name: 'DriftCheckBaselines')
672
674
  DriftCheckBias = Shapes::StructureShape.new(name: 'DriftCheckBias')
673
675
  DriftCheckExplainability = Shapes::StructureShape.new(name: 'DriftCheckExplainability')
674
676
  DriftCheckModelDataQuality = Shapes::StructureShape.new(name: 'DriftCheckModelDataQuality')
675
677
  DriftCheckModelQuality = Shapes::StructureShape.new(name: 'DriftCheckModelQuality')
678
+ DynamicScalingConfiguration = Shapes::StructureShape.new(name: 'DynamicScalingConfiguration')
676
679
  EMRStepMetadata = Shapes::StructureShape.new(name: 'EMRStepMetadata')
677
680
  Edge = Shapes::StructureShape.new(name: 'Edge')
678
681
  EdgeDeploymentConfig = Shapes::StructureShape.new(name: 'EdgeDeploymentConfig')
@@ -796,6 +799,7 @@ module Aws::SageMaker
796
799
  FinalAutoMLJobObjectiveMetric = Shapes::StructureShape.new(name: 'FinalAutoMLJobObjectiveMetric')
797
800
  FinalHyperParameterTuningJobObjectiveMetric = Shapes::StructureShape.new(name: 'FinalHyperParameterTuningJobObjectiveMetric')
798
801
  FinalMetricDataList = Shapes::ListShape.new(name: 'FinalMetricDataList')
802
+ FlatInvocations = Shapes::StringShape.new(name: 'FlatInvocations')
799
803
  Float = Shapes::FloatShape.new(name: 'Float')
800
804
  FlowDefinitionArn = Shapes::StringShape.new(name: 'FlowDefinitionArn')
801
805
  FlowDefinitionName = Shapes::StringShape.new(name: 'FlowDefinitionName')
@@ -825,6 +829,8 @@ module Aws::SageMaker
825
829
  GetModelPackageGroupPolicyOutput = Shapes::StructureShape.new(name: 'GetModelPackageGroupPolicyOutput')
826
830
  GetSagemakerServicecatalogPortfolioStatusInput = Shapes::StructureShape.new(name: 'GetSagemakerServicecatalogPortfolioStatusInput')
827
831
  GetSagemakerServicecatalogPortfolioStatusOutput = Shapes::StructureShape.new(name: 'GetSagemakerServicecatalogPortfolioStatusOutput')
832
+ GetScalingConfigurationRecommendationRequest = Shapes::StructureShape.new(name: 'GetScalingConfigurationRecommendationRequest')
833
+ GetScalingConfigurationRecommendationResponse = Shapes::StructureShape.new(name: 'GetScalingConfigurationRecommendationResponse')
828
834
  GetSearchSuggestionsRequest = Shapes::StructureShape.new(name: 'GetSearchSuggestionsRequest')
829
835
  GetSearchSuggestionsResponse = Shapes::StructureShape.new(name: 'GetSearchSuggestionsResponse')
830
836
  GitConfig = Shapes::StructureShape.new(name: 'GitConfig')
@@ -1232,6 +1238,7 @@ module Aws::SageMaker
1232
1238
  MetricName = Shapes::StringShape.new(name: 'MetricName')
1233
1239
  MetricRegex = Shapes::StringShape.new(name: 'MetricRegex')
1234
1240
  MetricSetSource = Shapes::StringShape.new(name: 'MetricSetSource')
1241
+ MetricSpecification = Shapes::UnionShape.new(name: 'MetricSpecification')
1235
1242
  MetricValue = Shapes::FloatShape.new(name: 'MetricValue')
1236
1243
  MetricsSource = Shapes::StructureShape.new(name: 'MetricsSource')
1237
1244
  MinimumInstanceMetadataServiceVersion = Shapes::StringShape.new(name: 'MinimumInstanceMetadataServiceVersion')
@@ -1432,6 +1439,7 @@ module Aws::SageMaker
1432
1439
  NotificationConfiguration = Shapes::StructureShape.new(name: 'NotificationConfiguration')
1433
1440
  NotificationTopicArn = Shapes::StringShape.new(name: 'NotificationTopicArn')
1434
1441
  NumberOfHumanWorkersPerDataObject = Shapes::IntegerShape.new(name: 'NumberOfHumanWorkersPerDataObject')
1442
+ NumberOfSteps = Shapes::IntegerShape.new(name: 'NumberOfSteps')
1435
1443
  ObjectiveStatus = Shapes::StringShape.new(name: 'ObjectiveStatus')
1436
1444
  ObjectiveStatusCounter = Shapes::IntegerShape.new(name: 'ObjectiveStatusCounter')
1437
1445
  ObjectiveStatusCounters = Shapes::StructureShape.new(name: 'ObjectiveStatusCounters')
@@ -1502,6 +1510,7 @@ module Aws::SageMaker
1502
1510
  PipelineSummaryList = Shapes::ListShape.new(name: 'PipelineSummaryList')
1503
1511
  PlatformIdentifier = Shapes::StringShape.new(name: 'PlatformIdentifier')
1504
1512
  PolicyString = Shapes::StringShape.new(name: 'PolicyString')
1513
+ PredefinedMetricSpecification = Shapes::StructureShape.new(name: 'PredefinedMetricSpecification')
1505
1514
  PresignedDomainUrl = Shapes::StringShape.new(name: 'PresignedDomainUrl')
1506
1515
  ProbabilityThresholdAttribute = Shapes::FloatShape.new(name: 'ProbabilityThresholdAttribute')
1507
1516
  ProblemType = Shapes::StringShape.new(name: 'ProblemType')
@@ -1701,6 +1710,10 @@ module Aws::SageMaker
1701
1710
  SagemakerServicecatalogStatus = Shapes::StringShape.new(name: 'SagemakerServicecatalogStatus')
1702
1711
  SampleWeightAttributeName = Shapes::StringShape.new(name: 'SampleWeightAttributeName')
1703
1712
  SamplingPercentage = Shapes::IntegerShape.new(name: 'SamplingPercentage')
1713
+ ScalingPolicies = Shapes::ListShape.new(name: 'ScalingPolicies')
1714
+ ScalingPolicy = Shapes::UnionShape.new(name: 'ScalingPolicy')
1715
+ ScalingPolicyMetric = Shapes::StructureShape.new(name: 'ScalingPolicyMetric')
1716
+ ScalingPolicyObjective = Shapes::StructureShape.new(name: 'ScalingPolicyObjective')
1704
1717
  ScheduleConfig = Shapes::StructureShape.new(name: 'ScheduleConfig')
1705
1718
  ScheduleExpression = Shapes::StringShape.new(name: 'ScheduleExpression')
1706
1719
  ScheduleStatus = Shapes::StringShape.new(name: 'ScheduleStatus')
@@ -1770,6 +1783,7 @@ module Aws::SageMaker
1770
1783
  SpawnRate = Shapes::IntegerShape.new(name: 'SpawnRate')
1771
1784
  SplitType = Shapes::StringShape.new(name: 'SplitType')
1772
1785
  StageStatus = Shapes::StringShape.new(name: 'StageStatus')
1786
+ Stairs = Shapes::StructureShape.new(name: 'Stairs')
1773
1787
  StartEdgeDeploymentStageRequest = Shapes::StructureShape.new(name: 'StartEdgeDeploymentStageRequest')
1774
1788
  StartInferenceExperimentRequest = Shapes::StructureShape.new(name: 'StartInferenceExperimentRequest')
1775
1789
  StartInferenceExperimentResponse = Shapes::StructureShape.new(name: 'StartInferenceExperimentResponse')
@@ -1777,6 +1791,7 @@ module Aws::SageMaker
1777
1791
  StartNotebookInstanceInput = Shapes::StructureShape.new(name: 'StartNotebookInstanceInput')
1778
1792
  StartPipelineExecutionRequest = Shapes::StructureShape.new(name: 'StartPipelineExecutionRequest')
1779
1793
  StartPipelineExecutionResponse = Shapes::StructureShape.new(name: 'StartPipelineExecutionResponse')
1794
+ Statistic = Shapes::StringShape.new(name: 'Statistic')
1780
1795
  StatusDetails = Shapes::StringShape.new(name: 'StatusDetails')
1781
1796
  StatusMessage = Shapes::StringShape.new(name: 'StatusMessage')
1782
1797
  StepDescription = Shapes::StringShape.new(name: 'StepDescription')
@@ -1841,6 +1856,7 @@ module Aws::SageMaker
1841
1856
  TargetPlatformAccelerator = Shapes::StringShape.new(name: 'TargetPlatformAccelerator')
1842
1857
  TargetPlatformArch = Shapes::StringShape.new(name: 'TargetPlatformArch')
1843
1858
  TargetPlatformOs = Shapes::StringShape.new(name: 'TargetPlatformOs')
1859
+ TargetTrackingScalingPolicyConfiguration = Shapes::StructureShape.new(name: 'TargetTrackingScalingPolicyConfiguration')
1844
1860
  TaskAvailabilityLifetimeInSeconds = Shapes::IntegerShape.new(name: 'TaskAvailabilityLifetimeInSeconds')
1845
1861
  TaskCount = Shapes::IntegerShape.new(name: 'TaskCount')
1846
1862
  TaskDescription = Shapes::StringShape.new(name: 'TaskDescription')
@@ -2027,7 +2043,9 @@ module Aws::SageMaker
2027
2043
  UserProfileSortKey = Shapes::StringShape.new(name: 'UserProfileSortKey')
2028
2044
  UserProfileStatus = Shapes::StringShape.new(name: 'UserProfileStatus')
2029
2045
  UserSettings = Shapes::StructureShape.new(name: 'UserSettings')
2046
+ UsersPerStep = Shapes::IntegerShape.new(name: 'UsersPerStep')
2030
2047
  UtilizationMetric = Shapes::FloatShape.new(name: 'UtilizationMetric')
2048
+ UtilizationPercentagePerCore = Shapes::IntegerShape.new(name: 'UtilizationPercentagePerCore')
2031
2049
  ValidationFraction = Shapes::FloatShape.new(name: 'ValidationFraction')
2032
2050
  VariantName = Shapes::StringShape.new(name: 'VariantName')
2033
2051
  VariantProperty = Shapes::StructureShape.new(name: 'VariantProperty')
@@ -3396,6 +3414,11 @@ module Aws::SageMaker
3396
3414
  CustomerMetadataMap.key = Shapes::ShapeRef.new(shape: CustomerMetadataKey)
3397
3415
  CustomerMetadataMap.value = Shapes::ShapeRef.new(shape: CustomerMetadataValue)
3398
3416
 
3417
+ CustomizedMetricSpecification.add_member(:metric_name, Shapes::ShapeRef.new(shape: String, location_name: "MetricName"))
3418
+ CustomizedMetricSpecification.add_member(:namespace, Shapes::ShapeRef.new(shape: String, location_name: "Namespace"))
3419
+ CustomizedMetricSpecification.add_member(:statistic, Shapes::ShapeRef.new(shape: Statistic, location_name: "Statistic"))
3420
+ CustomizedMetricSpecification.struct_class = Types::CustomizedMetricSpecification
3421
+
3399
3422
  DataCaptureConfig.add_member(:enable_capture, Shapes::ShapeRef.new(shape: EnableCapture, location_name: "EnableCapture"))
3400
3423
  DataCaptureConfig.add_member(:initial_sampling_percentage, Shapes::ShapeRef.new(shape: SamplingPercentage, required: true, location_name: "InitialSamplingPercentage"))
3401
3424
  DataCaptureConfig.add_member(:destination_s3_uri, Shapes::ShapeRef.new(shape: DestinationS3Uri, required: true, location_name: "DestinationS3Uri"))
@@ -4854,6 +4877,13 @@ module Aws::SageMaker
4854
4877
  DriftCheckModelQuality.add_member(:constraints, Shapes::ShapeRef.new(shape: MetricsSource, location_name: "Constraints"))
4855
4878
  DriftCheckModelQuality.struct_class = Types::DriftCheckModelQuality
4856
4879
 
4880
+ DynamicScalingConfiguration.add_member(:min_capacity, Shapes::ShapeRef.new(shape: Integer, location_name: "MinCapacity"))
4881
+ DynamicScalingConfiguration.add_member(:max_capacity, Shapes::ShapeRef.new(shape: Integer, location_name: "MaxCapacity"))
4882
+ DynamicScalingConfiguration.add_member(:scale_in_cooldown, Shapes::ShapeRef.new(shape: Integer, location_name: "ScaleInCooldown"))
4883
+ DynamicScalingConfiguration.add_member(:scale_out_cooldown, Shapes::ShapeRef.new(shape: Integer, location_name: "ScaleOutCooldown"))
4884
+ DynamicScalingConfiguration.add_member(:scaling_policies, Shapes::ShapeRef.new(shape: ScalingPolicies, location_name: "ScalingPolicies"))
4885
+ DynamicScalingConfiguration.struct_class = Types::DynamicScalingConfiguration
4886
+
4857
4887
  EMRStepMetadata.add_member(:cluster_id, Shapes::ShapeRef.new(shape: String256, location_name: "ClusterId"))
4858
4888
  EMRStepMetadata.add_member(:step_id, Shapes::ShapeRef.new(shape: String256, location_name: "StepId"))
4859
4889
  EMRStepMetadata.add_member(:step_name, Shapes::ShapeRef.new(shape: String256, location_name: "StepName"))
@@ -5221,6 +5251,22 @@ module Aws::SageMaker
5221
5251
  GetSagemakerServicecatalogPortfolioStatusOutput.add_member(:status, Shapes::ShapeRef.new(shape: SagemakerServicecatalogStatus, location_name: "Status"))
5222
5252
  GetSagemakerServicecatalogPortfolioStatusOutput.struct_class = Types::GetSagemakerServicecatalogPortfolioStatusOutput
5223
5253
 
5254
+ GetScalingConfigurationRecommendationRequest.add_member(:inference_recommendations_job_name, Shapes::ShapeRef.new(shape: RecommendationJobName, required: true, location_name: "InferenceRecommendationsJobName"))
5255
+ GetScalingConfigurationRecommendationRequest.add_member(:recommendation_id, Shapes::ShapeRef.new(shape: String, location_name: "RecommendationId"))
5256
+ GetScalingConfigurationRecommendationRequest.add_member(:endpoint_name, Shapes::ShapeRef.new(shape: EndpointName, location_name: "EndpointName"))
5257
+ GetScalingConfigurationRecommendationRequest.add_member(:target_cpu_utilization_per_core, Shapes::ShapeRef.new(shape: UtilizationPercentagePerCore, location_name: "TargetCpuUtilizationPerCore"))
5258
+ GetScalingConfigurationRecommendationRequest.add_member(:scaling_policy_objective, Shapes::ShapeRef.new(shape: ScalingPolicyObjective, location_name: "ScalingPolicyObjective"))
5259
+ GetScalingConfigurationRecommendationRequest.struct_class = Types::GetScalingConfigurationRecommendationRequest
5260
+
5261
+ GetScalingConfigurationRecommendationResponse.add_member(:inference_recommendations_job_name, Shapes::ShapeRef.new(shape: RecommendationJobName, location_name: "InferenceRecommendationsJobName"))
5262
+ GetScalingConfigurationRecommendationResponse.add_member(:recommendation_id, Shapes::ShapeRef.new(shape: String, location_name: "RecommendationId"))
5263
+ GetScalingConfigurationRecommendationResponse.add_member(:endpoint_name, Shapes::ShapeRef.new(shape: EndpointName, location_name: "EndpointName"))
5264
+ GetScalingConfigurationRecommendationResponse.add_member(:target_cpu_utilization_per_core, Shapes::ShapeRef.new(shape: UtilizationPercentagePerCore, location_name: "TargetCpuUtilizationPerCore"))
5265
+ GetScalingConfigurationRecommendationResponse.add_member(:scaling_policy_objective, Shapes::ShapeRef.new(shape: ScalingPolicyObjective, location_name: "ScalingPolicyObjective"))
5266
+ GetScalingConfigurationRecommendationResponse.add_member(:metric, Shapes::ShapeRef.new(shape: ScalingPolicyMetric, location_name: "Metric"))
5267
+ GetScalingConfigurationRecommendationResponse.add_member(:dynamic_scaling_configuration, Shapes::ShapeRef.new(shape: DynamicScalingConfiguration, location_name: "DynamicScalingConfiguration"))
5268
+ GetScalingConfigurationRecommendationResponse.struct_class = Types::GetScalingConfigurationRecommendationResponse
5269
+
5224
5270
  GetSearchSuggestionsRequest.add_member(:resource, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "Resource"))
5225
5271
  GetSearchSuggestionsRequest.add_member(:suggestion_query, Shapes::ShapeRef.new(shape: SuggestionQuery, location_name: "SuggestionQuery"))
5226
5272
  GetSearchSuggestionsRequest.struct_class = Types::GetSearchSuggestionsRequest
@@ -6782,6 +6828,14 @@ module Aws::SageMaker
6782
6828
 
6783
6829
  MetricDefinitionList.member = Shapes::ShapeRef.new(shape: MetricDefinition)
6784
6830
 
6831
+ MetricSpecification.add_member(:predefined, Shapes::ShapeRef.new(shape: PredefinedMetricSpecification, location_name: "Predefined"))
6832
+ MetricSpecification.add_member(:customized, Shapes::ShapeRef.new(shape: CustomizedMetricSpecification, location_name: "Customized"))
6833
+ MetricSpecification.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
6834
+ MetricSpecification.add_member_subclass(:predefined, Types::MetricSpecification::Predefined)
6835
+ MetricSpecification.add_member_subclass(:customized, Types::MetricSpecification::Customized)
6836
+ MetricSpecification.add_member_subclass(:unknown, Types::MetricSpecification::Unknown)
6837
+ MetricSpecification.struct_class = Types::MetricSpecification
6838
+
6785
6839
  MetricsSource.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, required: true, location_name: "ContentType"))
6786
6840
  MetricsSource.add_member(:content_digest, Shapes::ShapeRef.new(shape: ContentDigest, location_name: "ContentDigest"))
6787
6841
  MetricsSource.add_member(:s3_uri, Shapes::ShapeRef.new(shape: S3Uri, required: true, location_name: "S3Uri"))
@@ -7586,6 +7640,9 @@ module Aws::SageMaker
7586
7640
 
7587
7641
  PipelineSummaryList.member = Shapes::ShapeRef.new(shape: PipelineSummary)
7588
7642
 
7643
+ PredefinedMetricSpecification.add_member(:predefined_metric_type, Shapes::ShapeRef.new(shape: String, location_name: "PredefinedMetricType"))
7644
+ PredefinedMetricSpecification.struct_class = Types::PredefinedMetricSpecification
7645
+
7589
7646
  ProcessingClusterConfig.add_member(:instance_count, Shapes::ShapeRef.new(shape: ProcessingInstanceCount, required: true, location_name: "InstanceCount"))
7590
7647
  ProcessingClusterConfig.add_member(:instance_type, Shapes::ShapeRef.new(shape: ProcessingInstanceType, required: true, location_name: "InstanceType"))
7591
7648
  ProcessingClusterConfig.add_member(:volume_size_in_gb, Shapes::ShapeRef.new(shape: ProcessingVolumeSizeInGB, required: true, location_name: "VolumeSizeInGB"))
@@ -7936,6 +7993,7 @@ module Aws::SageMaker
7936
7993
 
7937
7994
  RecommendationJobStoppingConditions.add_member(:max_invocations, Shapes::ShapeRef.new(shape: Integer, location_name: "MaxInvocations"))
7938
7995
  RecommendationJobStoppingConditions.add_member(:model_latency_thresholds, Shapes::ShapeRef.new(shape: ModelLatencyThresholds, location_name: "ModelLatencyThresholds"))
7996
+ RecommendationJobStoppingConditions.add_member(:flat_invocations, Shapes::ShapeRef.new(shape: FlatInvocations, location_name: "FlatInvocations"))
7939
7997
  RecommendationJobStoppingConditions.struct_class = Types::RecommendationJobStoppingConditions
7940
7998
 
7941
7999
  RecommendationJobSupportedContentTypes.member = Shapes::ShapeRef.new(shape: String)
@@ -8088,6 +8146,22 @@ module Aws::SageMaker
8088
8146
 
8089
8147
  SageMakerImageVersionAliases.member = Shapes::ShapeRef.new(shape: SageMakerImageVersionAlias)
8090
8148
 
8149
+ ScalingPolicies.member = Shapes::ShapeRef.new(shape: ScalingPolicy)
8150
+
8151
+ ScalingPolicy.add_member(:target_tracking, Shapes::ShapeRef.new(shape: TargetTrackingScalingPolicyConfiguration, location_name: "TargetTracking"))
8152
+ ScalingPolicy.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
8153
+ ScalingPolicy.add_member_subclass(:target_tracking, Types::ScalingPolicy::TargetTracking)
8154
+ ScalingPolicy.add_member_subclass(:unknown, Types::ScalingPolicy::Unknown)
8155
+ ScalingPolicy.struct_class = Types::ScalingPolicy
8156
+
8157
+ ScalingPolicyMetric.add_member(:invocations_per_instance, Shapes::ShapeRef.new(shape: Integer, location_name: "InvocationsPerInstance"))
8158
+ ScalingPolicyMetric.add_member(:model_latency, Shapes::ShapeRef.new(shape: Integer, location_name: "ModelLatency"))
8159
+ ScalingPolicyMetric.struct_class = Types::ScalingPolicyMetric
8160
+
8161
+ ScalingPolicyObjective.add_member(:min_invocations_per_minute, Shapes::ShapeRef.new(shape: Integer, location_name: "MinInvocationsPerMinute"))
8162
+ ScalingPolicyObjective.add_member(:max_invocations_per_minute, Shapes::ShapeRef.new(shape: Integer, location_name: "MaxInvocationsPerMinute"))
8163
+ ScalingPolicyObjective.struct_class = Types::ScalingPolicyObjective
8164
+
8091
8165
  ScheduleConfig.add_member(:schedule_expression, Shapes::ShapeRef.new(shape: ScheduleExpression, required: true, location_name: "ScheduleExpression"))
8092
8166
  ScheduleConfig.struct_class = Types::ScheduleConfig
8093
8167
 
@@ -8226,6 +8300,11 @@ module Aws::SageMaker
8226
8300
  SpaceSettings.add_member(:kernel_gateway_app_settings, Shapes::ShapeRef.new(shape: KernelGatewayAppSettings, location_name: "KernelGatewayAppSettings"))
8227
8301
  SpaceSettings.struct_class = Types::SpaceSettings
8228
8302
 
8303
+ Stairs.add_member(:duration_in_seconds, Shapes::ShapeRef.new(shape: TrafficDurationInSeconds, location_name: "DurationInSeconds"))
8304
+ Stairs.add_member(:number_of_steps, Shapes::ShapeRef.new(shape: NumberOfSteps, location_name: "NumberOfSteps"))
8305
+ Stairs.add_member(:users_per_step, Shapes::ShapeRef.new(shape: UsersPerStep, location_name: "UsersPerStep"))
8306
+ Stairs.struct_class = Types::Stairs
8307
+
8229
8308
  StartEdgeDeploymentStageRequest.add_member(:edge_deployment_plan_name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "EdgeDeploymentPlanName"))
8230
8309
  StartEdgeDeploymentStageRequest.add_member(:stage_name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "StageName"))
8231
8310
  StartEdgeDeploymentStageRequest.struct_class = Types::StartEdgeDeploymentStageRequest
@@ -8361,6 +8440,10 @@ module Aws::SageMaker
8361
8440
  TargetPlatform.add_member(:accelerator, Shapes::ShapeRef.new(shape: TargetPlatformAccelerator, location_name: "Accelerator"))
8362
8441
  TargetPlatform.struct_class = Types::TargetPlatform
8363
8442
 
8443
+ TargetTrackingScalingPolicyConfiguration.add_member(:metric_specification, Shapes::ShapeRef.new(shape: MetricSpecification, location_name: "MetricSpecification"))
8444
+ TargetTrackingScalingPolicyConfiguration.add_member(:target_value, Shapes::ShapeRef.new(shape: Double, location_name: "TargetValue"))
8445
+ TargetTrackingScalingPolicyConfiguration.struct_class = Types::TargetTrackingScalingPolicyConfiguration
8446
+
8364
8447
  TaskKeywords.member = Shapes::ShapeRef.new(shape: TaskKeyword)
8365
8448
 
8366
8449
  TensorBoardAppSettings.add_member(:default_resource_spec, Shapes::ShapeRef.new(shape: ResourceSpec, location_name: "DefaultResourceSpec"))
@@ -8400,6 +8483,7 @@ module Aws::SageMaker
8400
8483
 
8401
8484
  TrafficPattern.add_member(:traffic_type, Shapes::ShapeRef.new(shape: TrafficType, location_name: "TrafficType"))
8402
8485
  TrafficPattern.add_member(:phases, Shapes::ShapeRef.new(shape: Phases, location_name: "Phases"))
8486
+ TrafficPattern.add_member(:stairs, Shapes::ShapeRef.new(shape: Stairs, location_name: "Stairs"))
8403
8487
  TrafficPattern.struct_class = Types::TrafficPattern
8404
8488
 
8405
8489
  TrafficRoutingConfig.add_member(:type, Shapes::ShapeRef.new(shape: TrafficRoutingConfigType, required: true, location_name: "Type"))
@@ -10686,6 +10770,15 @@ module Aws::SageMaker
10686
10770
  o.output = Shapes::ShapeRef.new(shape: GetSagemakerServicecatalogPortfolioStatusOutput)
10687
10771
  end)
10688
10772
 
10773
+ api.add_operation(:get_scaling_configuration_recommendation, Seahorse::Model::Operation.new.tap do |o|
10774
+ o.name = "GetScalingConfigurationRecommendation"
10775
+ o.http_method = "POST"
10776
+ o.http_request_uri = "/"
10777
+ o.input = Shapes::ShapeRef.new(shape: GetScalingConfigurationRecommendationRequest)
10778
+ o.output = Shapes::ShapeRef.new(shape: GetScalingConfigurationRecommendationResponse)
10779
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound)
10780
+ end)
10781
+
10689
10782
  api.add_operation(:get_search_suggestions, Seahorse::Model::Operation.new.tap do |o|
10690
10783
  o.name = "GetSearchSuggestions"
10691
10784
  o.http_method = "POST"
@@ -2378,6 +2378,20 @@ module Aws::SageMaker
2378
2378
  end
2379
2379
  end
2380
2380
 
2381
+ class GetScalingConfigurationRecommendation
2382
+ def self.build(context)
2383
+ unless context.config.regional_endpoint
2384
+ endpoint = context.config.endpoint.to_s
2385
+ end
2386
+ Aws::SageMaker::EndpointParameters.new(
2387
+ region: context.config.region,
2388
+ use_dual_stack: context.config.use_dualstack_endpoint,
2389
+ use_fips: context.config.use_fips_endpoint,
2390
+ endpoint: endpoint,
2391
+ )
2392
+ end
2393
+ end
2394
+
2381
2395
  class GetSearchSuggestions
2382
2396
  def self.build(context)
2383
2397
  unless context.config.regional_endpoint
@@ -394,6 +394,8 @@ module Aws::SageMaker
394
394
  Aws::SageMaker::Endpoints::GetModelPackageGroupPolicy.build(context)
395
395
  when :get_sagemaker_servicecatalog_portfolio_status
396
396
  Aws::SageMaker::Endpoints::GetSagemakerServicecatalogPortfolioStatus.build(context)
397
+ when :get_scaling_configuration_recommendation
398
+ Aws::SageMaker::Endpoints::GetScalingConfigurationRecommendation.build(context)
397
399
  when :get_search_suggestions
398
400
  Aws::SageMaker::Endpoints::GetSearchSuggestions.build(context)
399
401
  when :import_hub_content
@@ -2858,7 +2858,7 @@ module Aws::SageMaker
2858
2858
  # @return [String]
2859
2859
  #
2860
2860
  # @!attribute [rw] end_time_offset
2861
- # If specified, monitoring jobs substract this time from the end time.
2861
+ # If specified, monitoring jobs subtract this time from the end time.
2862
2862
  # For information about using offsets for scheduling monitoring jobs,
2863
2863
  # see [Schedule Model Quality Monitoring Jobs][1].
2864
2864
  #
@@ -8837,6 +8837,30 @@ module Aws::SageMaker
8837
8837
  include Aws::Structure
8838
8838
  end
8839
8839
 
8840
+ # A customized metric.
8841
+ #
8842
+ # @!attribute [rw] metric_name
8843
+ # The name of the customized metric.
8844
+ # @return [String]
8845
+ #
8846
+ # @!attribute [rw] namespace
8847
+ # The namespace of the customized metric.
8848
+ # @return [String]
8849
+ #
8850
+ # @!attribute [rw] statistic
8851
+ # The statistic of the customized metric.
8852
+ # @return [String]
8853
+ #
8854
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CustomizedMetricSpecification AWS API Documentation
8855
+ #
8856
+ class CustomizedMetricSpecification < Struct.new(
8857
+ :metric_name,
8858
+ :namespace,
8859
+ :statistic)
8860
+ SENSITIVE = []
8861
+ include Aws::Structure
8862
+ end
8863
+
8840
8864
  # Configuration to control how SageMaker captures inference data.
8841
8865
  #
8842
8866
  # @!attribute [rw] enable_capture
@@ -11956,6 +11980,12 @@ module Aws::SageMaker
11956
11980
  # for information about the failure. [DeleteEndpoint][4] is the only
11957
11981
  # operation that can be performed on a failed endpoint.
11958
11982
  #
11983
+ # * `UpdateRollbackFailed`: Both the rolling deployment and
11984
+ # auto-rollback failed. Your endpoint is in service with a mix of
11985
+ # the old and new endpoint configurations. For information about how
11986
+ # to remedy this issue and restore the endpoint's status to
11987
+ # `InService`, see [Rolling Deployments][6].
11988
+ #
11959
11989
  #
11960
11990
  #
11961
11991
  # [1]: https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html
@@ -11963,6 +11993,7 @@ module Aws::SageMaker
11963
11993
  # [3]: https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html
11964
11994
  # [4]: https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html
11965
11995
  # [5]: https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html
11996
+ # [6]: https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-rolling.html
11966
11997
  # @return [String]
11967
11998
  #
11968
11999
  # @!attribute [rw] failure_reason
@@ -16488,6 +16519,43 @@ module Aws::SageMaker
16488
16519
  include Aws::Structure
16489
16520
  end
16490
16521
 
16522
+ # An object with the recommended values for you to specify when creating
16523
+ # an autoscaling policy.
16524
+ #
16525
+ # @!attribute [rw] min_capacity
16526
+ # The recommended minimum capacity to specify for your autoscaling
16527
+ # policy.
16528
+ # @return [Integer]
16529
+ #
16530
+ # @!attribute [rw] max_capacity
16531
+ # The recommended maximum capacity to specify for your autoscaling
16532
+ # policy.
16533
+ # @return [Integer]
16534
+ #
16535
+ # @!attribute [rw] scale_in_cooldown
16536
+ # The recommended scale in cooldown time for your autoscaling policy.
16537
+ # @return [Integer]
16538
+ #
16539
+ # @!attribute [rw] scale_out_cooldown
16540
+ # The recommended scale out cooldown time for your autoscaling policy.
16541
+ # @return [Integer]
16542
+ #
16543
+ # @!attribute [rw] scaling_policies
16544
+ # An object of the scaling policies for each metric.
16545
+ # @return [Array<Types::ScalingPolicy>]
16546
+ #
16547
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DynamicScalingConfiguration AWS API Documentation
16548
+ #
16549
+ class DynamicScalingConfiguration < Struct.new(
16550
+ :min_capacity,
16551
+ :max_capacity,
16552
+ :scale_in_cooldown,
16553
+ :scale_out_cooldown,
16554
+ :scaling_policies)
16555
+ SENSITIVE = []
16556
+ include Aws::Structure
16557
+ end
16558
+
16491
16559
  # The configurations and outcomes of an Amazon EMR step execution.
16492
16560
  #
16493
16561
  # @!attribute [rw] cluster_id
@@ -18380,6 +18448,99 @@ module Aws::SageMaker
18380
18448
  include Aws::Structure
18381
18449
  end
18382
18450
 
18451
+ # @!attribute [rw] inference_recommendations_job_name
18452
+ # The name of a previously completed Inference Recommender job.
18453
+ # @return [String]
18454
+ #
18455
+ # @!attribute [rw] recommendation_id
18456
+ # The recommendation ID of a previously completed inference
18457
+ # recommendation. This ID should come from one of the recommendations
18458
+ # returned by the job specified in the
18459
+ # `InferenceRecommendationsJobName` field.
18460
+ #
18461
+ # Specify either this field or the `EndpointName` field.
18462
+ # @return [String]
18463
+ #
18464
+ # @!attribute [rw] endpoint_name
18465
+ # The name of an endpoint benchmarked during a previously completed
18466
+ # inference recommendation job. This name should come from one of the
18467
+ # recommendations returned by the job specified in the
18468
+ # `InferenceRecommendationsJobName` field.
18469
+ #
18470
+ # Specify either this field or the `RecommendationId` field.
18471
+ # @return [String]
18472
+ #
18473
+ # @!attribute [rw] target_cpu_utilization_per_core
18474
+ # The percentage of how much utilization you want an instance to use
18475
+ # before autoscaling. The default value is 50%.
18476
+ # @return [Integer]
18477
+ #
18478
+ # @!attribute [rw] scaling_policy_objective
18479
+ # An object where you specify the anticipated traffic pattern for an
18480
+ # endpoint.
18481
+ # @return [Types::ScalingPolicyObjective]
18482
+ #
18483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/GetScalingConfigurationRecommendationRequest AWS API Documentation
18484
+ #
18485
+ class GetScalingConfigurationRecommendationRequest < Struct.new(
18486
+ :inference_recommendations_job_name,
18487
+ :recommendation_id,
18488
+ :endpoint_name,
18489
+ :target_cpu_utilization_per_core,
18490
+ :scaling_policy_objective)
18491
+ SENSITIVE = []
18492
+ include Aws::Structure
18493
+ end
18494
+
18495
+ # @!attribute [rw] inference_recommendations_job_name
18496
+ # The name of a previously completed Inference Recommender job.
18497
+ # @return [String]
18498
+ #
18499
+ # @!attribute [rw] recommendation_id
18500
+ # The recommendation ID of a previously completed inference
18501
+ # recommendation.
18502
+ # @return [String]
18503
+ #
18504
+ # @!attribute [rw] endpoint_name
18505
+ # The name of an endpoint benchmarked during a previously completed
18506
+ # Inference Recommender job.
18507
+ # @return [String]
18508
+ #
18509
+ # @!attribute [rw] target_cpu_utilization_per_core
18510
+ # The percentage of how much utilization you want an instance to use
18511
+ # before autoscaling, which you specified in the request. The default
18512
+ # value is 50%.
18513
+ # @return [Integer]
18514
+ #
18515
+ # @!attribute [rw] scaling_policy_objective
18516
+ # An object representing the anticipated traffic pattern for an
18517
+ # endpoint that you specified in the request.
18518
+ # @return [Types::ScalingPolicyObjective]
18519
+ #
18520
+ # @!attribute [rw] metric
18521
+ # An object with a list of metrics that were benchmarked during the
18522
+ # previously completed Inference Recommender job.
18523
+ # @return [Types::ScalingPolicyMetric]
18524
+ #
18525
+ # @!attribute [rw] dynamic_scaling_configuration
18526
+ # An object with the recommended values for you to specify when
18527
+ # creating an autoscaling policy.
18528
+ # @return [Types::DynamicScalingConfiguration]
18529
+ #
18530
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/GetScalingConfigurationRecommendationResponse AWS API Documentation
18531
+ #
18532
+ class GetScalingConfigurationRecommendationResponse < Struct.new(
18533
+ :inference_recommendations_job_name,
18534
+ :recommendation_id,
18535
+ :endpoint_name,
18536
+ :target_cpu_utilization_per_core,
18537
+ :scaling_policy_objective,
18538
+ :metric,
18539
+ :dynamic_scaling_configuration)
18540
+ SENSITIVE = []
18541
+ include Aws::Structure
18542
+ end
18543
+
18383
18544
  # @!attribute [rw] resource
18384
18545
  # The name of the SageMaker resource to search for.
18385
18546
  # @return [String]
@@ -27839,6 +28000,33 @@ module Aws::SageMaker
27839
28000
  include Aws::Structure
27840
28001
  end
27841
28002
 
28003
+ # An object containing information about a metric.
28004
+ #
28005
+ # @note MetricSpecification is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of MetricSpecification corresponding to the set member.
28006
+ #
28007
+ # @!attribute [rw] predefined
28008
+ # Information about a predefined metric.
28009
+ # @return [Types::PredefinedMetricSpecification]
28010
+ #
28011
+ # @!attribute [rw] customized
28012
+ # Information about a customized metric.
28013
+ # @return [Types::CustomizedMetricSpecification]
28014
+ #
28015
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/MetricSpecification AWS API Documentation
28016
+ #
28017
+ class MetricSpecification < Struct.new(
28018
+ :predefined,
28019
+ :customized,
28020
+ :unknown)
28021
+ SENSITIVE = []
28022
+ include Aws::Structure
28023
+ include Aws::Structure::Union
28024
+
28025
+ class Predefined < MetricSpecification; end
28026
+ class Customized < MetricSpecification; end
28027
+ class Unknown < MetricSpecification; end
28028
+ end
28029
+
27842
28030
  # Details about the metrics source.
27843
28031
  #
27844
28032
  # @!attribute [rw] content_type
@@ -28827,7 +29015,8 @@ module Aws::SageMaker
28827
29015
  # The model latency threshold.
28828
29016
  #
28829
29017
  # @!attribute [rw] percentile
28830
- # The model latency percentile threshold.
29018
+ # The model latency percentile threshold. For custom load tests,
29019
+ # specify the value as `P95`.
28831
29020
  # @return [String]
28832
29021
  #
28833
29022
  # @!attribute [rw] value_in_milliseconds
@@ -31739,7 +31928,8 @@ module Aws::SageMaker
31739
31928
  # Defines the traffic pattern.
31740
31929
  #
31741
31930
  # @!attribute [rw] initial_number_of_users
31742
- # Specifies how many concurrent users to start with.
31931
+ # Specifies how many concurrent users to start with. The value should
31932
+ # be between 1 and 3.
31743
31933
  # @return [Integer]
31744
31934
  #
31745
31935
  # @!attribute [rw] spawn_rate
@@ -31747,7 +31937,9 @@ module Aws::SageMaker
31747
31937
  # @return [Integer]
31748
31938
  #
31749
31939
  # @!attribute [rw] duration_in_seconds
31750
- # Specifies how long traffic phase should be.
31940
+ # Specifies how long a traffic phase should be. For custom load tests,
31941
+ # the value should be between 120 and 3600. This value should not
31942
+ # exceed `JobDurationInSeconds`.
31751
31943
  # @return [Integer]
31752
31944
  #
31753
31945
  # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/Phase AWS API Documentation
@@ -32257,6 +32449,21 @@ module Aws::SageMaker
32257
32449
  include Aws::Structure
32258
32450
  end
32259
32451
 
32452
+ # A specification for a predefined metric.
32453
+ #
32454
+ # @!attribute [rw] predefined_metric_type
32455
+ # The metric type. You can only apply SageMaker metric types to
32456
+ # SageMaker endpoints.
32457
+ # @return [String]
32458
+ #
32459
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/PredefinedMetricSpecification AWS API Documentation
32460
+ #
32461
+ class PredefinedMetricSpecification < Struct.new(
32462
+ :predefined_metric_type)
32463
+ SENSITIVE = []
32464
+ include Aws::Structure
32465
+ end
32466
+
32260
32467
  # Configuration for the cluster used to run a processing job.
32261
32468
  #
32262
32469
  # @!attribute [rw] instance_count
@@ -34263,7 +34470,8 @@ module Aws::SageMaker
34263
34470
  # @return [String]
34264
34471
  #
34265
34472
  # @!attribute [rw] job_duration_in_seconds
34266
- # Specifies the maximum duration of the job, in seconds.&gt;
34473
+ # Specifies the maximum duration of the job, in seconds. The maximum
34474
+ # value is 7200.
34267
34475
  # @return [Integer]
34268
34476
  #
34269
34477
  # @!attribute [rw] traffic_pattern
@@ -34462,11 +34670,19 @@ module Aws::SageMaker
34462
34670
  # container.
34463
34671
  # @return [Array<Types::ModelLatencyThreshold>]
34464
34672
  #
34673
+ # @!attribute [rw] flat_invocations
34674
+ # Stops a load test when the number of invocations (TPS) peaks and
34675
+ # flattens, which means that the instance has reached capacity. The
34676
+ # default value is `Stop`. If you want the load test to continue after
34677
+ # invocations have flattened, set the value to `Continue`.
34678
+ # @return [String]
34679
+ #
34465
34680
  # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/RecommendationJobStoppingConditions AWS API Documentation
34466
34681
  #
34467
34682
  class RecommendationJobStoppingConditions < Struct.new(
34468
34683
  :max_invocations,
34469
- :model_latency_thresholds)
34684
+ :model_latency_thresholds,
34685
+ :flat_invocations)
34470
34686
  SENSITIVE = []
34471
34687
  include Aws::Structure
34472
34688
  end
@@ -35450,6 +35666,75 @@ module Aws::SageMaker
35450
35666
  include Aws::Structure
35451
35667
  end
35452
35668
 
35669
+ # An object containing a recommended scaling policy.
35670
+ #
35671
+ # @note ScalingPolicy is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ScalingPolicy corresponding to the set member.
35672
+ #
35673
+ # @!attribute [rw] target_tracking
35674
+ # A target tracking scaling policy. Includes support for predefined or
35675
+ # customized metrics.
35676
+ # @return [Types::TargetTrackingScalingPolicyConfiguration]
35677
+ #
35678
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ScalingPolicy AWS API Documentation
35679
+ #
35680
+ class ScalingPolicy < Struct.new(
35681
+ :target_tracking,
35682
+ :unknown)
35683
+ SENSITIVE = []
35684
+ include Aws::Structure
35685
+ include Aws::Structure::Union
35686
+
35687
+ class TargetTracking < ScalingPolicy; end
35688
+ class Unknown < ScalingPolicy; end
35689
+ end
35690
+
35691
+ # The metric for a scaling policy.
35692
+ #
35693
+ # @!attribute [rw] invocations_per_instance
35694
+ # The number of invocations sent to a model, normalized by
35695
+ # `InstanceCount` in each ProductionVariant. `1/numberOfInstances` is
35696
+ # sent as the value on each request, where `numberOfInstances` is the
35697
+ # number of active instances for the ProductionVariant behind the
35698
+ # endpoint at the time of the request.
35699
+ # @return [Integer]
35700
+ #
35701
+ # @!attribute [rw] model_latency
35702
+ # The interval of time taken by a model to respond as viewed from
35703
+ # SageMaker. This interval includes the local communication times
35704
+ # taken to send the request and to fetch the response from the
35705
+ # container of a model and the time taken to complete the inference in
35706
+ # the container.
35707
+ # @return [Integer]
35708
+ #
35709
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ScalingPolicyMetric AWS API Documentation
35710
+ #
35711
+ class ScalingPolicyMetric < Struct.new(
35712
+ :invocations_per_instance,
35713
+ :model_latency)
35714
+ SENSITIVE = []
35715
+ include Aws::Structure
35716
+ end
35717
+
35718
+ # An object where you specify the anticipated traffic pattern for an
35719
+ # endpoint.
35720
+ #
35721
+ # @!attribute [rw] min_invocations_per_minute
35722
+ # The minimum number of expected requests to your endpoint per minute.
35723
+ # @return [Integer]
35724
+ #
35725
+ # @!attribute [rw] max_invocations_per_minute
35726
+ # The maximum number of expected requests to your endpoint per minute.
35727
+ # @return [Integer]
35728
+ #
35729
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ScalingPolicyObjective AWS API Documentation
35730
+ #
35731
+ class ScalingPolicyObjective < Struct.new(
35732
+ :min_invocations_per_minute,
35733
+ :max_invocations_per_minute)
35734
+ SENSITIVE = []
35735
+ include Aws::Structure
35736
+ end
35737
+
35453
35738
  # Configuration details about the monitoring schedule.
35454
35739
  #
35455
35740
  # @!attribute [rw] schedule_expression
@@ -36338,6 +36623,34 @@ module Aws::SageMaker
36338
36623
  include Aws::Structure
36339
36624
  end
36340
36625
 
36626
+ # Defines the stairs traffic pattern for an Inference Recommender load
36627
+ # test. This pattern type consists of multiple steps where the number of
36628
+ # users increases at each step.
36629
+ #
36630
+ # Specify either the stairs or phases traffic pattern.
36631
+ #
36632
+ # @!attribute [rw] duration_in_seconds
36633
+ # Defines how long each traffic step should be.
36634
+ # @return [Integer]
36635
+ #
36636
+ # @!attribute [rw] number_of_steps
36637
+ # Specifies how many steps to perform during traffic.
36638
+ # @return [Integer]
36639
+ #
36640
+ # @!attribute [rw] users_per_step
36641
+ # Specifies how many new users to spawn in each step.
36642
+ # @return [Integer]
36643
+ #
36644
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/Stairs AWS API Documentation
36645
+ #
36646
+ class Stairs < Struct.new(
36647
+ :duration_in_seconds,
36648
+ :number_of_steps,
36649
+ :users_per_step)
36650
+ SENSITIVE = []
36651
+ include Aws::Structure
36652
+ end
36653
+
36341
36654
  # @!attribute [rw] edge_deployment_plan_name
36342
36655
  # The name of the edge deployment plan to start.
36343
36656
  # @return [String]
@@ -37111,6 +37424,35 @@ module Aws::SageMaker
37111
37424
  include Aws::Structure
37112
37425
  end
37113
37426
 
37427
+ # A target tracking scaling policy. Includes support for predefined or
37428
+ # customized metrics.
37429
+ #
37430
+ # When using the [PutScalingPolicy][1] API, this parameter is required
37431
+ # when you are creating a policy with the policy type
37432
+ # `TargetTrackingScaling`.
37433
+ #
37434
+ #
37435
+ #
37436
+ # [1]: https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScalingPolicy.html
37437
+ #
37438
+ # @!attribute [rw] metric_specification
37439
+ # An object containing information about a metric.
37440
+ # @return [Types::MetricSpecification]
37441
+ #
37442
+ # @!attribute [rw] target_value
37443
+ # The recommended target value to specify for the metric when creating
37444
+ # a scaling policy.
37445
+ # @return [Float]
37446
+ #
37447
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/TargetTrackingScalingPolicyConfiguration AWS API Documentation
37448
+ #
37449
+ class TargetTrackingScalingPolicyConfiguration < Struct.new(
37450
+ :metric_specification,
37451
+ :target_value)
37452
+ SENSITIVE = []
37453
+ include Aws::Structure
37454
+ end
37455
+
37114
37456
  # The TensorBoard app settings.
37115
37457
  #
37116
37458
  # @!attribute [rw] default_resource_spec
@@ -37402,18 +37744,23 @@ module Aws::SageMaker
37402
37744
  # Defines the traffic pattern of the load test.
37403
37745
  #
37404
37746
  # @!attribute [rw] traffic_type
37405
- # Defines the traffic patterns.
37747
+ # Defines the traffic patterns. Choose either `PHASES` or `STAIRS`.
37406
37748
  # @return [String]
37407
37749
  #
37408
37750
  # @!attribute [rw] phases
37409
37751
  # Defines the phases traffic specification.
37410
37752
  # @return [Array<Types::Phase>]
37411
37753
  #
37754
+ # @!attribute [rw] stairs
37755
+ # Defines the stairs traffic pattern.
37756
+ # @return [Types::Stairs]
37757
+ #
37412
37758
  # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/TrafficPattern AWS API Documentation
37413
37759
  #
37414
37760
  class TrafficPattern < Struct.new(
37415
37761
  :traffic_type,
37416
- :phases)
37762
+ :phases,
37763
+ :stairs)
37417
37764
  SENSITIVE = []
37418
37765
  include Aws::Structure
37419
37766
  end
@@ -53,6 +53,6 @@ require_relative 'aws-sdk-sagemaker/customizations'
53
53
  # @!group service
54
54
  module Aws::SageMaker
55
55
 
56
- GEM_VERSION = '1.200.0'
56
+ GEM_VERSION = '1.202.0'
57
57
 
58
58
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-sagemaker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.200.0
4
+ version: 1.202.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-27 00:00:00.000000000 Z
11
+ date: 2023-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core