Class: AWSCDK::RUM::CfnAppMonitor::MetricDestinationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
rum/cfn_app_monitor.rb

Overview

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 .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(destination:, destination_arn: nil, iam_role_arn: nil, metric_definitions: nil) ⇒ MetricDestinationProperty

Returns a new instance of MetricDestinationProperty.

Parameters:

  • destination (String)

    Defines the destination to send the metrics to.

  • destination_arn (String, nil) (defaults to: nil)

    Use this parameter only if Destination is Evidently .

  • iam_role_arn (String, nil) (defaults to: nil)

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

  • metric_definitions (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::RUM::CfnAppMonitor::MetricDefinitionProperty>, nil) (defaults to: nil)

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



1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
# File 'rum/cfn_app_monitor.rb', line 1019

def initialize(destination:, destination_arn: nil, iam_role_arn: nil, metric_definitions: nil)
  @destination = destination
  Jsii::Type.check_type(@destination, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "destination")
  @destination_arn = destination_arn
  Jsii::Type.check_type(@destination_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "destinationArn") unless @destination_arn.nil?
  @iam_role_arn = iam_role_arn
  Jsii::Type.check_type(@iam_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "iamRoleArn") unless @iam_role_arn.nil?
  @metric_definitions = metric_definitions
  Jsii::Type.check_type(@metric_definitions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcnVtLkNmbkFwcE1vbml0b3IuTWV0cmljRGVmaW5pdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "metricDefinitions") unless @metric_definitions.nil?
end

Instance Attribute Details

#destinationString (readonly)

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.



1036
1037
1038
# File 'rum/cfn_app_monitor.rb', line 1036

def destination
  @destination
end

#destination_arnString? (readonly)

Use this parameter only if Destination is Evidently .

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



1043
1044
1045
# File 'rum/cfn_app_monitor.rb', line 1043

def destination_arn
  @destination_arn
end

#iam_role_arnString? (readonly)

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.



1050
1051
1052
# File 'rum/cfn_app_monitor.rb', line 1050

def iam_role_arn
  @iam_role_arn
end

#metric_definitionsAWSCDK::IResolvable, ... (readonly)

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



1055
1056
1057
# File 'rum/cfn_app_monitor.rb', line 1055

def metric_definitions
  @metric_definitions
end

Class Method Details

.jsii_propertiesObject



1057
1058
1059
1060
1061
1062
1063
1064
# File 'rum/cfn_app_monitor.rb', line 1057

def self.jsii_properties
  {
    :destination => "destination",
    :destination_arn => "destinationArn",
    :iam_role_arn => "iamRoleArn",
    :metric_definitions => "metricDefinitions",
  }
end

Instance Method Details

#to_jsiiObject



1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
# File 'rum/cfn_app_monitor.rb', line 1066

def to_jsii
  result = {}
  result.merge!({
    "destination" => @destination,
    "destinationArn" => @destination_arn,
    "iamRoleArn" => @iam_role_arn,
    "metricDefinitions" => @metric_definitions,
  })
  result.compact
end