aws-sdk-cloudwatchrum 1.4.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -134,8 +134,8 @@ module Aws::CloudWatchRUM
134
134
  # @return [Array<String>]
135
135
  #
136
136
  # @!attribute [rw] favorite_pages
137
- # A list of pages in the CloudWatch RUM console that are to be
138
- # displayed with a "favorite" icon.
137
+ # A list of pages in your application that are to be displayed with a
138
+ # "favorite" icon in the CloudWatch RUM console.
139
139
  # @return [Array<String>]
140
140
  #
141
141
  # @!attribute [rw] guest_role_arn
@@ -156,14 +156,16 @@ module Aws::CloudWatchRUM
156
156
  # @return [Array<String>]
157
157
  #
158
158
  # @!attribute [rw] session_sample_rate
159
- # Specifies the percentage of user sessions to use for RUM data
160
- # collection. Choosing a higher percentage gives you more data but
161
- # also incurs more costs.
159
+ # Specifies the portion of user sessions to use for RUM data
160
+ # collection. Choosing a higher portion gives you more data but also
161
+ # incurs more costs.
162
162
  #
163
- # The number you specify is the percentage of user sessions that will
164
- # be used.
163
+ # The range for this value is 0 to 1 inclusive. Setting this to 1
164
+ # means that 100% of user sessions are sampled, and setting it to 0.1
165
+ # means that 10% of user sessions are sampled.
165
166
  #
166
- # If you omit this parameter, the default of 10 is used.
167
+ # If you omit this parameter, the default of 0.1 is used, and 10% of
168
+ # sessions will be sampled.
167
169
  # @return [Float]
168
170
  #
169
171
  # @!attribute [rw] telemetries
@@ -266,6 +268,282 @@ module Aws::CloudWatchRUM
266
268
  include Aws::Structure
267
269
  end
268
270
 
