Class: AWSCDK::Sagemaker::CfnInferenceComponent::InferenceComponentRollingUpdatePolicyProperty

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

Overview

Specifies a rolling deployment strategy for updating a SageMaker AI inference component.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(maximum_batch_size: nil, maximum_execution_timeout_in_seconds: nil, rollback_maximum_batch_size: nil, wait_interval_in_seconds: nil) ⇒ InferenceComponentRollingUpdatePolicyProperty

Returns a new instance of InferenceComponentRollingUpdatePolicyProperty.

Parameters:



1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
# File 'sagemaker/cfn_inference_component.rb', line 1015

def initialize(maximum_batch_size: nil, maximum_execution_timeout_in_seconds: nil, rollback_maximum_batch_size: nil, wait_interval_in_seconds: nil)
  @maximum_batch_size = maximum_batch_size.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnInferenceComponent::InferenceComponentCapacitySizeProperty.new(**maximum_batch_size.transform_keys(&:to_sym)) : maximum_batch_size
  Jsii::Type.check_type(@maximum_batch_size, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuSW5mZXJlbmNlQ29tcG9uZW50LkluZmVyZW5jZUNvbXBvbmVudENhcGFjaXR5U2l6ZVByb3BlcnR5In1dfX0=")), "maximumBatchSize") unless @maximum_batch_size.nil?
  @maximum_execution_timeout_in_seconds = maximum_execution_timeout_in_seconds
  Jsii::Type.check_type(@maximum_execution_timeout_in_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maximumExecutionTimeoutInSeconds") unless @maximum_execution_timeout_in_seconds.nil?
  @rollback_maximum_batch_size = rollback_maximum_batch_size.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnInferenceComponent::InferenceComponentCapacitySizeProperty.new(**rollback_maximum_batch_size.transform_keys(&:to_sym)) : rollback_maximum_batch_size
  Jsii::Type.check_type(@rollback_maximum_batch_size, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuSW5mZXJlbmNlQ29tcG9uZW50LkluZmVyZW5jZUNvbXBvbmVudENhcGFjaXR5U2l6ZVByb3BlcnR5In1dfX0=")), "rollbackMaximumBatchSize") unless @rollback_maximum_batch_size.nil?
  @wait_interval_in_seconds = wait_interval_in_seconds
  Jsii::Type.check_type(@wait_interval_in_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "waitIntervalInSeconds") unless @wait_interval_in_seconds.nil?
end

Instance Attribute Details

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

The batch size for each rolling step in the deployment process.

For each step, SageMaker AI provisions capacity on the new endpoint fleet, routes traffic to that fleet, and terminates capacity on the old endpoint fleet. The value must be between 5% to 50% of the copy count of the inference component.



1032
1033
1034
# File 'sagemaker/cfn_inference_component.rb', line 1032

def maximum_batch_size
  @maximum_batch_size
end

#maximum_execution_timeout_in_secondsNumeric? (readonly)

The time limit for the total deployment.

Exceeding this limit causes a timeout.



1039
1040
1041
# File 'sagemaker/cfn_inference_component.rb', line 1039

def maximum_execution_timeout_in_seconds
  @maximum_execution_timeout_in_seconds
end

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

The batch size for a rollback to the old endpoint fleet.

If this field is absent, the value is set to the default, which is 100% of the total capacity. When the default is used, SageMaker AI provisions the entire capacity of the old fleet at once during rollback.



1046
1047
1048
# File 'sagemaker/cfn_inference_component.rb', line 1046

def rollback_maximum_batch_size
  @rollback_maximum_batch_size
end

#wait_interval_in_secondsNumeric? (readonly)

The length of the baking period, during which SageMaker AI monitors alarms for each batch on the new fleet.



1051
1052
1053
# File 'sagemaker/cfn_inference_component.rb', line 1051

def wait_interval_in_seconds
  @wait_interval_in_seconds
end

Class Method Details

.jsii_propertiesObject



1053
1054
1055
1056
1057
1058
1059
1060
# File 'sagemaker/cfn_inference_component.rb', line 1053

def self.jsii_properties
  {
    :maximum_batch_size => "maximumBatchSize",
    :maximum_execution_timeout_in_seconds => "maximumExecutionTimeoutInSeconds",
    :rollback_maximum_batch_size => "rollbackMaximumBatchSize",
    :wait_interval_in_seconds => "waitIntervalInSeconds",
  }
end

Instance Method Details

#to_jsiiObject



1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
# File 'sagemaker/cfn_inference_component.rb', line 1062

def to_jsii
  result = {}
  result.merge!({
    "maximumBatchSize" => @maximum_batch_size,
    "maximumExecutionTimeoutInSeconds" => @maximum_execution_timeout_in_seconds,
    "rollbackMaximumBatchSize" => @rollback_maximum_batch_size,
    "waitIntervalInSeconds" => @wait_interval_in_seconds,
  })
  result.compact
end