aws-sdk-cloudwatchrum 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1083 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::CloudWatchRUM
11
+ module Types
12
+
13
+ # You don't have sufficient permissions to perform this action.
14
+ #
15
+ # @!attribute [rw] message
16
+ # @return [String]
17
+ #
18
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/AccessDeniedException AWS API Documentation
19
+ #
20
+ class AccessDeniedException < Struct.new(
21
+ :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
26
+ # A RUM app monitor collects telemetry data from your application and
27
+ # sends that data to RUM. The data includes performance and reliability
28
+ # information such as page load time, client-side errors, and user
29
+ # behavior.
30
+ #
31
+ # @!attribute [rw] app_monitor_configuration
32
+ # A structure that contains much of the configuration data for the app
33
+ # monitor.
34
+ # @return [Types::AppMonitorConfiguration]
35
+ #
36
+ # @!attribute [rw] created
37
+ # The date and time that this app monitor was created.
38
+ # @return [String]
39
+ #
40
+ # @!attribute [rw] data_storage
41
+ # A structure that contains information about whether this app monitor
42
+ # stores a copy of the telemetry data that RUM collects using
43
+ # CloudWatch Logs.
44
+ # @return [Types::DataStorage]
45
+ #
46
+ # @!attribute [rw] domain
47
+ # The top-level internet domain name for which your application has
48
+ # administrative authority.
49
+ # @return [String]
50
+ #
51
+ # @!attribute [rw] id
52
+ # The unique ID of this app monitor.
53
+ # @return [String]
54
+ #
55
+ # @!attribute [rw] last_modified
56
+ # The date and time of the most recent changes to this app monitor's
57
+ # configuration.
58
+ # @return [String]
59
+ #
60
+ # @!attribute [rw] name
61
+ # The name of the app monitor.
62
+ # @return [String]
63
+ #
64
+ # @!attribute [rw] state
65
+ # The current state of the app monitor.
66
+ # @return [String]
67
+ #
68
+ # @!attribute [rw] tags
69
+ # The list of tag keys and values associated with this app monitor.
70
+ # @return [Hash<String,String>]
71
+ #
72
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/AppMonitor AWS API Documentation
73
+ #
74
+ class AppMonitor < Struct.new(
75
+ :app_monitor_configuration,
76
+ :created,
77
+ :data_storage,
78
+ :domain,
79
+ :id,
80
+ :last_modified,
81
+ :name,
82
+ :state,
83
+ :tags)
84
+ SENSITIVE = []
85
+ include Aws::Structure
86
+ end
87
+
88
+ # This structure contains much of the configuration data for the app
89
+ # monitor.
90
+ #
91
+ # @note When making an API call, you may pass AppMonitorConfiguration
92
+ # data as a hash:
93
+ #
94
+ # {
95
+ # allow_cookies: false,
96
+ # enable_x_ray: false,
97
+ # excluded_pages: ["Url"],
98
+ # favorite_pages: ["String"],
99
+ # guest_role_arn: "Arn",
100
+ # identity_pool_id: "IdentityPoolId",
101
+ # included_pages: ["Url"],
102
+ # session_sample_rate: 1.0,
103
+ # telemetries: ["errors"], # accepts errors, performance, http
104
+ # }
105
+ #
106
+ # @!attribute [rw] allow_cookies
107
+ # If you set this to `true`, the RUM web client sets two cookies, a
108
+ # session cookie and a user cookie. The cookies allow the RUM web
109
+ # client to collect data relating to the number of users an
110
+ # application has and the behavior of the application across a
111
+ # sequence of events. Cookies are stored in the top-level domain of
112
+ # the current page.
113
+ # @return [Boolean]
114
+ #
115
+ # @!attribute [rw] enable_x_ray
116
+ # If you set this to `true`, RUM enables X-Ray tracing for the user
117
+ # sessions that RUM samples. RUM adds an X-Ray trace header to allowed
118
+ # HTTP requests. It also records an X-Ray segment for allowed HTTP
119
+ # requests. You can see traces and segments from these user sessions
120
+ # in the X-Ray console and the CloudWatch ServiceLens console. For
121
+ # more information, see [What is X-Ray?][1]
122
+ #
123
+ #
124
+ #
125
+ # [1]: https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html
126
+ # @return [Boolean]
127
+ #
128
+ # @!attribute [rw] excluded_pages
129
+ # A list of URLs in your website or application to exclude from RUM
130
+ # data collection.
131
+ #
132
+ # You can't include both `ExcludedPages` and `IncludedPages` in the
133
+ # same operation.
134
+ # @return [Array<String>]
135
+ #
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.
139
+ # @return [Array<String>]
140
+ #
141
+ # @!attribute [rw] guest_role_arn
142
+ # The ARN of the guest IAM role that is attached to the Amazon Cognito
143
+ # identity pool that is used to authorize the sending of data to RUM.
144
+ # @return [String]
145
+ #
146
+ # @!attribute [rw] identity_pool_id
147
+ # The ID of the Amazon Cognito identity pool that is used to authorize
148
+ # the sending of data to RUM.
149
+ # @return [String]
150
+ #
151
+ # @!attribute [rw] included_pages
152
+ # If this app monitor is to collect data from only certain pages in
153
+ # your application, this structure lists those pages.
154
+ #
155
+ # <p>You can't include both <code>ExcludedPages</code> and <code>IncludedPages</code> in the same operation.</p>
156
+ # @return [Array<String>]
157
+ #
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.
162
+ #
163
+ # The number you specify is the percentage of user sessions that will
164
+ # be used.
165
+ #
166
+ # If you omit this parameter, the default of 10 is used.
167
+ # @return [Float]
168
+ #
169
+ # @!attribute [rw] telemetries
170
+ # An array that lists the types of telemetry data that this app
171
+ # monitor is to collect.
172
+ #
173
+ # * `errors` indicates that RUM collects data about unhandled
174
+ # JavaScript errors raised by your application.
175
+ #
176
+ # * `performance` indicates that RUM collects performance data about
177
+ # how your application and its resources are loaded and rendered.
178
+ # This includes Core Web Vitals.
179
+ #
180
+ # * `http` indicates that RUM collects data about HTTP errors thrown
181
+ # by your application.
182
+ # @return [Array<String>]
183
+ #
184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/AppMonitorConfiguration AWS API Documentation
185
+ #
186
+ class AppMonitorConfiguration < Struct.new(
187
+ :allow_cookies,
188
+ :enable_x_ray,
189
+ :excluded_pages,
190
+ :favorite_pages,
191
+ :guest_role_arn,
192
+ :identity_pool_id,
193
+ :included_pages,
194
+ :session_sample_rate,
195
+ :telemetries)
196
+ SENSITIVE = []
197
+ include Aws::Structure
198
+ end
199
+
200
+ # A structure that contains information about the RUM app monitor.
201
+ #
202
+ # @note When making an API call, you may pass AppMonitorDetails
203
+ # data as a hash:
204
+ #
205
+ # {
206
+ # id: "String",
207
+ # name: "String",
208
+ # version: "String",
209
+ # }
210
+ #
211
+ # @!attribute [rw] id
212
+ # The unique ID of the app monitor.
213
+ # @return [String]
214
+ #
215
+ # @!attribute [rw] name
216
+ # The name of the app monitor.
217
+ # @return [String]
218
+ #
219
+ # @!attribute [rw] version
220
+ # The version of the app monitor.
221
+ # @return [String]
222
+ #
223
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/AppMonitorDetails AWS API Documentation
224
+ #
225
+ class AppMonitorDetails < Struct.new(
226
+ :id,
227
+ :name,
228
+ :version)
229
+ SENSITIVE = []
230
+ include Aws::Structure
231
+ end
232
+
233
+ # A structure that includes some data about app monitors and their
234
+ # settings.
235
+ #
236
+ # @!attribute [rw] created
237
+ # The date and time that the app monitor was created.
238
+ # @return [String]
239
+ #
240
+ # @!attribute [rw] id
241
+ # The unique ID of this app monitor.
242
+ # @return [String]
243
+ #
244
+ # @!attribute [rw] last_modified
245
+ # The date and time of the most recent changes to this app monitor's
246
+ # configuration.
247
+ # @return [String]
248
+ #
249
+ # @!attribute [rw] name
250
+ # The name of this app monitor.
251
+ # @return [String]
252
+ #
253
+ # @!attribute [rw] state
254
+ # The current state of this app monitor.
255
+ # @return [String]
256
+ #
257
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/AppMonitorSummary AWS API Documentation
258
+ #
259
+ class AppMonitorSummary < Struct.new(
260
+ :created,
261
+ :id,
262
+ :last_modified,
263
+ :name,
264
+ :state)
265
+ SENSITIVE = []
266
+ include Aws::Structure
267
+ end
268
+
269
+ # This operation attempted to create a resource that already exists.
270
+ #
271
+ # @!attribute [rw] message
272
+ # @return [String]
273
+ #
274
+ # @!attribute [rw] resource_name
275
+ # The name of the resource that is associated with the error.
276
+ # @return [String]
277
+ #
278
+ # @!attribute [rw] resource_type
279
+ # The type of the resource that is associated with the error.
280
+ # @return [String]
281
+ #
282
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/ConflictException AWS API Documentation
283
+ #
284
+ class ConflictException < Struct.new(
285
+ :message,
286
+ :resource_name,
287
+ :resource_type)
288
+ SENSITIVE = []
289
+ include Aws::Structure
290
+ end
291
+
292
+ # @note When making an API call, you may pass CreateAppMonitorRequest
293
+ # data as a hash:
294
+ #
295
+ # {
296
+ # app_monitor_configuration: {
297
+ # allow_cookies: false,
298
+ # enable_x_ray: false,
299
+ # excluded_pages: ["Url"],
300
+ # favorite_pages: ["String"],
301
+ # guest_role_arn: "Arn",
302
+ # identity_pool_id: "IdentityPoolId",
303
+ # included_pages: ["Url"],
304
+ # session_sample_rate: 1.0,
305
+ # telemetries: ["errors"], # accepts errors, performance, http
306
+ # },
307
+ # cw_log_enabled: false,
308
+ # domain: "AppMonitorDomain", # required
309
+ # name: "AppMonitorName", # required
310
+ # tags: {
311
+ # "TagKey" => "TagValue",
312
+ # },
313
+ # }
314
+ #
315
+ # @!attribute [rw] app_monitor_configuration
316
+ # A structure that contains much of the configuration data for the app
317
+ # monitor. If you are using Amazon Cognito for authorization, you must
318
+ # include this structure in your request, and it must include the ID
319
+ # of the Amazon Cognito identity pool to use for authorization. If you
320
+ # don't include `AppMonitorConfiguration`, you must set up your own
321
+ # authorization method. For more information, see [Authorize your
322
+ # application to send data to Amazon Web Services][1].
323
+ #
324
+ # If you omit this argument, the sample rate used for RUM is set to
325
+ # 10% of the user sessions.
326
+ #
327
+ #
328
+ #
329
+ # [1]: https://docs.aws.amazon.com/monitoring/CloudWatch-RUM-get-started-authorization.html
330
+ # @return [Types::AppMonitorConfiguration]
331
+ #
332
+ # @!attribute [rw] cw_log_enabled
333
+ # Data collected by RUM is kept by RUM for 30 days and then deleted.
334
+ # This parameter specifies whether RUM sends a copy of this telemetry
335
+ # data to Amazon CloudWatch Logs in your account. This enables you to
336
+ # keep the telemetry data for more than 30 days, but it does incur
337
+ # Amazon CloudWatch Logs charges.
338
+ #
339
+ # If you omit this parameter, the default is `false`.
340
+ # @return [Boolean]
341
+ #
342
+ # @!attribute [rw] domain
343
+ # The top-level internet domain name for which your application has
344
+ # administrative authority.
345
+ # @return [String]
346
+ #
347
+ # @!attribute [rw] name
348
+ # A name for the app monitor.
349
+ # @return [String]
350
+ #
351
+ # @!attribute [rw] tags
352
+ # Assigns one or more tags (key-value pairs) to the app monitor.
353
+ #
354
+ # Tags can help you organize and categorize your resources. You can
355
+ # also use them to scope user permissions by granting a user
356
+ # permission to access or change only resources with certain tag
357
+ # values.
358
+ #
359
+ # Tags don't have any semantic meaning to Amazon Web Services and are
360
+ # interpreted strictly as strings of characters.
361
+ #
362
+ # <p>You can associate as many as 50 tags with an app monitor.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a>.</p>
363
+ # @return [Hash<String,String>]
364
+ #
365
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/CreateAppMonitorRequest AWS API Documentation
366
+ #
367
+ class CreateAppMonitorRequest < Struct.new(
368
+ :app_monitor_configuration,
369
+ :cw_log_enabled,
370
+ :domain,
371
+ :name,
372
+ :tags)
373
+ SENSITIVE = []
374
+ include Aws::Structure
375
+ end
376
+
377
+ # @!attribute [rw] id
378
+ # The unique ID of the new app monitor.
379
+ # @return [String]
380
+ #
381
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/CreateAppMonitorResponse AWS API Documentation
382
+ #
383
+ class CreateAppMonitorResponse < Struct.new(
384
+ :id)
385
+ SENSITIVE = []
386
+ include Aws::Structure
387
+ end
388
+
389
+ # A structure that contains the information about whether the app
390
+ # monitor stores copies of the data that RUM collects in CloudWatch
391
+ # Logs. If it does, this structure also contains the name of the log
392
+ # group.
393
+ #
394
+ # @!attribute [rw] cw_log_enabled
395
+ # Indicated whether the app monitor stores copies of the data that RUM
396
+ # collects in CloudWatch Logs.
397
+ # @return [Boolean]
398
+ #
399
+ # @!attribute [rw] cw_log_group
400
+ # The name of the log group where the copies are stored.
401
+ # @return [String]
402
+ #
403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/CwLog AWS API Documentation
404
+ #
405
+ class CwLog < Struct.new(
406
+ :cw_log_enabled,
407
+ :cw_log_group)
408
+ SENSITIVE = []
409
+ include Aws::Structure
410
+ end
411
+
412
+ # A structure that contains information about whether this app monitor
413
+ # stores a copy of the telemetry data that RUM collects using CloudWatch
414
+ # Logs.
415
+ #
416
+ # @!attribute [rw] cw_log
417
+ # A structure that contains the information about whether the app
418
+ # monitor stores copies of the data that RUM collects in CloudWatch
419
+ # Logs. If it does, this structure also contains the name of the log
420
+ # group.
421
+ # @return [Types::CwLog]
422
+ #
423
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/DataStorage AWS API Documentation
424
+ #
425
+ class DataStorage < Struct.new(
426
+ :cw_log)
427
+ SENSITIVE = []
428
+ include Aws::Structure
429
+ end
430
+
431
+ # @note When making an API call, you may pass DeleteAppMonitorRequest
432
+ # data as a hash:
433
+ #
434
+ # {
435
+ # name: "AppMonitorName", # required
436
+ # }
437
+ #
438
+ # @!attribute [rw] name
439
+ # The name of the app monitor to delete.
440
+ # @return [String]
441
+ #
442
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/DeleteAppMonitorRequest AWS API Documentation
443
+ #
444
+ class DeleteAppMonitorRequest < Struct.new(
445
+ :name)
446
+ SENSITIVE = []
447
+ include Aws::Structure
448
+ end
449
+
450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/DeleteAppMonitorResponse AWS API Documentation
451
+ #
452
+ class DeleteAppMonitorResponse < Aws::EmptyStructure; end
453
+
454
+ # @note When making an API call, you may pass GetAppMonitorDataRequest
455
+ # data as a hash:
456
+ #
457
+ # {
458
+ # filters: [
459
+ # {
460
+ # name: "QueryFilterKey",
461
+ # values: ["QueryFilterValue"],
462
+ # },
463
+ # ],
464
+ # max_results: 1,
465
+ # name: "AppMonitorName", # required
466
+ # next_token: "Token",
467
+ # time_range: { # required
468
+ # after: 1, # required
469
+ # before: 1,
470
+ # },
471
+ # }
472
+ #
473
+ # @!attribute [rw] filters
474
+ # An array of structures that you can use to filter the results to
475
+ # those that match one or more sets of key-value pairs that you
476
+ # specify.
477
+ # @return [Array<Types::QueryFilter>]
478
+ #
479
+ # @!attribute [rw] max_results
480
+ # The maximum number of results to return in one operation.
481
+ # @return [Integer]
482
+ #
483
+ # @!attribute [rw] name
484
+ # The name of the app monitor that collected the data that you want to
485
+ # retrieve.
486
+ # @return [String]
487
+ #
488
+ # @!attribute [rw] next_token
489
+ # Use the token returned by the previous operation to request the next
490
+ # page of results.
491
+ # @return [String]
492
+ #
493
+ # @!attribute [rw] time_range
494
+ # A structure that defines the time range that you want to retrieve
495
+ # results from.
496
+ # @return [Types::TimeRange]
497
+ #
498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/GetAppMonitorDataRequest AWS API Documentation
499
+ #
500
+ class GetAppMonitorDataRequest < Struct.new(
501
+ :filters,
502
+ :max_results,
503
+ :name,
504
+ :next_token,
505
+ :time_range)
506
+ SENSITIVE = []
507
+ include Aws::Structure
508
+ end
509
+
510
+ # @!attribute [rw] events
511
+ # The events that RUM collected that match your request.
512
+ # @return [Array<String>]
513
+ #
514
+ # @!attribute [rw] next_token
515
+ # A token that you can use in a subsequent operation to retrieve the
516
+ # next set of results.
517
+ # @return [String]
518
+ #
519
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/GetAppMonitorDataResponse AWS API Documentation
520
+ #
521
+ class GetAppMonitorDataResponse < Struct.new(
522
+ :events,
523
+ :next_token)
524
+ SENSITIVE = []
525
+ include Aws::Structure
526
+ end
527
+
528
+ # @note When making an API call, you may pass GetAppMonitorRequest
529
+ # data as a hash:
530
+ #
531
+ # {
532
+ # name: "AppMonitorName", # required
533
+ # }
534
+ #
535
+ # @!attribute [rw] name
536
+ # The app monitor to retrieve information for.
537
+ # @return [String]
538
+ #
539
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/GetAppMonitorRequest AWS API Documentation
540
+ #
541
+ class GetAppMonitorRequest < Struct.new(
542
+ :name)
543
+ SENSITIVE = []
544
+ include Aws::Structure
545
+ end
546
+
547
+ # @!attribute [rw] app_monitor
548
+ # A structure containing all the configuration information for the app
549
+ # monitor.
550
+ # @return [Types::AppMonitor]
551
+ #
552
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/GetAppMonitorResponse AWS API Documentation
553
+ #
554
+ class GetAppMonitorResponse < Struct.new(
555
+ :app_monitor)
556
+ SENSITIVE = []
557
+ include Aws::Structure
558
+ end
559
+
560
+ # Internal service exception.
561
+ #
562
+ # @!attribute [rw] message
563
+ # @return [String]
564
+ #
565
+ # @!attribute [rw] retry_after_seconds
566
+ # The value of a parameter in the request caused an error.
567
+ # @return [Integer]
568
+ #
569
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/InternalServerException AWS API Documentation
570
+ #
571
+ class InternalServerException < Struct.new(
572
+ :message,
573
+ :retry_after_seconds)
574
+ SENSITIVE = []
575
+ include Aws::Structure
576
+ end
577
+
578
+ # @note When making an API call, you may pass ListAppMonitorsRequest
579
+ # data as a hash:
580
+ #
581
+ # {
582
+ # max_results: 1,
583
+ # next_token: "String",
584
+ # }
585
+ #
586
+ # @!attribute [rw] max_results
587
+ # The maximum number of results to return in one operation.
588
+ # @return [Integer]
589
+ #
590
+ # @!attribute [rw] next_token
591
+ # Use the token returned by the previous operation to request the next
592
+ # page of results.
593
+ # @return [String]
594
+ #
595
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/ListAppMonitorsRequest AWS API Documentation
596
+ #
597
+ class ListAppMonitorsRequest < Struct.new(
598
+ :max_results,
599
+ :next_token)
600
+ SENSITIVE = []
601
+ include Aws::Structure
602
+ end
603
+
604
+ # @!attribute [rw] app_monitor_summaries
605
+ # An array of structures that contain information about the returned
606
+ # app monitors.
607
+ # @return [Array<Types::AppMonitorSummary>]
608
+ #
609
+ # @!attribute [rw] next_token
610
+ # A token that you can use in a subsequent operation to retrieve the
611
+ # next set of results.
612
+ # @return [String]
613
+ #
614
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/ListAppMonitorsResponse AWS API Documentation
615
+ #
616
+ class ListAppMonitorsResponse < Struct.new(
617
+ :app_monitor_summaries,
618
+ :next_token)
619
+ SENSITIVE = []
620
+ include Aws::Structure
621
+ end
622
+
623
+ # @note When making an API call, you may pass ListTagsForResourceRequest
624
+ # data as a hash:
625
+ #
626
+ # {
627
+ # resource_arn: "Arn", # required
628
+ # }
629
+ #
630
+ # @!attribute [rw] resource_arn
631
+ # The ARN of the resource that you want to see the tags of.
632
+ # @return [String]
633
+ #
634
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/ListTagsForResourceRequest AWS API Documentation
635
+ #
636
+ class ListTagsForResourceRequest < Struct.new(
637
+ :resource_arn)
638
+ SENSITIVE = []
639
+ include Aws::Structure
640
+ end
641
+
642
+ # @!attribute [rw] resource_arn
643
+ # The ARN of the resource that you are viewing.
644
+ # @return [String]
645
+ #
646
+ # @!attribute [rw] tags
647
+ # The list of tag keys and values associated with the resource you
648
+ # specified.
649
+ # @return [Hash<String,String>]
650
+ #
651
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/ListTagsForResourceResponse AWS API Documentation
652
+ #
653
+ class ListTagsForResourceResponse < Struct.new(
654
+ :resource_arn,
655
+ :tags)
656
+ SENSITIVE = []
657
+ include Aws::Structure
658
+ end
659
+
660
+ # @note When making an API call, you may pass PutRumEventsRequest
661
+ # data as a hash:
662
+ #
663
+ # {
664
+ # app_monitor_details: { # required
665
+ # id: "String",
666
+ # name: "String",
667
+ # version: "String",
668
+ # },
669
+ # batch_id: "String", # required
670
+ # id: "AppMonitorId", # required
671
+ # rum_events: [ # required
672
+ # {
673
+ # details: "JsonValue", # required
674
+ # id: "String", # required
675
+ # metadata: "JsonValue",
676
+ # timestamp: Time.now, # required
677
+ # type: "String", # required
678
+ # },
679
+ # ],
680
+ # user_details: { # required
681
+ # session_id: "String",
682
+ # user_id: "String",
683
+ # },
684
+ # }
685
+ #
686
+ # @!attribute [rw] app_monitor_details
687
+ # A structure that contains information about the app monitor that
688
+ # collected this telemetry information.
689
+ # @return [Types::AppMonitorDetails]
690
+ #
691
+ # @!attribute [rw] batch_id
692
+ # A unique identifier for this batch of RUM event data.
693
+ # @return [String]
694
+ #
695
+ # @!attribute [rw] id
696
+ # The ID of the app monitor that is sending this data.
697
+ # @return [String]
698
+ #
699
+ # @!attribute [rw] rum_events
700
+ # An array of structures that contain the telemetry event data.
701
+ # @return [Array<Types::RumEvent>]
702
+ #
703
+ # @!attribute [rw] user_details
704
+ # A structure that contains information about the user session that
705
+ # this batch of events was collected from.
706
+ # @return [Types::UserDetails]
707
+ #
708
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/PutRumEventsRequest AWS API Documentation
709
+ #
710
+ class PutRumEventsRequest < Struct.new(
711
+ :app_monitor_details,
712
+ :batch_id,
713
+ :id,
714
+ :rum_events,
715
+ :user_details)
716
+ SENSITIVE = []
717
+ include Aws::Structure
718
+ end
719
+
720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/PutRumEventsResponse AWS API Documentation
721
+ #
722
+ class PutRumEventsResponse < Aws::EmptyStructure; end
723
+
724
+ # A structure that defines a key and values that you can use to filter
725
+ # the results. The only performance events that are returned are those
726
+ # that have values matching the ones that you specify in one of your
727
+ # `QueryFilter` structures.
728
+ #
729
+ # For example, you could specify `Browser` as the `Name` and specify
730
+ # `Chrome,Firefox` as the `Values` to return events generated only from
731
+ # those browsers.
732
+ #
733
+ # Specifying `Invert` as the `Name` works as a "not equal to" filter.
734
+ # For example, specify `Invert` as the `Name` and specify `Chrome` as
735
+ # the value to return all events except events from user sessions with
736
+ # the Chrome browser.
737
+ #
738
+ # @note When making an API call, you may pass QueryFilter
739
+ # data as a hash:
740
+ #
741
+ # {
742
+ # name: "QueryFilterKey",
743
+ # values: ["QueryFilterValue"],
744
+ # }
745
+ #
746
+ # @!attribute [rw] name
747
+ # The name of a key to search for. The filter returns only the events
748
+ # that match the `Name` and `Values` that you specify.
749
+ #
750
+ # Valid values for `Name` are `Browser` \| `Device` \| `Country` \|
751
+ # `Page` \| `OS` \| `EventType` \| `Invert`
752
+ # @return [String]
753
+ #
754
+ # @!attribute [rw] values
755
+ # The values of the `Name` that are to be be included in the returned
756
+ # results.
757
+ # @return [Array<String>]
758
+ #
759
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/QueryFilter AWS API Documentation
760
+ #
761
+ class QueryFilter < Struct.new(
762
+ :name,
763
+ :values)
764
+ SENSITIVE = []
765
+ include Aws::Structure
766
+ end
767
+
768
+ # Resource not found.
769
+ #
770
+ # @!attribute [rw] message
771
+ # @return [String]
772
+ #
773
+ # @!attribute [rw] resource_name
774
+ # The name of the resource that is associated with the error.
775
+ # @return [String]
776
+ #
777
+ # @!attribute [rw] resource_type
778
+ # The type of the resource that is associated with the error.
779
+ # @return [String]
780
+ #
781
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/ResourceNotFoundException AWS API Documentation
782
+ #
783
+ class ResourceNotFoundException < Struct.new(
784
+ :message,
785
+ :resource_name,
786
+ :resource_type)
787
+ SENSITIVE = []
788
+ include Aws::Structure
789
+ end
790
+
791
+ # A structure that contains the information for one performance event
792
+ # that RUM collects from a user session with your application.
793
+ #
794
+ # @note When making an API call, you may pass RumEvent
795
+ # data as a hash:
796
+ #
797
+ # {
798
+ # details: "JsonValue", # required
799
+ # id: "String", # required
800
+ # metadata: "JsonValue",
801
+ # timestamp: Time.now, # required
802
+ # type: "String", # required
803
+ # }
804
+ #
805
+ # @!attribute [rw] details
806
+ # A string containing details about the event.
807
+ # @return [String]
808
+ #
809
+ # @!attribute [rw] id
810
+ # A unique ID for this event.
811
+ # @return [String]
812
+ #
813
+ # @!attribute [rw] metadata
814
+ # Metadata about this event, which contains a JSON serialization of
815
+ # the identity of the user for this session. The user information
816
+ # comes from information such as the HTTP user-agent request header
817
+ # and document interface.
818
+ # @return [String]
819
+ #
820
+ # @!attribute [rw] timestamp
821
+ # The exact time that this event occurred.
822
+ # @return [Time]
823
+ #
824
+ # @!attribute [rw] type
825
+ # The JSON schema that denotes the type of event this is, such as a
826
+ # page load or a new session.
827
+ # @return [String]
828
+ #
829
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/RumEvent AWS API Documentation
830
+ #
831
+ class RumEvent < Struct.new(
832
+ :details,
833
+ :id,
834
+ :metadata,
835
+ :timestamp,
836
+ :type)
837
+ SENSITIVE = []
838
+ include Aws::Structure
839
+ end
840
+
841
+ # This request exceeds a service quota.
842
+ #
843
+ # @!attribute [rw] message
844
+ # @return [String]
845
+ #
846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/ServiceQuotaExceededException AWS API Documentation
847
+ #
848
+ class ServiceQuotaExceededException < Struct.new(
849
+ :message)
850
+ SENSITIVE = []
851
+ include Aws::Structure
852
+ end
853
+
854
+ # @note When making an API call, you may pass TagResourceRequest
855
+ # data as a hash:
856
+ #
857
+ # {
858
+ # resource_arn: "Arn", # required
859
+ # tags: { # required
860
+ # "TagKey" => "TagValue",
861
+ # },
862
+ # }
863
+ #
864
+ # @!attribute [rw] resource_arn
865
+ # The ARN of the CloudWatch RUM resource that you're adding tags to.
866
+ # @return [String]
867
+ #
868
+ # @!attribute [rw] tags
869
+ # The list of key-value pairs to associate with the resource.
870
+ # @return [Hash<String,String>]
871
+ #
872
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/TagResourceRequest AWS API Documentation
873
+ #
874
+ class TagResourceRequest < Struct.new(
875
+ :resource_arn,
876
+ :tags)
877
+ SENSITIVE = []
878
+ include Aws::Structure
879
+ end
880
+
881
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/TagResourceResponse AWS API Documentation
882
+ #
883
+ class TagResourceResponse < Aws::EmptyStructure; end
884
+
885
+ # The request was throttled because of quota limits.
886
+ #
887
+ # @!attribute [rw] message
888
+ # @return [String]
889
+ #
890
+ # @!attribute [rw] quota_code
891
+ # The ID of the service quota that was exceeded.
892
+ # @return [String]
893
+ #
894
+ # @!attribute [rw] retry_after_seconds
895
+ # The value of a parameter in the request caused an error.
896
+ # @return [Integer]
897
+ #
898
+ # @!attribute [rw] service_code
899
+ # The ID of the service that is associated with the error.
900
+ # @return [String]
901
+ #
902
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/ThrottlingException AWS API Documentation
903
+ #
904
+ class ThrottlingException < Struct.new(
905
+ :message,
906
+ :quota_code,
907
+ :retry_after_seconds,
908
+ :service_code)
909
+ SENSITIVE = []
910
+ include Aws::Structure
911
+ end
912
+
913
+ # A structure that defines the time range that you want to retrieve
914
+ # results from.
915
+ #
916
+ # @note When making an API call, you may pass TimeRange
917
+ # data as a hash:
918
+ #
919
+ # {
920
+ # after: 1, # required
921
+ # before: 1,
922
+ # }
923
+ #
924
+ # @!attribute [rw] after
925
+ # The beginning of the time range to retrieve performance events from.
926
+ # @return [Integer]
927
+ #
928
+ # @!attribute [rw] before
929
+ # The end of the time range to retrieve performance events from. If
930
+ # you omit this, the time range extends to the time that this
931
+ # operation is performed.
932
+ # @return [Integer]
933
+ #
934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/TimeRange AWS API Documentation
935
+ #
936
+ class TimeRange < Struct.new(
937
+ :after,
938
+ :before)
939
+ SENSITIVE = []
940
+ include Aws::Structure
941
+ end
942
+
943
+ # @note When making an API call, you may pass UntagResourceRequest
944
+ # data as a hash:
945
+ #
946
+ # {
947
+ # resource_arn: "Arn", # required
948
+ # tag_keys: ["TagKey"], # required
949
+ # }
950
+ #
951
+ # @!attribute [rw] resource_arn
952
+ # The ARN of the CloudWatch RUM resource that you're removing tags
953
+ # from.
954
+ # @return [String]
955
+ #
956
+ # @!attribute [rw] tag_keys
957
+ # The list of tag keys to remove from the resource.
958
+ # @return [Array<String>]
959
+ #
960
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/UntagResourceRequest AWS API Documentation
961
+ #
962
+ class UntagResourceRequest < Struct.new(
963
+ :resource_arn,
964
+ :tag_keys)
965
+ SENSITIVE = []
966
+ include Aws::Structure
967
+ end
968
+
969
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/UntagResourceResponse AWS API Documentation
970
+ #
971
+ class UntagResourceResponse < Aws::EmptyStructure; end
972
+
973
+ # @note When making an API call, you may pass UpdateAppMonitorRequest
974
+ # data as a hash:
975
+ #
976
+ # {
977
+ # app_monitor_configuration: {
978
+ # allow_cookies: false,
979
+ # enable_x_ray: false,
980
+ # excluded_pages: ["Url"],
981
+ # favorite_pages: ["String"],
982
+ # guest_role_arn: "Arn",
983
+ # identity_pool_id: "IdentityPoolId",
984
+ # included_pages: ["Url"],
985
+ # session_sample_rate: 1.0,
986
+ # telemetries: ["errors"], # accepts errors, performance, http
987
+ # },
988
+ # cw_log_enabled: false,
989
+ # domain: "AppMonitorDomain",
990
+ # name: "AppMonitorName", # required
991
+ # }
992
+ #
993
+ # @!attribute [rw] app_monitor_configuration
994
+ # A structure that contains much of the configuration data for the app
995
+ # monitor. If you are using Amazon Cognito for authorization, you must
996
+ # include this structure in your request, and it must include the ID
997
+ # of the Amazon Cognito identity pool to use for authorization. If you
998
+ # don't include `AppMonitorConfiguration`, you must set up your own
999
+ # authorization method. For more information, see [Authorize your
1000
+ # application to send data to Amazon Web Services][1].
1001
+ #
1002
+ #
1003
+ #
1004
+ # [1]: https://docs.aws.amazon.com/monitoring/CloudWatch-RUM-get-started-authorization.html
1005
+ # @return [Types::AppMonitorConfiguration]
1006
+ #
1007
+ # @!attribute [rw] cw_log_enabled
1008
+ # Data collected by RUM is kept by RUM for 30 days and then deleted.
1009
+ # This parameter specifies whether RUM sends a copy of this telemetry
1010
+ # data to Amazon CloudWatch Logs in your account. This enables you to
1011
+ # keep the telemetry data for more than 30 days, but it does incur
1012
+ # Amazon CloudWatch Logs charges.
1013
+ # @return [Boolean]
1014
+ #
1015
+ # @!attribute [rw] domain
1016
+ # The top-level internet domain name for which your application has
1017
+ # administrative authority.
1018
+ # @return [String]
1019
+ #
1020
+ # @!attribute [rw] name
1021
+ # The name of the app monitor to update.
1022
+ # @return [String]
1023
+ #
1024
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/UpdateAppMonitorRequest AWS API Documentation
1025
+ #
1026
+ class UpdateAppMonitorRequest < Struct.new(
1027
+ :app_monitor_configuration,
1028
+ :cw_log_enabled,
1029
+ :domain,
1030
+ :name)
1031
+ SENSITIVE = []
1032
+ include Aws::Structure
1033
+ end
1034
+
1035
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/UpdateAppMonitorResponse AWS API Documentation
1036
+ #
1037
+ class UpdateAppMonitorResponse < Aws::EmptyStructure; end
1038
+
1039
+ # A structure that contains information about the user session that this
1040
+ # batch of events was collected from.
1041
+ #
1042
+ # @note When making an API call, you may pass UserDetails
1043
+ # data as a hash:
1044
+ #
1045
+ # {
1046
+ # session_id: "String",
1047
+ # user_id: "String",
1048
+ # }
1049
+ #
1050
+ # @!attribute [rw] session_id
1051
+ # The session ID that the performance events are from.
1052
+ # @return [String]
1053
+ #
1054
+ # @!attribute [rw] user_id
1055
+ # The ID of the user for this user session. This ID is generated by
1056
+ # RUM and does not include any personally identifiable information
1057
+ # about the user.
1058
+ # @return [String]
1059
+ #
1060
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/UserDetails AWS API Documentation
1061
+ #
1062
+ class UserDetails < Struct.new(
1063
+ :session_id,
1064
+ :user_id)
1065
+ SENSITIVE = []
1066
+ include Aws::Structure
1067
+ end
1068
+
1069
+ # One of the arguments for the request is not valid.
1070
+ #
1071
+ # @!attribute [rw] message
1072
+ # @return [String]
1073
+ #
1074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10/ValidationException AWS API Documentation
1075
+ #
1076
+ class ValidationException < Struct.new(
1077
+ :message)
1078
+ SENSITIVE = []
1079
+ include Aws::Structure
1080
+ end
1081
+
1082
+ end
1083
+ end