import { Value } from '../../../cloudformation/Value';
import { TimeBasedLinearProps } from './TimeBasedLinearProps';
import { TimeBasedCanaryProps } from './TimeBasedCanaryProps';
/**
  The configuration that specifies how traffic is shifted from one version of a Lambda function to another version during an AWS Lambda deployment, or from one Amazon ECS task set to another during an Amazon ECS deployment.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-trafficroutingconfig.html">the AWS Docs</a>
*/
export interface TrafficRoutingConfigProps {
    /** <code>Type</code>  <a name="cfn-codedeploy-deploymentconfig-trafficroutingconfig-type"></a>
  The type of traffic shifting (<code>TimeBasedCanary</code> or <code>TimeBasedLinear</code>) used by a deployment configuration.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>AllAtOnce | TimeBasedCanary | TimeBasedLinear</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    type: Value<'AllAtOnce' | 'TimeBasedCanary' | 'TimeBasedLinear'>;
    /** <code>TimeBasedLinear</code>  <a name="cfn-codedeploy-deploymentconfig-trafficroutingconfig-timebasedlinear"></a>
  A configuration that shifts traffic from one version of a Lambda function or Amazon ECS task set to another in equal increments, with an equal number of minutes between each increment. The original and target Lambda function versions or Amazon ECS task sets are specified in the deployment’s AppSpec file.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    timeBasedLinear?: TimeBasedLinearProps;
    /** <code>TimeBasedCanary</code>  <a name="cfn-codedeploy-deploymentconfig-trafficroutingconfig-timebasedcanary"></a>
  A configuration that shifts traffic from one version of a Lambda function or ECS task set to another in two increments. The original and target Lambda function versions or ECS task sets are specified in the deployment’s AppSpec file.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    timeBasedCanary?: TimeBasedCanaryProps;
}
