CfnAppMonitor

class aws_cdk.aws_rum.CfnAppMonitor(scope, id, *, domain, name, app_monitor_configuration=None, custom_events=None, cw_log_enabled=None, tags=None)

Bases: CfnResource

A CloudFormation AWS::RUM::AppMonitor.

Creates a CloudWatch RUM app monitor, which you can use to collect telemetry data from your application and send it to CloudWatch RUM. The data includes performance and reliability information such as page load time, client-side errors, and user behavior.

After you create an app monitor, sign in to the CloudWatch RUM console to get the JavaScript code snippet to add to your web application. For more information, see How do I find a code snippet that I’ve already generated?

CloudformationResource:

AWS::RUM::AppMonitor

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_rum as rum

cfn_app_monitor = rum.CfnAppMonitor(self, "MyCfnAppMonitor",
    domain="domain",
    name="name",

    # the properties below are optional
    app_monitor_configuration=rum.CfnAppMonitor.AppMonitorConfigurationProperty(
        allow_cookies=False,
        enable_xRay=False,
        excluded_pages=["excludedPages"],
        favorite_pages=["favoritePages"],
        guest_role_arn="guestRoleArn",
        identity_pool_id="identityPoolId",
        included_pages=["includedPages"],
        metric_destinations=[rum.CfnAppMonitor.MetricDestinationProperty(
            destination="destination",

            # the properties below are optional
            destination_arn="destinationArn",
            iam_role_arn="iamRoleArn",
            metric_definitions=[rum.CfnAppMonitor.MetricDefinitionProperty(
                name="name",

                # the properties below are optional
                dimension_keys={
                    "dimension_keys_key": "dimensionKeys"
                },
                event_pattern="eventPattern",
                namespace="namespace",
                unit_label="unitLabel",
                value_key="valueKey"
            )]
        )],
        session_sample_rate=123,
        telemetries=["telemetries"]
    ),
    custom_events=rum.CfnAppMonitor.CustomEventsProperty(
        status="status"
    ),
    cw_log_enabled=False,
    tags=[CfnTag(
        key="key",
        value="value"
    )]
)

Create a new AWS::RUM::AppMonitor.

Parameters:
  • scope (Construct) –

    • scope in which this resource is defined.

  • id (str) –

    • scoped id of the resource.

  • domain (str) – The top-level internet domain name for which your application has administrative authority. This parameter is required.

  • name (str) – A name for the app monitor. This parameter is required.

  • app_monitor_configuration (Union[AppMonitorConfigurationProperty, Dict[str, Any], IResolvable, None]) – A structure that contains much of the configuration data for the app monitor. If you are using Amazon Cognito for authorization, you must include this structure in your request, and it must include the ID of the Amazon Cognito identity pool to use for authorization. If you don’t include AppMonitorConfiguration , you must set up your own authorization method. For more information, see Authorize your application to send data to AWS . If you omit this argument, the sample rate used for CloudWatch RUM is set to 10% of the user sessions.

  • custom_events (Union[IResolvable, CustomEventsProperty, Dict[str, Any], None]) – Specifies whether this app monitor allows the web client to define and send custom events. If you omit this parameter, custom events are DISABLED .

  • cw_log_enabled (Union[bool, IResolvable, None]) – Data collected by CloudWatch RUM is kept by RUM for 30 days and then deleted. This parameter specifies whether CloudWatch RUM sends a copy of this telemetry data to Amazon CloudWatch Logs in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur Amazon CloudWatch Logs charges. If you omit this parameter, the default is false .

  • tags (Optional[Sequence[Union[CfnTag, Dict[str, Any]]]]) – Assigns one or more tags (key-value pairs) to the app monitor. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. Tags don’t have any semantic meaning to AWS and are interpreted strictly as strings of characters. You can associate as many as 50 tags with an app monitor. For more information, see Tagging AWS resources .

Methods

add_deletion_override(path)