271
+ # A structure that defines one error caused by a
272
+ # [BatchCreateRumMetricsDefinitions][1] operation.
273
+ #
274
+ #
275
+ #
276
+ # [1]: https://docs.aws.amazon.com/cloudwatchrum/latest/APIReference/API_BatchCreateRumMetricsDefinitions.html
277
+ #
278
+ # @!attribute [rw] error_code
279
+ # The error code.
280
+ # @return [String]
281
+ #
282
+ # @!attribute [rw] error_message
283
+ # The error message for this metric definition.
284
+ # @return [String]
285
+ #
286
+ # @!attribute [rw] metric_definition
287
+ # The metric definition that caused this error.
288
+ # @return [Types::MetricDefinitionRequest]
289
+ #
290
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/BatchCreateRumMetricDefinitionsError AWS API Documentation
291
+ #
292
+ class BatchCreateRumMetricDefinitionsError < Struct.new(
293
+ :error_code,
294
+ :error_message,
295
+ :metric_definition)
296
+ SENSITIVE = []
297
+ include Aws::Structure
298
+ end
299
+
300
+ # @note When making an API call, you may pass BatchCreateRumMetricDefinitionsRequest
301
+ # data as a hash:
302
+ #
303
+ # {
304
+ # app_monitor_name: "AppMonitorName", # required
305
+ # destination: "CloudWatch", # required, accepts CloudWatch, Evidently
306
+ # destination_arn: "DestinationArn",
307
+ # metric_definitions: [ # required
308
+ # {
309
+ # dimension_keys: {
310
+ # "DimensionKey" => "DimensionName",
311
+ # },
312
+ # event_pattern: "EventPattern",
313
+ # name: "MetricName", # required
314
+ # unit_label: "UnitLabel",
315
+ # value_key: "ValueKey",
316
+ # },
317
+ # ],
318
+ # }
319
+ #
320
+ # @!attribute [rw] app_monitor_name
321
+ # The name of the CloudWatch RUM app monitor that is to send the
322
+ # metrics.
323
+ # @return [String]
324
+ #
325
+ # @!attribute [rw] destination
326
+ # The destination to send the metrics to. Valid values are
327
+ # `CloudWatch` and `Evidently`. If you specify `Evidently`, you must
328
+ # also specify the ARN of the CloudWatchEvidently experiment that will
329
+ # receive the metrics and an IAM role that has permission to write to
330
+ # the experiment.
331
+ # @return [String]
332
+ #
333
+ # @!attribute [rw] destination_arn
334
+ # This parameter is required if `Destination` is `Evidently`. If
335
+ # `Destination` is `CloudWatch`, do not use this parameter.
336
+ #
337
+ # This parameter specifies the ARN of the Evidently experiment that is
338
+ # to receive the metrics. You must have already defined this
339
+ # experiment as a valid destination. For more information, see
340
+ # [PutRumMetricsDestination][1].
341
+ #
342
+ #
343
+ #
344
+ # [1]: https://docs.aws.amazon.com/cloudwatchrum/latest/APIReference/API_PutRumMetricsDestination.html
345
+ # @return [String]
346
+ #
347
+ # @!attribute [rw] metric_definitions
348
+ # An array of structures which define the metrics that you want to
349
+ # send.
350
+ # @return [Array<Types::MetricDefinitionRequest>]
351
+ #
352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/BatchCreateRumMetricDefinitionsRequest AWS API Documentation
353
+ #
354
+ class BatchCreateRumMetricDefinitionsRequest < Struct.new(
355
+ :app_monitor_name,
356
+ :destination,
357
+ :destination_arn,
358
+ :metric_definitions)
359
+ SENSITIVE = []
360
+ include Aws::Structure
361
+ end
362
+
363
+ # @!attribute [rw] errors
364
+ # An array of error objects, if the operation caused any errors.
365
+ # @return [Array<Types::BatchCreateRumMetricDefinitionsError>]
366
+ #
367
+ # @!attribute [rw] metric_definitions
368
+ # An array of structures that define the extended metrics.
369
+ # @return [Array<Types::MetricDefinition>]
370
+ #
371
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/BatchCreateRumMetricDefinitionsResponse AWS API Documentation
372
+ #
373
+ class BatchCreateRumMetricDefinitionsResponse < Struct.new(
374
+ :errors,
375
+ :metric_definitions)
376
+ SENSITIVE = []
377
+ include Aws::Structure
378
+ end
379
+
380
+ # A structure that defines one error caused by a
381
+ # [BatchCreateRumMetricsDefinitions][1] operation.
382
+ #
383
+ #
384
+ #
385
+ # [1]: https://docs.aws.amazon.com/cloudwatchrum/latest/APIReference/API_BatchDeleteRumMetricsDefinitions.html
386
+ #
387
+ # @!attribute [rw] error_code
388
+ # The error code.
389
+ # @return [String]
390
+ #
391
+ # @!attribute [rw] error_message
392
+ # The error message for this metric definition.
393
+ # @return [String]
394
+ #
395
+ # @!attribute [rw] metric_definition_id
396
+ # The ID of the metric definition that caused this error.
397
+ # @return [String]
398
+ #
399
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/BatchDeleteRumMetricDefinitionsError AWS API Documentation
400
+ #
401
+ class BatchDeleteRumMetricDefinitionsError < Struct.new(
402
+ :error_code,
403
+ :error_message,
404
+ :metric_definition_id)
405
+ SENSITIVE = []
406
+ include Aws::Structure
407
+ end
408
+
409
+ # @note When making an API call, you may pass BatchDeleteRumMetricDefinitionsRequest
410
+ # data as a hash:
411
+ #
412
+ # {
413
+ # app_monitor_name: "AppMonitorName", # required
414
+ # destination: "CloudWatch", # required, accepts CloudWatch, Evidently
415
+ # destination_arn: "DestinationArn",
416
+ # metric_definition_ids: ["MetricDefinitionId"], # required
417
+ # }
418
+ #
419
+ # @!attribute [rw] app_monitor_name
420
+ # The name of the CloudWatch RUM app monitor that is sending these
421
+ # metrics.
422
+ # @return [String]
423
+ #
424
+ # @!attribute [rw] destination
425
+ # Defines the destination where you want to stop sending the specified
426
+ # metrics. Valid values are `CloudWatch` and `Evidently`. If you
427
+ # specify `Evidently`, you must also specify the ARN of the
428
+ # CloudWatchEvidently experiment that is to be the destination and an
429
+ # IAM role that has permission to write to the experiment.
430
+ # @return [String]
431
+ #
432
+ # @!attribute [rw] destination_arn
433
+ # This parameter is required if `Destination` is `Evidently`. If
434
+ # `Destination` is `CloudWatch`, do not use this parameter.
435
+ #
436
+ # This parameter specifies the ARN of the Evidently experiment that
437
+ # was receiving the metrics that are being deleted.
438
+ # @return [String]
439
+ #
440
+ # @!attribute [rw] metric_definition_ids
441
+ # An array of structures which define the metrics that you want to
442
+ # stop sending.
443
+ # @return [Array<String>]
444
+ #
445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/BatchDeleteRumMetricDefinitionsRequest AWS API Documentation
446
+ #
447
+ class BatchDeleteRumMetricDefinitionsRequest < Struct.new(
448
+ :app_monitor_name,
449
+ :destination,
450
+ :destination_arn,
451
+ :metric_definition_ids)
452
+ SENSITIVE = []
453
+ include Aws::Structure
454
+ end
455
+
456
+ # @!attribute [rw] errors
457
+ # An array of error objects, if the operation caused any errors.
458
+ # @return [Array<Types::BatchDeleteRumMetricDefinitionsError>]
459
+ #
460
+ # @!attribute [rw] metric_definition_ids
461
+ # The IDs of the metric definitions that were deleted.
462
+ # @return [Array<String>]
463
+ #
464
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/BatchDeleteRumMetricDefinitionsResponse AWS API Documentation
465
+ #
466
+ class BatchDeleteRumMetricDefinitionsResponse < Struct.new(
467
+ :errors,
468
+ :metric_definition_ids)
469
+ SENSITIVE = []
470
+ include Aws::Structure
471
+ end
472
+
473
+ # @note When making an API call, you may pass BatchGetRumMetricDefinitionsRequest
474
+ # data as a hash:
475
+ #
476
+ # {
477
+ # app_monitor_name: "AppMonitorName", # required
478
+ # destination: "CloudWatch", # required, accepts CloudWatch, Evidently
479
+ # destination_arn: "DestinationArn",
480
+ # max_results: 1,
481
+ # next_token: "String",
482
+ # }
483
+ #
484
+ # @!attribute [rw] app_monitor_name
485
+ # The name of the CloudWatch RUM app monitor that is sending the
486
+ # metrics.
487
+ # @return [String]
488
+ #
489
+ # @!attribute [rw] destination
490
+ # The type of destination that you want to view metrics for. Valid
491
+ # values are `CloudWatch` and `Evidently`.
492
+ # @return [String]
493
+ #
494
+ # @!attribute [rw] destination_arn
495
+ # This parameter is required if `Destination` is `Evidently`. If
496
+ # `Destination` is `CloudWatch`, do not use this parameter.
497
+ #
498
+ # This parameter specifies the ARN of the Evidently experiment that
499
+ # corresponds to the destination.
500
+ # @return [String]
501
+ #
502
+ # @!attribute [rw] max_results
503
+ # The maximum number of results to return in one operation. The
504
+ # default is 50. The maximum that you can specify is 100.
505
+ #
506
+ # To retrieve the remaining results, make another call with the
507
+ # returned `NextToken` value.
508
+ # @return [Integer]
509
+ #
510
+ # @!attribute [rw] next_token
511
+ # Use the token returned by the previous operation to request the next
512
+ # page of results.
513
+ # @return [String]
514
+ #
515
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/BatchGetRumMetricDefinitionsRequest AWS API Documentation
516
+ #
517
+ class BatchGetRumMetricDefinitionsRequest < Struct.new(
518
+ :app_monitor_name,
519
+ :destination,
520
+ :destination_arn,
521
+ :max_results,
522
+ :next_token)
523
+ SENSITIVE = []
524
+ include Aws::Structure
525
+ end
526
+
527
+ # @!attribute [rw] metric_definitions
528
+ # An array of structures that display information about the metrics
529
+ # that are sent by the specified app monitor to the specified
530
+ # destination.
531
+ # @return [Array<Types::MetricDefinition>]
532
+ #
533
+ # @!attribute [rw] next_token
534
+ # A token that you can use in a subsequent operation to retrieve the
535
+ # next set of results.
536
+ # @return [String]
537
+ #
538
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/BatchGetRumMetricDefinitionsResponse AWS API Documentation
539
+ #
540
+ class BatchGetRumMetricDefinitionsResponse < Struct.new(
541
+ :metric_definitions,
542
+ :next_token)
543
+ SENSITIVE = []
544
+ include Aws::Structure
545
+ end
546
+
269
547
  # This operation attempted to create a resource that already exists.
