import { MetricDestinationProps } from './MetricDestinationProps';
import { Value } from '../../../cloudformation/Value';
/**
  This structure contains much of the configuration data for the app monitor.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-appmonitorconfiguration.html">the AWS Docs</a>
*/
export interface AppMonitorConfigurationProps {
    /** <code>MetricDestinations</code>  <a name="cfn-rum-appmonitor-appmonitorconfiguration-metricdestinations"></a>
  An array of structures that each define a destination that this app monitor will send extended metrics to.<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> */
    metricDestinations?: MetricDestinationProps[];
    /** <code>IncludedPages</code>  <a name="cfn-rum-appmonitor-appmonitorconfiguration-includedpages"></a>
  If this app monitor is to collect data from only certain pages in your application, this structure lists those pages.<br />
  You can’t include both <code>ExcludedPages</code> and <code>IncludedPages</code> in the same app monitor.<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> */
    includedPages?: Value<Value<string>[]>;
    /** <code>ExcludedPages</code>  <a name="cfn-rum-appmonitor-appmonitorconfiguration-excludedpages"></a>
  A list of URLs in your website or application to exclude from RUM data collection.<br />
  You can’t include both <code>ExcludedPages</code> and <code>IncludedPages</code> in the same app monitor.<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> */
    excludedPages?: Value<Value<string>[]>;
    /** <code>FavoritePages</code>  <a name="cfn-rum-appmonitor-appmonitorconfiguration-favoritepages"></a>
  A list of pages in your application that are to be displayed with a “favorite” icon in the CloudWatch RUM console.<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> */
    favoritePages?: Value<Value<string>[]>;
    /** <code>SessionSampleRate</code>  <a name="cfn-rum-appmonitor-appmonitorconfiguration-sessionsamplerate"></a>
  Specifies the portion of user sessions to use for CloudWatch RUM data collection. Choosing a higher portion gives you more data but also incurs more costs.<br />
  The range for this value is 0 to 1 inclusive. Setting this to 1 means that 100% of user sessions are sampled, and setting it to 0.1 means that 10% of user sessions are sampled.<br />
  If you omit this parameter, the default of 0.1 is used, and 10% of sessions will be sampled.<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> */
    sessionSampleRate?: Value<number>;
    /** <code>AllowCookies</code>  <a name="cfn-rum-appmonitor-appmonitorconfiguration-allowcookies"></a>
  If you set this to <code>true</code>, the CloudWatch RUM web client sets two cookies, a session cookie and a user cookie. The cookies allow the CloudWatch RUM web client to collect data relating to the number of users an application has and the behavior of the application across a sequence of events. Cookies are stored in the top-level domain of the current page.<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> */
    allowCookies?: Value<boolean>;
    /** <p> */
    telemetries?: Value<Value<string>[]>;
    /** <code>IdentityPoolId</code>  <a name="cfn-rum-appmonitor-appmonitorconfiguration-identitypoolid"></a>
  The ID of the Amazon Cognito identity pool that is used to authorize the sending of data to CloudWatch RUM.<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> */
    identityPoolId?: Value<string>;
    /** <code>GuestRoleArn</code>  <a name="cfn-rum-appmonitor-appmonitorconfiguration-guestrolearn"></a>
  The ARN of the guest IAM role that is attached to the Amazon Cognito identity pool that is used to authorize the sending of data to CloudWatch RUM.<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> */
    guestRoleArn?: Value<string>;
    /** <code>EnableXRay</code>  <a name="cfn-rum-appmonitor-appmonitorconfiguration-enablexray"></a>
  If you set this to <code>true</code>, CloudWatch RUM sends client-side traces to X-Ray for each sampled session. You can then see traces and segments from these user sessions in the RUM dashboard and the CloudWatch ServiceLens console. For more information, see <a href="https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html">What is AWS X-Ray?</a><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> */
    enableXRay?: Value<boolean>;
}