Syntactic sugar for addOverride(path, undefined).

Parameters:

path (str) – The path of the value to delete.

Return type:

None

add_depends_on(target)

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.

Parameters:

target (CfnResource) –

Return type:

None

add_metadata(key, value)

Add a value to the CloudFormation Resource Metadata.

Parameters:
  • key (str) –

  • value (Any) –

See:

Return type:

None

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.

add_override(path, value)

Adds an override to the synthesized CloudFormation resource.

To add a property override, either use addPropertyOverride or prefix path with “Properties.” (i.e. Properties.TopicName).

If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.

To include a literal . in the property name, prefix with a \. In most programming languages you will need to write this as "\\." because the \ itself will need to be escaped.

For example:

cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"])
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")

would add the overrides Example:

"Properties": {
   "GlobalSecondaryIndexes": [
     {
       "Projection": {
         "NonKeyAttributes": [ "myattribute" ]
         ...
       }
       ...
     },
     {
       "ProjectionType": "INCLUDE"
       ...
     },
   ]
   ...
}

The value argument to addOverride will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.

Parameters:
  • path (str) –

    • The path of the property, you can use dot notation to override values in complex types. Any intermdediate keys will be created as needed.

  • value (Any) –

    • The value. Could be primitive or complex.

Return type:

None

add_property_deletion_override(property_path)

Adds an override that deletes the value of a property from the resource definition.

Parameters:

property_path (str) – The path to the property.

Return type:

None

add_property_override(property_path, value)

Adds an override to a resource property.

Syntactic sugar for addOverride("Properties.<...>", value).

Parameters:
  • property_path (str) – The path of the property.

  • value (Any) – The value.

Return type:

None

apply_removal_policy(policy=None, *, apply_to_update_replace_policy=None, default=None)

Sets the deletion policy of the resource based on the removal policy specified.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).

Parameters:
  • policy (Optional[RemovalPolicy]) –

  • apply_to_update_replace_policy (Optional[bool]) – Apply the same deletion policy to the resource’s “UpdateReplacePolicy”. Default: true

  • default (Optional[RemovalPolicy]) – The default policy to apply in case the removal policy is not defined. Default: - Default value is resource specific. To determine the default value for a resoure, please consult that specific resource’s documentation.

Return type:

None

get_att(attribute_name)

Returns a token for an runtime attribute of this resource.

Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility in case there is no generated attribute.

Parameters:

attribute_name (str) – The name of the attribute.

Return type:

Reference

get_metadata(key)

Retrieve a value value from the CloudFormation Resource Metadata.

Parameters:

key (str) –

See:

Return type:

Any

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.

inspect(inspector)

Examines the CloudFormation resource and discloses attributes.

Parameters:

inspector (TreeInspector) –

  • tree inspector to collect and process attributes.

Return type:

None

override_logical_id(new_logical_id)

Overrides the auto-generated logical ID with a specific ID.

Parameters:

new_logical_id (str) – The new logical ID to use for this stack element.

Return type:

None

to_string()

Returns a string representation of this construct.

Return type:

str

Returns:

a string representation of this resource

Attributes

CFN_RESOURCE_TYPE_NAME = 'AWS::RUM::AppMonitor'
app_monitor_configuration

A structure that contains much of the configuration data for the app monitor.

If you are using Amazon Cognito for authorization, you must include this structure in your request, and it must include the ID of the Amazon Cognito identity pool to use for authorization. If you don’t include AppMonitorConfiguration , you must set up your own authorization method. For more information, see Authorize your application to send data to AWS .

If you omit this argument, the sample rate used for CloudWatch RUM is set to 10% of the user sessions.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html#cfn-rum-appmonitor-appmonitorconfiguration

attr_id

The ID of the app monitor, such as 123456ab-1234-4ca9-9d2f-a1b2c3456789 .

CloudformationAttribute:

Id

cfn_options