270
548
  #
271
549
  # @!attribute [rw] message
@@ -451,6 +729,46 @@ module Aws::CloudWatchRUM
451
729
  #
452
730
  class DeleteAppMonitorResponse < Aws::EmptyStructure; end
453
731
 
732
+ # @note When making an API call, you may pass DeleteRumMetricsDestinationRequest
733
+ # data as a hash:
734
+ #
735
+ # {
736
+ # app_monitor_name: "AppMonitorName", # required
737
+ # destination: "CloudWatch", # required, accepts CloudWatch, Evidently
738
+ # destination_arn: "DestinationArn",
739
+ # }
740
+ #
741
+ # @!attribute [rw] app_monitor_name
742
+ # The name of the app monitor that is sending metrics to the
743
+ # destination that you want to delete.
744
+ # @return [String]
745
+ #
746
+ # @!attribute [rw] destination
747
+ # The type of destination to delete. Valid values are `CloudWatch` and
748
+ # `Evidently`.
749
+ # @return [String]
750
+ #
751
+ # @!attribute [rw] destination_arn
752
+ # This parameter is required if `Destination` is `Evidently`. If
753
+ # `Destination` is `CloudWatch`, do not use this parameter. This
754
+ # parameter specifies the ARN of the Evidently experiment that
755
+ # corresponds to the destination to delete.
756
+ # @return [String]
757
+ #
758
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/DeleteRumMetricsDestinationRequest AWS API Documentation
759
+ #
760
+ class DeleteRumMetricsDestinationRequest < Struct.new(
761
+ :app_monitor_name,
762
+ :destination,
763
+ :destination_arn)
764
+ SENSITIVE = []
765
+ include Aws::Structure
766
+ end
767
+
768
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/DeleteRumMetricsDestinationResponse AWS API Documentation
769
+ #
770
+ class DeleteRumMetricsDestinationResponse < Aws::EmptyStructure; end
771
+
454
772
  # @note When making an API call, you may pass GetAppMonitorDataRequest
