UNPKG

55.6 kBTypeScriptView Raw
1import {Request} from '../lib/request';
2import {Response} from '../lib/response';
3import {AWSError} from '../lib/error';
4import {Service} from '../lib/service';
5import {ServiceConfigurationOptions} from '../lib/service';
6import {ConfigBase as Config} from '../lib/config';
7interface Blob {}
8declare class XRay extends Service {
9 /**
10 * Constructs a service object. This object has one method for each API operation.
11 */
12 constructor(options?: XRay.Types.ClientConfiguration)
13 config: Config & XRay.Types.ClientConfiguration;
14 /**
15 * Retrieves a list of traces specified by ID. Each trace is a collection of segment documents that originates from a single request. Use GetTraceSummaries to get a list of trace IDs.
16 */
17 batchGetTraces(params: XRay.Types.BatchGetTracesRequest, callback?: (err: AWSError, data: XRay.Types.BatchGetTracesResult) => void): Request<XRay.Types.BatchGetTracesResult, AWSError>;
18 /**
19 * Retrieves a list of traces specified by ID. Each trace is a collection of segment documents that originates from a single request. Use GetTraceSummaries to get a list of trace IDs.
20 */
21 batchGetTraces(callback?: (err: AWSError, data: XRay.Types.BatchGetTracesResult) => void): Request<XRay.Types.BatchGetTracesResult, AWSError>;
22 /**
23 * Creates a group resource with a name and a filter expression.
24 */
25 createGroup(params: XRay.Types.CreateGroupRequest, callback?: (err: AWSError, data: XRay.Types.CreateGroupResult) => void): Request<XRay.Types.CreateGroupResult, AWSError>;
26 /**
27 * Creates a group resource with a name and a filter expression.
28 */
29 createGroup(callback?: (err: AWSError, data: XRay.Types.CreateGroupResult) => void): Request<XRay.Types.CreateGroupResult, AWSError>;
30 /**
31 * Creates a rule to control sampling behavior for instrumented applications. Services retrieve rules with GetSamplingRules, and evaluate each rule in ascending order of priority for each request. If a rule matches, the service records a trace, borrowing it from the reservoir size. After 10 seconds, the service reports back to X-Ray with GetSamplingTargets to get updated versions of each in-use rule. The updated rule contains a trace quota that the service can use instead of borrowing from the reservoir.
32 */
33 createSamplingRule(params: XRay.Types.CreateSamplingRuleRequest, callback?: (err: AWSError, data: XRay.Types.CreateSamplingRuleResult) => void): Request<XRay.Types.CreateSamplingRuleResult, AWSError>;
34 /**
35 * Creates a rule to control sampling behavior for instrumented applications. Services retrieve rules with GetSamplingRules, and evaluate each rule in ascending order of priority for each request. If a rule matches, the service records a trace, borrowing it from the reservoir size. After 10 seconds, the service reports back to X-Ray with GetSamplingTargets to get updated versions of each in-use rule. The updated rule contains a trace quota that the service can use instead of borrowing from the reservoir.
36 */
37 createSamplingRule(callback?: (err: AWSError, data: XRay.Types.CreateSamplingRuleResult) => void): Request<XRay.Types.CreateSamplingRuleResult, AWSError>;
38 /**
39 * Deletes a group resource.
40 */
41 deleteGroup(params: XRay.Types.DeleteGroupRequest, callback?: (err: AWSError, data: XRay.Types.DeleteGroupResult) => void): Request<XRay.Types.DeleteGroupResult, AWSError>;
42 /**
43 * Deletes a group resource.
44 */
45 deleteGroup(callback?: (err: AWSError, data: XRay.Types.DeleteGroupResult) => void): Request<XRay.Types.DeleteGroupResult, AWSError>;
46 /**
47 * Deletes a sampling rule.
48 */
49 deleteSamplingRule(params: XRay.Types.DeleteSamplingRuleRequest, callback?: (err: AWSError, data: XRay.Types.DeleteSamplingRuleResult) => void): Request<XRay.Types.DeleteSamplingRuleResult, AWSError>;
50 /**
51 * Deletes a sampling rule.
52 */
53 deleteSamplingRule(callback?: (err: AWSError, data: XRay.Types.DeleteSamplingRuleResult) => void): Request<XRay.Types.DeleteSamplingRuleResult, AWSError>;
54 /**
55 * Retrieves the current encryption configuration for X-Ray data.
56 */
57 getEncryptionConfig(params: XRay.Types.GetEncryptionConfigRequest, callback?: (err: AWSError, data: XRay.Types.GetEncryptionConfigResult) => void): Request<XRay.Types.GetEncryptionConfigResult, AWSError>;
58 /**
59 * Retrieves the current encryption configuration for X-Ray data.
60 */
61 getEncryptionConfig(callback?: (err: AWSError, data: XRay.Types.GetEncryptionConfigResult) => void): Request<XRay.Types.GetEncryptionConfigResult, AWSError>;
62 /**
63 * Retrieves group resource details.
64 */
65 getGroup(params: XRay.Types.GetGroupRequest, callback?: (err: AWSError, data: XRay.Types.GetGroupResult) => void): Request<XRay.Types.GetGroupResult, AWSError>;
66 /**
67 * Retrieves group resource details.
68 */
69 getGroup(callback?: (err: AWSError, data: XRay.Types.GetGroupResult) => void): Request<XRay.Types.GetGroupResult, AWSError>;
70 /**
71 * Retrieves all active group details.
72 */
73 getGroups(params: XRay.Types.GetGroupsRequest, callback?: (err: AWSError, data: XRay.Types.GetGroupsResult) => void): Request<XRay.Types.GetGroupsResult, AWSError>;
74 /**
75 * Retrieves all active group details.
76 */
77 getGroups(callback?: (err: AWSError, data: XRay.Types.GetGroupsResult) => void): Request<XRay.Types.GetGroupsResult, AWSError>;
78 /**
79 * Retrieves all sampling rules.
80 */
81 getSamplingRules(params: XRay.Types.GetSamplingRulesRequest, callback?: (err: AWSError, data: XRay.Types.GetSamplingRulesResult) => void): Request<XRay.Types.GetSamplingRulesResult, AWSError>;
82 /**
83 * Retrieves all sampling rules.
84 */
85 getSamplingRules(callback?: (err: AWSError, data: XRay.Types.GetSamplingRulesResult) => void): Request<XRay.Types.GetSamplingRulesResult, AWSError>;
86 /**
87 * Retrieves information about recent sampling results for all sampling rules.
88 */
89 getSamplingStatisticSummaries(params: XRay.Types.GetSamplingStatisticSummariesRequest, callback?: (err: AWSError, data: XRay.Types.GetSamplingStatisticSummariesResult) => void): Request<XRay.Types.GetSamplingStatisticSummariesResult, AWSError>;
90 /**
91 * Retrieves information about recent sampling results for all sampling rules.
92 */
93 getSamplingStatisticSummaries(callback?: (err: AWSError, data: XRay.Types.GetSamplingStatisticSummariesResult) => void): Request<XRay.Types.GetSamplingStatisticSummariesResult, AWSError>;
94 /**
95 * Requests a sampling quota for rules that the service is using to sample requests.
96 */
97 getSamplingTargets(params: XRay.Types.GetSamplingTargetsRequest, callback?: (err: AWSError, data: XRay.Types.GetSamplingTargetsResult) => void): Request<XRay.Types.GetSamplingTargetsResult, AWSError>;
98 /**
99 * Requests a sampling quota for rules that the service is using to sample requests.
100 */
101 getSamplingTargets(callback?: (err: AWSError, data: XRay.Types.GetSamplingTargetsResult) => void): Request<XRay.Types.GetSamplingTargetsResult, AWSError>;
102 /**
103 * Retrieves a document that describes services that process incoming requests, and downstream services that they call as a result. Root services process incoming requests and make calls to downstream services. Root services are applications that use the AWS X-Ray SDK. Downstream services can be other applications, AWS resources, HTTP web APIs, or SQL databases.
104 */
105 getServiceGraph(params: XRay.Types.GetServiceGraphRequest, callback?: (err: AWSError, data: XRay.Types.GetServiceGraphResult) => void): Request<XRay.Types.GetServiceGraphResult, AWSError>;
106 /**
107 * Retrieves a document that describes services that process incoming requests, and downstream services that they call as a result. Root services process incoming requests and make calls to downstream services. Root services are applications that use the AWS X-Ray SDK. Downstream services can be other applications, AWS resources, HTTP web APIs, or SQL databases.
108 */
109 getServiceGraph(callback?: (err: AWSError, data: XRay.Types.GetServiceGraphResult) => void): Request<XRay.Types.GetServiceGraphResult, AWSError>;
110 /**
111 * Get an aggregation of service statistics defined by a specific time range.
112 */
113 getTimeSeriesServiceStatistics(params: XRay.Types.GetTimeSeriesServiceStatisticsRequest, callback?: (err: AWSError, data: XRay.Types.GetTimeSeriesServiceStatisticsResult) => void): Request<XRay.Types.GetTimeSeriesServiceStatisticsResult, AWSError>;
114 /**
115 * Get an aggregation of service statistics defined by a specific time range.
116 */
117 getTimeSeriesServiceStatistics(callback?: (err: AWSError, data: XRay.Types.GetTimeSeriesServiceStatisticsResult) => void): Request<XRay.Types.GetTimeSeriesServiceStatisticsResult, AWSError>;
118 /**
119 * Retrieves a service graph for one or more specific trace IDs.
120 */
121 getTraceGraph(params: XRay.Types.GetTraceGraphRequest, callback?: (err: AWSError, data: XRay.Types.GetTraceGraphResult) => void): Request<XRay.Types.GetTraceGraphResult, AWSError>;
122 /**
123 * Retrieves a service graph for one or more specific trace IDs.
124 */
125 getTraceGraph(callback?: (err: AWSError, data: XRay.Types.GetTraceGraphResult) => void): Request<XRay.Types.GetTraceGraphResult, AWSError>;
126 /**
127 * Retrieves IDs and metadata for traces available for a specified time frame using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces. A filter expression can target traced requests that hit specific service nodes or edges, have errors, or come from a known user. For example, the following filter expression targets traces that pass through api.example.com: service("api.example.com") This filter expression finds traces that have an annotation named account with the value 12345: annotation.account = "12345" For a full list of indexed fields and keywords that you can use in filter expressions, see Using Filter Expressions in the AWS X-Ray Developer Guide.
128 */
129 getTraceSummaries(params: XRay.Types.GetTraceSummariesRequest, callback?: (err: AWSError, data: XRay.Types.GetTraceSummariesResult) => void): Request<XRay.Types.GetTraceSummariesResult, AWSError>;
130 /**
131 * Retrieves IDs and metadata for traces available for a specified time frame using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces. A filter expression can target traced requests that hit specific service nodes or edges, have errors, or come from a known user. For example, the following filter expression targets traces that pass through api.example.com: service("api.example.com") This filter expression finds traces that have an annotation named account with the value 12345: annotation.account = "12345" For a full list of indexed fields and keywords that you can use in filter expressions, see Using Filter Expressions in the AWS X-Ray Developer Guide.
132 */
133 getTraceSummaries(callback?: (err: AWSError, data: XRay.Types.GetTraceSummariesResult) => void): Request<XRay.Types.GetTraceSummariesResult, AWSError>;
134 /**
135 * Updates the encryption configuration for X-Ray data.
136 */
137 putEncryptionConfig(params: XRay.Types.PutEncryptionConfigRequest, callback?: (err: AWSError, data: XRay.Types.PutEncryptionConfigResult) => void): Request<XRay.Types.PutEncryptionConfigResult, AWSError>;
138 /**
139 * Updates the encryption configuration for X-Ray data.
140 */
141 putEncryptionConfig(callback?: (err: AWSError, data: XRay.Types.PutEncryptionConfigResult) => void): Request<XRay.Types.PutEncryptionConfigResult, AWSError>;
142 /**
143 * Used by the AWS X-Ray daemon to upload telemetry.
144 */
145 putTelemetryRecords(params: XRay.Types.PutTelemetryRecordsRequest, callback?: (err: AWSError, data: XRay.Types.PutTelemetryRecordsResult) => void): Request<XRay.Types.PutTelemetryRecordsResult, AWSError>;
146 /**
147 * Used by the AWS X-Ray daemon to upload telemetry.
148 */
149 putTelemetryRecords(callback?: (err: AWSError, data: XRay.Types.PutTelemetryRecordsResult) => void): Request<XRay.Types.PutTelemetryRecordsResult, AWSError>;
150 /**
151 * Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in batches. A segment document can be a completed segment, an in-progress segment, or an array of subsegments. Segments must include the following fields. For the full segment document schema, see AWS X-Ray Segment Documents in the AWS X-Ray Developer Guide. Required Segment Document Fields name - The name of the service that handled the request. id - A 64-bit identifier for the segment, unique among segments in the same trace, in 16 hexadecimal digits. trace_id - A unique identifier that connects all segments and subsegments originating from a single client request. start_time - Time the segment or subsegment was created, in floating point seconds in epoch time, accurate to milliseconds. For example, 1480615200.010 or 1.480615200010E9. end_time - Time the segment or subsegment was closed. For example, 1480615200.090 or 1.480615200090E9. Specify either an end_time or in_progress. in_progress - Set to true instead of specifying an end_time to record that a segment has been started, but is not complete. Send an in progress segment when your application receives a request that will take a long time to serve, to trace the fact that the request was received. When the response is sent, send the complete segment to overwrite the in-progress segment. A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979. This includes: Trace ID Format The version number, i.e. 1. The time of the original request, in Unix epoch time, in 8 hexadecimal digits. For example, 10:00AM December 2nd, 2016 PST in epoch time is 1480615200 seconds, or 58406520 in hexadecimal. A 96-bit identifier for the trace, globally unique, in 24 hexadecimal digits.
152 */
153 putTraceSegments(params: XRay.Types.PutTraceSegmentsRequest, callback?: (err: AWSError, data: XRay.Types.PutTraceSegmentsResult) => void): Request<XRay.Types.PutTraceSegmentsResult, AWSError>;
154 /**
155 * Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in batches. A segment document can be a completed segment, an in-progress segment, or an array of subsegments. Segments must include the following fields. For the full segment document schema, see AWS X-Ray Segment Documents in the AWS X-Ray Developer Guide. Required Segment Document Fields name - The name of the service that handled the request. id - A 64-bit identifier for the segment, unique among segments in the same trace, in 16 hexadecimal digits. trace_id - A unique identifier that connects all segments and subsegments originating from a single client request. start_time - Time the segment or subsegment was created, in floating point seconds in epoch time, accurate to milliseconds. For example, 1480615200.010 or 1.480615200010E9. end_time - Time the segment or subsegment was closed. For example, 1480615200.090 or 1.480615200090E9. Specify either an end_time or in_progress. in_progress - Set to true instead of specifying an end_time to record that a segment has been started, but is not complete. Send an in progress segment when your application receives a request that will take a long time to serve, to trace the fact that the request was received. When the response is sent, send the complete segment to overwrite the in-progress segment. A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979. This includes: Trace ID Format The version number, i.e. 1. The time of the original request, in Unix epoch time, in 8 hexadecimal digits. For example, 10:00AM December 2nd, 2016 PST in epoch time is 1480615200 seconds, or 58406520 in hexadecimal. A 96-bit identifier for the trace, globally unique, in 24 hexadecimal digits.
156 */
157 putTraceSegments(callback?: (err: AWSError, data: XRay.Types.PutTraceSegmentsResult) => void): Request<XRay.Types.PutTraceSegmentsResult, AWSError>;
158 /**
159 * Updates a group resource.
160 */
161 updateGroup(params: XRay.Types.UpdateGroupRequest, callback?: (err: AWSError, data: XRay.Types.UpdateGroupResult) => void): Request<XRay.Types.UpdateGroupResult, AWSError>;
162 /**
163 * Updates a group resource.
164 */
165 updateGroup(callback?: (err: AWSError, data: XRay.Types.UpdateGroupResult) => void): Request<XRay.Types.UpdateGroupResult, AWSError>;
166 /**
167 * Modifies a sampling rule's configuration.
168 */
169 updateSamplingRule(params: XRay.Types.UpdateSamplingRuleRequest, callback?: (err: AWSError, data: XRay.Types.UpdateSamplingRuleResult) => void): Request<XRay.Types.UpdateSamplingRuleResult, AWSError>;
170 /**
171 * Modifies a sampling rule's configuration.
172 */
173 updateSamplingRule(callback?: (err: AWSError, data: XRay.Types.UpdateSamplingRuleResult) => void): Request<XRay.Types.UpdateSamplingRuleResult, AWSError>;
174}
175declare namespace XRay {
176 export interface Alias {
177 /**
178 * The canonical name of the alias.
179 */
180 Name?: String;
181 /**
182 * A list of names for the alias, including the canonical name.
183 */
184 Names?: AliasNames;
185 /**
186 * The type of the alias.
187 */
188 Type?: String;
189 }
190 export type AliasList = Alias[];
191 export type AliasNames = String[];
192 export type AnnotationKey = string;
193 export interface AnnotationValue {
194 /**
195 * Value for a Number annotation.
196 */
197 NumberValue?: NullableDouble;
198 /**
199 * Value for a Boolean annotation.
200 */
201 BooleanValue?: NullableBoolean;
202 /**
203 * Value for a String annotation.
204 */
205 StringValue?: String;
206 }
207 export type Annotations = {[key: string]: ValuesWithServiceIds};
208 export type AttributeKey = string;
209 export type AttributeMap = {[key: string]: AttributeValue};
210 export type AttributeValue = string;
211 export interface AvailabilityZoneDetail {
212 /**
213 * The name of a corresponding availability zone.
214 */
215 Name?: String;
216 }
217 export interface BackendConnectionErrors {
218 /**
219 *
220 */
221 TimeoutCount?: NullableInteger;
222 /**
223 *
224 */
225 ConnectionRefusedCount?: NullableInteger;
226 /**
227 *
228 */
229 HTTPCode4XXCount?: NullableInteger;
230 /**
231 *
232 */
233 HTTPCode5XXCount?: NullableInteger;
234 /**
235 *
236 */
237 UnknownHostCount?: NullableInteger;
238 /**
239 *
240 */
241 OtherCount?: NullableInteger;
242 }
243 export interface BatchGetTracesRequest {
244 /**
245 * Specify the trace IDs of requests for which to retrieve segments.
246 */
247 TraceIds: TraceIdList;
248 /**
249 * Pagination token. Not used.
250 */
251 NextToken?: String;
252 }
253 export interface BatchGetTracesResult {
254 /**
255 * Full traces for the specified requests.
256 */
257 Traces?: TraceList;
258 /**
259 * Trace IDs of requests that haven't been processed.
260 */
261 UnprocessedTraceIds?: UnprocessedTraceIdList;
262 /**
263 * Pagination token. Not used.
264 */
265 NextToken?: String;
266 }
267 export type Boolean = boolean;
268 export type BorrowCount = number;
269 export type ClientID = string;
270 export interface CreateGroupRequest {
271 /**
272 * The case-sensitive name of the new group. Default is a reserved name and names must be unique.
273 */
274 GroupName: GroupName;
275 /**
276 * The filter expression defining criteria by which to group traces.
277 */
278 FilterExpression?: FilterExpression;
279 }
280 export interface CreateGroupResult {
281 /**
282 * The group that was created. Contains the name of the group that was created, the ARN of the group that was generated based on the group name, and the filter expression that was assigned to the group.
283 */
284 Group?: Group;
285 }
286 export interface CreateSamplingRuleRequest {
287 /**
288 * The rule definition.
289 */
290 SamplingRule: SamplingRule;
291 }
292 export interface CreateSamplingRuleResult {
293 /**
294 * The saved rule definition and metadata.
295 */
296 SamplingRuleRecord?: SamplingRuleRecord;
297 }
298 export interface DeleteGroupRequest {
299 /**
300 * The case-sensitive name of the group.
301 */
302 GroupName?: GroupName;
303 /**
304 * The ARN of the group that was generated on creation.
305 */
306 GroupARN?: GroupARN;
307 }
308 export interface DeleteGroupResult {
309 }
310 export interface DeleteSamplingRuleRequest {
311 /**
312 * The name of the sampling rule. Specify a rule by either name or ARN, but not both.
313 */
314 RuleName?: String;
315 /**
316 * The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.
317 */
318 RuleARN?: String;
319 }
320 export interface DeleteSamplingRuleResult {
321 /**
322 * The deleted rule definition and metadata.
323 */
324 SamplingRuleRecord?: SamplingRuleRecord;
325 }
326 export type Double = number;
327 export type EC2InstanceId = string;
328 export interface Edge {
329 /**
330 * Identifier of the edge. Unique within a service map.
331 */
332 ReferenceId?: NullableInteger;
333 /**
334 * The start time of the first segment on the edge.
335 */
336 StartTime?: Timestamp;
337 /**
338 * The end time of the last segment on the edge.
339 */
340 EndTime?: Timestamp;
341 /**
342 * Response statistics for segments on the edge.
343 */
344 SummaryStatistics?: EdgeStatistics;
345 /**
346 * A histogram that maps the spread of client response times on an edge.
347 */
348 ResponseTimeHistogram?: Histogram;
349 /**
350 * Aliases for the edge.
351 */
352 Aliases?: AliasList;
353 }
354 export type EdgeList = Edge[];
355 export interface EdgeStatistics {
356 /**
357 * The number of requests that completed with a 2xx Success status code.
358 */
359 OkCount?: NullableLong;
360 /**
361 * Information about requests that failed with a 4xx Client Error status code.
362 */
363 ErrorStatistics?: ErrorStatistics;
364 /**
365 * Information about requests that failed with a 5xx Server Error status code.
366 */
367 FaultStatistics?: FaultStatistics;
368 /**
369 * The total number of completed requests.
370 */
371 TotalCount?: NullableLong;
372 /**
373 * The aggregate response time of completed requests.
374 */
375 TotalResponseTime?: NullableDouble;
376 }
377 export interface EncryptionConfig {
378 /**
379 * The ID of the customer master key (CMK) used for encryption, if applicable.
380 */
381 KeyId?: String;
382 /**
383 * The encryption status. While the status is UPDATING, X-Ray may encrypt data with a combination of the new and old settings.
384 */
385 Status?: EncryptionStatus;
386 /**
387 * The type of encryption. Set to KMS for encryption with CMKs. Set to NONE for default encryption.
388 */
389 Type?: EncryptionType;
390 }
391 export type EncryptionKeyId = string;
392 export type EncryptionStatus = "UPDATING"|"ACTIVE"|string;
393 export type EncryptionType = "NONE"|"KMS"|string;
394 export type EntitySelectorExpression = string;
395 export interface ErrorRootCause {
396 /**
397 * A list of services corresponding to an error. A service identifies a segment and it contains a name, account ID, type, and inferred flag.
398 */
399 Services?: ErrorRootCauseServices;
400 }
401 export interface ErrorRootCauseEntity {
402 /**
403 * The name of the entity.
404 */
405 Name?: String;
406 /**
407 * The types and messages of the exceptions.
408 */
409 Exceptions?: RootCauseExceptions;
410 /**
411 * A flag that denotes a remote subsegment.
412 */
413 Remote?: NullableBoolean;
414 }
415 export type ErrorRootCauseEntityPath = ErrorRootCauseEntity[];
416 export interface ErrorRootCauseService {
417 /**
418 * The service name.
419 */
420 Name?: String;
421 /**
422 * A collection of associated service names.
423 */
424 Names?: ServiceNames;
425 /**
426 * The type associated to the service.
427 */
428 Type?: String;
429 /**
430 * The account ID associated to the service.
431 */
432 AccountId?: String;
433 /**
434 * The path of root cause entities found on the service.
435 */
436 EntityPath?: ErrorRootCauseEntityPath;
437 /**
438 * A Boolean value indicating if the service is inferred from the trace.
439 */
440 Inferred?: NullableBoolean;
441 }
442 export type ErrorRootCauseServices = ErrorRootCauseService[];
443 export type ErrorRootCauses = ErrorRootCause[];
444 export interface ErrorStatistics {
445 /**
446 * The number of requests that failed with a 419 throttling status code.
447 */
448 ThrottleCount?: NullableLong;
449 /**
450 * The number of requests that failed with untracked 4xx Client Error status codes.
451 */
452 OtherCount?: NullableLong;
453 /**
454 * The total number of requests that failed with a 4xx Client Error status code.
455 */
456 TotalCount?: NullableLong;
457 }
458 export interface FaultRootCause {
459 /**
460 * A list of corresponding services. A service identifies a segment and it contains a name, account ID, type, and inferred flag.
461 */
462 Services?: FaultRootCauseServices;
463 }
464 export interface FaultRootCauseEntity {
465 /**
466 * The name of the entity.
467 */
468 Name?: String;
469 /**
470 * The types and messages of the exceptions.
471 */
472 Exceptions?: RootCauseExceptions;
473 /**
474 * A flag that denotes a remote subsegment.
475 */
476 Remote?: NullableBoolean;
477 }
478 export type FaultRootCauseEntityPath = FaultRootCauseEntity[];
479 export interface FaultRootCauseService {
480 /**
481 * The service name.
482 */
483 Name?: String;
484 /**
485 * A collection of associated service names.
486 */
487 Names?: ServiceNames;
488 /**
489 * The type associated to the service.
490 */
491 Type?: String;
492 /**
493 * The account ID associated to the service.
494 */
495 AccountId?: String;
496 /**
497 * The path of root cause entities found on the service.
498 */
499 EntityPath?: FaultRootCauseEntityPath;
500 /**
501 * A Boolean value indicating if the service is inferred from the trace.
502 */
503 Inferred?: NullableBoolean;
504 }
505 export type FaultRootCauseServices = FaultRootCauseService[];
506 export type FaultRootCauses = FaultRootCause[];
507 export interface FaultStatistics {
508 /**
509 * The number of requests that failed with untracked 5xx Server Error status codes.
510 */
511 OtherCount?: NullableLong;
512 /**
513 * The total number of requests that failed with a 5xx Server Error status code.
514 */
515 TotalCount?: NullableLong;
516 }
517 export type FilterExpression = string;
518 export type FixedRate = number;
519 export interface GetEncryptionConfigRequest {
520 }
521 export interface GetEncryptionConfigResult {
522 /**
523 * The encryption configuration document.
524 */
525 EncryptionConfig?: EncryptionConfig;
526 }
527 export interface GetGroupRequest {
528 /**
529 * The case-sensitive name of the group.
530 */
531 GroupName?: GroupName;
532 /**
533 * The ARN of the group that was generated on creation.
534 */
535 GroupARN?: GroupARN;
536 }
537 export interface GetGroupResult {
538 /**
539 * The group that was requested. Contains the name of the group, the ARN of the group, and the filter expression that assigned to the group.
540 */
541 Group?: Group;
542 }
543 export type GetGroupsNextToken = string;
544 export interface GetGroupsRequest {
545 /**
546 * Pagination token. Not used.
547 */
548 NextToken?: GetGroupsNextToken;
549 }
550 export interface GetGroupsResult {
551 /**
552 * The collection of all active groups.
553 */
554 Groups?: GroupSummaryList;
555 /**
556 * Pagination token. Not used.
557 */
558 NextToken?: String;
559 }
560 export interface GetSamplingRulesRequest {
561 /**
562 * Pagination token. Not used.
563 */
564 NextToken?: String;
565 }
566 export interface GetSamplingRulesResult {
567 /**
568 * Rule definitions and metadata.
569 */
570 SamplingRuleRecords?: SamplingRuleRecordList;
571 /**
572 * Pagination token. Not used.
573 */
574 NextToken?: String;
575 }
576 export interface GetSamplingStatisticSummariesRequest {
577 /**
578 * Pagination token. Not used.
579 */
580 NextToken?: String;
581 }
582 export interface GetSamplingStatisticSummariesResult {
583 /**
584 * Information about the number of requests instrumented for each sampling rule.
585 */
586 SamplingStatisticSummaries?: SamplingStatisticSummaryList;
587 /**
588 * Pagination token. Not used.
589 */
590 NextToken?: String;
591 }
592 export interface GetSamplingTargetsRequest {
593 /**
594 * Information about rules that the service is using to sample requests.
595 */
596 SamplingStatisticsDocuments: SamplingStatisticsDocumentList;
597 }
598 export interface GetSamplingTargetsResult {
599 /**
600 * Updated rules that the service should use to sample requests.
601 */
602 SamplingTargetDocuments?: SamplingTargetDocumentList;
603 /**
604 * The last time a user changed the sampling rule configuration. If the sampling rule configuration changed since the service last retrieved it, the service should call GetSamplingRules to get the latest version.
605 */
606 LastRuleModification?: Timestamp;
607 /**
608 * Information about SamplingStatisticsDocument that X-Ray could not process.
609 */
610 UnprocessedStatistics?: UnprocessedStatisticsList;
611 }
612 export interface GetServiceGraphRequest {
613 /**
614 * The start of the time frame for which to generate a graph.
615 */
616 StartTime: Timestamp;
617 /**
618 * The end of the timeframe for which to generate a graph.
619 */
620 EndTime: Timestamp;
621 /**
622 * The name of a group to generate a graph based on.
623 */
624 GroupName?: GroupName;
625 /**
626 * The ARN of a group to generate a graph based on.
627 */
628 GroupARN?: GroupARN;
629 /**
630 * Pagination token. Not used.
631 */
632 NextToken?: String;
633 }
634 export interface GetServiceGraphResult {
635 /**
636 * The start of the time frame for which the graph was generated.
637 */
638 StartTime?: Timestamp;
639 /**
640 * The end of the time frame for which the graph was generated.
641 */
642 EndTime?: Timestamp;
643 /**
644 * The services that have processed a traced request during the specified time frame.
645 */
646 Services?: ServiceList;
647 /**
648 * A flag indicating whether the group's filter expression has been consistent, or if the returned service graph may show traces from an older version of the group's filter expression.
649 */
650 ContainsOldGroupVersions?: Boolean;
651 /**
652 * Pagination token. Not used.
653 */
654 NextToken?: String;
655 }
656 export interface GetTimeSeriesServiceStatisticsRequest {
657 /**
658 * The start of the time frame for which to aggregate statistics.
659 */
660 StartTime: Timestamp;
661 /**
662 * The end of the time frame for which to aggregate statistics.
663 */
664 EndTime: Timestamp;
665 /**
666 * The case-sensitive name of the group for which to pull statistics from.
667 */
668 GroupName?: GroupName;
669 /**
670 * The ARN of the group for which to pull statistics from.
671 */
672 GroupARN?: GroupARN;
673 /**
674 * A filter expression defining entities that will be aggregated for statistics. Supports ID, service, and edge functions. If no selector expression is specified, edge statistics are returned.
675 */
676 EntitySelectorExpression?: EntitySelectorExpression;
677 /**
678 * Aggregation period in seconds.
679 */
680 Period?: NullableInteger;
681 /**
682 * Pagination token. Not used.
683 */
684 NextToken?: String;
685 }
686 export interface GetTimeSeriesServiceStatisticsResult {
687 /**
688 * The collection of statistics.
689 */
690 TimeSeriesServiceStatistics?: TimeSeriesServiceStatisticsList;
691 /**
692 * A flag indicating whether or not a group's filter expression has been consistent, or if a returned aggregation may show statistics from an older version of the group's filter expression.
693 */
694 ContainsOldGroupVersions?: Boolean;
695 /**
696 * Pagination token. Not used.
697 */
698 NextToken?: String;
699 }
700 export interface GetTraceGraphRequest {
701 /**
702 * Trace IDs of requests for which to generate a service graph.
703 */
704 TraceIds: TraceIdList;
705 /**
706 * Pagination token. Not used.
707 */
708 NextToken?: String;
709 }
710 export interface GetTraceGraphResult {
711 /**
712 * The services that have processed one of the specified requests.
713 */
714 Services?: ServiceList;
715 /**
716 * Pagination token. Not used.
717 */
718 NextToken?: String;
719 }
720 export interface GetTraceSummariesRequest {
721 /**
722 * The start of the time frame for which to retrieve traces.
723 */
724 StartTime: Timestamp;
725 /**
726 * The end of the time frame for which to retrieve traces.
727 */
728 EndTime: Timestamp;
729 /**
730 * A parameter to indicate whether to query trace summaries by TraceId or Event time.
731 */
732 TimeRangeType?: TimeRangeType;
733 /**
734 * Set to true to get summaries for only a subset of available traces.
735 */
736 Sampling?: NullableBoolean;
737 /**
738 * A paramater to indicate whether to enable sampling on trace summaries. Input parameters are Name and Value.
739 */
740 SamplingStrategy?: SamplingStrategy;
741 /**
742 * Specify a filter expression to retrieve trace summaries for services or requests that meet certain requirements.
743 */
744 FilterExpression?: FilterExpression;
745 /**
746 * Specify the pagination token returned by a previous request to retrieve the next page of results.
747 */
748 NextToken?: String;
749 }
750 export interface GetTraceSummariesResult {
751 /**
752 * Trace IDs and metadata for traces that were found in the specified time frame.
753 */
754 TraceSummaries?: TraceSummaryList;
755 /**
756 * The start time of this page of results.
757 */
758 ApproximateTime?: Timestamp;
759 /**
760 * The total number of traces processed, including traces that did not match the specified filter expression.
761 */
762 TracesProcessedCount?: NullableLong;
763 /**
764 * If the requested time frame contained more than one page of results, you can use this token to retrieve the next page. The first page contains the most most recent results, closest to the end of the time frame.
765 */
766 NextToken?: String;
767 }
768 export interface Group {
769 /**
770 * The unique case-sensitive name of the group.
771 */
772 GroupName?: String;
773 /**
774 * The ARN of the group generated based on the GroupName.
775 */
776 GroupARN?: String;
777 /**
778 * The filter expression defining the parameters to include traces.
779 */
780 FilterExpression?: String;
781 }
782 export type GroupARN = string;
783 export type GroupName = string;
784 export interface GroupSummary {
785 /**
786 * The unique case-sensitive name of the group.
787 */
788 GroupName?: String;
789 /**
790 * The ARN of the group generated based on the GroupName.
791 */
792 GroupARN?: String;
793 /**
794 * The filter expression defining the parameters to include traces.
795 */
796 FilterExpression?: String;
797 }
798 export type GroupSummaryList = GroupSummary[];
799 export type HTTPMethod = string;
800 export type Histogram = HistogramEntry[];
801 export interface HistogramEntry {
802 /**
803 * The value of the entry.
804 */
805 Value?: Double;
806 /**
807 * The prevalence of the entry.
808 */
809 Count?: Integer;
810 }
811 export type Host = string;
812 export type Hostname = string;
813 export interface Http {
814 /**
815 * The request URL.
816 */
817 HttpURL?: String;
818 /**
819 * The response status.
820 */
821 HttpStatus?: NullableInteger;
822 /**
823 * The request method.
824 */
825 HttpMethod?: String;
826 /**
827 * The request's user agent string.
828 */
829 UserAgent?: String;
830 /**
831 * The IP address of the requestor.
832 */
833 ClientIp?: String;
834 }
835 export interface InstanceIdDetail {
836 /**
837 * The ID of a corresponding EC2 instance.
838 */
839 Id?: String;
840 }
841 export type Integer = number;
842 export type NullableBoolean = boolean;
843 export type NullableDouble = number;
844 export type NullableInteger = number;
845 export type NullableLong = number;
846 export type Priority = number;
847 export interface PutEncryptionConfigRequest {
848 /**
849 * An AWS KMS customer master key (CMK) in one of the following formats: Alias - The name of the key. For example, alias/MyKey. Key ID - The KMS key ID of the key. For example, ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. ARN - The full Amazon Resource Name of the key ID or alias. For example, arn:aws:kms:us-east-2:123456789012:key/ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. Use this format to specify a key in a different account. Omit this key if you set Type to NONE.
850 */
851 KeyId?: EncryptionKeyId;
852 /**
853 * The type of encryption. Set to KMS to use your own key for encryption. Set to NONE for default encryption.
854 */
855 Type: EncryptionType;
856 }
857 export interface PutEncryptionConfigResult {
858 /**
859 * The new encryption configuration.
860 */
861 EncryptionConfig?: EncryptionConfig;
862 }
863 export interface PutTelemetryRecordsRequest {
864 /**
865 *
866 */
867 TelemetryRecords: TelemetryRecordList;
868 /**
869 *
870 */
871 EC2InstanceId?: EC2InstanceId;
872 /**
873 *
874 */
875 Hostname?: Hostname;
876 /**
877 *
878 */
879 ResourceARN?: ResourceARN;
880 }
881 export interface PutTelemetryRecordsResult {
882 }
883 export interface PutTraceSegmentsRequest {
884 /**
885 * A string containing a JSON document defining one or more segments or subsegments.
886 */
887 TraceSegmentDocuments: TraceSegmentDocumentList;
888 }
889 export interface PutTraceSegmentsResult {
890 /**
891 * Segments that failed processing.
892 */
893 UnprocessedTraceSegments?: UnprocessedTraceSegmentList;
894 }
895 export type RequestCount = number;
896 export type ReservoirSize = number;
897 export type ResourceARN = string;
898 export interface ResourceARNDetail {
899 /**
900 * The ARN of a corresponding resource.
901 */
902 ARN?: String;
903 }
904 export interface ResponseTimeRootCause {
905 /**
906 * A list of corresponding services. A service identifies a segment and contains a name, account ID, type, and inferred flag.
907 */
908 Services?: ResponseTimeRootCauseServices;
909 }
910 export interface ResponseTimeRootCauseEntity {
911 /**
912 * The name of the entity.
913 */
914 Name?: String;
915 /**
916 * The types and messages of the exceptions.
917 */
918 Coverage?: NullableDouble;
919 /**
920 * A flag that denotes a remote subsegment.
921 */
922 Remote?: NullableBoolean;
923 }
924 export type ResponseTimeRootCauseEntityPath = ResponseTimeRootCauseEntity[];
925 export interface ResponseTimeRootCauseService {
926 /**
927 * The service name.
928 */
929 Name?: String;
930 /**
931 * A collection of associated service names.
932 */
933 Names?: ServiceNames;
934 /**
935 * The type associated to the service.
936 */
937 Type?: String;
938 /**
939 * The account ID associated to the service.
940 */
941 AccountId?: String;
942 /**
943 * The path of root cause entities found on the service.
944 */
945 EntityPath?: ResponseTimeRootCauseEntityPath;
946 /**
947 * A Boolean value indicating if the service is inferred from the trace.
948 */
949 Inferred?: NullableBoolean;
950 }
951 export type ResponseTimeRootCauseServices = ResponseTimeRootCauseService[];
952 export type ResponseTimeRootCauses = ResponseTimeRootCause[];
953 export interface RootCauseException {
954 /**
955 * The name of the exception.
956 */
957 Name?: String;
958 /**
959 * The message of the exception.
960 */
961 Message?: String;
962 }
963 export type RootCauseExceptions = RootCauseException[];
964 export type RuleName = string;
965 export type SampledCount = number;
966 export interface SamplingRule {
967 /**
968 * The name of the sampling rule. Specify a rule by either name or ARN, but not both.
969 */
970 RuleName?: RuleName;
971 /**
972 * The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.
973 */
974 RuleARN?: String;
975 /**
976 * Matches the ARN of the AWS resource on which the service runs.
977 */
978 ResourceARN: ResourceARN;
979 /**
980 * The priority of the sampling rule.
981 */
982 Priority: Priority;
983 /**
984 * The percentage of matching requests to instrument, after the reservoir is exhausted.
985 */
986 FixedRate: FixedRate;
987 /**
988 * A fixed number of matching requests to instrument per second, prior to applying the fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.
989 */
990 ReservoirSize: ReservoirSize;
991 /**
992 * Matches the name that the service uses to identify itself in segments.
993 */
994 ServiceName: ServiceName;
995 /**
996 * Matches the origin that the service uses to identify its type in segments.
997 */
998 ServiceType: ServiceType;
999 /**
1000 * Matches the hostname from a request URL.
1001 */
1002 Host: Host;
1003 /**
1004 * Matches the HTTP method of a request.
1005 */
1006 HTTPMethod: HTTPMethod;
1007 /**
1008 * Matches the path from a request URL.
1009 */
1010 URLPath: URLPath;
1011 /**
1012 * The version of the sampling rule format (1).
1013 */
1014 Version: Version;
1015 /**
1016 * Matches attributes derived from the request.
1017 */
1018 Attributes?: AttributeMap;
1019 }
1020 export interface SamplingRuleRecord {
1021 /**
1022 * The sampling rule.
1023 */
1024 SamplingRule?: SamplingRule;
1025 /**
1026 * When the rule was created.
1027 */
1028 CreatedAt?: Timestamp;
1029 /**
1030 * When the rule was last modified.
1031 */
1032 ModifiedAt?: Timestamp;
1033 }
1034 export type SamplingRuleRecordList = SamplingRuleRecord[];
1035 export interface SamplingRuleUpdate {
1036 /**
1037 * The name of the sampling rule. Specify a rule by either name or ARN, but not both.
1038 */
1039 RuleName?: RuleName;
1040 /**
1041 * The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.
1042 */
1043 RuleARN?: String;
1044 /**
1045 * Matches the ARN of the AWS resource on which the service runs.
1046 */
1047 ResourceARN?: ResourceARN;
1048 /**
1049 * The priority of the sampling rule.
1050 */
1051 Priority?: NullableInteger;
1052 /**
1053 * The percentage of matching requests to instrument, after the reservoir is exhausted.
1054 */
1055 FixedRate?: NullableDouble;
1056 /**
1057 * A fixed number of matching requests to instrument per second, prior to applying the fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.
1058 */
1059 ReservoirSize?: NullableInteger;
1060 /**
1061 * Matches the hostname from a request URL.
1062 */
1063 Host?: Host;
1064 /**
1065 * Matches the name that the service uses to identify itself in segments.
1066 */
1067 ServiceName?: ServiceName;
1068 /**
1069 * Matches the origin that the service uses to identify its type in segments.
1070 */
1071 ServiceType?: ServiceType;
1072 /**
1073 * Matches the HTTP method of a request.
1074 */
1075 HTTPMethod?: HTTPMethod;
1076 /**
1077 * Matches the path from a request URL.
1078 */
1079 URLPath?: URLPath;
1080 /**
1081 * Matches attributes derived from the request.
1082 */
1083 Attributes?: AttributeMap;
1084 }
1085 export interface SamplingStatisticSummary {
1086 /**
1087 * The name of the sampling rule.
1088 */
1089 RuleName?: String;
1090 /**
1091 * The start time of the reporting window.
1092 */
1093 Timestamp?: Timestamp;
1094 /**
1095 * The number of requests that matched the rule.
1096 */
1097 RequestCount?: Integer;
1098 /**
1099 * The number of requests recorded with borrowed reservoir quota.
1100 */
1101 BorrowCount?: Integer;
1102 /**
1103 * The number of requests recorded.
1104 */
1105 SampledCount?: Integer;
1106 }
1107 export type SamplingStatisticSummaryList = SamplingStatisticSummary[];
1108 export interface SamplingStatisticsDocument {
1109 /**
1110 * The name of the sampling rule.
1111 */
1112 RuleName: RuleName;
1113 /**
1114 * A unique identifier for the service in hexadecimal.
1115 */
1116 ClientID: ClientID;
1117 /**
1118 * The current time.
1119 */
1120 Timestamp: Timestamp;
1121 /**
1122 * The number of requests that matched the rule.
1123 */
1124 RequestCount: RequestCount;
1125 /**
1126 * The number of requests recorded.
1127 */
1128 SampledCount: SampledCount;
1129 /**
1130 * The number of requests recorded with borrowed reservoir quota.
1131 */
1132 BorrowCount?: BorrowCount;
1133 }
1134 export type SamplingStatisticsDocumentList = SamplingStatisticsDocument[];
1135 export interface SamplingStrategy {
1136 /**
1137 * The name of a sampling rule.
1138 */
1139 Name?: SamplingStrategyName;
1140 /**
1141 * The value of a sampling rule.
1142 */
1143 Value?: NullableDouble;
1144 }
1145 export type SamplingStrategyName = "PartialScan"|"FixedRate"|string;
1146 export interface SamplingTargetDocument {
1147 /**
1148 * The name of the sampling rule.
1149 */
1150 RuleName?: String;
1151 /**
1152 * The percentage of matching requests to instrument, after the reservoir is exhausted.
1153 */
1154 FixedRate?: Double;
1155 /**
1156 * The number of requests per second that X-Ray allocated this service.
1157 */
1158 ReservoirQuota?: NullableInteger;
1159 /**
1160 * When the reservoir quota expires.
1161 */
1162 ReservoirQuotaTTL?: Timestamp;
1163 /**
1164 * The number of seconds for the service to wait before getting sampling targets again.
1165 */
1166 Interval?: NullableInteger;
1167 }
1168 export type SamplingTargetDocumentList = SamplingTargetDocument[];
1169 export interface Segment {
1170 /**
1171 * The segment's ID.
1172 */
1173 Id?: SegmentId;
1174 /**
1175 * The segment document.
1176 */
1177 Document?: SegmentDocument;
1178 }
1179 export type SegmentDocument = string;
1180 export type SegmentId = string;
1181 export type SegmentList = Segment[];
1182 export interface Service {
1183 /**
1184 * Identifier for the service. Unique within the service map.
1185 */
1186 ReferenceId?: NullableInteger;
1187 /**
1188 * The canonical name of the service.
1189 */
1190 Name?: String;
1191 /**
1192 * A list of names for the service, including the canonical name.
1193 */
1194 Names?: ServiceNames;
1195 /**
1196 * Indicates that the service was the first service to process a request.
1197 */
1198 Root?: NullableBoolean;
1199 /**
1200 * Identifier of the AWS account in which the service runs.
1201 */
1202 AccountId?: String;
1203 /**
1204 * The type of service. AWS Resource - The type of an AWS resource. For example, AWS::EC2::Instance for a application running on Amazon EC2 or AWS::DynamoDB::Table for an Amazon DynamoDB table that the application used. AWS Service - The type of an AWS service. For example, AWS::DynamoDB for downstream calls to Amazon DynamoDB that didn't target a specific table. client - Represents the clients that sent requests to a root service. remote - A downstream service of indeterminate type.
1205 */
1206 Type?: String;
1207 /**
1208 * The service's state.
1209 */
1210 State?: String;
1211 /**
1212 * The start time of the first segment that the service generated.
1213 */
1214 StartTime?: Timestamp;
1215 /**
1216 * The end time of the last segment that the service generated.
1217 */
1218 EndTime?: Timestamp;
1219 /**
1220 * Connections to downstream services.
1221 */
1222 Edges?: EdgeList;
1223 /**
1224 * Aggregated statistics for the service.
1225 */
1226 SummaryStatistics?: ServiceStatistics;
1227 /**
1228 * A histogram that maps the spread of service durations.
1229 */
1230 DurationHistogram?: Histogram;
1231 /**
1232 * A histogram that maps the spread of service response times.
1233 */
1234 ResponseTimeHistogram?: Histogram;
1235 }
1236 export interface ServiceId {
1237 /**
1238 *
1239 */
1240 Name?: String;
1241 /**
1242 *
1243 */
1244 Names?: ServiceNames;
1245 /**
1246 *
1247 */
1248 AccountId?: String;
1249 /**
1250 *
1251 */
1252 Type?: String;
1253 }
1254 export type ServiceIds = ServiceId[];
1255 export type ServiceList = Service[];
1256 export type ServiceName = string;
1257 export type ServiceNames = String[];
1258 export interface ServiceStatistics {
1259 /**
1260 * The number of requests that completed with a 2xx Success status code.
1261 */
1262 OkCount?: NullableLong;
1263 /**
1264 * Information about requests that failed with a 4xx Client Error status code.
1265 */
1266 ErrorStatistics?: ErrorStatistics;
1267 /**
1268 * Information about requests that failed with a 5xx Server Error status code.
1269 */
1270 FaultStatistics?: FaultStatistics;
1271 /**
1272 * The total number of completed requests.
1273 */
1274 TotalCount?: NullableLong;
1275 /**
1276 * The aggregate response time of completed requests.
1277 */
1278 TotalResponseTime?: NullableDouble;
1279 }
1280 export type ServiceType = string;
1281 export type String = string;
1282 export interface TelemetryRecord {
1283 /**
1284 *
1285 */
1286 Timestamp: Timestamp;
1287 /**
1288 *
1289 */
1290 SegmentsReceivedCount?: NullableInteger;
1291 /**
1292 *
1293 */
1294 SegmentsSentCount?: NullableInteger;
1295 /**
1296 *
1297 */
1298 SegmentsSpilloverCount?: NullableInteger;
1299 /**
1300 *
1301 */
1302 SegmentsRejectedCount?: NullableInteger;
1303 /**
1304 *
1305 */
1306 BackendConnectionErrors?: BackendConnectionErrors;
1307 }
1308 export type TelemetryRecordList = TelemetryRecord[];
1309 export type TimeRangeType = "TraceId"|"Event"|string;
1310 export interface TimeSeriesServiceStatistics {
1311 /**
1312 * Timestamp of the window for which statistics are aggregated.
1313 */
1314 Timestamp?: Timestamp;
1315 EdgeSummaryStatistics?: EdgeStatistics;
1316 ServiceSummaryStatistics?: ServiceStatistics;
1317 /**
1318 * The response time histogram for the selected entities.
1319 */
1320 ResponseTimeHistogram?: Histogram;
1321 }
1322 export type TimeSeriesServiceStatisticsList = TimeSeriesServiceStatistics[];
1323 export type Timestamp = Date;
1324 export interface Trace {
1325 /**
1326 * The unique identifier for the request that generated the trace's segments and subsegments.
1327 */
1328 Id?: TraceId;
1329 /**
1330 * The length of time in seconds between the start time of the root segment and the end time of the last segment that completed.
1331 */
1332 Duration?: NullableDouble;
1333 /**
1334 * Segment documents for the segments and subsegments that comprise the trace.
1335 */
1336 Segments?: SegmentList;
1337 }
1338 export type TraceAvailabilityZones = AvailabilityZoneDetail[];
1339 export type TraceId = string;
1340 export type TraceIdList = TraceId[];
1341 export type TraceInstanceIds = InstanceIdDetail[];
1342 export type TraceList = Trace[];
1343 export type TraceResourceARNs = ResourceARNDetail[];
1344 export type TraceSegmentDocument = string;
1345 export type TraceSegmentDocumentList = TraceSegmentDocument[];
1346 export interface TraceSummary {
1347 /**
1348 * The unique identifier for the request that generated the trace's segments and subsegments.
1349 */
1350 Id?: TraceId;
1351 /**
1352 * The length of time in seconds between the start time of the root segment and the end time of the last segment that completed.
1353 */
1354 Duration?: NullableDouble;
1355 /**
1356 * The length of time in seconds between the start and end times of the root segment. If the service performs work asynchronously, the response time measures the time before the response is sent to the user, while the duration measures the amount of time before the last traced activity completes.
1357 */
1358 ResponseTime?: NullableDouble;
1359 /**
1360 * One or more of the segment documents has a 500 series error.
1361 */
1362 HasFault?: NullableBoolean;
1363 /**
1364 * One or more of the segment documents has a 400 series error.
1365 */
1366 HasError?: NullableBoolean;
1367 /**
1368 * One or more of the segment documents has a 429 throttling error.
1369 */
1370 HasThrottle?: NullableBoolean;
1371 /**
1372 * One or more of the segment documents is in progress.
1373 */
1374 IsPartial?: NullableBoolean;
1375 /**
1376 * Information about the HTTP request served by the trace.
1377 */
1378 Http?: Http;
1379 /**
1380 * Annotations from the trace's segment documents.
1381 */
1382 Annotations?: Annotations;
1383 /**
1384 * Users from the trace's segment documents.
1385 */
1386 Users?: TraceUsers;
1387 /**
1388 * Service IDs from the trace's segment documents.
1389 */
1390 ServiceIds?: ServiceIds;
1391 /**
1392 * A list of resource ARNs for any resource corresponding to the trace segments.
1393 */
1394 ResourceARNs?: TraceResourceARNs;
1395 /**
1396 * A list of EC2 instance IDs for any instance corresponding to the trace segments.
1397 */
1398 InstanceIds?: TraceInstanceIds;
1399 /**
1400 * A list of availability zones for any zone corresponding to the trace segments.
1401 */
1402 AvailabilityZones?: TraceAvailabilityZones;
1403 /**
1404 * The root of a trace.
1405 */
1406 EntryPoint?: ServiceId;
1407 /**
1408 * A collection of FaultRootCause structures corresponding to the the trace segments.
1409 */
1410 FaultRootCauses?: FaultRootCauses;
1411 /**
1412 * A collection of ErrorRootCause structures corresponding to the trace segments.
1413 */
1414 ErrorRootCauses?: ErrorRootCauses;
1415 /**
1416 * A collection of ResponseTimeRootCause structures corresponding to the trace segments.
1417 */
1418 ResponseTimeRootCauses?: ResponseTimeRootCauses;
1419 /**
1420 * The revision number of a trace.
1421 */
1422 Revision?: Integer;
1423 /**
1424 * The matched time stamp of a defined event.
1425 */
1426 MatchedEventTime?: Timestamp;
1427 }
1428 export type TraceSummaryList = TraceSummary[];
1429 export interface TraceUser {
1430 /**
1431 * The user's name.
1432 */
1433 UserName?: String;
1434 /**
1435 * Services that the user's request hit.
1436 */
1437 ServiceIds?: ServiceIds;
1438 }
1439 export type TraceUsers = TraceUser[];
1440 export type URLPath = string;
1441 export interface UnprocessedStatistics {
1442 /**
1443 * The name of the sampling rule.
1444 */
1445 RuleName?: String;
1446 /**
1447 * The error code.
1448 */
1449 ErrorCode?: String;
1450 /**
1451 * The error message.
1452 */
1453 Message?: String;
1454 }
1455 export type UnprocessedStatisticsList = UnprocessedStatistics[];
1456 export type UnprocessedTraceIdList = TraceId[];
1457 export interface UnprocessedTraceSegment {
1458 /**
1459 * The segment's ID.
1460 */
1461 Id?: String;
1462 /**
1463 * The error that caused processing to fail.
1464 */
1465 ErrorCode?: String;
1466 /**
1467 * The error message.
1468 */
1469 Message?: String;
1470 }
1471 export type UnprocessedTraceSegmentList = UnprocessedTraceSegment[];
1472 export interface UpdateGroupRequest {
1473 /**
1474 * The case-sensitive name of the group.
1475 */
1476 GroupName?: GroupName;
1477 /**
1478 * The ARN that was generated upon creation.
1479 */
1480 GroupARN?: GroupARN;
1481 /**
1482 * The updated filter expression defining criteria by which to group traces.
1483 */
1484 FilterExpression?: FilterExpression;
1485 }
1486 export interface UpdateGroupResult {
1487 /**
1488 * The group that was updated. Contains the name of the group that was updated, the ARN of the group that was updated, and the updated filter expression assigned to the group.
1489 */
1490 Group?: Group;
1491 }
1492 export interface UpdateSamplingRuleRequest {
1493 /**
1494 * The rule and fields to change.
1495 */
1496 SamplingRuleUpdate: SamplingRuleUpdate;
1497 }
1498 export interface UpdateSamplingRuleResult {
1499 /**
1500 * The updated rule definition and metadata.
1501 */
1502 SamplingRuleRecord?: SamplingRuleRecord;
1503 }
1504 export interface ValueWithServiceIds {
1505 /**
1506 * Values of the annotation.
1507 */
1508 AnnotationValue?: AnnotationValue;
1509 /**
1510 * Services to which the annotation applies.
1511 */
1512 ServiceIds?: ServiceIds;
1513 }
1514 export type ValuesWithServiceIds = ValueWithServiceIds[];
1515 export type Version = number;
1516 /**
1517 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1518 */
1519 export type apiVersion = "2016-04-12"|"latest"|string;
1520 export interface ClientApiVersions {
1521 /**
1522 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1523 */
1524 apiVersion?: apiVersion;
1525 }
1526 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
1527 /**
1528 * Contains interfaces for use with the XRay client.
1529 */
1530 export import Types = XRay;
1531}
1532export = XRay;