Options for this resource, such as condition, update policy etc.

cfn_resource_type

AWS resource type.

creation_stack

return:

the stack trace of the point where this Resource was created from, sourced from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most node +internal+ entries filtered.

custom_events

Specifies whether this app monitor allows the web client to define and send custom events.

If you omit this parameter, custom events are DISABLED .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html#cfn-rum-appmonitor-customevents

cw_log_enabled

Data collected by CloudWatch RUM is kept by RUM for 30 days and then deleted.

This parameter specifies whether CloudWatch RUM sends a copy of this telemetry data to Amazon CloudWatch Logs in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur Amazon CloudWatch Logs charges.

If you omit this parameter, the default is false .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html#cfn-rum-appmonitor-cwlogenabled

domain

The top-level internet domain name for which your application has administrative authority.

This parameter is required.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html#cfn-rum-appmonitor-domain

logical_id

The logical ID for this CloudFormation stack element.

The logical ID of the element is calculated from the path of the resource node in the construct tree.

To override this value, use overrideLogicalId(newLogicalId).

Returns:

the logical ID as a stringified token. This value will only get resolved during synthesis.

name

A name for the app monitor.

This parameter is required.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html#cfn-rum-appmonitor-name

node

The construct tree node associated with this construct.

ref

Return a string that will be resolved to a CloudFormation { Ref } for this element.

If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).

stack

The stack in which this element is defined.

CfnElements must be defined within a stack scope (directly or indirectly).

tags

Assigns one or more tags (key-value pairs) to the app monitor.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

Tags don’t have any semantic meaning to AWS and are interpreted strictly as strings of characters.

You can associate as many as 50 tags with an app monitor.

For more information, see Tagging AWS resources .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html#cfn-rum-appmonitor-tags

Static Methods

classmethod is_cfn_element(x)

Returns true if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of instanceof to allow stack elements from different versions of this library to be included in the same stack.

Parameters:

x (Any) –

Return type:

bool

Returns:

The construct as a stack element or undefined if it is not a stack element.

classmethod is_cfn_resource(construct)

Check whether the given construct is a CfnResource.

Parameters:

construct (IConstruct) –

Return type:

bool

classmethod is_construct(x)

Return whether the given object is a Construct.

Parameters:

x (Any) –

Return type:

bool

AppMonitorConfigurationProperty

class CfnAppMonitor.AppMonitorConfigurationProperty(*, allow_cookies=None, enable_x_ray=None, excluded_pages=None, favorite_pages=None, guest_role_arn=None, identity_pool_id=None, included_pages=None, metric_destinations=None, session_sample_rate=None, telemetries=None)

Bases: object

This structure contains much of the configuration data for the app monitor.

Parameters:
  • allow_cookies (Union[bool, IResolvable, None]) – If you set this to true , 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.

  • enable_x_ray (Union[bool, IResolvable, None]) – If you set this to true , 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 What is AWS X-Ray ?

  • excluded_pages (Optional[Sequence[str]]) – A list of URLs in your website or application to exclude from RUM data collection. You can’t include both ExcludedPages and IncludedPages in the same app monitor.

  • favorite_pages (Optional[Sequence[str]]) – A list of pages in your application that are to be displayed with a “favorite” icon in the CloudWatch RUM console.

  • guest_role_arn (Optional[str]) – 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.

  • identity_pool_id (Optional[str]) – The ID of the Amazon Cognito identity pool that is used to authorize the sending of data to CloudWatch RUM.

  • included_pages (Optional[Sequence[str]]) – If this app monitor is to collect data from only certain pages in your application, this structure lists those pages. You can’t include both ExcludedPages and IncludedPages in the same app monitor.

  • metric_destinations (Union[IResolvable, Sequence[Union[IResolvable, MetricDestinationProperty, Dict[str, Any]]], None]) – An array of structures that each define a destination that this app monitor will send extended metrics to.

  • session_sample_rate (Union[int, float, None]) – 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. 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. If you omit this parameter, the default of 0.1 is used, and 10% of sessions will be sampled.

  • telemetries (Optional[Sequence[str]]) – An array that lists the types of telemetry data that this app monitor is to collect. - errors indicates that RUM collects data about unhandled JavaScript errors raised by your application. - performance indicates that RUM collects performance data about how your application and its resources are loaded and rendered. This includes Core Web Vitals. - http indicates that RUM collects data about HTTP errors thrown by your application.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-appmonitorconfiguration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_rum as rum

