aws-sdk-applicationsignals 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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