import { Value } from '../../../cloudformation/Value';
import { CapacitySizeProps } from './CapacitySizeProps';
/**
  Defines the traffic routing strategy during an endpoint deployment to shift traffic from the old fleet to the new fleet.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-trafficroutingconfig.html">the AWS Docs</a>
*/
export interface TrafficRoutingConfigProps {
    /** <p> */
    type: Value<string>;
    /** <code>LinearStepSize</code>  <a name="cfn-sagemaker-endpoint-trafficroutingconfig-linearstepsize"></a>
  Batch size for each step to turn on traffic on the new endpoint fleet. <code>Value</code> must be 10-50% of the variant’s total instance count.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    linearStepSize?: CapacitySizeProps;
    /** <code>CanarySize</code>  <a name="cfn-sagemaker-endpoint-trafficroutingconfig-canarysize"></a>
  Batch size for the first step to turn on traffic on the new endpoint fleet. <code>Value</code> must be less than or equal to 50% of the variant’s total instance count.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    canarySize?: CapacitySizeProps;
    /** <code>WaitIntervalInSeconds</code>  <a name="cfn-sagemaker-endpoint-trafficroutingconfig-waitintervalinseconds"></a>
  The waiting time (in seconds) between incremental steps to turn on traffic on the new endpoint fleet.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>3600</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    waitIntervalInSeconds?: Value<number>;
}