app_monitor_configuration_property = rum.CfnAppMonitor.AppMonitorConfigurationProperty(
    allow_cookies=False,
    enable_xRay=False,
    excluded_pages=["excludedPages"],
    favorite_pages=["favoritePages"],
    guest_role_arn="guestRoleArn",
    identity_pool_id="identityPoolId",
    included_pages=["includedPages"],
    metric_destinations=[rum.CfnAppMonitor.MetricDestinationProperty(
        destination="destination",

        # the properties below are optional
        destination_arn="destinationArn",
        iam_role_arn="iamRoleArn",
        metric_definitions=[rum.CfnAppMonitor.MetricDefinitionProperty(
            name="name",

            # the properties below are optional
            dimension_keys={
                "dimension_keys_key": "dimensionKeys"
            },
            event_pattern="eventPattern",
            namespace="namespace",
            unit_label="unitLabel",
            value_key="valueKey"
        )]
    )],
    session_sample_rate=123,
    telemetries=["telemetries"]
)

Attributes

allow_cookies

If you set this to true , 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.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-appmonitorconfiguration.html#cfn-rum-appmonitor-appmonitorconfiguration-allowcookies

enable_x_ray

If you set this to true , 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 What is AWS X-Ray ?

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-appmonitorconfiguration.html#cfn-rum-appmonitor-appmonitorconfiguration-enablexray

excluded_pages

A list of URLs in your website or application to exclude from RUM data collection.

You can’t include both ExcludedPages and IncludedPages in the same app monitor.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-appmonitorconfiguration.html#cfn-rum-appmonitor-appmonitorconfiguration-excludedpages

favorite_pages

A list of pages in your application that are to be displayed with a “favorite” icon in the CloudWatch RUM console.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-appmonitorconfiguration.html#cfn-rum-appmonitor-appmonitorconfiguration-favoritepages

guest_role_arn

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.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-appmonitorconfiguration.html#cfn-rum-appmonitor-appmonitorconfiguration-guestrolearn

identity_pool_id

The ID of the Amazon Cognito identity pool that is used to authorize the sending of data to CloudWatch RUM.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-appmonitorconfiguration.html#cfn-rum-appmonitor-appmonitorconfiguration-identitypoolid

included_pages

If this app monitor is to collect data from only certain pages in your application, this structure lists those pages.

You can’t include both ExcludedPages and IncludedPages in the same app monitor.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-appmonitorconfiguration.html#cfn-rum-appmonitor-appmonitorconfiguration-includedpages

metric_destinations

An array of structures that each define a destination that this app monitor will send extended metrics to.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-appmonitorconfiguration.html#cfn-rum-appmonitor-appmonitorconfiguration-metricdestinations

session_sample_rate

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.

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.

If you omit this parameter, the default of 0.1 is used, and 10% of sessions will be sampled.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-appmonitorconfiguration.html#cfn-rum-appmonitor-appmonitorconfiguration-sessionsamplerate

telemetries

An array that lists the types of telemetry data that this app monitor is to collect.

  • errors indicates that RUM collects data about unhandled JavaScript errors raised by your application.

  • performance indicates that RUM collects performance data about how your application and its resources are loaded and rendered. This includes Core Web Vitals.

  • http indicates that RUM collects data about HTTP errors thrown by your application.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-appmonitorconfiguration.html#cfn-rum-appmonitor-appmonitorconfiguration-telemetries