455
773
  # data as a hash:
456
774
  #
@@ -584,7 +902,8 @@ module Aws::CloudWatchRUM
584
902
  # }
585
903
  #
586
904
  # @!attribute [rw] max_results
587
- # The maximum number of results to return in one operation.
905
+ # The maximum number of results to return in one operation. The
906
+ # default is 50. The maximum that you can specify is 100.
588
907
  # @return [Integer]
589
908
  #
590
909
  # @!attribute [rw] next_token
@@ -620,6 +939,62 @@ module Aws::CloudWatchRUM
620
939
  include Aws::Structure
621
940
  end
622
941
 
942
+ # @note When making an API call, you may pass ListRumMetricsDestinationsRequest
943
+ # data as a hash:
944
+ #
945
+ # {
946
+ # app_monitor_name: "AppMonitorName", # required
947
+ # max_results: 1,
948
+ # next_token: "String",
949
+ # }
950
+ #
951
+ # @!attribute [rw] app_monitor_name
952
+ # The name of the app monitor associated with the destinations that
953
+ # you want to retrieve.
954
+ # @return [String]
955
+ #
956
+ # @!attribute [rw] max_results
957
+ # The maximum number of results to return in one operation. The
958
+ # default is 50. The maximum that you can specify is 100.
959
+ #
960
+ # To retrieve the remaining results, make another call with the
961
+ # returned `NextToken` value.
962
+ # @return [Integer]
963
+ #
964
+ # @!attribute [rw] next_token
965
+ # Use the token returned by the previous operation to request the next
966
+ # page of results.
967
+ # @return [String]
968
+ #
969
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/ListRumMetricsDestinationsRequest AWS API Documentation
970
+ #
971
+ class ListRumMetricsDestinationsRequest < Struct.new(
972
+ :app_monitor_name,
973
+ :max_results,
974
+ :next_token)
975
+ SENSITIVE = []
976
+ include Aws::Structure
977
+ end
978
+
979
+ # @!attribute [rw] destinations
980
+ # The list of CloudWatch RUM extended metrics destinations associated
981
+ # with the app monitor that you specified.
982
+ # @return [Array<Types::MetricDestinationSummary>]
983
+ #
984
+ # @!attribute [rw] next_token
985
+ # A token that you can use in a subsequent operation to retrieve the
986
+ # next set of results.
987
+ # @return [String]
988
+ #
989
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/ListRumMetricsDestinationsResponse AWS API Documentation
990
+ #
991
+ class ListRumMetricsDestinationsResponse < Struct.new(
992
+ :destinations,
993
+ :next_token)
994
+ SENSITIVE = []
995
+ include Aws::Structure
996
+ end
997
+
623
998
  # @note When making an API call, you may pass ListTagsForResourceRequest
624
999
  # data as a hash:
625
1000
  #
@@ -657,6 +1032,276 @@ module Aws::CloudWatchRUM
657
1032
  include Aws::Structure
658
1033
  end
659
1034
 
