import { Value } from '../../../cloudformation/Value';
import { MetricDimensionProps } from './MetricDimensionProps';
/**
  <code>CloudWatchAlarmDefinition</code> is a subproperty of the <code>ScalingTrigger </code>property, which determines when to trigger an automatic scaling activity. Scaling activity begins when you satisfy the defined alarm conditions.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html">the AWS Docs</a>
*/
export interface CloudWatchAlarmDefinitionProps {
    /** <code>ComparisonOperator</code>  <a name="cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-comparisonoperator"></a>
  Determines how the metric specified by <code>MetricName</code> is compared to the value specified by <code>Threshold</code>.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>GREATER_THAN | GREATER_THAN_OR_EQUAL | LESS_THAN | LESS_THAN_OR_EQUAL</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> */
    comparisonOperator: Value<'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL'>;
    /** <code>Dimensions</code>  <a name="cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-dimensions"></a>
  A CloudWatch metric dimension.<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> */
    dimensions?: MetricDimensionProps[];
    /** <code>EvaluationPeriods</code>  <a name="cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-evaluationperiods"></a>
  The number of periods, in five-minute increments, during which the alarm condition must exist before the alarm triggers automatic scaling activity. The default value is <code>1</code>.<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> */
    evaluationPeriods?: Value<number>;
    /** <code>MetricName</code>  <a name="cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-metricname"></a>
  The name of the CloudWatch metric that is watched to determine an alarm condition.<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> */
    metricName: Value<string>;
    /** <code>Namespace</code>  <a name="cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-namespace"></a>
  The namespace for the CloudWatch metric. The default is <code>AWS/ElasticMapReduce</code>.<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> */
    namespace?: Value<string>;
    /** <code>Period</code>  <a name="cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-period"></a>
  The period, in seconds, over which the statistic is applied. CloudWatch metrics for Amazon EMR are emitted every five minutes (300 seconds), so if you specify a CloudWatch metric, specify <code>300</code>.<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> */
    period: Value<number>;
    /** <code>Statistic</code>  <a name="cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-statistic"></a>
  The statistic to apply to the metric associated with the alarm. The default is <code>AVERAGE</code>.<br />
  
  Required: No<br />
  
  Allowed values: <code>AVERAGE | MAXIMUM | MINIMUM | SAMPLE_COUNT | SUM</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> */
    statistic?: Value<'AVERAGE' | 'MAXIMUM' | 'MINIMUM' | 'SAMPLE_COUNT' | 'SUM'>;
    /** <code>Threshold</code>  <a name="cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-threshold"></a>
  The value against which the specified statistic is compared.<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> */
    threshold: Value<number>;
    /** <code>Unit</code>  <a name="cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-unit"></a>
  The unit of measure associated with the CloudWatch metric being watched. The value specified for <code>Unit</code> must correspond to the units specified in the CloudWatch metric.<br />
  
  Required: No<br />
  
  Allowed values: <code>BITS | BITS_PER_SECOND | BYTES | BYTES_PER_SECOND | COUNT | COUNT_PER_SECOND | GIGA_BITS | GIGA_BITS_PER_SECOND | GIGA_BYTES | GIGA_BYTES_PER_SECOND | KILO_BITS | KILO_BITS_PER_SECOND | KILO_BYTES | KILO_BYTES_PER_SECOND | MEGA_BITS | MEGA_BITS_PER_SECOND | MEGA_BYTES | MEGA_BYTES_PER_SECOND | MICRO_SECONDS | MILLI_SECONDS | NONE | PERCENT | SECONDS | TERA_BITS | TERA_BITS_PER_SECOND | TERA_BYTES | TERA_BYTES_PER_SECOND</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> */
    unit?: Value<'BITS' | 'BITS_PER_SECOND' | 'BYTES' | 'BYTES_PER_SECOND' | 'COUNT' | 'COUNT_PER_SECOND' | 'GIGA_BITS' | 'GIGA_BITS_PER_SECOND' | 'GIGA_BYTES' | 'GIGA_BYTES_PER_SECOND' | 'KILO_BITS' | 'KILO_BITS_PER_SECOND' | 'KILO_BYTES' | 'KILO_BYTES_PER_SECOND' | 'MEGA_BITS' | 'MEGA_BITS_PER_SECOND' | 'MEGA_BYTES' | 'MEGA_BYTES_PER_SECOND' | 'MICRO_SECONDS' | 'MILLI_SECONDS' | 'NONE' | 'PERCENT' | 'SECONDS' | 'TERA_BITS' | 'TERA_BITS_PER_SECOND' | 'TERA_BYTES' | 'TERA_BYTES_PER_SECOND'>;
}