CustomEventsProperty

class CfnAppMonitor.CustomEventsProperty(*, status=None)

Bases: object

This structure specifies whether this app monitor allows the web client to define and send custom events.

Parameters:

status (Optional[str]) – Set this to ENABLED to allow the web client to send custom events for this app monitor. Valid values are ENABLED and DISABLED .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-customevents.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_rum as rum

custom_events_property = rum.CfnAppMonitor.CustomEventsProperty(
    status="status"
)

Attributes

status

Set this to ENABLED to allow the web client to send custom events for this app monitor.

Valid values are ENABLED and DISABLED .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-customevents.html#cfn-rum-appmonitor-customevents-status

MetricDefinitionProperty

class CfnAppMonitor.MetricDefinitionProperty(*, name, dimension_keys=None, event_pattern=None, namespace=None, unit_label=None, value_key=None)

Bases: object

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.

By default, RUM app monitors send some metrics to CloudWatch . These default metrics are listed in CloudWatch metrics that you can collect.

In addition to these default metrics, you can choose to send extended metrics or custom metrics or both.

  • Extended metrics enable you to send metrics with additional dimensions not included in the default metrics. You can also send extended metrics to Evidently as well as CloudWatch . The valid dimension names for the additional dimensions for extended metrics are BrowserName , CountryCode , DeviceType , FileType , OSName , and PageId . For more information, see Extended metrics .

  • Custom metrics are metrics that you define. You can send custom metrics to CloudWatch or to CloudWatch Evidently or to both. With custom metrics, you can use any metric name and namespace, and to derive the metrics you can use any custom events, built-in events, custom attributes, or default attributes.

You can’t send custom metrics to the AWS/RUM namespace. You must send custom metrics to a custom namespace that you define. The namespace that you use can’t start with AWS/ . CloudWatch RUM prepends RUM/CustomMetrics/ to the custom namespace that you define, so the final namespace for your metrics in CloudWatch is RUM/CustomMetrics/ *your-custom-namespace* .

For information about syntax rules for specifying custom metrics and extended metrics, see MetridDefinitionRequest in the CloudWatch RUM API Reference .

The maximum number of metric definitions that one destination can contain is 2000.

Extended metrics sent to CloudWatch and RUM custom metrics are charged as CloudWatch custom metrics. Each combination of additional dimension name and dimension value counts as a custom metric.

If some metric definitions that you specify are not valid, then the operation will not modify any metric definitions even if other metric definitions specified are valid.

Parameters:
  • name (str) – The name of the metric that is defined in this structure.

  • dimension_keys (Union[IResolvable, Mapping[str, str], None]) – 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 CloudWatch . If the metric destination is Evidently , the value of DimensionKeys is ignored.

  • event_pattern (Optional[str]) – 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. If the metrics destination is CloudWatch and the event also matches a value in DimensionKeys , then the metric is published with the specified dimensions.

  • namespace (Optional[str]) – 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. You can’t use any string that starts with AWS/ for your namespace.

  • unit_label (Optional[str]) – Use this field only if you are sending this metric to CloudWatch . It defines the CloudWatch metric unit that this metric is measured in.

  • value_key (Optional[str]) – The field within the event object that the metric value is sourced from.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-metricdefinition.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_rum as rum

metric_definition_property = rum.CfnAppMonitor.MetricDefinitionProperty(
    name="name",

    # the properties below are optional
    dimension_keys={
        "dimension_keys_key": "dimensionKeys"
    },
    event_pattern="eventPattern",
    namespace="namespace",
    unit_label="unitLabel",
    value_key="valueKey"
)

Attributes

dimension_keys

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 CloudWatch . If the metric destination is Evidently , the value of DimensionKeys is ignored.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-metricdefinition.html#cfn-rum-appmonitor-metricdefinition-dimensionkeys

event_pattern

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.