1035
+ # A structure that displays the definition of one extended metric that
1036
+ # RUM sends to CloudWatch or CloudWatch Evidently. For more information,
1037
+ # see [ Additional metrics that you can send to CloudWatch and
1038
+ # CloudWatch Evidently][1].
1039
+ #
1040
+ #
1041
+ #
1042
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-vended-metrics.html
1043
+ #
1044
+ # @!attribute [rw] dimension_keys
1045
+ # This field is a map of field paths to dimension names. It defines
1046
+ # the dimensions to associate with this metric in CloudWatch The value
1047
+ # of this field is used only if the metric destination is
1048
+ # `CloudWatch`. If the metric destination is `Evidently`, the value of
1049
+ # `DimensionKeys` is ignored.
1050
+ # @return [Hash<String,String>]
1051
+ #
1052
+ # @!attribute [rw] event_pattern
1053
+ # The pattern that defines the metric. RUM checks events that happen
1054
+ # in a user's session against the pattern, and events that match the
1055
+ # pattern are sent to the metric destination.
1056
+ #
1057
+ # If the metrics destination is `CloudWatch` and the event also
1058
+ # matches a value in `DimensionKeys`, then the metric is published
1059
+ # with the specified dimensions.
1060
+ # @return [String]
1061
+ #
1062
+ # @!attribute [rw] metric_definition_id
1063
+ # The ID of this metric definition.
1064
+ # @return [String]
1065
+ #
1066
+ # @!attribute [rw] name
1067
+ # The name of the metric that is defined in this structure.
1068
+ # @return [String]
1069
+ #
1070
+ # @!attribute [rw] unit_label
1071
+ # Use this field only if you are sending this metric to CloudWatch. It
1072
+ # defines the CloudWatch metric unit that this metric is measured in.
1073
+ # @return [String]
1074
+ #
1075
+ # @!attribute [rw] value_key
1076
+ # The field within the event object that the metric value is sourced
1077
+ # from.
1078
+ # @return [String]
1079
+ #
1080
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/MetricDefinition AWS API Documentation
1081
+ #
1082
+ class MetricDefinition < Struct.new(
1083
+ :dimension_keys,
1084
+ :event_pattern,
1085
+ :metric_definition_id,
1086
+ :name,
1087
+ :unit_label,
1088
+ :value_key)
1089
+ SENSITIVE = []
1090
+ include Aws::Structure
1091
+ end
1092
+
1093
+ # Use this structure to define one extended metric that RUM will send to
1094
+ # CloudWatch or CloudWatch Evidently. For more information, see [
1095
+ # Additional metrics that you can send to CloudWatch and CloudWatch
1096
+ # Evidently][1].
1097
+ #
1098
+ # Only certain combinations of values for `Name`, `ValueKey`, and
1099
+ # `EventPattern` are valid. In addition to what is displayed in the list
1100
+ # below, the `EventPattern` can also include information used by the
1101
+ # `DimensionKeys` field.
1102
+ #
1103
+ # * If `Name` is `PerformanceNavigationDuration`, then `ValueKey`must be
1104
+ # `event_details.duration` and the `EventPattern` must include
1105
+ # `\{"event_type":["com.amazon.rum.performance_navigation_event"]\}`
1106
+ #
1107
+ # * If `Name` is `PerformanceResourceDuration`, then `ValueKey`must be
1108
+ # `event_details.duration` and the `EventPattern` must include
1109
+ # `\{"event_type":["com.amazon.rum.performance_resource_event"]\}`
1110
+ #
1111
+ # * If `Name` is `NavigationSatisfiedTransaction`, then `ValueKey`must
1112
+ # be null and the `EventPattern` must include `\{ "event_type":
1113
+ # ["com.amazon.rum.performance_navigation_event"], "event_details": \{
1114
+ # "duration": [\{ "numeric": [">",2000] \}] \} \}`
1115
+ #
1116
+ # * If `Name` is `NavigationToleratedTransaction`, then `ValueKey`must
1117
+ # be null and the `EventPattern` must include `\{ "event_type":
1118
+ # ["com.amazon.rum.performance_navigation_event"], "event_details": \{
1119
+ # "duration": [\{ "numeric": [">=",2000,"<"8000] \}] \} \}`
1120
+ #
1121
+ # * If `Name` is `NavigationFrustratedTransaction`, then `ValueKey`must
1122
+ # be null and the `EventPattern` must include `\{ "event_type":
1123
+ # ["com.amazon.rum.performance_navigation_event"], "event_details": \{
1124
+ # "duration": [\{ "numeric": [">=",8000] \}] \} \}`
1125
+ #
1126
+ # * If `Name` is `WebVitalsCumulativeLayoutShift`, then `ValueKey`must
1127
+ # be `event_details.value` and the `EventPattern` must include
1128
+ # `\{"event_type":["com.amazon.rum.cumulative_layout_shift_event"]\}`
1129
+ #
1130
+ # * If `Name` is `WebVitalsFirstInputDelay`, then `ValueKey`must be
1131
+ # `event_details.value` and the `EventPattern` must include
1132
+ # `\{"event_type":["com.amazon.rum.first_input_delay_event"]\}`
1133
+ #
1134
+ # * If `Name` is `WebVitalsLargestContentfulPaint`, then `ValueKey`must
1135
+ # be `event_details.value` and the `EventPattern` must include
1136
+ # `\{"event_type":["com.amazon.rum.largest_contentful_paint_event"]\}`
1137
+ #
1138
+ # * If `Name` is `JsErrorCount`, then `ValueKey`must be null and the
1139
+ # `EventPattern` must include
1140
+ # `\{"event_type":["com.amazon.rum.js_error_event"]\}`
1141
+ #
1142
+ # * If `Name` is `HttpErrorCount`, then `ValueKey`must be null and the
1143
+ # `EventPattern` must include
1144
+ # `\{"event_type":["com.amazon.rum.http_event"]\}`
1145
+ #
1146
+ # * If `Name` is `SessionCount`, then `ValueKey`must be null and the
1147
+ # `EventPattern` must include
1148
+ # `\{"event_type":["com.amazon.rum.session_start_event"]\}`
1149
+ #
1150
+ #
1151
+ #
1152
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-vended-metrics.html
1153
+ #
1154
+ # @note When making an API call, you may pass MetricDefinitionRequest
1155
+ # data as a hash:
1156
+ #
1157
+ # {
1158
+ # dimension_keys: {
1159
+ # "DimensionKey" => "DimensionName",
1160
+ # },
1161
+ # event_pattern: "EventPattern",
1162
+ # name: "MetricName", # required
1163
+ # unit_label: "UnitLabel",
1164
+ # value_key: "ValueKey",
1165
+ # }
1166
+ #
1167
+ # @!attribute [rw] dimension_keys
1168
+ # Use this field only if you are sending the metric to CloudWatch.
1169
+ #
1170
+ # This field is a map of field paths to dimension names. It defines
1171
+ # the dimensions to associate with this metric in CloudWatch. Valid
1172
+ # values for the entries in this field are the following:
1173
+ #
1174
+ # * `"metadata.pageId": "PageId"`
1175
+ #
1176
+ # * `"metadata.browserName": "BrowserName"`
1177
+ #
1178
+ # * `"metadata.deviceType": "DeviceType"`
1179
+ #
1180
+ # * `"metadata.osName": "OSName"`
1181
+ #
1182
+ # * `"metadata.countryCode": "CountryCode"`
1183
+ #
1184
+ # * `"event_details.fileType": "FileType"`
1185
+ # ^
1186
+ #
1187
+ # <p> All dimensions listed in this field must also be included in <code>EventPattern</code>.</p>
1188
+ # @return [Hash<String,String>]
1189
+ #
1190
+ # @!attribute [rw] event_pattern
1191
+ # The pattern that defines the metric, specified as a JSON object. RUM
1192
+ # checks events that happen in a user's session against the pattern,
1193
+ # and events that match the pattern are sent to the metric
1194
+ # destination.
1195
+ #
1196
+ # When you define extended metrics, the metric definition is not valid
1197
+ # if `EventPattern` is omitted.
1198
+ #
1199
+ # Example event patterns:
1200
+ #
1201
+ # * `'\{ "event_type": ["com.amazon.rum.js_error_event"], "metadata":
1202
+ # \{ "browserName": [ "Chrome", "Safari" ], \} \}'`
1203
+ #
1204
+ # * `'\{ "event_type":
1205
+ # ["com.amazon.rum.performance_navigation_event"], "metadata": \{
1206
+ # "browserName": [ "Chrome", "Firefox" ] \}, "event_details": \{
1207
+ # "duration": [\{ "numeric": [ "<", 2000 ] \}] \} \}'`
1208
+ #
1209
+ # * `'\{ "event_type":
1210
+ # ["com.amazon.rum.performance_navigation_event"], "metadata": \{
1211
+ # "browserName": [ "Chrome", "Safari" ], "countryCode": [ "US" ] \},
1212
+ # "event_details": \{ "duration": [\{ "numeric": [ ">=", 2000, "<",
1213
+ # 8000 ] \}] \} \}'`
1214
+ #
1215
+ # If the metrics destination' is `CloudWatch` and the event also
1216
+ # matches a value in `DimensionKeys`, then the metric is published
1217
+ # with the specified dimensions.
1218
+ # @return [String]
1219
+ #
1220
+ # @!attribute [rw] name
1221
+ # The name for the metric that is defined in this structure. Valid
1222
+ # values are the following:
1223
+ #
1224
+ # * `PerformanceNavigationDuration`
1225
+ #
1226
+ # * `PerformanceResourceDuration `
1227
+ #
1228
+ # * `NavigationSatisfiedTransaction`
1229
+ #
1230
+ # * `NavigationToleratedTransaction`
1231
+ #
1232
+ # * `NavigationFrustratedTransaction`
1233
+ #
1234
+ # * `WebVitalsCumulativeLayoutShift`
1235
+ #
1236
+ # * `WebVitalsFirstInputDelay`
1237
+ #
1238
+ # * `WebVitalsLargestContentfulPaint`
1239
+ #
1240
+ # * `JsErrorCount`
1241
+ #
1242
+ # * `HttpErrorCount`
1243
+ #
1244
+ # * `SessionCount`
1245
+ # @return [String]
1246
+ #
1247
+ # @!attribute [rw] unit_label
1248
+ # The CloudWatch metric unit to use for this metric. If you omit this
1249
+ # field, the metric is recorded with no unit.
1250
+ # @return [String]
1251
+ #
1252
+ # @!attribute [rw] value_key
1253
+ # The field within the event object that the metric value is sourced
1254
+ # from.
1255
+ #
1256
+ # If you omit this field, a hardcoded value of 1 is pushed as the
1257
+ # metric value. This is useful if you just want to count the number of
1258
+ # events that the filter catches.
1259
+ #
1260
+ # If this metric is sent to CloudWatch Evidently, this field will be
1261
+ # passed to Evidently raw and Evidently will handle data extraction
1262
+ # from the event.
1263
+ # @return [String]
1264
+ #
1265
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/MetricDefinitionRequest AWS API Documentation
1266
+ #
1267
+ class MetricDefinitionRequest < Struct.new(
1268
+ :dimension_keys,
1269
+ :event_pattern,
1270
+ :name,
1271
+ :unit_label,
1272
+ :value_key)
1273
+ SENSITIVE = []
1274
+ include Aws::Structure
1275
+ end
1276
+
1277
+ # A structure that displays information about one destination that
1278
+ # CloudWatch RUM sends extended metrics to.
1279
+ #
1280
+ # @!attribute [rw] destination
1281
+ # Specifies whether the destination is `CloudWatch` or `Evidently`.
1282
+ # @return [String]
1283
+ #
1284
+ # @!attribute [rw] destination_arn
1285
+ # If the destination is `Evidently`, this specifies the ARN of the
1286
+ # Evidently experiment that receives the metrics.
1287
+ # @return [String]
1288
+ #
1289
+ # @!attribute [rw] iam_role_arn
1290
+ # This field appears only when the destination is `Evidently`. It
1291
+ # specifies the ARN of the IAM role that is used to write to the
1292
+ # Evidently experiment that receives the metrics.
1293
+ # @return [String]
1294
+ #
1295
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/MetricDestinationSummary AWS API Documentation
1296
+ #
1297
+ class MetricDestinationSummary < Struct.new(
1298
+ :destination,
1299
+ :destination_arn,
1300
+ :iam_role_arn)
1301
+ SENSITIVE = []
1302
+ include Aws::Structure
1303
+ end
1304
+
660
1305
  # @note When making an API call, you may pass PutRumEventsRequest
