aws-sdk-applicationsignals 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2043 @@
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::ApplicationSignals
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/application-signals-2024-04-15/AccessDeniedException AWS API Documentation
19
+ #
20
+ class AccessDeniedException < Struct.new(
21
+ :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
26
+ # @!attribute [rw] timestamp
27
+ # The date and time that you want the report to be for. It is
28
+ # expressed as the number of milliseconds since Jan 1, 1970 00:00:00
29
+ # UTC.
30
+ # @return [Time]
31
+ #
32
+ # @!attribute [rw] slo_ids
33
+ # An array containing the IDs of the service level objectives that you
34
+ # want to include in the report.
35
+ # @return [Array<String>]
36
+ #
37
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/BatchGetServiceLevelObjectiveBudgetReportInput AWS API Documentation
38
+ #
39
+ class BatchGetServiceLevelObjectiveBudgetReportInput < Struct.new(
40
+ :timestamp,
41
+ :slo_ids)
42
+ SENSITIVE = []
43
+ include Aws::Structure
44
+ end
45
+
46
+ # @!attribute [rw] timestamp
47
+ # The date and time that the report is for. It is expressed as the
48
+ # number of milliseconds since Jan 1, 1970 00:00:00 UTC.
49
+ # @return [Time]
50
+ #
51
+ # @!attribute [rw] reports
52
+ # An array of structures, where each structure is one budget report.
53
+ # @return [Array<Types::ServiceLevelObjectiveBudgetReport>]
54
+ #
55
+ # @!attribute [rw] errors
56
+ # An array of structures, where each structure includes an error
57
+ # indicating that one of the requests in the array was not valid.
58
+ # @return [Array<Types::ServiceLevelObjectiveBudgetReportError>]
59
+ #
60
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/BatchGetServiceLevelObjectiveBudgetReportOutput AWS API Documentation
61
+ #
62
+ class BatchGetServiceLevelObjectiveBudgetReportOutput < Struct.new(
63
+ :timestamp,
64
+ :reports,
65
+ :errors)
66
+ SENSITIVE = []
67
+ include Aws::Structure
68
+ end
69
+
70
+ # If the interval for this service level objective is a calendar
71
+ # interval, this structure contains the interval specifications.
72
+ #
73
+ # @!attribute [rw] start_time
74
+ # The date and time when you want the first interval to start. Be sure
75
+ # to choose a time that configures the intervals the way that you
76
+ # want. For example, if you want weekly intervals starting on Mondays
77
+ # at 6 a.m., be sure to specify a start time that is a Monday at 6
78
+ # a.m.
79
+ #
80
+ # When used in a raw HTTP Query API, it is formatted as be epoch time
81
+ # in seconds. For example: `1698778057`
82
+ #
83
+ # As soon as one calendar interval ends, another automatically begins.
84
+ # @return [Time]
85
+ #
86
+ # @!attribute [rw] duration_unit
87
+ # Specifies the calendar interval unit.
88
+ # @return [String]
89
+ #
90
+ # @!attribute [rw] duration
91
+ # Specifies the duration of each calendar interval. For example, if
92
+ # `Duration` is `1` and `DurationUnit` is `MONTH`, each interval is
93
+ # one month, aligned with the calendar.
94
+ # @return [Integer]
95
+ #
96
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/CalendarInterval AWS API Documentation
97
+ #
98
+ class CalendarInterval < Struct.new(
99
+ :start_time,
100
+ :duration_unit,
101
+ :duration)
102
+ SENSITIVE = []
103
+ include Aws::Structure
104
+ end
105
+
106
+ # This operation attempted to create a resource that already exists.
107
+ #
108
+ # @!attribute [rw] message
109
+ # @return [String]
110
+ #
111
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ConflictException AWS API Documentation
112
+ #
113
+ class ConflictException < Struct.new(
114
+ :message)
115
+ SENSITIVE = []
116
+ include Aws::Structure
117
+ end
118
+
119
+ # @!attribute [rw] name
120
+ # A name for this SLO.
121
+ # @return [String]
122
+ #
123
+ # @!attribute [rw] description
124
+ # An optional description for this SLO.
125
+ # @return [String]
126
+ #
127
+ # @!attribute [rw] sli_config
128
+ # A structure that contains information about what service and what
129
+ # performance metric that this SLO will monitor.
130
+ # @return [Types::ServiceLevelIndicatorConfig]
131
+ #
132
+ # @!attribute [rw] goal
133
+ # A structure that contains the attributes that determine the goal of
134
+ # the SLO. This includes the time period for evaluation and the
135
+ # attainment threshold.
136
+ # @return [Types::Goal]
137
+ #
138
+ # @!attribute [rw] tags
139
+ # A list of key-value pairs to associate with the SLO. You can
140
+ # associate as many as 50 tags with an SLO. To be able to associate
141
+ # tags with the SLO when you create the SLO, you must have the
142
+ # `cloudwatch:TagResource` permission.
143
+ #
144
+ # Tags can help you organize and categorize your resources. You can
145
+ # also use them to scope user permissions by granting a user
146
+ # permission to access or change only resources with certain tag
147
+ # values.
148
+ # @return [Array<Types::Tag>]
149
+ #
150
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/CreateServiceLevelObjectiveInput AWS API Documentation
151
+ #
152
+ class CreateServiceLevelObjectiveInput < Struct.new(
153
+ :name,
154
+ :description,
155
+ :sli_config,
156
+ :goal,
157
+ :tags)
158
+ SENSITIVE = []
159
+ include Aws::Structure
160
+ end
161
+
162
+ # @!attribute [rw] slo
163
+ # A structure that contains information about the SLO that you just
164
+ # created.
165
+ # @return [Types::ServiceLevelObjective]
166
+ #
167
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/CreateServiceLevelObjectiveOutput AWS API Documentation
168
+ #
169
+ class CreateServiceLevelObjectiveOutput < Struct.new(
170
+ :slo)
171
+ SENSITIVE = []
172
+ include Aws::Structure
173
+ end
174
+
175
+ # @!attribute [rw] id
176
+ # The ARN or name of the service level objective to delete.
177
+ # @return [String]
178
+ #
179
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/DeleteServiceLevelObjectiveInput AWS API Documentation
180
+ #
181
+ class DeleteServiceLevelObjectiveInput < Struct.new(
182
+ :id)
183
+ SENSITIVE = []
184
+ include Aws::Structure
185
+ end
186
+
187
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/DeleteServiceLevelObjectiveOutput AWS API Documentation
188
+ #
189
+ class DeleteServiceLevelObjectiveOutput < Aws::EmptyStructure; end
190
+
191
+ # A dimension is a name/value pair that is part of the identity of a
192
+ # metric. Because dimensions are part of the unique identifier for a
193
+ # metric, whenever you add a unique name/value pair to one of your
194
+ # metrics, you are creating a new variation of that metric. For example,
195
+ # many Amazon EC2 metrics publish `InstanceId` as a dimension name, and
196
+ # the actual instance ID as the value for that dimension.
197
+ #
198
+ # You can assign up to 30 dimensions to a metric.
199
+ #
200
+ # @!attribute [rw] name
201
+ # The name of the dimension. Dimension names must contain only ASCII
202
+ # characters, must include at least one non-whitespace character, and
203
+ # cannot start with a colon (`:`). ASCII control characters are not
204
+ # supported as part of dimension names.
205
+ # @return [String]
206
+ #
207
+ # @!attribute [rw] value
208
+ # The value of the dimension. Dimension values must contain only ASCII
209
+ # characters and must include at least one non-whitespace character.
210
+ # ASCII control characters are not supported as part of dimension
211
+ # values.
212
+ # @return [String]
213
+ #
214
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/Dimension AWS API Documentation
215
+ #
216
+ class Dimension < Struct.new(
217
+ :name,
218
+ :value)
219
+ SENSITIVE = []
220
+ include Aws::Structure
221
+ end
222
+
223
+ # @!attribute [rw] start_time
224
+ # The start of the time period to retrieve information about. When
225
+ # used in a raw HTTP Query API, it is formatted as be epoch time in
226
+ # seconds. For example: `1698778057`
227
+ # @return [Time]
228
+ #
229
+ # @!attribute [rw] end_time
230
+ # The end of the time period to retrieve information about. When used
231
+ # in a raw HTTP Query API, it is formatted as be epoch time in
232
+ # seconds. For example: `1698778057`
233
+ # @return [Time]
234
+ #
235
+ # @!attribute [rw] key_attributes
236
+ # Use this field to specify which service you want to retrieve
237
+ # information for. You must specify at least the `Type`, `Name`, and
238
+ # `Environment` attributes.
239
+ #
240
+ # This is a string-to-string map. It can include the following fields.
241
+ #
242
+ # * `Type` designates the type of object this is.
243
+ #
244
+ # * `ResourceType` specifies the type of the resource. This field is
245
+ # used only when the value of the `Type` field is `Resource` or
246
+ # `AWS::Resource`.
247
+ #
248
+ # * `Name` specifies the name of the object. This is used only if the
249
+ # value of the `Type` field is `Service`, `RemoteService`, or
250
+ # `AWS::Service`.
251
+ #
252
+ # * `Identifier` identifies the resource objects of this resource.
253
+ # This is used only if the value of the `Type` field is `Resource`
254
+ # or `AWS::Resource`.
255
+ #
256
+ # * `Environment` specifies the location where this object is hosted,
257
+ # or what it belongs to.
258
+ # @return [Hash<String,String>]
259
+ #
260
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/GetServiceInput AWS API Documentation
261
+ #
262
+ class GetServiceInput < Struct.new(
263
+ :start_time,
264
+ :end_time,
265
+ :key_attributes)
266
+ SENSITIVE = []
267
+ include Aws::Structure
268
+ end
269
+
270
+ # @!attribute [rw] id
271
+ # The ARN or name of the SLO that you want to retrieve information
272
+ # about. You can find the ARNs of SLOs by using the
273
+ # [ListServiceLevelObjectives][1] operation.
274
+ #
275
+ #
276
+ #
277
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListServiceLevelObjectives.html
278
+ # @return [String]
279
+ #
280
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/GetServiceLevelObjectiveInput AWS API Documentation
281
+ #
282
+ class GetServiceLevelObjectiveInput < Struct.new(
283
+ :id)
284
+ SENSITIVE = []
285
+ include Aws::Structure
286
+ end
287
+
288
+ # @!attribute [rw] slo
289
+ # A structure containing the information about the SLO.
290
+ # @return [Types::ServiceLevelObjective]
291
+ #
292
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/GetServiceLevelObjectiveOutput AWS API Documentation
293
+ #
294
+ class GetServiceLevelObjectiveOutput < Struct.new(
295
+ :slo)
296
+ SENSITIVE = []
297
+ include Aws::Structure
298
+ end
299
+
300
+ # @!attribute [rw] service
301
+ # A structure containing information about the service.
302
+ # @return [Types::Service]
303
+ #
304
+ # @!attribute [rw] start_time
305
+ # The start time of the data included in the response. In a raw HTTP
306
+ # Query API, it is formatted as be epoch time in seconds. For example:
307
+ # `1698778057`.
308
+ # @return [Time]
309
+ #
310
+ # @!attribute [rw] end_time
311
+ # The end time of the data included in the response. In a raw HTTP
312
+ # Query API, it is formatted as be epoch time in seconds. For example:
313
+ # `1698778057`.
314
+ # @return [Time]
315
+ #
316
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/GetServiceOutput AWS API Documentation
317
+ #
318
+ class GetServiceOutput < Struct.new(
319
+ :service,
320
+ :start_time,
321
+ :end_time)
322
+ SENSITIVE = []
323
+ include Aws::Structure
324
+ end
325
+
326
+ # This structure contains the attributes that determine the goal of an
327
+ # SLO. This includes the time period for evaluation and the attainment
328
+ # threshold.
329
+ #
330
+ # @!attribute [rw] interval
331
+ # The time period used to evaluate the SLO. It can be either a
332
+ # calendar interval or rolling interval.
333
+ #
334
+ # If you omit this parameter, a rolling interval of 7 days is used.
335
+ # @return [Types::Interval]
336
+ #
337
+ # @!attribute [rw] attainment_goal
338
+ # The threshold that determines if the goal is being met. An
339
+ # *attainment goal* is the ratio of good periods that meet the
340
+ # threshold requirements to the total periods within the interval. For
341
+ # example, an attainment goal of 99.9% means that within your
342
+ # interval, you are targeting 99.9% of the periods to be in healthy
343
+ # state.
344
+ #
345
+ # If you omit this parameter, 99 is used to represent 99% as the
346
+ # attainment goal.
347
+ # @return [Float]
348
+ #
349
+ # @!attribute [rw] warning_threshold
350
+ # The percentage of remaining budget over total budget that you want
351
+ # to get warnings for. If you omit this parameter, the default of 50.0
352
+ # is used.
353
+ # @return [Float]
354
+ #
355
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/Goal AWS API Documentation
356
+ #
357
+ class Goal < Struct.new(
358
+ :interval,
359
+ :attainment_goal,
360
+ :warning_threshold)
361
+ SENSITIVE = []
362
+ include Aws::Structure
363
+ end
364
+
365
+ # The time period used to evaluate the SLO. It can be either a calendar
366
+ # interval or rolling interval.
367
+ #
368
+ # @note Interval is a union - when making an API calls you must set exactly one of the members.
369
+ #
370
+ # @note Interval is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of Interval corresponding to the set member.
371
+ #
372
+ # @!attribute [rw] rolling_interval
373
+ # If the interval is a rolling interval, this structure contains the
374
+ # interval specifications.
375
+ # @return [Types::RollingInterval]
376
+ #
377
+ # @!attribute [rw] calendar_interval
378
+ # If the interval is a calendar interval, this structure contains the
379
+ # interval specifications.
380
+ # @return [Types::CalendarInterval]
381
+ #
382
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/Interval AWS API Documentation
383
+ #
384
+ class Interval < Struct.new(
385
+ :rolling_interval,
386
+ :calendar_interval,
387
+ :unknown)
388
+ SENSITIVE = []
389
+ include Aws::Structure
390
+ include Aws::Structure::Union
391
+
392
+ class RollingInterval < Interval; end
393
+ class CalendarInterval < Interval; end
394
+ class Unknown < Interval; end
395
+ end
396
+
397
+ # @!attribute [rw] start_time
398
+ # The start of the time period to retrieve information about. When
399
+ # used in a raw HTTP Query API, it is formatted as be epoch time in
400
+ # seconds. For example: `1698778057`
401
+ # @return [Time]
402
+ #
403
+ # @!attribute [rw] end_time
404
+ # The end of the time period to retrieve information about. When used
405
+ # in a raw HTTP Query API, it is formatted as be epoch time in
406
+ # seconds. For example: `1698778057`
407
+ # @return [Time]
408
+ #
409
+ # @!attribute [rw] key_attributes
410
+ # Use this field to specify which service you want to retrieve
411
+ # information for. You must specify at least the `Type`, `Name`, and
412
+ # `Environment` attributes.
413
+ #
414
+ # This is a string-to-string map. It can include the following fields.
415
+ #
416
+ # * `Type` designates the type of object this is.
417
+ #
418
+ # * `ResourceType` specifies the type of the resource. This field is
419
+ # used only when the value of the `Type` field is `Resource` or
420
+ # `AWS::Resource`.
421
+ #
422
+ # * `Name` specifies the name of the object. This is used only if the
423
+ # value of the `Type` field is `Service`, `RemoteService`, or
424
+ # `AWS::Service`.
425
+ #
426
+ # * `Identifier` identifies the resource objects of this resource.
427
+ # This is used only if the value of the `Type` field is `Resource`
428
+ # or `AWS::Resource`.
429
+ #
430
+ # * `Environment` specifies the location where this object is hosted,
431
+ # or what it belongs to.
432
+ # @return [Hash<String,String>]
433
+ #
434
+ # @!attribute [rw] max_results
435
+ # The maximum number of results to return in one operation. If you
436
+ # omit this parameter, the default of 50 is used.
437
+ # @return [Integer]
438
+ #
439
+ # @!attribute [rw] next_token
440
+ # Include this value, if it was returned by the previous operation, to
441
+ # get the next set of service dependencies.
442
+ # @return [String]
443
+ #
444
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListServiceDependenciesInput AWS API Documentation
445
+ #
446
+ class ListServiceDependenciesInput < Struct.new(
447
+ :start_time,
448
+ :end_time,
449
+ :key_attributes,
450
+ :max_results,
451
+ :next_token)
452
+ SENSITIVE = []
453
+ include Aws::Structure
454
+ end
455
+
456
+ # @!attribute [rw] start_time
457
+ # The start of the time period that the returned information applies
458
+ # to. When used in a raw HTTP Query API, it is formatted as be epoch
459
+ # time in seconds. For example: `1698778057`
460
+ # @return [Time]
461
+ #
462
+ # @!attribute [rw] end_time
463
+ # The end of the time period that the returned information applies to.
464
+ # When used in a raw HTTP Query API, it is formatted as be epoch time
465
+ # in seconds. For example: `1698778057`
466
+ # @return [Time]
467
+ #
468
+ # @!attribute [rw] service_dependencies
469
+ # An array, where each object in the array contains information about
470
+ # one of the dependencies of this service.
471
+ # @return [Array<Types::ServiceDependency>]
472
+ #
473
+ # @!attribute [rw] next_token
474
+ # Include this value in your next use of this API to get next set of
475
+ # service dependencies.
476
+ # @return [String]
477
+ #
478
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListServiceDependenciesOutput AWS API Documentation
479
+ #
480
+ class ListServiceDependenciesOutput < Struct.new(
481
+ :start_time,
482
+ :end_time,
483
+ :service_dependencies,
484
+ :next_token)
485
+ SENSITIVE = []
486
+ include Aws::Structure
487
+ end
488
+
489
+ # @!attribute [rw] start_time
490
+ # The start of the time period to retrieve information about. When
491
+ # used in a raw HTTP Query API, it is formatted as be epoch time in
492
+ # seconds. For example: `1698778057`
493
+ # @return [Time]
494
+ #
495
+ # @!attribute [rw] end_time
496
+ # The end of the time period to retrieve information about. When used
497
+ # in a raw HTTP Query API, it is formatted as be epoch time in
498
+ # seconds. For example: `1698778057`
499
+ # @return [Time]
500
+ #
501
+ # @!attribute [rw] key_attributes
502
+ # Use this field to specify which service you want to retrieve
503
+ # information for. You must specify at least the `Type`, `Name`, and
504
+ # `Environment` attributes.
505
+ #
506
+ # This is a string-to-string map. It can include the following fields.
507
+ #
508
+ # * `Type` designates the type of object this is.
509
+ #
510
+ # * `ResourceType` specifies the type of the resource. This field is
511
+ # used only when the value of the `Type` field is `Resource` or
512
+ # `AWS::Resource`.
513
+ #
514
+ # * `Name` specifies the name of the object. This is used only if the
515
+ # value of the `Type` field is `Service`, `RemoteService`, or
516
+ # `AWS::Service`.
517
+ #
518
+ # * `Identifier` identifies the resource objects of this resource.
519
+ # This is used only if the value of the `Type` field is `Resource`
520
+ # or `AWS::Resource`.
521
+ #
522
+ # * `Environment` specifies the location where this object is hosted,
523
+ # or what it belongs to.
524
+ # @return [Hash<String,String>]
525
+ #
526
+ # @!attribute [rw] max_results
527
+ # The maximum number of results to return in one operation. If you
528
+ # omit this parameter, the default of 50 is used.
529
+ # @return [Integer]
530
+ #
531
+ # @!attribute [rw] next_token
532
+ # Include this value, if it was returned by the previous operation, to
533
+ # get the next set of service dependents.
534
+ # @return [String]
535
+ #
536
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListServiceDependentsInput AWS API Documentation
537
+ #
538
+ class ListServiceDependentsInput < Struct.new(
539
+ :start_time,
540
+ :end_time,
541
+ :key_attributes,
542
+ :max_results,
543
+ :next_token)
544
+ SENSITIVE = []
545
+ include Aws::Structure
546
+ end
547
+
548
+ # @!attribute [rw] start_time
549
+ # The start of the time period that the returned information applies
550
+ # to. When used in a raw HTTP Query API, it is formatted as be epoch
551
+ # time in seconds. For example: `1698778057`
552
+ # @return [Time]
553
+ #
554
+ # @!attribute [rw] end_time
555
+ # The end of the time period that the returned information applies to.
556
+ # When used in a raw HTTP Query API, it is formatted as be epoch time
557
+ # in seconds. For example: `1698778057`
558
+ # @return [Time]
559
+ #
560
+ # @!attribute [rw] service_dependents
561
+ # An array, where each object in the array contains information about
562
+ # one of the dependents of this service.
563
+ # @return [Array<Types::ServiceDependent>]
564
+ #
565
+ # @!attribute [rw] next_token
566
+ # Include this value in your next use of this API to get next set of
567
+ # service dependents.
568
+ # @return [String]
569
+ #
570
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListServiceDependentsOutput AWS API Documentation
571
+ #
572
+ class ListServiceDependentsOutput < Struct.new(
573
+ :start_time,
574
+ :end_time,
575
+ :service_dependents,
576
+ :next_token)
577
+ SENSITIVE = []
578
+ include Aws::Structure
579
+ end
580
+
581
+ # @!attribute [rw] key_attributes
582
+ # You can use this optional field to specify which services you want
583
+ # to retrieve SLO information for.
584
+ #
585
+ # This is a string-to-string map. It can include the following fields.
586
+ #
587
+ # * `Type` designates the type of object this is.
588
+ #
589
+ # * `ResourceType` specifies the type of the resource. This field is
590
+ # used only when the value of the `Type` field is `Resource` or
591
+ # `AWS::Resource`.
592
+ #
593
+ # * `Name` specifies the name of the object. This is used only if the
594
+ # value of the `Type` field is `Service`, `RemoteService`, or
595
+ # `AWS::Service`.
596
+ #
597
+ # * `Identifier` identifies the resource objects of this resource.
598
+ # This is used only if the value of the `Type` field is `Resource`
599
+ # or `AWS::Resource`.
600
+ #
601
+ # * `Environment` specifies the location where this object is hosted,
602
+ # or what it belongs to.
603
+ # @return [Hash<String,String>]
604
+ #
605
+ # @!attribute [rw] operation_name
606
+ # The name of the operation that this SLO is associated with.
607
+ # @return [String]
608
+ #
609
+ # @!attribute [rw] max_results
610
+ # The maximum number of results to return in one operation. If you
611
+ # omit this parameter, the default of 50 is used.
612
+ # @return [Integer]
613
+ #
614
+ # @!attribute [rw] next_token
615
+ # Include this value, if it was returned by the previous operation, to
616
+ # get the next set of service level objectives.
617
+ # @return [String]
618
+ #
619
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListServiceLevelObjectivesInput AWS API Documentation
620
+ #
621
+ class ListServiceLevelObjectivesInput < Struct.new(
622
+ :key_attributes,
623
+ :operation_name,
624
+ :max_results,
625
+ :next_token)
626
+ SENSITIVE = []
627
+ include Aws::Structure
628
+ end
629
+
630
+ # @!attribute [rw] slo_summaries
631
+ # An array of structures, where each structure contains information
632
+ # about one SLO.
633
+ # @return [Array<Types::ServiceLevelObjectiveSummary>]
634
+ #
635
+ # @!attribute [rw] next_token
636
+ # Include this value in your next use of this API to get next set of
637
+ # service level objectives.
638
+ # @return [String]
639
+ #
640
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListServiceLevelObjectivesOutput AWS API Documentation
641
+ #
642
+ class ListServiceLevelObjectivesOutput < Struct.new(
643
+ :slo_summaries,
644
+ :next_token)
645
+ SENSITIVE = []
646
+ include Aws::Structure
647
+ end
648
+
649
+ # @!attribute [rw] start_time
650
+ # The start of the time period to retrieve information about. When
651
+ # used in a raw HTTP Query API, it is formatted as be epoch time in
652
+ # seconds. For example: `1698778057`
653
+ # @return [Time]
654
+ #
655
+ # @!attribute [rw] end_time
656
+ # The end of the time period to retrieve information about. When used
657
+ # in a raw HTTP Query API, it is formatted as be epoch time in
658
+ # seconds. For example: `1698778057`
659
+ # @return [Time]
660
+ #
661
+ # @!attribute [rw] key_attributes
662
+ # Use this field to specify which service you want to retrieve
663
+ # information for. You must specify at least the `Type`, `Name`, and
664
+ # `Environment` attributes.
665
+ #
666
+ # This is a string-to-string map. It can include the following fields.
667
+ #
668
+ # * `Type` designates the type of object this is.
669
+ #
670
+ # * `ResourceType` specifies the type of the resource. This field is
671
+ # used only when the value of the `Type` field is `Resource` or
672
+ # `AWS::Resource`.
673
+ #
674
+ # * `Name` specifies the name of the object. This is used only if the
675
+ # value of the `Type` field is `Service`, `RemoteService`, or
676
+ # `AWS::Service`.
677
+ #
678
+ # * `Identifier` identifies the resource objects of this resource.
679
+ # This is used only if the value of the `Type` field is `Resource`
680
+ # or `AWS::Resource`.
681
+ #
682
+ # * `Environment` specifies the location where this object is hosted,
683
+ # or what it belongs to.
684
+ # @return [Hash<String,String>]
685
+ #
686
+ # @!attribute [rw] max_results
687
+ # The maximum number of results to return in one operation. If you
688
+ # omit this parameter, the default of 50 is used.
689
+ # @return [Integer]
690
+ #
691
+ # @!attribute [rw] next_token
692
+ # Include this value, if it was returned by the previous operation, to
693
+ # get the next set of service operations.
694
+ # @return [String]
695
+ #
696
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListServiceOperationsInput AWS API Documentation
697
+ #
698
+ class ListServiceOperationsInput < Struct.new(
699
+ :start_time,
700
+ :end_time,
701
+ :key_attributes,
702
+ :max_results,
703
+ :next_token)
704
+ SENSITIVE = []
705
+ include Aws::Structure
706
+ end
707
+
708
+ # @!attribute [rw] start_time
709
+ # The start of the time period that the returned information applies
710
+ # to. When used in a raw HTTP Query API, it is formatted as be epoch
711
+ # time in seconds. For example: `1698778057`
712
+ # @return [Time]
713
+ #
714
+ # @!attribute [rw] end_time
715
+ # The end of the time period that the returned information applies to.
716
+ # When used in a raw HTTP Query API, it is formatted as be epoch time
717
+ # in seconds. For example: `1698778057`
718
+ # @return [Time]
719
+ #
720
+ # @!attribute [rw] service_operations
721
+ # An array of structures that each contain information about one
722
+ # operation of this service.
723
+ # @return [Array<Types::ServiceOperation>]
724
+ #
725
+ # @!attribute [rw] next_token
726
+ # Include this value in your next use of this API to get next set of
727
+ # service operations.
728
+ # @return [String]
729
+ #
730
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListServiceOperationsOutput AWS API Documentation
731
+ #
732
+ class ListServiceOperationsOutput < Struct.new(
733
+ :start_time,
734
+ :end_time,
735
+ :service_operations,
736
+ :next_token)
737
+ SENSITIVE = []
738
+ include Aws::Structure
739
+ end
740
+
741
+ # @!attribute [rw] start_time
742
+ # The start of the time period to retrieve information about. When
743
+ # used in a raw HTTP Query API, it is formatted as be epoch time in
744
+ # seconds. For example: `1698778057`
745
+ # @return [Time]
746
+ #
747
+ # @!attribute [rw] end_time
748
+ # The end of the time period to retrieve information about. When used
749
+ # in a raw HTTP Query API, it is formatted as be epoch time in
750
+ # seconds. For example: `1698778057`
751
+ # @return [Time]
752
+ #
753
+ # @!attribute [rw] max_results
754
+ # The maximum number of results to return in one operation. If you
755
+ # omit this parameter, the default of 50 is used.
756
+ # @return [Integer]
757
+ #
758
+ # @!attribute [rw] next_token
759
+ # Include this value, if it was returned by the previous operation, to
760
+ # get the next set of services.
761
+ # @return [String]
762
+ #
763
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListServicesInput AWS API Documentation
764
+ #
765
+ class ListServicesInput < Struct.new(
766
+ :start_time,
767
+ :end_time,
768
+ :max_results,
769
+ :next_token)
770
+ SENSITIVE = []
771
+ include Aws::Structure
772
+ end
773
+
774
+ # @!attribute [rw] start_time
775
+ # The start of the time period that the returned information applies
776
+ # to. When used in a raw HTTP Query API, it is formatted as be epoch
777
+ # time in seconds. For example: `1698778057`
778
+ # @return [Time]
779
+ #
780
+ # @!attribute [rw] end_time
781
+ # The end of the time period that the returned information applies to.
782
+ # When used in a raw HTTP Query API, it is formatted as be epoch time
783
+ # in seconds. For example: `1698778057`
784
+ # @return [Time]
785
+ #
786
+ # @!attribute [rw] service_summaries
787
+ # An array of structures, where each structure contains some
788
+ # information about a service. To get complete information about a
789
+ # service, use [GetService][1].
790
+ #
791
+ #
792
+ #
793
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetService.html
794
+ # @return [Array<Types::ServiceSummary>]
795
+ #
796
+ # @!attribute [rw] next_token
797
+ # Include this value in your next use of this API to get next set of
798
+ # services.
799
+ # @return [String]
800
+ #
801
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListServicesOutput AWS API Documentation
802
+ #
803
+ class ListServicesOutput < Struct.new(
804
+ :start_time,
805
+ :end_time,
806
+ :service_summaries,
807
+ :next_token)
808
+ SENSITIVE = []
809
+ include Aws::Structure
810
+ end
811
+
812
+ # @!attribute [rw] resource_arn
813
+ # The Amazon Resource Name (ARN) of the CloudWatch resource that you
814
+ # want to view tags for.
815
+ #
816
+ # The ARN format of an Application Signals SLO is
817
+ # `arn:aws:cloudwatch:Region:account-id:slo:slo-name `
818
+ #
819
+ # For more information about ARN format, see [ Resource Types Defined
820
+ # by Amazon CloudWatch][1] in the *Amazon Web Services General
821
+ # Reference*.
822
+ #
823
+ #
824
+ #
825
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies
826
+ # @return [String]
827
+ #
828
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListTagsForResourceRequest AWS API Documentation
829
+ #
830
+ class ListTagsForResourceRequest < Struct.new(
831
+ :resource_arn)
832
+ SENSITIVE = []
833
+ include Aws::Structure
834
+ end
835
+
836
+ # @!attribute [rw] tags
837
+ # The list of tag keys and values associated with the resource you
838
+ # specified.
839
+ # @return [Array<Types::Tag>]
840
+ #
841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListTagsForResourceResponse AWS API Documentation
842
+ #
843
+ class ListTagsForResourceResponse < Struct.new(
844
+ :tags)
845
+ SENSITIVE = []
846
+ include Aws::Structure
847
+ end
848
+
849
+ # This structure defines the metric used for a service level indicator,
850
+ # including the metric name, namespace, and dimensions
851
+ #
852
+ # @!attribute [rw] namespace
853
+ # The namespace of the metric. For more information, see
854
+ # [Namespaces][1].
855
+ #
856
+ #
857
+ #
858
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Namespace
859
+ # @return [String]
860
+ #
861
+ # @!attribute [rw] metric_name
862
+ # The name of the metric to use.
863
+ # @return [String]
864
+ #
865
+ # @!attribute [rw] dimensions
866
+ # An array of one or more dimensions to use to define the metric that
867
+ # you want to use. For more information, see [Dimensions][1].
868
+ #
869
+ #
870
+ #
871
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension
872
+ # @return [Array<Types::Dimension>]
873
+ #
874
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/Metric AWS API Documentation
875
+ #
876
+ class Metric < Struct.new(
877
+ :namespace,
878
+ :metric_name,
879
+ :dimensions)
880
+ SENSITIVE = []
881
+ include Aws::Structure
882
+ end
883
+
884
+ # Use this structure to define a metric or metric math expression that
885
+ # you want to use as for a service level objective.
886
+ #
887
+ # Each `MetricDataQuery` in the `MetricDataQueries` array specifies
888
+ # either a metric to retrieve, or a metric math expression to be
889
+ # performed on retrieved metrics. A single `MetricDataQueries` array can
890
+ # include as many as 20 `MetricDataQuery` structures in the array. The
891
+ # 20 structures can include as many as 10 structures that contain a
892
+ # `MetricStat` parameter to retrieve a metric, and as many as 10
893
+ # structures that contain the `Expression` parameter to perform a math
894
+ # expression. Of those `Expression` structures, exactly one must have
895
+ # true as the value for `ReturnData`. The result of this expression used
896
+ # for the SLO.
897
+ #
898
+ # For more information about metric math expressions, see [CloudWatchUse
899
+ # metric math][1].
900
+ #
901
+ # Within each `MetricDataQuery` object, you must specify either
902
+ # `Expression` or `MetricStat` but not both.
903
+ #
904
+ #
905
+ #
906
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html
907
+ #
908
+ # @!attribute [rw] id
909
+ # A short name used to tie this object to the results in the response.
910
+ # This `Id` must be unique within a `MetricDataQueries` array. If you
911
+ # are performing math expressions on this set of data, this name
912
+ # represents that data and can serve as a variable in the metric math
913
+ # expression. The valid characters are letters, numbers, and
914
+ # underscore. The first character must be a lowercase letter.
915
+ # @return [String]
916
+ #
917
+ # @!attribute [rw] metric_stat
918
+ # A metric to be used directly for the SLO, or to be used in the math
919
+ # expression that will be used for the SLO.
920
+ #
921
+ # Within one `MetricDataQuery` object, you must specify either
922
+ # `Expression` or `MetricStat` but not both.
923
+ # @return [Types::MetricStat]
924
+ #
925
+ # @!attribute [rw] expression
926
+ # This field can contain a metric math expression to be performed on
927
+ # the other metrics that you are retrieving within this
928
+ # `MetricDataQueries` structure.
929
+ #
930
+ # A math expression can use the `Id` of the other metrics or queries
931
+ # to refer to those metrics, and can also use the `Id` of other
932
+ # expressions to use the result of those expressions. For more
933
+ # information about metric math expressions, see [Metric Math Syntax
934
+ # and Functions][1] in the *Amazon CloudWatch User Guide*.
935
+ #
936
+ # Within each `MetricDataQuery` object, you must specify either
937
+ # `Expression` or `MetricStat` but not both.
938
+ #
939
+ #
940
+ #
941
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax
942
+ # @return [String]
943
+ #
944
+ # @!attribute [rw] label
945
+ # A human-readable label for this metric or expression. This is
946
+ # especially useful if this is an expression, so that you know what
947
+ # the value represents. If the metric or expression is shown in a
948
+ # CloudWatch dashboard widget, the label is shown. If `Label` is
949
+ # omitted, CloudWatch generates a default.
950
+ #
951
+ # You can put dynamic expressions into a label, so that it is more
952
+ # descriptive. For more information, see [Using Dynamic Labels][1].
953
+ #
954
+ #
955
+ #
956
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html
957
+ # @return [String]
958
+ #
959
+ # @!attribute [rw] return_data
960
+ # Use this only if you are using a metric math expression for the SLO.
961
+ # Specify `true` for `ReturnData` for only the one expression result
962
+ # to use as the alarm. For all other metrics and expressions in the
963
+ # same `CreateServiceLevelObjective` operation, specify `ReturnData`
964
+ # as `false`.
965
+ # @return [Boolean]
966
+ #
967
+ # @!attribute [rw] period
968
+ # The granularity, in seconds, of the returned data points for this
969
+ # metric. For metrics with regular resolution, a period can be as
970
+ # short as one minute (60 seconds) and must be a multiple of 60. For
971
+ # high-resolution metrics that are collected at intervals of less than
972
+ # one minute, the period can be 1, 5, 10, 30, 60, or any multiple of
973
+ # 60. High-resolution metrics are those metrics stored by a
974
+ # `PutMetricData` call that includes a `StorageResolution` of 1
975
+ # second.
976
+ #
977
+ # If the `StartTime` parameter specifies a time stamp that is greater
978
+ # than 3 hours ago, you must specify the period as follows or no data
979
+ # points in that time range is returned:
980
+ #
981
+ # * Start time between 3 hours and 15 days ago - Use a multiple of 60
982
+ # seconds (1 minute).
983
+ #
984
+ # * Start time between 15 and 63 days ago - Use a multiple of 300
985
+ # seconds (5 minutes).
986
+ #
987
+ # * Start time greater than 63 days ago - Use a multiple of 3600
988
+ # seconds (1 hour).
989
+ # @return [Integer]
990
+ #
991
+ # @!attribute [rw] account_id
992
+ # The ID of the account where this metric is located. If you are
993
+ # performing this operatiion in a monitoring account, use this to
994
+ # specify which source account to retrieve this metric from.
995
+ # @return [String]
996
+ #
997
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/MetricDataQuery AWS API Documentation
998
+ #
999
+ class MetricDataQuery < Struct.new(
1000
+ :id,
1001
+ :metric_stat,
1002
+ :expression,
1003
+ :label,
1004
+ :return_data,
1005
+ :period,
1006
+ :account_id)
1007
+ SENSITIVE = []
1008
+ include Aws::Structure
1009
+ end
1010
+
1011
+ # This structure contains information about one CloudWatch metric
1012
+ # associated with this entity discovered by Application Signals.
1013
+ #
1014
+ # @!attribute [rw] namespace
1015
+ # The namespace of the metric. For more information, see
1016
+ # [CloudWatchNamespaces][1].
1017
+ #
1018
+ #
1019
+ #
1020
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Namespace
1021
+ # @return [String]
1022
+ #
1023
+ # @!attribute [rw] metric_type
1024
+ # Used to display the appropriate statistics in the CloudWatch
1025
+ # console.
1026
+ # @return [String]
1027
+ #
1028
+ # @!attribute [rw] dimensions
1029
+ # An array of one or more dimensions that further define the metric.
1030
+ # For more information, see [CloudWatchDimensions][1].
1031
+ #
1032
+ #
1033
+ #
1034
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension
1035
+ # @return [Array<Types::Dimension>]
1036
+ #
1037
+ # @!attribute [rw] metric_name
1038
+ # The name of the metric.
1039
+ # @return [String]
1040
+ #
1041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/MetricReference AWS API Documentation
1042
+ #
1043
+ class MetricReference < Struct.new(
1044
+ :namespace,
1045
+ :metric_type,
1046
+ :dimensions,
1047
+ :metric_name)
1048
+ SENSITIVE = []
1049
+ include Aws::Structure
1050
+ end
1051
+
1052
+ # This structure defines the metric to be used as the service level
1053
+ # indicator, along with the statistics, period, and unit.
1054
+ #
1055
+ # @!attribute [rw] metric
1056
+ # The metric to use as the service level indicator, including the
1057
+ # metric name, namespace, and dimensions.
1058
+ # @return [Types::Metric]
1059
+ #
1060
+ # @!attribute [rw] period
1061
+ # The granularity, in seconds, to be used for the metric. For metrics
1062
+ # with regular resolution, a period can be as short as one minute (60
1063
+ # seconds) and must be a multiple of 60. For high-resolution metrics
1064
+ # that are collected at intervals of less than one minute, the period
1065
+ # can be 1, 5, 10, 30, 60, or any multiple of 60. High-resolution
1066
+ # metrics are those metrics stored by a `PutMetricData` call that
1067
+ # includes a `StorageResolution` of 1 second.
1068
+ # @return [Integer]
1069
+ #
1070
+ # @!attribute [rw] stat
1071
+ # The statistic to use for comparison to the threshold. It can be any
1072
+ # CloudWatch statistic or extended statistic. For more information
1073
+ # about statistics, see [CloudWatch statistics definitions][1].
1074
+ #
1075
+ #
1076
+ #
1077
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html
1078
+ # @return [String]
1079
+ #
1080
+ # @!attribute [rw] unit
1081
+ # If you omit `Unit` then all data that was collected with any unit is
1082
+ # returned, along with the corresponding units that were specified
1083
+ # when the data was reported to CloudWatch. If you specify a unit, the
1084
+ # operation returns only data that was collected with that unit
1085
+ # specified. If you specify a unit that does not match the data
1086
+ # collected, the results of the operation are null. CloudWatch does
1087
+ # not perform unit conversions.
1088
+ # @return [String]
1089
+ #
1090
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/MetricStat AWS API Documentation
1091
+ #
1092
+ class MetricStat < Struct.new(
1093
+ :metric,
1094
+ :period,
1095
+ :stat,
1096
+ :unit)
1097
+ SENSITIVE = []
1098
+ include Aws::Structure
1099
+ end
1100
+
1101
+ # Resource not found.
1102
+ #
1103
+ # @!attribute [rw] resource_type
1104
+ # The resource type is not valid.
1105
+ # @return [String]
1106
+ #
1107
+ # @!attribute [rw] resource_id
1108
+ # Cannot find the resource id.
1109
+ # @return [String]
1110
+ #
1111
+ # @!attribute [rw] message
1112
+ # @return [String]
1113
+ #
1114
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ResourceNotFoundException AWS API Documentation
1115
+ #
1116
+ class ResourceNotFoundException < Struct.new(
1117
+ :resource_type,
1118
+ :resource_id,
1119
+ :message)
1120
+ SENSITIVE = []
1121
+ include Aws::Structure
1122
+ end
1123
+
1124
+ # If the interval for this SLO is a rolling interval, this structure
1125
+ # contains the interval specifications.
1126
+ #
1127
+ # @!attribute [rw] duration_unit
1128
+ # Specifies the rolling interval unit.
1129
+ # @return [String]
1130
+ #
1131
+ # @!attribute [rw] duration
1132
+ # Specifies the duration of each rolling interval. For example, if
1133
+ # `Duration` is `7` and `DurationUnit` is `DAY`, each rolling interval
1134
+ # is seven days.
1135
+ # @return [Integer]
1136
+ #
1137
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/RollingInterval AWS API Documentation
1138
+ #
1139
+ class RollingInterval < Struct.new(
1140
+ :duration_unit,
1141
+ :duration)
1142
+ SENSITIVE = []
1143
+ include Aws::Structure
1144
+ end
1145
+
1146
+ # This structure contains information about one of your services that
1147
+ # was discovered by Application Signals.
1148
+ #
1149
+ # @!attribute [rw] key_attributes
1150
+ # This is a string-to-string map. It can include the following fields.
1151
+ #
1152
+ # * `Type` designates the type of object this is.
1153
+ #
1154
+ # * `ResourceType` specifies the type of the resource. This field is
1155
+ # used only when the value of the `Type` field is `Resource` or
1156
+ # `AWS::Resource`.
1157
+ #
1158
+ # * `Name` specifies the name of the object. This is used only if the
1159
+ # value of the `Type` field is `Service`, `RemoteService`, or
1160
+ # `AWS::Service`.
1161
+ #
1162
+ # * `Identifier` identifies the resource objects of this resource.
1163
+ # This is used only if the value of the `Type` field is `Resource`
1164
+ # or `AWS::Resource`.
1165
+ #
1166
+ # * `Environment` specifies the location where this object is hosted,
1167
+ # or what it belongs to.
1168
+ # @return [Hash<String,String>]
1169
+ #
1170
+ # @!attribute [rw] attribute_maps
1171
+ # This structure contains one or more string-to-string maps that help
1172
+ # identify this service. It can include *platform attributes*,
1173
+ # *application attributes*, and *telemetry attributes*.
1174
+ #
1175
+ # Platform attributes contain information the service's platform.
1176
+ #
1177
+ # * `PlatformType` defines the hosted-in platform.
1178
+ #
1179
+ # * `EKS.Cluster` is the name of the Amazon EKS cluster.
1180
+ #
1181
+ # * `K8s.Cluster` is the name of the self-hosted Kubernetes cluster.
1182
+ #
1183
+ # * `K8s.Namespace` is the name of the Kubernetes namespace in either
1184
+ # Amazon EKS or Kubernetes clusters.
1185
+ #
1186
+ # * `K8s.Workload` is the name of the Kubernetes workload in either
1187
+ # Amazon EKS or Kubernetes clusters.
1188
+ #
1189
+ # * `K8s.Node` is the name of the Kubernetes node in either Amazon EKS
1190
+ # or Kubernetes clusters.
1191
+ #
1192
+ # * `K8s.Pod` is the name of the Kubernetes pod in either Amazon EKS
1193
+ # or Kubernetes clusters.
1194
+ #
1195
+ # * `EC2.AutoScalingGroup` is the name of the Amazon EC2 Auto Scaling
1196
+ # group.
1197
+ #
1198
+ # * `EC2.InstanceId` is the ID of the Amazon EC2 instance.
1199
+ #
1200
+ # * `Host` is the name of the host, for all platform types.
1201
+ #
1202
+ # Applciation attributes contain information about the application.
1203
+ #
1204
+ # * `AWS.Application` is the application's name in Amazon Web
1205
+ # Services Service Catalog AppRegistry.
1206
+ #
1207
+ # * `AWS.Application.ARN` is the application's ARN in Amazon Web
1208
+ # Services Service Catalog AppRegistry.
1209
+ #
1210
+ # Telemetry attributes contain telemetry information.
1211
+ #
1212
+ # * `Telemetry.SDK` is the fingerprint of the OpenTelemetry SDK
1213
+ # version for instrumented services.
1214
+ #
1215
+ # * `Telemetry.Agent` is the fingerprint of the agent used to collect
1216
+ # and send telemetry data.
1217
+ #
1218
+ # * `Telemetry.Source` Specifies the point of application where the
1219
+ # telemetry was collected or specifies what was used for the source
1220
+ # of telemetry data.
1221
+ # @return [Array<Hash<String,String>>]
1222
+ #
1223
+ # @!attribute [rw] metric_references
1224
+ # An array of structures that each contain information about one
1225
+ # metric associated with this service.
1226
+ # @return [Array<Types::MetricReference>]
1227
+ #
1228
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/Service AWS API Documentation
1229
+ #
1230
+ class Service < Struct.new(
1231
+ :key_attributes,
1232
+ :attribute_maps,
1233
+ :metric_references)
1234
+ SENSITIVE = []
1235
+ include Aws::Structure
1236
+ end
1237
+
1238
+ # This structure contains information about one dependency of this
1239
+ # service.
1240
+ #
1241
+ # @!attribute [rw] operation_name
1242
+ # The name of the operation in this service that calls the dependency.
1243
+ # @return [String]
1244
+ #
1245
+ # @!attribute [rw] dependency_key_attributes
1246
+ # This is a string-to-string map. It can include the following fields.
1247
+ #
1248
+ # * `Type` designates the type of object this is.
1249
+ #
1250
+ # * `ResourceType` specifies the type of the resource. This field is
1251
+ # used only when the value of the `Type` field is `Resource` or
1252
+ # `AWS::Resource`.
1253
+ #
1254
+ # * `Name` specifies the name of the object. This is used only if the
1255
+ # value of the `Type` field is `Service`, `RemoteService`, or
1256
+ # `AWS::Service`.
1257
+ #
1258
+ # * `Identifier` identifies the resource objects of this resource.
1259
+ # This is used only if the value of the `Type` field is `Resource`
1260
+ # or `AWS::Resource`.
1261
+ #
1262
+ # * `Environment` specifies the location where this object is hosted,
1263
+ # or what it belongs to.
1264
+ # @return [Hash<String,String>]
1265
+ #
1266
+ # @!attribute [rw] dependency_operation_name
1267
+ # The name of the called operation in the dependency.
1268
+ # @return [String]
1269
+ #
1270
+ # @!attribute [rw] metric_references
1271
+ # An array of structures that each contain information about one
1272
+ # metric associated with this service dependency that was discovered
1273
+ # by Application Signals.
1274
+ # @return [Array<Types::MetricReference>]
1275
+ #
1276
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ServiceDependency AWS API Documentation
1277
+ #
1278
+ class ServiceDependency < Struct.new(
1279
+ :operation_name,
1280
+ :dependency_key_attributes,
1281
+ :dependency_operation_name,
1282
+ :metric_references)
1283
+ SENSITIVE = []
1284
+ include Aws::Structure
1285
+ end
1286
+
1287
+ # This structure contains information about a service dependent that was
1288
+ # discovered by Application Signals. A dependent is an entity that
1289
+ # invoked the specified service during the provided time range.
1290
+ # Dependents include other services, CloudWatch Synthetics canaries, and
1291
+ # clients that are instrumented with CloudWatch RUM app monitors.
1292
+ #
1293
+ # @!attribute [rw] operation_name
1294
+ # If the invoked entity is an operation on an entity, the name of that
1295
+ # dependent operation is displayed here.
1296
+ # @return [String]
1297
+ #
1298
+ # @!attribute [rw] dependent_key_attributes
1299
+ # This is a string-to-string map. It can include the following fields.
1300
+ #
1301
+ # * `Type` designates the type of object this is.
1302
+ #
1303
+ # * `ResourceType` specifies the type of the resource. This field is
1304
+ # used only when the value of the `Type` field is `Resource` or
1305
+ # `AWS::Resource`.
1306
+ #
1307
+ # * `Name` specifies the name of the object. This is used only if the
1308
+ # value of the `Type` field is `Service`, `RemoteService`, or
1309
+ # `AWS::Service`.
1310
+ #
1311
+ # * `Identifier` identifies the resource objects of this resource.
1312
+ # This is used only if the value of the `Type` field is `Resource`
1313
+ # or `AWS::Resource`.
1314
+ #
1315
+ # * `Environment` specifies the location where this object is hosted,
1316
+ # or what it belongs to.
1317
+ # @return [Hash<String,String>]
1318
+ #
1319
+ # @!attribute [rw] dependent_operation_name
1320
+ # If the dependent invoker was a service that invoked it from an
1321
+ # operation, the name of that dependent operation is displayed here.
1322
+ # @return [String]
1323
+ #
1324
+ # @!attribute [rw] metric_references
1325
+ # An array of structures that each contain information about one
1326
+ # metric associated with this service dependent that was discovered by
1327
+ # Application Signals.
1328
+ # @return [Array<Types::MetricReference>]
1329
+ #
1330
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ServiceDependent AWS API Documentation
1331
+ #
1332
+ class ServiceDependent < Struct.new(
1333
+ :operation_name,
1334
+ :dependent_key_attributes,
1335
+ :dependent_operation_name,
1336
+ :metric_references)
1337
+ SENSITIVE = []
1338
+ include Aws::Structure
1339
+ end
1340
+
1341
+ # This structure contains information about the performance metric that
1342
+ # an SLO monitors.
1343
+ #
1344
+ # @!attribute [rw] sli_metric
1345
+ # A structure that contains information about the metric that the SLO
1346
+ # monitors.
1347
+ # @return [Types::ServiceLevelIndicatorMetric]
1348
+ #
1349
+ # @!attribute [rw] metric_threshold
1350
+ # The value that the SLI metric is compared to.
1351
+ # @return [Float]
1352
+ #
1353
+ # @!attribute [rw] comparison_operator
1354
+ # The arithmetic operation used when comparing the specified metric to
1355
+ # the threshold.
1356
+ # @return [String]
1357
+ #
1358
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ServiceLevelIndicator AWS API Documentation
1359
+ #
1360
+ class ServiceLevelIndicator < Struct.new(
1361
+ :sli_metric,
1362
+ :metric_threshold,
1363
+ :comparison_operator)
1364
+ SENSITIVE = []
1365
+ include Aws::Structure
1366
+ end
1367
+
1368
+ # This structure specifies the information about the service and the
1369
+ # performance metric that an SLO is to monitor.
1370
+ #
1371
+ # @!attribute [rw] sli_metric_config
1372
+ # Use this structure to specify the metric to be used for the SLO.
1373
+ # @return [Types::ServiceLevelIndicatorMetricConfig]
1374
+ #
1375
+ # @!attribute [rw] metric_threshold
1376
+ # The value that the SLI metric is compared to.
1377
+ # @return [Float]
1378
+ #
1379
+ # @!attribute [rw] comparison_operator
1380
+ # The arithmetic operation to use when comparing the specified metric
1381
+ # to the threshold.
1382
+ # @return [String]
1383
+ #
1384
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ServiceLevelIndicatorConfig AWS API Documentation
1385
+ #
1386
+ class ServiceLevelIndicatorConfig < Struct.new(
1387
+ :sli_metric_config,
1388
+ :metric_threshold,
1389
+ :comparison_operator)
1390
+ SENSITIVE = []
1391
+ include Aws::Structure
1392
+ end
1393
+
1394
+ # This structure contains the information about the metric that is used
1395
+ # for the SLO.
1396
+ #
1397
+ # @!attribute [rw] key_attributes
1398
+ # This is a string-to-string map that contains information about the
1399
+ # type of object that this SLO is related to. It can include the
1400
+ # following fields.
1401
+ #
1402
+ # * `Type` designates the type of object that this SLO is related to.
1403
+ #
1404
+ # * `ResourceType` specifies the type of the resource. This field is
1405
+ # used only when the value of the `Type` field is `Resource` or
1406
+ # `AWS::Resource`.
1407
+ #
1408
+ # * `Name` specifies the name of the object. This is used only if the
1409
+ # value of the `Type` field is `Service`, `RemoteService`, or
1410
+ # `AWS::Service`.
1411
+ #
1412
+ # * `Identifier` identifies the resource objects of this resource.
1413
+ # This is used only if the value of the `Type` field is `Resource`
1414
+ # or `AWS::Resource`.
1415
+ #
1416
+ # * `Environment` specifies the location where this object is hosted,
1417
+ # or what it belongs to.
1418
+ # @return [Hash<String,String>]
1419
+ #
1420
+ # @!attribute [rw] operation_name
1421
+ # If the SLO monitors a specific operation of the service, this field
1422
+ # displays that operation name.
1423
+ # @return [String]
1424
+ #
1425
+ # @!attribute [rw] metric_type
1426
+ # If the SLO monitors either the `LATENCY` or `AVAILABILITY` metric
1427
+ # that Application Signals collects, this field displays which of
1428
+ # those metrics is used.
1429
+ # @return [String]
1430
+ #
1431
+ # @!attribute [rw] metric_data_queries
1432
+ # If this SLO monitors a CloudWatch metric or the result of a
1433
+ # CloudWatch metric math expression, this structure includes the
1434
+ # information about that metric or expression.
1435
+ # @return [Array<Types::MetricDataQuery>]
1436
+ #
1437
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ServiceLevelIndicatorMetric AWS API Documentation
1438
+ #
1439
+ class ServiceLevelIndicatorMetric < Struct.new(
1440
+ :key_attributes,
1441
+ :operation_name,
1442
+ :metric_type,
1443
+ :metric_data_queries)
1444
+ SENSITIVE = []
1445
+ include Aws::Structure
1446
+ end
1447
+
1448
+ # Use this structure to specify the information for the metric that the
1449
+ # SLO will monitor.
1450
+ #
1451
+ # @!attribute [rw] key_attributes
1452
+ # If this SLO is related to a metric collected by Application Signals,
1453
+ # you must use this field to specify which service the SLO metric is
1454
+ # related to. To do so, you must specify at least the `Type`, `Name`,
1455
+ # and `Environment` attributes.
1456
+ #
1457
+ # This is a string-to-string map. It can include the following fields.
1458
+ #
1459
+ # * `Type` designates the type of object this is.
1460
+ #
1461
+ # * `ResourceType` specifies the type of the resource. This field is
1462
+ # used only when the value of the `Type` field is `Resource` or
1463
+ # `AWS::Resource`.
1464
+ #
1465
+ # * `Name` specifies the name of the object. This is used only if the
1466
+ # value of the `Type` field is `Service`, `RemoteService`, or
1467
+ # `AWS::Service`.
1468
+ #
1469
+ # * `Identifier` identifies the resource objects of this resource.
1470
+ # This is used only if the value of the `Type` field is `Resource`
1471
+ # or `AWS::Resource`.
1472
+ #
1473
+ # * `Environment` specifies the location where this object is hosted,
1474
+ # or what it belongs to.
1475
+ # @return [Hash<String,String>]
1476
+ #
1477
+ # @!attribute [rw] operation_name
1478
+ # If the SLO is to monitor a specific operation of the service, use
1479
+ # this field to specify the name of that operation.
1480
+ # @return [String]
1481
+ #
1482
+ # @!attribute [rw] metric_type
1483
+ # If the SLO is to monitor either the `LATENCY` or `AVAILABILITY`
1484
+ # metric that Application Signals collects, use this field to specify
1485
+ # which of those metrics is used.
1486
+ # @return [String]
1487
+ #
1488
+ # @!attribute [rw] statistic
1489
+ # The statistic to use for comparison to the threshold. It can be any
1490
+ # CloudWatch statistic or extended statistic. For more information
1491
+ # about statistics, see [CloudWatch statistics definitions][1].
1492
+ #
1493
+ #
1494
+ #
1495
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html
1496
+ # @return [String]
1497
+ #
1498
+ # @!attribute [rw] period_seconds
1499
+ # The number of seconds to use as the period for SLO evaluation. Your
1500
+ # application's performance is compared to the SLI during each
1501
+ # period. For each period, the application is determined to have
1502
+ # either achieved or not achieved the necessary performance.
1503
+ # @return [Integer]
1504
+ #
1505
+ # @!attribute [rw] metric_data_queries
1506
+ # If this SLO monitors a CloudWatch metric or the result of a
1507
+ # CloudWatch metric math expression, use this structure to specify
1508
+ # that metric or expression.
1509
+ # @return [Array<Types::MetricDataQuery>]
1510
+ #
1511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ServiceLevelIndicatorMetricConfig AWS API Documentation
1512
+ #
1513
+ class ServiceLevelIndicatorMetricConfig < Struct.new(
1514
+ :key_attributes,
1515
+ :operation_name,
1516
+ :metric_type,
1517
+ :statistic,
1518
+ :period_seconds,
1519
+ :metric_data_queries)
1520
+ SENSITIVE = []
1521
+ include Aws::Structure
1522
+ end
1523
+
1524
+ # A structure containing information about one service level objective
1525
+ # (SLO) that has been created in Application Signals. Creating SLOs can
1526
+ # help you ensure your services are performing to the level that you
1527
+ # expect. SLOs help you set and track a specific target level for the
1528
+ # reliability and availability of your applications and services. Each
1529
+ # SLO uses a service level indicator (SLI), which is a key performance
1530
+ # metric, to calculate how much underperformance can be tolerated before
1531
+ # the goal that you set for the SLO is not achieved.
1532
+ #
1533
+ # @!attribute [rw] arn
1534
+ # The ARN of this SLO.
1535
+ # @return [String]
1536
+ #
1537
+ # @!attribute [rw] name
1538
+ # The name of this SLO.
1539
+ # @return [String]
1540
+ #
1541
+ # @!attribute [rw] description
1542
+ # The description that you created for this SLO.
1543
+ # @return [String]
1544
+ #
1545
+ # @!attribute [rw] created_time
1546
+ # The date and time that this SLO was created. When used in a raw HTTP
1547
+ # Query API, it is formatted as `yyyy-MM-dd'T'HH:mm:ss`. For example,
1548
+ # `2019-07-01T23:59:59`.
1549
+ # @return [Time]
1550
+ #
1551
+ # @!attribute [rw] last_updated_time
1552
+ # The time that this SLO was most recently updated. When used in a raw
1553
+ # HTTP Query API, it is formatted as `yyyy-MM-dd'T'HH:mm:ss`. For
1554
+ # example, `2019-07-01T23:59:59`.
1555
+ # @return [Time]
1556
+ #
1557
+ # @!attribute [rw] sli
1558
+ # A structure containing information about the performance metric that
1559
+ # this SLO monitors.
1560
+ # @return [Types::ServiceLevelIndicator]
1561
+ #
1562
+ # @!attribute [rw] goal
1563
+ # This structure contains the attributes that determine the goal of an
1564
+ # SLO. This includes the time period for evaluation and the attainment
1565
+ # threshold.
1566
+ # @return [Types::Goal]
1567
+ #
1568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ServiceLevelObjective AWS API Documentation
1569
+ #
1570
+ class ServiceLevelObjective < Struct.new(
1571
+ :arn,
1572
+ :name,
1573
+ :description,
1574
+ :created_time,
1575
+ :last_updated_time,
1576
+ :sli,
1577
+ :goal)
1578
+ SENSITIVE = []
1579
+ include Aws::Structure
1580
+ end
1581
+
1582
+ # A structure containing an SLO budget report that you have requested.
1583
+ #
1584
+ # @!attribute [rw] arn
1585
+ # The ARN of the SLO that this report is for.
1586
+ # @return [String]
1587
+ #
1588
+ # @!attribute [rw] name
1589
+ # The name of the SLO that this report is for.
1590
+ # @return [String]
1591
+ #
1592
+ # @!attribute [rw] budget_status
1593
+ # The status of this SLO, as it relates to the error budget for the
1594
+ # entire time interval.
1595
+ #
1596
+ # * `OK` means that the SLO had remaining budget above the warning
1597
+ # threshold, as of the time that you specified in `TimeStamp`.
1598
+ #
1599
+ # * `WARNING` means that the SLO's remaining budget was below the
1600
+ # warning threshold, as of the time that you specified in
1601
+ # `TimeStamp`.
1602
+ #
1603
+ # * `BREACHED` means that the SLO's budget was exhausted, as of the
1604
+ # time that you specified in `TimeStamp`.
1605
+ #
1606
+ # * `INSUFFICIENT_DATA` means that the specifed start and end times
1607
+ # were before the SLO was created, or that attainment data is
1608
+ # missing.
1609
+ # @return [String]
1610
+ #
1611
+ # @!attribute [rw] attainment
1612
+ # A number between 0 and 100 that represents the percentage of time
1613
+ # periods that the service has attained the SLO's attainment goal, as
1614
+ # of the time of the request.
1615
+ # @return [Float]
1616
+ #
1617
+ # @!attribute [rw] total_budget_seconds
1618
+ # The total number of seconds in the error budget for the interval.
1619
+ # @return [Integer]
1620
+ #
1621
+ # @!attribute [rw] budget_seconds_remaining
1622
+ # The budget amount remaining before the SLO status becomes
1623
+ # `BREACHING`, at the time specified in the `Timestemp` parameter of
1624
+ # the request. If this value is negative, then the SLO is already in
1625
+ # `BREACHING` status.
1626
+ # @return [Integer]
1627
+ #
1628
+ # @!attribute [rw] sli
1629
+ # A structure that contains information about the performance metric
1630
+ # that this SLO monitors.
1631
+ # @return [Types::ServiceLevelIndicator]
1632
+ #
1633
+ # @!attribute [rw] goal
1634
+ # This structure contains the attributes that determine the goal of an
1635
+ # SLO. This includes the time period for evaluation and the attainment
1636
+ # threshold.
1637
+ # @return [Types::Goal]
1638
+ #
1639
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ServiceLevelObjectiveBudgetReport AWS API Documentation
1640
+ #
1641
+ class ServiceLevelObjectiveBudgetReport < Struct.new(
1642
+ :arn,
1643
+ :name,
1644
+ :budget_status,
1645
+ :attainment,
1646
+ :total_budget_seconds,
1647
+ :budget_seconds_remaining,
1648
+ :sli,
1649
+ :goal)
1650
+ SENSITIVE = []
1651
+ include Aws::Structure
1652
+ end
1653
+
1654
+ # A structure containing information about one error that occurred
1655
+ # during a [BatchGetServiceLevelObjectiveBudgetReport][1] operation.
1656
+ #
1657
+ #
1658
+ #
1659
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_BatchGetServiceLevelObjectiveBudgetReport.html
1660
+ #
1661
+ # @!attribute [rw] name
1662
+ # The name of the SLO that this error is related to.
1663
+ # @return [String]
1664
+ #
1665
+ # @!attribute [rw] arn
1666
+ # The ARN of the SLO that this error is related to.
1667
+ # @return [String]
1668
+ #
1669
+ # @!attribute [rw] error_code
1670
+ # The error code for this error.
1671
+ # @return [String]
1672
+ #
1673
+ # @!attribute [rw] error_message
1674
+ # The message for this error.
1675
+ # @return [String]
1676
+ #
1677
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ServiceLevelObjectiveBudgetReportError AWS API Documentation
1678
+ #
1679
+ class ServiceLevelObjectiveBudgetReportError < Struct.new(
1680
+ :name,
1681
+ :arn,
1682
+ :error_code,
1683
+ :error_message)
1684
+ SENSITIVE = []
1685
+ include Aws::Structure
1686
+ end
1687
+
1688
+ # A structure that contains information about one service level
1689
+ # objective (SLO) created in Application Signals.
1690
+ #
1691
+ # @!attribute [rw] arn
1692
+ # The ARN of this service level objective.
1693
+ # @return [String]
1694
+ #
1695
+ # @!attribute [rw] name
1696
+ # The name of the service level objective.
1697
+ # @return [String]
1698
+ #
1699
+ # @!attribute [rw] key_attributes
1700
+ # This is a string-to-string map. It can include the following fields.
1701
+ #
1702
+ # * `Type` designates the type of object this service level objective
1703
+ # is for.
1704
+ #
1705
+ # * `ResourceType` specifies the type of the resource. This field is
1706
+ # used only when the value of the `Type` field is `Resource` or
1707
+ # `AWS::Resource`.
1708
+ #
1709
+ # * `Name` specifies the name of the object. This is used only if the
1710
+ # value of the `Type` field is `Service`, `RemoteService`, or
1711
+ # `AWS::Service`.
1712
+ #
1713
+ # * `Identifier` identifies the resource objects of this resource.
1714
+ # This is used only if the value of the `Type` field is `Resource`
1715
+ # or `AWS::Resource`.
1716
+ #
1717
+ # * `Environment` specifies the location where this object is hosted,
1718
+ # or what it belongs to.
1719
+ # @return [Hash<String,String>]
1720
+ #
1721
+ # @!attribute [rw] operation_name
1722
+ # If this service level objective is specific to a single operation,
1723
+ # this field displays the name of that operation.
1724
+ # @return [String]
1725
+ #
1726
+ # @!attribute [rw] created_time
1727
+ # The date and time that this service level objective was created. It
1728
+ # is expressed as the number of milliseconds since Jan 1, 1970
1729
+ # 00:00:00 UTC.
1730
+ # @return [Time]
1731
+ #
1732
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ServiceLevelObjectiveSummary AWS API Documentation
1733
+ #
1734
+ class ServiceLevelObjectiveSummary < Struct.new(
1735
+ :arn,
1736
+ :name,
1737
+ :key_attributes,
1738
+ :operation_name,
1739
+ :created_time)
1740
+ SENSITIVE = []
1741
+ include Aws::Structure
1742
+ end
1743
+
1744
+ # This structure contains information about an operation discovered by
1745
+ # Application Signals. An operation is a specific function performed by
1746
+ # a service that was discovered by Application Signals, and is often an
1747
+ # API that is called by an upstream dependent.
1748
+ #
1749
+ # @!attribute [rw] name
1750
+ # The name of the operation, discovered by Application Signals.
1751
+ # @return [String]
1752
+ #
1753
+ # @!attribute [rw] metric_references
1754
+ # An array of structures that each contain information about one
1755
+ # metric associated with this service operation that was discovered by
1756
+ # Application Signals.
1757
+ # @return [Array<Types::MetricReference>]
1758
+ #
1759
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ServiceOperation AWS API Documentation
1760
+ #
1761
+ class ServiceOperation < Struct.new(
1762
+ :name,
1763
+ :metric_references)
1764
+ SENSITIVE = []
1765
+ include Aws::Structure
1766
+ end
1767
+
1768
+ # This request exceeds a service quota.
1769
+ #
1770
+ # @!attribute [rw] message
1771
+ # @return [String]
1772
+ #
1773
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ServiceQuotaExceededException AWS API Documentation
1774
+ #
1775
+ class ServiceQuotaExceededException < Struct.new(
1776
+ :message)
1777
+ SENSITIVE = []
1778
+ include Aws::Structure
1779
+ end
1780
+
1781
+ # This structure contains information about one of your services that
1782
+ # was discoverd by Application Signals
1783
+ #
1784
+ # @!attribute [rw] key_attributes
1785
+ # This is a string-to-string map that help identify the objects
1786
+ # discovered by Application Signals. It can include the following
1787
+ # fields.
1788
+ #
1789
+ # * `Type` designates the type of object this is.
1790
+ #
1791
+ # * `ResourceType` specifies the type of the resource. This field is
1792
+ # used only when the value of the `Type` field is `Resource` or
1793
+ # `AWS::Resource`.
1794
+ #
1795
+ # * `Name` specifies the name of the object. This is used only if the
1796
+ # value of the `Type` field is `Service`, `RemoteService`, or
1797
+ # `AWS::Service`.
1798
+ #
1799
+ # * `Identifier` identifies the resource objects of this resource.
1800
+ # This is used only if the value of the `Type` field is `Resource`
1801
+ # or `AWS::Resource`.
1802
+ #
1803
+ # * `Environment` specifies the location where this object is hosted,
1804
+ # or what it belongs to.
1805
+ # @return [Hash<String,String>]
1806
+ #
1807
+ # @!attribute [rw] attribute_maps
1808
+ # This structure contains one or more string-to-string maps that help
1809
+ # identify this service. It can include *platform attributes*,
1810
+ # *application attributes*, and *telemetry attributes*.
1811
+ #
1812
+ # Platform attributes contain information the service's platform.
1813
+ #
1814
+ # * `PlatformType` defines the hosted-in platform.
1815
+ #
1816
+ # * `EKS.Cluster` is the name of the Amazon EKS cluster.
1817
+ #
1818
+ # * `K8s.Cluster` is the name of the self-hosted Kubernetes cluster.
1819
+ #
1820
+ # * `K8s.Namespace` is the name of the Kubernetes namespace in either
1821
+ # Amazon EKS or Kubernetes clusters.
1822
+ #
1823
+ # * `K8s.Workload` is the name of the Kubernetes workload in either
1824
+ # Amazon EKS or Kubernetes clusters.
1825
+ #
1826
+ # * `K8s.Node` is the name of the Kubernetes node in either Amazon EKS
1827
+ # or Kubernetes clusters.
1828
+ #
1829
+ # * `K8s.Pod` is the name of the Kubernetes pod in either Amazon EKS
1830
+ # or Kubernetes clusters.
1831
+ #
1832
+ # * `EC2.AutoScalingGroup` is the name of the Amazon EC2 Auto Scaling
1833
+ # group.
1834
+ #
1835
+ # * `EC2.InstanceId` is the ID of the Amazon EC2 instance.
1836
+ #
1837
+ # * `Host` is the name of the host, for all platform types.
1838
+ #
1839
+ # Applciation attributes contain information about the application.
1840
+ #
1841
+ # * `AWS.Application` is the application's name in Amazon Web
1842
+ # Services Service Catalog AppRegistry.
1843
+ #
1844
+ # * `AWS.Application.ARN` is the application's ARN in Amazon Web
1845
+ # Services Service Catalog AppRegistry.
1846
+ #
1847
+ # Telemetry attributes contain telemetry information.
1848
+ #
1849
+ # * `Telemetry.SDK` is the fingerprint of the OpenTelemetry SDK
1850
+ # version for instrumented services.
1851
+ #
1852
+ # * `Telemetry.Agent` is the fingerprint of the agent used to collect
1853
+ # and send telemetry data.
1854
+ #
1855
+ # * `Telemetry.Source` Specifies the point of application where the
1856
+ # telemetry was collected or specifies what was used for the source
1857
+ # of telemetry data.
1858
+ # @return [Array<Hash<String,String>>]
1859
+ #
1860
+ # @!attribute [rw] metric_references
1861
+ # An array of structures that each contain information about one
1862
+ # metric associated with this service.
1863
+ # @return [Array<Types::MetricReference>]
1864
+ #
1865
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ServiceSummary AWS API Documentation
1866
+ #
1867
+ class ServiceSummary < Struct.new(
1868
+ :key_attributes,
1869
+ :attribute_maps,
1870
+ :metric_references)
1871
+ SENSITIVE = []
1872
+ include Aws::Structure
1873
+ end
1874
+
1875
+ # @api private
1876
+ #
1877
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/StartDiscoveryInput AWS API Documentation
1878
+ #
1879
+ class StartDiscoveryInput < Aws::EmptyStructure; end
1880
+
1881
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/StartDiscoveryOutput AWS API Documentation
1882
+ #
1883
+ class StartDiscoveryOutput < Aws::EmptyStructure; end
1884
+
1885
+ # A key-value pair associated with a resource. Tags can help you
1886
+ # organize and categorize your resources.
1887
+ #
1888
+ # @!attribute [rw] key
1889
+ # A string that you can use to assign a value. The combination of tag
1890
+ # keys and values can help you organize and categorize your resources.
1891
+ # @return [String]
1892
+ #
1893
+ # @!attribute [rw] value
1894
+ # The value for the specified tag key.
1895
+ # @return [String]
1896
+ #
1897
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/Tag AWS API Documentation
1898
+ #
1899
+ class Tag < Struct.new(
1900
+ :key,
1901
+ :value)
1902
+ SENSITIVE = []
1903
+ include Aws::Structure
1904
+ end
1905
+
1906
+ # @!attribute [rw] resource_arn
1907
+ # The Amazon Resource Name (ARN) of the CloudWatch resource that you
1908
+ # want to set tags for.
1909
+ #
1910
+ # The ARN format of an Application Signals SLO is
1911
+ # `arn:aws:cloudwatch:Region:account-id:slo:slo-name `
1912
+ #
1913
+ # For more information about ARN format, see [ Resource Types Defined
1914
+ # by Amazon CloudWatch][1] in the *Amazon Web Services General
1915
+ # Reference*.
1916
+ #
1917
+ #
1918
+ #
1919
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies
1920
+ # @return [String]
1921
+ #
1922
+ # @!attribute [rw] tags
1923
+ # The list of key-value pairs to associate with the alarm.
1924
+ # @return [Array<Types::Tag>]
1925
+ #
1926
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/TagResourceRequest AWS API Documentation
1927
+ #
1928
+ class TagResourceRequest < Struct.new(
1929
+ :resource_arn,
1930
+ :tags)
1931
+ SENSITIVE = []
1932
+ include Aws::Structure
1933
+ end
1934
+
1935
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/TagResourceResponse AWS API Documentation
1936
+ #
1937
+ class TagResourceResponse < Aws::EmptyStructure; end
1938
+
1939
+ # The request was throttled because of quota limits.
1940
+ #
1941
+ # @!attribute [rw] message
1942
+ # @return [String]
1943
+ #
1944
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ThrottlingException AWS API Documentation
1945
+ #
1946
+ class ThrottlingException < Struct.new(
1947
+ :message)
1948
+ SENSITIVE = []
1949
+ include Aws::Structure
1950
+ end
1951
+
1952
+ # @!attribute [rw] resource_arn
1953
+ # The Amazon Resource Name (ARN) of the CloudWatch resource that you
1954
+ # want to delete tags from.
1955
+ #
1956
+ # The ARN format of an Application Signals SLO is
1957
+ # `arn:aws:cloudwatch:Region:account-id:slo:slo-name `
1958
+ #
1959
+ # For more information about ARN format, see [ Resource Types Defined
1960
+ # by Amazon CloudWatch][1] in the *Amazon Web Services General
1961
+ # Reference*.
1962
+ #
1963
+ #
1964
+ #
1965
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies
1966
+ # @return [String]
1967
+ #
1968
+ # @!attribute [rw] tag_keys
1969
+ # The list of tag keys to remove from the resource.
1970
+ # @return [Array<String>]
1971
+ #
1972
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/UntagResourceRequest AWS API Documentation
1973
+ #
1974
+ class UntagResourceRequest < Struct.new(
1975
+ :resource_arn,
1976
+ :tag_keys)
1977
+ SENSITIVE = []
1978
+ include Aws::Structure
1979
+ end
1980
+
1981
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/UntagResourceResponse AWS API Documentation
1982
+ #
1983
+ class UntagResourceResponse < Aws::EmptyStructure; end
1984
+
1985
+ # @!attribute [rw] id
1986
+ # The Amazon Resource Name (ARN) or name of the service level
1987
+ # objective that you want to update.
1988
+ # @return [String]
1989
+ #
1990
+ # @!attribute [rw] description
1991
+ # An optional description for the SLO.
1992
+ # @return [String]
1993
+ #
1994
+ # @!attribute [rw] sli_config
1995
+ # A structure that contains information about what performance metric
1996
+ # this SLO will monitor.
1997
+ # @return [Types::ServiceLevelIndicatorConfig]
1998
+ #
1999
+ # @!attribute [rw] goal
2000
+ # A structure that contains the attributes that determine the goal of
2001
+ # the SLO. This includes the time period for evaluation and the
2002
+ # attainment threshold.
2003
+ # @return [Types::Goal]
2004
+ #
2005
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/UpdateServiceLevelObjectiveInput AWS API Documentation
2006
+ #
2007
+ class UpdateServiceLevelObjectiveInput < Struct.new(
2008
+ :id,
2009
+ :description,
2010
+ :sli_config,
2011
+ :goal)
2012
+ SENSITIVE = []
2013
+ include Aws::Structure
2014
+ end
2015
+
2016
+ # @!attribute [rw] slo
2017
+ # A structure that contains information about the SLO that you just
2018
+ # updated.
2019
+ # @return [Types::ServiceLevelObjective]
2020
+ #
2021
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/UpdateServiceLevelObjectiveOutput AWS API Documentation
2022
+ #
2023
+ class UpdateServiceLevelObjectiveOutput < Struct.new(
2024
+ :slo)
2025
+ SENSITIVE = []
2026
+ include Aws::Structure
2027
+ end
2028
+
2029
+ # The resource is not valid.
2030
+ #
2031
+ # @!attribute [rw] message
2032
+ # @return [String]
2033
+ #
2034
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ValidationException AWS API Documentation
2035
+ #
2036
+ class ValidationException < Struct.new(
2037
+ :message)
2038
+ SENSITIVE = []
2039
+ include Aws::Structure
2040
+ end
2041
+
2042
+ end
2043
+ end