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