If the metrics destination is CloudWatch and the event also matches a value in DimensionKeys , then the metric is published with the specified dimensions.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-metricdefinition.html#cfn-rum-appmonitor-metricdefinition-eventpattern

name

The name of the metric that is defined in this structure.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-metricdefinition.html#cfn-rum-appmonitor-metricdefinition-name

namespace

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.

You can’t use any string that starts with AWS/ for your namespace.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-metricdefinition.html#cfn-rum-appmonitor-metricdefinition-namespace

unit_label

Use this field only if you are sending this metric to CloudWatch .

It defines the CloudWatch metric unit that this metric is measured in.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-metricdefinition.html#cfn-rum-appmonitor-metricdefinition-unitlabel

value_key

The field within the event object that the metric value is sourced from.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-metricdefinition.html#cfn-rum-appmonitor-metricdefinition-valuekey

MetricDestinationProperty

class CfnAppMonitor.MetricDestinationProperty(*, destination, destination_arn=None, iam_role_arn=None, metric_definitions=None)

Bases: object

Creates or updates a destination to receive extended metrics from CloudWatch RUM.

You can send extended metrics to CloudWatch or to a CloudWatch Evidently experiment.

For more information about extended metrics, see Extended metrics that you can send to CloudWatch and CloudWatch Evidently .

Parameters:
  • destination (str) – Defines the destination to send the metrics to. Valid values are CloudWatch and Evidently . If you specify Evidently , you must also specify the ARN of the CloudWatch Evidently experiment that is to be the destination and an IAM role that has permission to write to the experiment.

  • destination_arn (Optional[str]) – Use this parameter only if Destination is Evidently . This parameter specifies the ARN of the Evidently experiment that will receive the extended metrics.

  • iam_role_arn (Optional[str]) – This parameter is required if Destination is Evidently . If Destination is CloudWatch , do not use this parameter. This parameter specifies the ARN of an IAM role that RUM will assume to write to the Evidently experiment that you are sending metrics to. This role must have permission to write to that experiment.

  • metric_definitions (Union[IResolvable, Sequence[Union[IResolvable, MetricDefinitionProperty, Dict[str, Any]]], None]) – An array of structures which define the metrics that you want to send.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-metricdestination.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_rum as rum

metric_destination_property = rum.CfnAppMonitor.MetricDestinationProperty(
    destination="destination",

    # the properties below are optional
    destination_arn="destinationArn",
    iam_role_arn="iamRoleArn",
    metric_definitions=[rum.CfnAppMonitor.MetricDefinitionProperty(
        name="name",

        # the properties below are optional
        dimension_keys={
            "dimension_keys_key": "dimensionKeys"
        },
        event_pattern="eventPattern",
        namespace="namespace",
        unit_label="unitLabel",
        value_key="valueKey"
    )]
)

Attributes

destination

Defines the destination to send the metrics to.

Valid values are CloudWatch and Evidently . If you specify Evidently , you must also specify the ARN of the CloudWatch Evidently experiment that is to be the destination and an IAM role that has permission to write to the experiment.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-metricdestination.html#cfn-rum-appmonitor-metricdestination-destination

destination_arn

Use this parameter only if Destination is Evidently .

This parameter specifies the ARN of the Evidently experiment that will receive the extended metrics.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-metricdestination.html#cfn-rum-appmonitor-metricdestination-destinationarn

iam_role_arn

This parameter is required if Destination is Evidently . If Destination is CloudWatch , do not use this parameter.

This parameter specifies the ARN of an IAM role that RUM will assume to write to the Evidently experiment that you are sending metrics to. This role must have permission to write to that experiment.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-metricdestination.html#cfn-rum-appmonitor-metricdestination-iamrolearn

metric_definitions

An array of structures which define the metrics that you want to send.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rum-appmonitor-metricdestination.html#cfn-rum-appmonitor-metricdestination-metricdefinitions