661
1306
  # data as a hash:
662
1307
  #
@@ -721,6 +1366,59 @@ module Aws::CloudWatchRUM
721
1366
  #
722
1367
  class PutRumEventsResponse < Aws::EmptyStructure; end
723
1368
 
1369
+ # @note When making an API call, you may pass PutRumMetricsDestinationRequest
1370
+ # data as a hash:
1371
+ #
1372
+ # {
1373
+ # app_monitor_name: "AppMonitorName", # required
1374
+ # destination: "CloudWatch", # required, accepts CloudWatch, Evidently
1375
+ # destination_arn: "DestinationArn",
1376
+ # iam_role_arn: "IamRoleArn",
1377
+ # }
1378
+ #
1379
+ # @!attribute [rw] app_monitor_name
1380
+ # The name of the CloudWatch RUM app monitor that will send the
1381
+ # metrics.
1382
+ # @return [String]
1383
+ #
1384
+ # @!attribute [rw] destination
1385
+ # Defines the destination to send the metrics to. Valid values are
1386
+ # `CloudWatch` and `Evidently`. If you specify `Evidently`, you must
1387
+ # also specify the ARN of the CloudWatchEvidently experiment that is
1388
+ # to be the destination and an IAM role that has permission to write
1389
+ # to the experiment.
1390
+ # @return [String]
1391
+ #
1392
+ # @!attribute [rw] destination_arn
1393
+ # Use this parameter only if `Destination` is `Evidently`. This
1394
+ # parameter specifies the ARN of the Evidently experiment that will
1395
+ # receive the extended metrics.
1396
+ # @return [String]
1397
+ #
1398
+ # @!attribute [rw] iam_role_arn
1399
+ # This parameter is required if `Destination` is `Evidently`. If
1400
+ # `Destination` is `CloudWatch`, do not use this parameter.
1401
+ #
1402
+ # This parameter specifies the ARN of an IAM role that RUM will assume
1403
+ # to write to the Evidently experiment that you are sending metrics
1404
+ # to. This role must have permission to write to that experiment.
1405
+ # @return [String]
1406
+ #
1407
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/PutRumMetricsDestinationRequest AWS API Documentation
1408
+ #
1409
+ class PutRumMetricsDestinationRequest < Struct.new(
1410
+ :app_monitor_name,
1411
+ :destination,
1412
+ :destination_arn,
1413
+ :iam_role_arn)
1414
+ SENSITIVE = []
1415
+ include Aws::Structure
1416
+ end
1417
+
1418
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/PutRumMetricsDestinationResponse AWS API Documentation
1419
+ #
1420
+ class PutRumMetricsDestinationResponse < Aws::EmptyStructure; end
1421
+
724
1422
  # A structure that defines a key and values that you can use to filter
