import { ScalingActionProps } from './ScalingActionProps';
import { Value } from '../../../cloudformation/Value';
import { ScalingTriggerProps } from './ScalingTriggerProps';
/**
  <code>ScalingRule</code> is a subproperty of the <code>AutoScalingPolicy</code> property type. <code>ScalingRule</code> defines the scale-in or scale-out rules for scaling activity, including the CloudWatch metric alarm that triggers activity, how EC2 instances are added or removed, and the periodicity of adjustments. The automatic scaling policy for an instance group can comprise one or more automatic scaling rules.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingrule.html">the AWS Docs</a>
*/
export interface ScalingRuleProps {
    /** <code>Action</code>  <a name="cfn-elasticmapreduce-instancegroupconfig-scalingrule-action"></a>
  The conditions that trigger an automatic scaling activity.<br />
  
  Required: Yes<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> */
    action: ScalingActionProps;
    /** <code>Description</code>  <a name="cfn-elasticmapreduce-instancegroupconfig-scalingrule-description"></a>
  A friendly, more verbose description of the automatic scaling rule.<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> */
    description?: Value<string>;
    /** <code>Name</code>  <a name="cfn-elasticmapreduce-instancegroupconfig-scalingrule-name"></a>
  The name used to identify an automatic scaling rule. Rule names must be unique within a scaling policy.<br />
  
  Required: Yes<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> */
    name: Value<string>;
    /** <code>Trigger</code>  <a name="cfn-elasticmapreduce-instancegroupconfig-scalingrule-trigger"></a>
  The CloudWatch alarm definition that determines when automatic scaling activity is triggered.<br />
  
  Required: Yes<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> */
    trigger: ScalingTriggerProps;
}
