import { Value } from '../../../cloudformation/Value';
/**
  Specifies one custom metric or extended metric that you want the CloudWatch RUM app monitor to send to a destination. Valid destinations include CloudWatch and Evidently.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-metricdefinition.html">the AWS Docs</a>
*/
export interface MetricDefinitionProps {
    /** <code>EventPattern</code>  <a name="cfn-rum-appmonitor-metricdefinition-eventpattern"></a>
  The pattern that defines the metric. RUM checks events that happen in a user’s session against the pattern, and events that match the pattern are sent to the metric destination.<br />
  If the metrics destination is <code>CloudWatch</code> and the event also matches a value in <code>DimensionKeys</code>, then the metric is published with the specified dimensions.<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> */
    eventPattern?: Value<string>;
    /** <code>ValueKey</code>  <a name="cfn-rum-appmonitor-metricdefinition-valuekey"></a>
  The field within the event object that the metric value is sourced from.<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> */
    valueKey?: Value<string>;
    /** <code>UnitLabel</code>  <a name="cfn-rum-appmonitor-metricdefinition-unitlabel"></a>
  Use this field only if you are sending this metric to CloudWatch. It defines the CloudWatch metric unit that this metric is measured in.<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> */
    unitLabel?: Value<string>;
    /** <code>DimensionKeys</code>  <a name="cfn-rum-appmonitor-metricdefinition-dimensionkeys"></a>
  This field is a map of field paths to dimension names. It defines the dimensions to associate with this metric in CloudWatch. The value of this field is used only if the metric destination is <code>CloudWatch</code>. If the metric destination is <code>Evidently</code>, the value of <code>DimensionKeys</code> is ignored.<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> */
    dimensionKeys?: Value<{
        [key: string]: Value<string>;
    }>;
    /** <code>Namespace</code>  <a name="cfn-rum-appmonitor-metricdefinition-namespace"></a>
  If you are creating a custom metric instead of an extended metrics, use this parameter to define the metric namespace for that custom metric. Do not specify this parameter if you are creating an extended metric.<br />
  You can’t use any string that starts with <code>AWS/</code> for your namespace.<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>Name</code>  <a name="cfn-rum-appmonitor-metricdefinition-name"></a>
  The name of the metric that is defined in this structure.<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>;
}
