import { Value } from '../../../cloudformation/Value';
/**
  The <code>PlacementConstraint</code> property specifies an object representing a constraint on task placement in the task definition. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html">Task Placement Constraints</a> in the <em>Amazon Elastic Container Service Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementconstraint.html">the AWS Docs</a>
*/
export interface PlacementConstraintProps {
    /** <code>Type</code>  <a name="cfn-ecs-service-placementconstraint-type"></a>
  The type of constraint. Use <code>distinctInstance</code> to ensure that each task in a particular group is running on a different container instance. Use <code>memberOf</code> to restrict the selection to a group of valid candidates.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>distinctInstance | memberOf</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> */
    type: Value<'distinctInstance' | 'memberOf'>;
    /** <code>Expression</code>  <a name="cfn-ecs-service-placementconstraint-expression"></a>
  A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can’t specify an expression if the constraint type is <code>distinctInstance</code>. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html">Cluster query language</a> in the
  Amazon Elastic Container Service Developer Guide: 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> */
    expression?: Value<string>;
}
