import { Value } from '../../cloudformation/Value';
import { TrafficRoutingConfigProps } from './deploymentconfig/TrafficRoutingConfigProps';
import { MinimumHealthyHostsProps } from './deploymentconfig/MinimumHealthyHostsProps';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The <code>AWS::CodeDeploy::DeploymentConfig</code> resource creates a set of deployment rules, deployment success conditions, and deployment failure conditions that AWS CodeDeploy uses during a deployment. The deployment configuration specifies, through the use of a <code>MinimumHealthyHosts</code> value, the number or percentage of instances that must remain available at any time during a deployment.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html">the AWS Docs</a>
*/
export type DeploymentConfig = AwsResource<'AWS::CodeDeploy::DeploymentConfig', DeploymentConfigProperties>;
export declare function deploymentConfig(deploymentConfigProps?: DeploymentConfigProperties): DeploymentConfig;
/**
  The <code>AWS::CodeDeploy::DeploymentConfig</code> resource creates a set of deployment rules, deployment success conditions, and deployment failure conditions that AWS CodeDeploy uses during a deployment. The deployment configuration specifies, through the use of a <code>MinimumHealthyHosts</code> value, the number or percentage of instances that must remain available at any time during a deployment.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html">the AWS Docs</a>
*/
export interface DeploymentConfigProperties {
    /** <code>ComputePlatform</code>  <a name="cfn-codedeploy-deploymentconfig-computeplatform"></a>
  The destination platform type for the deployment (<code>Lambda</code>, <code>Server</code>, or <code>ECS</code>).<br />
  
  Required: No<br />
  
  Allowed values: <code>ECS | Lambda | Server</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> */
    computePlatform?: Value<'ECS' | 'Lambda' | 'Server'>;
    /** <code>DeploymentConfigName</code>  <a name="cfn-codedeploy-deploymentconfig-deploymentconfigname"></a>
  A name for the deployment configuration. If you don’t specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the deployment configuration name. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html">Name Type</a>.<br />
  If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>100</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> */
    deploymentConfigName?: Value<string>;
    /** <code>TrafficRoutingConfig</code>  <a name="cfn-codedeploy-deploymentconfig-trafficroutingconfig"></a>
  The configuration that specifies how the deployment traffic is routed.<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> */
    trafficRoutingConfig?: TrafficRoutingConfigProps;
    /** <p> */
    minimumHealthyHosts?: MinimumHealthyHostsProps;
}