725
1423
  # the results. The only performance events that are returned are those
726
1424
  # that have values matching the ones that you specify in one of your
@@ -1036,6 +1734,76 @@ module Aws::CloudWatchRUM
1036
1734
  #
1037
1735
  class UpdateAppMonitorResponse < Aws::EmptyStructure; end
1038
1736
 
1737
+ # @note When making an API call, you may pass UpdateRumMetricDefinitionRequest
1738
+ # data as a hash:
1739
+ #
1740
+ # {
1741
+ # app_monitor_name: "AppMonitorName", # required
1742
+ # destination: "CloudWatch", # required, accepts CloudWatch, Evidently
1743
+ # destination_arn: "DestinationArn",
1744
+ # metric_definition: { # required
1745
+ # dimension_keys: {
1746
+ # "DimensionKey" => "DimensionName",
1747
+ # },
1748
+ # event_pattern: "EventPattern",
1749
+ # name: "MetricName", # required
1750
+ # unit_label: "UnitLabel",
1751
+ # value_key: "ValueKey",
1752
+ # },
1753
+ # metric_definition_id: "MetricDefinitionId", # required
1754
+ # }
1755
+ #
1756
+ # @!attribute [rw] app_monitor_name
1757
+ # The name of the CloudWatch RUM app monitor that sends these metrics.
1758
+ # @return [String]
1759
+ #
1760
+ # @!attribute [rw] destination
1761
+ # The destination to send the metrics to. Valid values are
1762
+ # `CloudWatch` and `Evidently`. If you specify `Evidently`, you must
1763
+ # also specify the ARN of the CloudWatchEvidently experiment that will
1764
+ # receive the metrics and an IAM role that has permission to write to
1765
+ # the experiment.
1766
+ # @return [String]
1767
+ #
1768
+ # @!attribute [rw] destination_arn
1769
+ # This parameter is required if `Destination` is `Evidently`. If
1770
+ # `Destination` is `CloudWatch`, do not use this parameter.
1771
+ #
1772
+ # This parameter specifies the ARN of the Evidently experiment that is
1773
+ # to receive the metrics. You must have already defined this
1774
+ # experiment as a valid destination. For more information, see
1775
+ # [PutRumMetricsDestination][1].
1776
+ #
1777
+ #
1778
+ #
1779
+ # [1]: https://docs.aws.amazon.com/cloudwatchrum/latest/APIReference/API_PutRumMetricsDestination.html
1780
+ # @return [String]
1781
+ #
1782
+ # @!attribute [rw] metric_definition
1783
+ # A structure that contains the new definition that you want to use
1784
+ # for this metric.
1785
+ # @return [Types::MetricDefinitionRequest]
1786
+ #
1787
+ # @!attribute [rw] metric_definition_id
1788
+ # The ID of the metric definition to update.
1789
+ # @return [String]
1790
+ #
1791
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/UpdateRumMetricDefinitionRequest AWS API Documentation
1792
+ #
1793
+ class UpdateRumMetricDefinitionRequest < Struct.new(
1794
+ :app_monitor_name,
1795
+ :destination,
1796
+ :destination_arn,
1797
+ :metric_definition,
1798
+ :metric_definition_id)
1799
+ SENSITIVE = []
1800
+ include Aws::Structure
1801
+ end
1802
+
1803
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/UpdateRumMetricDefinitionResponse AWS API Documentation
1804
+ #
1805
+ class UpdateRumMetricDefinitionResponse < Aws::EmptyStructure; end
1806
+
1039
1807
  # A structure that contains information about the user session that this
1040
1808
  # batch of events was collected from.
1041
1809
  #