import type { EncryptionStatus, EncryptionType, InsightCategory, InsightState, RetrievalStatus, SamplingStrategyName, TimeRangeType, TraceFormatType, TraceSegmentDestination, TraceSegmentDestinationStatus } from "./enums"; /** *
An alias for an edge.
* @public */ export interface Alias { /** *The canonical name of the alias.
* @public */ Name?: string | undefined; /** *A list of names for the alias, including the canonical name.
* @public */ Names?: string[] | undefined; /** *The type of the alias.
* @public */ Type?: string | undefined; } /** *Value of a segment annotation. Has one of three value types: Number, Boolean, or String.
* @public */ export type AnnotationValue = AnnotationValue.BooleanValueMember | AnnotationValue.NumberValueMember | AnnotationValue.StringValueMember | AnnotationValue.$UnknownMember; /** * @public */ export declare namespace AnnotationValue { /** *Value for a Number annotation.
* @public */ interface NumberValueMember { NumberValue: number; BooleanValue?: never; StringValue?: never; $unknown?: never; } /** *Value for a Boolean annotation.
* @public */ interface BooleanValueMember { NumberValue?: never; BooleanValue: boolean; StringValue?: never; $unknown?: never; } /** *Value for a String annotation.
* @public */ interface StringValueMember { NumberValue?: never; BooleanValue?: never; StringValue: string; $unknown?: never; } /** * @public */ interface $UnknownMember { NumberValue?: never; BooleanValue?: never; StringValue?: never; $unknown: [string, any]; } /** * @deprecated unused in schema-serde mode. * */ interface VisitorInformation about a segment annotation.
* @public */ export interface ValueWithServiceIds { /** *Values of the annotation.
* @public */ AnnotationValue?: AnnotationValue | undefined; /** *Services to which the annotation applies.
* @public */ ServiceIds?: ServiceId[] | undefined; } /** *The service within the service graph that has anomalously high fault rates.
* @public */ export interface AnomalousService { /** * * @public */ ServiceId?: ServiceId | undefined; } /** *A list of Availability Zones corresponding to the segments in a trace.
* @public */ export interface AvailabilityZoneDetail { /** *The name of a corresponding Availability Zone.
* @public */ Name?: string | undefined; } /** * @public */ export interface BatchGetTracesRequest { /** *Specify the trace IDs of requests for which to retrieve segments.
* @public */ TraceIds: string[] | undefined; /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** *A segment from a trace that has been ingested by the X-Ray service. The segment can be
* compiled from documents uploaded with PutTraceSegments, or an
* inferred segment for a downstream service, generated from a subsegment sent by
* the service that called it.
For the full segment document schema, see Amazon Web Services X-Ray segment * documents in the Amazon Web Services X-Ray Developer Guide.
* @public */ export interface Segment { /** *The segment's ID.
* @public */ Id?: string | undefined; /** *The segment document.
* @public */ Document?: string | undefined; } /** *A collection of segment documents with matching trace IDs.
* @public */ export interface Trace { /** *The unique identifier for the request that generated the trace's segments and * subsegments.
* @public */ Id?: string | undefined; /** *The length of time in seconds between the start time of the earliest segment that started and the end time of the last segment that completed.
* @public */ Duration?: number | undefined; /** *LimitExceeded is set to true when the trace has exceeded the Trace document size limit. For
* more information about this limit and other X-Ray limits and quotas, see Amazon Web Services X-Ray endpoints and quotas.
Segment documents for the segments and subsegments that comprise the trace.
* @public */ Segments?: Segment[] | undefined; } /** * @public */ export interface BatchGetTracesResult { /** *Full traces for the specified requests.
* @public */ Traces?: Trace[] | undefined; /** *Trace IDs of requests that haven't been processed.
* @public */ UnprocessedTraceIds?: string[] | undefined; /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** * @public */ export interface CancelTraceRetrievalRequest { /** ** Retrieval token. *
* @public */ RetrievalToken: string | undefined; } /** * @public */ export interface CancelTraceRetrievalResult { } /** *The structure containing configurations related to insights.
* @public */ export interface InsightsConfiguration { /** *Set the InsightsEnabled value to true to enable insights or false to disable * insights.
* @public */ InsightsEnabled?: boolean | undefined; /** *Set the NotificationsEnabled value to true to enable insights notifications. Notifications can only be * enabled on a group with InsightsEnabled set to true.
* @public */ NotificationsEnabled?: boolean | undefined; } /** *A map that contains tag keys and tag values to attach to an Amazon Web Services X-Ray group or sampling * rule. For more information about ways to use tags, see Tagging Amazon Web Services resources * in the Amazon Web Services General Reference.
*The following restrictions apply to tags:
*Maximum number of user-applied tags per resource: 50
*Tag keys and values are case sensitive.
*Don't use aws: as a prefix for keys; it's reserved for Amazon Web Services use. You
* cannot edit or delete system tags.
A tag key, such as Stage or Name. A tag key cannot be empty. The
* key can be a maximum of 128 characters, and can contain only Unicode letters, numbers, or separators,
* or the following special characters: + - = . _ : /
*
An optional tag value, such as Production or test-only. The value can be
* a maximum of 255 characters, and contain only Unicode letters, numbers, or separators, or the following
* special characters: + - = . _ : /
*
The case-sensitive name of the new group. Default is a reserved name and names must * be unique.
* @public */ GroupName: string | undefined; /** *The filter expression defining criteria by which to group traces.
* @public */ FilterExpression?: string | undefined; /** *The structure containing configurations related to insights.
*The InsightsEnabled boolean can be set to true to enable insights for the * new group or false to disable insights for the new group.
*The NotificationsEnabled boolean can be set to true to enable insights * notifications for the new group. Notifications may only be enabled on a group * with InsightsEnabled set to true.
*A map that contains one or more tag keys and tag values to attach to an X-Ray group. * For more information about ways to use tags, see Tagging Amazon Web Services * resources in the Amazon Web Services General Reference.
*The following restrictions apply to tags:
*Maximum number of user-applied tags per resource: 50
*Maximum tag key length: 128 Unicode characters
*Maximum tag value length: 256 Unicode characters
*Valid values for key and value: a-z, A-Z, 0-9, space, and the following characters: _ . : * / = + - and @
*Tag keys and values are case sensitive.
*Don't use aws: as a prefix for keys; it's reserved for Amazon Web Services
* use.
Details and metadata for a group.
* @public */ export interface Group { /** *The unique case-sensitive name of the group.
* @public */ GroupName?: string | undefined; /** *The Amazon Resource Name (ARN) of the group generated based on the GroupName.
* @public */ GroupARN?: string | undefined; /** *The filter expression defining the parameters to include traces.
* @public */ FilterExpression?: string | undefined; /** *The structure containing configurations related to insights.
*The InsightsEnabled boolean can be set to true to enable insights for the * group or false to disable insights for the group.
*The NotificationsEnabled boolean can be set to true to enable insights * notifications through Amazon EventBridge for the group.
*The group that was created. Contains the name of the group that was created, the Amazon Resource Name * (ARN) of the group that was generated based on the group name, the filter expression, and the insight * configuration that was assigned to the group.
* @public */ Group?: Group | undefined; } /** *Enable temporary sampling rate increases when you detect anomalies to improve visibility.
* @public */ export interface SamplingRateBoost { /** *Defines max temporary sampling rate to apply when a boost is triggered. * Calculated boost rate by X-Ray will be less than or equal to this max rate.
* @public */ MaxRate: number | undefined; /** *Sets the time window (in minutes) in which only one sampling rate boost can be triggered. * After a boost occurs, no further boosts are allowed until the next window.
* @public */ CooldownWindowMinutes: number | undefined; } /** *A sampling rule that services use to decide whether to instrument a request. Rule * fields can match properties of the service, or properties of a request. The service can ignore * rules that don't match its properties.
* @public */ export interface SamplingRule { /** *The name of the sampling rule. Specify a rule by either name or ARN, but not both.
* @public */ RuleName?: string | undefined; /** *The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.
* @public */ RuleARN?: string | undefined; /** *Matches the ARN of the Amazon Web Services resource on which the service runs.
* @public */ ResourceARN: string | undefined; /** *The priority of the sampling rule.
* @public */ Priority: number | undefined; /** *The percentage of matching requests to instrument, after the reservoir is * exhausted.
* @public */ FixedRate: number | undefined; /** *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.
* @public */ ReservoirSize: number | undefined; /** *Matches the name that the service uses to identify itself in segments.
Matches the origin that the service uses to identify its type in segments.
Matches the hostname from a request URL.
* @public */ Host: string | undefined; /** *Matches the HTTP method of a request.
* @public */ HTTPMethod: string | undefined; /** *Matches the path from a request URL.
* @public */ URLPath: string | undefined; /** *The version of the sampling rule format (1).
Matches attributes derived from the request.
* @public */ Attributes?: RecordSpecifies the multiplier applied to the base sampling rate. * This boost allows you to temporarily increase sampling without changing the rule's configuration.
* @public */ SamplingRateBoost?: SamplingRateBoost | undefined; } /** * @public */ export interface CreateSamplingRuleRequest { /** *The rule definition.
* @public */ SamplingRule: SamplingRule | undefined; /** *A map that contains one or more tag keys and tag values to attach to an X-Ray sampling * rule. For more information about ways to use tags, see Tagging Amazon Web Services * resources in the Amazon Web Services General Reference.
*The following restrictions apply to tags:
*Maximum number of user-applied tags per resource: 50
*Maximum tag key length: 128 Unicode characters
*Maximum tag value length: 256 Unicode characters
*Valid values for key and value: a-z, A-Z, 0-9, space, and the following characters: _ . : * / = + - and @
*Tag keys and values are case sensitive.
*Don't use aws: as a prefix for keys; it's reserved for Amazon Web Services
* use.
A SamplingRule and its metadata.
* @public */ export interface SamplingRuleRecord { /** *The sampling rule.
* @public */ SamplingRule?: SamplingRule | undefined; /** *When the rule was created.
* @public */ CreatedAt?: Date | undefined; /** *When the rule was last modified.
* @public */ ModifiedAt?: Date | undefined; } /** * @public */ export interface CreateSamplingRuleResult { /** *The saved rule definition and metadata.
* @public */ SamplingRuleRecord?: SamplingRuleRecord | undefined; } /** * @public */ export interface DeleteGroupRequest { /** *The case-sensitive name of the group.
* @public */ GroupName?: string | undefined; /** *The ARN of the group that was generated on creation.
* @public */ GroupARN?: string | undefined; } /** * @public */ export interface DeleteGroupResult { } /** * @public */ export interface DeleteResourcePolicyRequest { /** *The name of the resource policy to delete.
* @public */ PolicyName: string | undefined; /** *Specifies a specific policy revision to delete. Provide a PolicyRevisionId to ensure an atomic delete operation. If the provided revision id does
* not match the latest policy revision id, an InvalidPolicyRevisionIdException exception is returned.
*
The name of the sampling rule. Specify a rule by either name or ARN, but not both.
* @public */ RuleName?: string | undefined; /** *The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.
* @public */ RuleARN?: string | undefined; } /** * @public */ export interface DeleteSamplingRuleResult { /** *The deleted rule definition and metadata.
* @public */ SamplingRuleRecord?: SamplingRuleRecord | undefined; } /** * @public */ export interface GetEncryptionConfigRequest { } /** *A configuration document that specifies encryption configuration settings.
* @public */ export interface EncryptionConfig { /** *The ID of the KMS key used for encryption, if applicable.
* @public */ KeyId?: string | undefined; /** *The encryption status. While the status is UPDATING, X-Ray may encrypt data with a combination of the new and old settings.
The type of encryption. Set to KMS for encryption with KMS keys. Set to NONE for
* default encryption.
The encryption configuration document.
* @public */ EncryptionConfig?: EncryptionConfig | undefined; } /** * @public */ export interface GetGroupRequest { /** *The case-sensitive name of the group.
* @public */ GroupName?: string | undefined; /** *The ARN of the group that was generated on creation.
* @public */ GroupARN?: string | undefined; } /** * @public */ export interface GetGroupResult { /** *The group that was requested. Contains the name of the group, the ARN of the group, * the filter expression, and the insight configuration assigned to the group.
* @public */ Group?: Group | undefined; } /** * @public */ export interface GetGroupsRequest { /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** *Details for a group without metadata.
* @public */ export interface GroupSummary { /** *The unique case-sensitive name of the group.
* @public */ GroupName?: string | undefined; /** *The ARN of the group generated based on the GroupName.
* @public */ GroupARN?: string | undefined; /** *The filter expression defining the parameters to include traces.
* @public */ FilterExpression?: string | undefined; /** *The structure containing configurations related to insights.
*The InsightsEnabled boolean can be set to true to enable insights for the * group or false to disable insights for the group.
*The NotificationsEnabled boolean can be set to true to enable insights notifications. * Notifications can only be enabled on a group with InsightsEnabled set to true.
*The collection of all active groups.
* @public */ Groups?: GroupSummary[] | undefined; /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** * @public */ export interface GetIndexingRulesRequest { /** ** Specify the pagination token returned by a previous request to retrieve the next page of indexes. * * *
* @public */ NextToken?: string | undefined; } /** ** The indexing rule configuration for probabilistic sampling. *
* @public */ export interface ProbabilisticRuleValue { /** ** Configured sampling percentage of traceIds. Note that sampling can be subject to limits to ensure completeness of data. *
* @public */ DesiredSamplingPercentage: number | undefined; /** ** Applied sampling percentage of traceIds. *
* @public */ ActualSamplingPercentage?: number | undefined; } /** ** The indexing rule configuration. *
* @public */ export type IndexingRuleValue = IndexingRuleValue.ProbabilisticMember | IndexingRuleValue.$UnknownMember; /** * @public */ export declare namespace IndexingRuleValue { /** ** Indexing rule configuration that is used to probabilistically sample traceIds. *
* @public */ interface ProbabilisticMember { Probabilistic: ProbabilisticRuleValue; $unknown?: never; } /** * @public */ interface $UnknownMember { Probabilistic?: never; $unknown: [string, any]; } /** * @deprecated unused in schema-serde mode. * */ interface Visitor* Rule used to determine the server-side sampling rate for spans ingested through the CloudWatchLogs destination and indexed by X-Ray. *
* @public */ export interface IndexingRule { /** ** The name of the indexing rule. *
* @public */ Name?: string | undefined; /** ** Displays when the rule was last modified, in Unix time seconds. *
* @public */ ModifiedAt?: Date | undefined; /** ** The indexing rule. *
* @public */ Rule?: IndexingRuleValue | undefined; } /** * @public */ export interface GetIndexingRulesResult { /** ** Retrieves all indexing rules.
* @public */ IndexingRules?: IndexingRule[] | undefined; /** ** Specify the pagination token returned by a previous request to retrieve the next page of indexes. *
* @public */ NextToken?: string | undefined; } /** * @public */ export interface GetInsightRequest { /** *The insight's unique identifier. Use the GetInsightSummaries action to retrieve an InsightId.
* @public */ InsightId: string | undefined; } /** *Statistics that describe how the incident has impacted a service.
* @public */ export interface RequestImpactStatistics { /** *The number of requests that have resulted in a fault,
* @public */ FaultCount?: number | undefined; /** *The number of successful requests.
* @public */ OkCount?: number | undefined; /** *The total number of requests to the service.
* @public */ TotalCount?: number | undefined; } /** *When fault rates go outside of the expected range, X-Ray creates an insight. Insights * tracks emergent issues within your applications.
* @public */ export interface Insight { /** *The insights unique identifier.
* @public */ InsightId?: string | undefined; /** *The Amazon Resource Name (ARN) of the group that the insight belongs to.
* @public */ GroupARN?: string | undefined; /** *The name of the group that the insight belongs to.
* @public */ GroupName?: string | undefined; /** * * @public */ RootCauseServiceId?: ServiceId | undefined; /** *The categories that label and describe the type of insight.
* @public */ Categories?: InsightCategory[] | undefined; /** *The current state of the insight.
* @public */ State?: InsightState | undefined; /** *The time, in Unix seconds, at which the insight began.
* @public */ StartTime?: Date | undefined; /** *The time, in Unix seconds, at which the insight ended.
* @public */ EndTime?: Date | undefined; /** *A brief description of the insight.
* @public */ Summary?: string | undefined; /** *The impact statistics of the client side service. This includes the number of requests to the client service * and whether the requests were faults or okay.
* @public */ ClientRequestImpactStatistics?: RequestImpactStatistics | undefined; /** *The impact statistics of the root cause service. This includes the number of requests to the client service * and whether the requests were faults or okay.
* @public */ RootCauseServiceRequestImpactStatistics?: RequestImpactStatistics | undefined; /** *The service within the insight that is most impacted by the incident.
* @public */ TopAnomalousServices?: AnomalousService[] | undefined; } /** * @public */ export interface GetInsightResult { /** *The summary information of an insight.
* @public */ Insight?: Insight | undefined; } /** * @public */ export interface GetInsightEventsRequest { /** *The insight's unique identifier. Use the GetInsightSummaries action to retrieve an InsightId.
* @public */ InsightId: string | undefined; /** *Used to retrieve at most the specified value of events.
* @public */ MaxResults?: number | undefined; /** *Specify the pagination token returned by a previous request to retrieve the next page of events.
* @public */ NextToken?: string | undefined; } /** *X-Ray reevaluates insights periodically until they are resolved, and records each intermediate state in an * event. You can review incident events in the Impact Timeline on the Inspect page in the X-Ray console.
* @public */ export interface InsightEvent { /** *A brief description of the event.
* @public */ Summary?: string | undefined; /** *The time, in Unix seconds, at which the event was recorded.
* @public */ EventTime?: Date | undefined; /** *The impact statistics of the client side service. This includes the number of requests to the client service * and whether the requests were faults or okay.
* @public */ ClientRequestImpactStatistics?: RequestImpactStatistics | undefined; /** *The impact statistics of the root cause service. This includes the number of requests to the client service * and whether the requests were faults or okay.
* @public */ RootCauseServiceRequestImpactStatistics?: RequestImpactStatistics | undefined; /** *The service during the event that is most impacted by the incident.
* @public */ TopAnomalousServices?: AnomalousService[] | undefined; } /** * @public */ export interface GetInsightEventsResult { /** *A detailed description of the event. This includes the time of the event, client and * root cause impact statistics, and the top anomalous service at the time of the * event.
* @public */ InsightEvents?: InsightEvent[] | undefined; /** *Use this token to retrieve the next page of insight events.
* @public */ NextToken?: string | undefined; } /** * @public */ export interface GetInsightImpactGraphRequest { /** *The insight's unique identifier. Use the GetInsightSummaries action to retrieve an InsightId.
* @public */ InsightId: string | undefined; /** *The estimated start time of the insight, in Unix time seconds. The StartTime is inclusive of the value * provided and can't be more than 30 days old.
* @public */ StartTime: Date | undefined; /** *The estimated end time of the insight, in Unix time seconds. The EndTime is exclusive of the value provided. * The time range between the start time and end time can't be more than six hours.
* @public */ EndTime: Date | undefined; /** *Specify the pagination token returned by a previous request to retrieve the next page of results.
* @public */ NextToken?: string | undefined; } /** *The connection between two service in an insight impact graph.
* @public */ export interface InsightImpactGraphEdge { /** *Identifier of the edge. Unique within a service map.
* @public */ ReferenceId?: number | undefined; } /** *Information about an application that processed requests, users that made requests, or downstream services, * resources, and applications that an application used.
* @public */ export interface InsightImpactGraphService { /** *Identifier for the service. Unique within the service map.
* @public */ ReferenceId?: number | undefined; /** *Identifier for the service. Unique within the service map.
*Amazon Web Services Resource - The type of an Amazon Web Services resource. For example, AWS::EC2::Instance for an application running * on Amazon EC2 or AWS::DynamoDB::Table for an Amazon DynamoDB table that the application used.
*Amazon Web Services Service - The type of an Amazon Web Services service. For example, AWS::DynamoDB for downstream calls to Amazon * DynamoDB that didn't target a specific table.
*Amazon Web Services Service - The type of an Amazon Web Services service. For example, AWS::DynamoDB for downstream calls to Amazon * DynamoDB that didn't target a specific table.
*remote - A downstream service of indeterminate type.
*The canonical name of the service.
* @public */ Name?: string | undefined; /** *A list of names for the service, including the canonical name.
* @public */ Names?: string[] | undefined; /** *Identifier of the Amazon Web Services account in which the service runs.
* @public */ AccountId?: string | undefined; /** *Connections to downstream services.
* @public */ Edges?: InsightImpactGraphEdge[] | undefined; } /** * @public */ export interface GetInsightImpactGraphResult { /** *The insight's unique identifier.
* @public */ InsightId?: string | undefined; /** *The provided start time.
* @public */ StartTime?: Date | undefined; /** *The provided end time.
* @public */ EndTime?: Date | undefined; /** *The time, in Unix seconds, at which the service graph started.
* @public */ ServiceGraphStartTime?: Date | undefined; /** *The time, in Unix seconds, at which the service graph ended.
* @public */ ServiceGraphEndTime?: Date | undefined; /** *The Amazon Web Services instrumented services related to the insight.
* @public */ Services?: InsightImpactGraphService[] | undefined; /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** * @public */ export interface GetInsightSummariesRequest { /** *The list of insight states.
* @public */ States?: InsightState[] | undefined; /** *The Amazon Resource Name (ARN) of the group. Required if the GroupName isn't provided.
* @public */ GroupARN?: string | undefined; /** *The name of the group. Required if the GroupARN isn't provided.
* @public */ GroupName?: string | undefined; /** *The beginning of the time frame in which the insights started. The start time can't be more than 30 days * old.
* @public */ StartTime: Date | undefined; /** *The end of the time frame in which the insights ended. The end time can't be more than 30 days old.
* @public */ EndTime: Date | undefined; /** *The maximum number of results to display.
* @public */ MaxResults?: number | undefined; /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** *Information that describes an insight.
* @public */ export interface InsightSummary { /** *The insights unique identifier.
* @public */ InsightId?: string | undefined; /** *The Amazon Resource Name (ARN) of the group that the insight belongs to.
* @public */ GroupARN?: string | undefined; /** *The name of the group that the insight belongs to.
* @public */ GroupName?: string | undefined; /** * * @public */ RootCauseServiceId?: ServiceId | undefined; /** *Categories The categories that label and describe the type of insight.
* @public */ Categories?: InsightCategory[] | undefined; /** *The current state of the insight.
* @public */ State?: InsightState | undefined; /** *The time, in Unix seconds, at which the insight began.
* @public */ StartTime?: Date | undefined; /** *The time, in Unix seconds, at which the insight ended.
* @public */ EndTime?: Date | undefined; /** *A brief description of the insight.
* @public */ Summary?: string | undefined; /** *The impact statistics of the client side service. This includes the number of requests * to the client service and whether the requests were faults or okay.
* @public */ ClientRequestImpactStatistics?: RequestImpactStatistics | undefined; /** *The impact statistics of the root cause service. This includes the number of requests to * the client service and whether the requests were faults or okay.
* @public */ RootCauseServiceRequestImpactStatistics?: RequestImpactStatistics | undefined; /** *The service within the insight that is most impacted by the incident.
* @public */ TopAnomalousServices?: AnomalousService[] | undefined; /** *The time, in Unix seconds, that the insight was last updated.
* @public */ LastUpdateTime?: Date | undefined; } /** * @public */ export interface GetInsightSummariesResult { /** *The summary of each insight within the group matching the provided filters. The summary * contains the InsightID, start and end time, the root cause service, the root cause and * client impact statistics, the top anomalous services, and the status of the insight.
* @public */ InsightSummaries?: InsightSummary[] | undefined; /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** * @public */ export interface GetRetrievedTracesGraphRequest { /** ** Retrieval token. *
* @public */ RetrievalToken: string | undefined; /** ** Specify the pagination token returned by a previous request to retrieve the next page of indexes. * * *
* @public */ NextToken?: string | undefined; } /** ** The relation between two services. *
* @public */ export interface GraphLink { /** ** Relationship of a trace to the corresponding service. *
* @public */ ReferenceType?: string | undefined; /** ** Source trace of a link relationship. *
* @public */ SourceTraceId?: string | undefined; /** ** Destination traces of a link relationship. *
* @public */ DestinationTraceIds?: string[] | undefined; } /** *An entry in a histogram for a statistic. A histogram maps the range of observed values * on the X axis, and the prevalence of each value on the Y axis.
* @public */ export interface HistogramEntry { /** *The value of the entry.
* @public */ Value?: number | undefined; /** *The prevalence of the entry.
* @public */ Count?: number | undefined; } /** *Information about requests that failed with a 4xx Client Error status code.
* @public */ export interface ErrorStatistics { /** *The number of requests that failed with a 429 throttling status code.
* @public */ ThrottleCount?: number | undefined; /** *The number of requests that failed with untracked 4xx Client Error status * codes.
* @public */ OtherCount?: number | undefined; /** *The total number of requests that failed with a 4xx Client Error status code.
* @public */ TotalCount?: number | undefined; } /** *Information about requests that failed with a 5xx Server Error status code.
* @public */ export interface FaultStatistics { /** *The number of requests that failed with untracked 5xx Server Error status * codes.
* @public */ OtherCount?: number | undefined; /** *The total number of requests that failed with a 5xx Server Error status code.
* @public */ TotalCount?: number | undefined; } /** *Response statistics for an edge.
* @public */ export interface EdgeStatistics { /** *The number of requests that completed with a 2xx Success status code.
* @public */ OkCount?: number | undefined; /** *Information about requests that failed with a 4xx Client Error status code.
* @public */ ErrorStatistics?: ErrorStatistics | undefined; /** *Information about requests that failed with a 5xx Server Error status code.
* @public */ FaultStatistics?: FaultStatistics | undefined; /** *The total number of completed requests.
* @public */ TotalCount?: number | undefined; /** *The aggregate response time of completed requests.
* @public */ TotalResponseTime?: number | undefined; } /** *Information about a connection between two services. An edge can be a synchronous connection, such as typical * call between client and service, or an asynchronous link, such as a Lambda function which retrieves an event from an * SNS queue.
* @public */ export interface Edge { /** *Identifier of the edge. Unique within a service map.
* @public */ ReferenceId?: number | undefined; /** *The start time of the first segment on the edge.
* @public */ StartTime?: Date | undefined; /** *The end time of the last segment on the edge.
* @public */ EndTime?: Date | undefined; /** *Response statistics for segments on the edge.
* @public */ SummaryStatistics?: EdgeStatistics | undefined; /** *A histogram that maps the spread of client response times on an edge. Only populated * for synchronous edges.
* @public */ ResponseTimeHistogram?: HistogramEntry[] | undefined; /** *Aliases for the edge.
* @public */ Aliases?: Alias[] | undefined; /** *Describes an asynchronous connection, with a value of link.
A histogram that maps the spread of event age when received by consumers.
* Age is calculated each time an event is received. Only populated when EdgeType is
* link.
Response statistics for a service.
* @public */ export interface ServiceStatistics { /** *The number of requests that completed with a 2xx Success status code.
* @public */ OkCount?: number | undefined; /** *Information about requests that failed with a 4xx Client Error status code.
* @public */ ErrorStatistics?: ErrorStatistics | undefined; /** *Information about requests that failed with a 5xx Server Error status code.
* @public */ FaultStatistics?: FaultStatistics | undefined; /** *The total number of completed requests.
* @public */ TotalCount?: number | undefined; /** *The aggregate response time of completed requests.
* @public */ TotalResponseTime?: number | undefined; } /** *Information about an application that processed requests, users that made requests, or downstream services, * resources, and applications that an application used.
* @public */ export interface Service { /** *Identifier for the service. Unique within the service map.
* @public */ ReferenceId?: number | undefined; /** *The canonical name of the service.
* @public */ Name?: string | undefined; /** *A list of names for the service, including the canonical name.
* @public */ Names?: string[] | undefined; /** *Indicates that the service was the first service to process a request.
* @public */ Root?: boolean | undefined; /** *Identifier of the Amazon Web Services account in which the service runs.
* @public */ AccountId?: string | undefined; /** *The type of service.
*Amazon Web Services Resource - The type of an Amazon Web Services resource. For example, AWS::EC2::Instance for an
* application running on Amazon EC2 or AWS::DynamoDB::Table for an Amazon DynamoDB table that the
* application used.
Amazon Web Services Service - The type of an Amazon Web Services 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.
The service's state.
* @public */ State?: string | undefined; /** *The start time of the first segment that the service generated.
* @public */ StartTime?: Date | undefined; /** *The end time of the last segment that the service generated.
* @public */ EndTime?: Date | undefined; /** *Connections to downstream services.
* @public */ Edges?: Edge[] | undefined; /** *Aggregated statistics for the service.
* @public */ SummaryStatistics?: ServiceStatistics | undefined; /** *A histogram that maps the spread of service durations.
* @public */ DurationHistogram?: HistogramEntry[] | undefined; /** *A histogram that maps the spread of service response times.
* @public */ ResponseTimeHistogram?: HistogramEntry[] | undefined; } /** ** Retrieved information about an application that processed requests, users that made requests, or downstream services, resources, and applications that an application used. *
* @public */ export interface RetrievedService { /** *Information about an application that processed requests, users that made requests, or downstream services, * resources, and applications that an application used.
* @public */ Service?: Service | undefined; /** ** Relation between two 2 services. *
* @public */ Links?: GraphLink[] | undefined; } /** * @public */ export interface GetRetrievedTracesGraphResult { /** ** Status of the retrieval. *
* @public */ RetrievalStatus?: RetrievalStatus | undefined; /** ** Retrieved services. *
* @public */ Services?: RetrievedService[] | undefined; /** ** Specify the pagination token returned by a previous request to retrieve the next page of indexes. * * *
* @public */ NextToken?: string | undefined; } /** * @public */ export interface GetSamplingRulesRequest { /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** * @public */ export interface GetSamplingRulesResult { /** *Rule definitions and metadata.
* @public */ SamplingRuleRecords?: SamplingRuleRecord[] | undefined; /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** * @public */ export interface GetSamplingStatisticSummariesRequest { /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** *Aggregated request sampling data for a sampling rule across all services for a 10-second window.
* @public */ export interface SamplingStatisticSummary { /** *The name of the sampling rule.
* @public */ RuleName?: string | undefined; /** *The start time of the reporting window.
* @public */ Timestamp?: Date | undefined; /** *The number of requests that matched the rule.
* @public */ RequestCount?: number | undefined; /** *The number of requests recorded with borrowed reservoir quota.
* @public */ BorrowCount?: number | undefined; /** *The number of requests recorded.
* @public */ SampledCount?: number | undefined; } /** * @public */ export interface GetSamplingStatisticSummariesResult { /** *Information about the number of requests instrumented for each sampling * rule.
* @public */ SamplingStatisticSummaries?: SamplingStatisticSummary[] | undefined; /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** *Request anomaly stats for a single rule from a service. Results are for the last 10 * seconds unless the service has been assigned a longer reporting interval after a previous call * to GetSamplingTargets.
* @public */ export interface SamplingBoostStatisticsDocument { /** *The name of the sampling rule.
* @public */ RuleName: string | undefined; /** *Matches the name that the service uses to identify itself in segments.
The current time.
* @public */ Timestamp: Date | undefined; /** *The number of requests with anomaly.
* @public */ AnomalyCount: number | undefined; /** *The number of requests that associated to the rule.
* @public */ TotalCount: number | undefined; /** *The number of requests with anomaly recorded.
* @public */ SampledAnomalyCount: number | undefined; } /** *Request sampling results for a single rule from a service. Results are for the last 10 * seconds unless the service has been assigned a longer reporting interval after a previous call * to GetSamplingTargets.
* @public */ export interface SamplingStatisticsDocument { /** *The name of the sampling rule.
* @public */ RuleName: string | undefined; /** *A unique identifier for the service in hexadecimal.
* @public */ ClientID: string | undefined; /** *The current time.
* @public */ Timestamp: Date | undefined; /** *The number of requests that matched the rule.
* @public */ RequestCount: number | undefined; /** *The number of requests recorded.
* @public */ SampledCount: number | undefined; /** *The number of requests recorded with borrowed reservoir quota.
* @public */ BorrowCount?: number | undefined; } /** * @public */ export interface GetSamplingTargetsRequest { /** *Information about rules that the service is using to sample requests.
* @public */ SamplingStatisticsDocuments: SamplingStatisticsDocument[] | undefined; /** *Information about rules that the service is using to boost sampling rate.
* @public */ SamplingBoostStatisticsDocuments?: SamplingBoostStatisticsDocument[] | undefined; } /** *Temporary boost sampling rate. X-Ray calculates sampling boost for each service based on the recent sampling boost stats of all services that called * GetSamplingTargets.
* @public */ export interface SamplingBoost { /** *The calculated sampling boost rate for this service
* @public */ BoostRate: number | undefined; /** *When the sampling boost expires.
* @public */ BoostRateTTL: Date | undefined; } /** *Temporary changes to a sampling rule configuration. To meet the global sampling target for a rule, X-Ray * calculates a new reservoir for each service based on the recent sampling results of all services that called * GetSamplingTargets.
* @public */ export interface SamplingTargetDocument { /** *The name of the sampling rule.
* @public */ RuleName?: string | undefined; /** *The percentage of matching requests to instrument, after the reservoir is * exhausted.
* @public */ FixedRate?: number | undefined; /** *The number of requests per second that X-Ray allocated for this service.
* @public */ ReservoirQuota?: number | undefined; /** *When the reservoir quota expires.
* @public */ ReservoirQuotaTTL?: Date | undefined; /** *The number of seconds for the service to wait before getting sampling targets * again.
* @public */ Interval?: number | undefined; /** *The sampling boost that X-Ray allocated for this service.
* @public */ SamplingBoost?: SamplingBoost | undefined; } /** *Sampling statistics from a call to GetSamplingTargets that X-Ray * could not process.
* @public */ export interface UnprocessedStatistics { /** *The name of the sampling rule.
* @public */ RuleName?: string | undefined; /** *The error code.
* @public */ ErrorCode?: string | undefined; /** *The error message.
* @public */ Message?: string | undefined; } /** * @public */ export interface GetSamplingTargetsResult { /** *Updated rules that the service should use to sample requests.
* @public */ SamplingTargetDocuments?: SamplingTargetDocument[] | undefined; /** *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.
* @public */ LastRuleModification?: Date | undefined; /** *Information about SamplingStatisticsDocument that X-Ray could not * process.
* @public */ UnprocessedStatistics?: UnprocessedStatistics[] | undefined; /** *Information about SamplingBoostStatisticsDocument that X-Ray could not * process.
* @public */ UnprocessedBoostStatistics?: UnprocessedStatistics[] | undefined; } /** * @public */ export interface GetServiceGraphRequest { /** *The start of the time frame for which to generate a graph.
* @public */ StartTime: Date | undefined; /** *The end of the timeframe for which to generate a graph.
* @public */ EndTime: Date | undefined; /** *The name of a group based on which you want to generate a graph.
* @public */ GroupName?: string | undefined; /** *The Amazon Resource Name (ARN) of a group based on which you want to generate a graph.
* @public */ GroupARN?: string | undefined; /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** * @public */ export interface GetServiceGraphResult { /** *The start of the time frame for which the graph was generated.
* @public */ StartTime?: Date | undefined; /** *The end of the time frame for which the graph was generated.
* @public */ EndTime?: Date | undefined; /** *The services that have processed a traced request during the specified time * frame.
* @public */ Services?: Service[] | undefined; /** *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.
* @public */ ContainsOldGroupVersions?: boolean | undefined; /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** * @public */ export interface GetTimeSeriesServiceStatisticsRequest { /** *The start of the time frame for which to aggregate statistics.
* @public */ StartTime: Date | undefined; /** *The end of the time frame for which to aggregate statistics.
* @public */ EndTime: Date | undefined; /** *The case-sensitive name of the group for which to pull statistics from.
* @public */ GroupName?: string | undefined; /** *The Amazon Resource Name (ARN) of the group for which to pull statistics from.
* @public */ GroupARN?: string | undefined; /** *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.
* @public */ EntitySelectorExpression?: string | undefined; /** *Aggregation period in seconds.
* @public */ Period?: number | undefined; /** *The forecasted high and low fault count values. Forecast enabled requests require the * EntitySelectorExpression ID be provided.
* @public */ ForecastStatistics?: boolean | undefined; /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** *The predicted high and low fault count. This is used to determine if a service has * become anomalous and if an insight should be created.
* @public */ export interface ForecastStatistics { /** *The upper limit of fault counts for a service.
* @public */ FaultCountHigh?: number | undefined; /** *The lower limit of fault counts for a service.
* @public */ FaultCountLow?: number | undefined; } /** *A list of TimeSeriesStatistic structures.
* @public */ export interface TimeSeriesServiceStatistics { /** *Timestamp of the window for which statistics are aggregated.
* @public */ Timestamp?: Date | undefined; /** *Response statistics for an edge.
* @public */ EdgeSummaryStatistics?: EdgeStatistics | undefined; /** *Response statistics for a service.
* @public */ ServiceSummaryStatistics?: ServiceStatistics | undefined; /** *The forecasted high and low fault count values.
* @public */ ServiceForecastStatistics?: ForecastStatistics | undefined; /** *The response time histogram for the selected entities.
* @public */ ResponseTimeHistogram?: HistogramEntry[] | undefined; } /** * @public */ export interface GetTimeSeriesServiceStatisticsResult { /** *The collection of statistics.
* @public */ TimeSeriesServiceStatistics?: TimeSeriesServiceStatistics[] | undefined; /** *A flag indicating whether or not a group's filter expression has been consistent, or if a returned * aggregation might show statistics from an older version of the group's filter expression.
* @public */ ContainsOldGroupVersions?: boolean | undefined; /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** * @public */ export interface GetTraceGraphRequest { /** *Trace IDs of requests for which to generate a service graph.
* @public */ TraceIds: string[] | undefined; /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** * @public */ export interface GetTraceGraphResult { /** *The services that have processed one of the specified requests.
* @public */ Services?: Service[] | undefined; /** *Pagination token.
* @public */ NextToken?: string | undefined; } /** * @public */ export interface GetTraceSegmentDestinationRequest { } /** * @public */ export interface GetTraceSegmentDestinationResult { /** ** Retrieves the current destination. *
* @public */ Destination?: TraceSegmentDestination | undefined; /** ** Status of the retrieval. *
* @public */ Status?: TraceSegmentDestinationStatus | undefined; } /** *The name and value of a sampling rule to apply to a trace summary.
* @public */ export interface SamplingStrategy { /** *The name of a sampling rule.
* @public */ Name?: SamplingStrategyName | undefined; /** *The value of a sampling rule.
* @public */ Value?: number | undefined; } /** * @public */ export interface GetTraceSummariesRequest { /** *The start of the time frame for which to retrieve traces.
* @public */ StartTime: Date | undefined; /** *The end of the time frame for which to retrieve traces.
* @public */ EndTime: Date | undefined; /** *Query trace summaries by TraceId (trace start time), Event (trace update time), or Service (trace segment end time).
* @public */ TimeRangeType?: TimeRangeType | undefined; /** *Set to true to get summaries for only a subset of available
* traces.
A parameter to indicate whether to enable sampling on trace summaries. Input parameters are Name and * Value.
* @public */ SamplingStrategy?: SamplingStrategy | undefined; /** *Specify a filter expression to retrieve trace summaries for services or requests that * meet certain requirements.
* @public */ FilterExpression?: string | undefined; /** *Specify the pagination token returned by a previous request to retrieve the next page * of results.
* @public */ NextToken?: string | undefined; } /** *The exception associated with a root cause.
* @public */ export interface RootCauseException { /** *The name of the exception.
* @public */ Name?: string | undefined; /** *The message of the exception.
* @public */ Message?: string | undefined; } /** *A collection of segments and corresponding subsegments associated to a trace summary * error.
* @public */ export interface ErrorRootCauseEntity { /** *The name of the entity.
* @public */ Name?: string | undefined; /** *The types and messages of the exceptions.
* @public */ Exceptions?: RootCauseException[] | undefined; /** *A flag that denotes a remote subsegment.
* @public */ Remote?: boolean | undefined; } /** *A collection of fields identifying the services in a trace summary error.
* @public */ export interface ErrorRootCauseService { /** *The service name.
* @public */ Name?: string | undefined; /** *A collection of associated service names.
* @public */ Names?: string[] | undefined; /** *The type associated to the service.
* @public */ Type?: string | undefined; /** *The account ID associated to the service.
* @public */ AccountId?: string | undefined; /** *The path of root cause entities found on the service.
* @public */ EntityPath?: ErrorRootCauseEntity[] | undefined; /** *A Boolean value indicating if the service is inferred from the trace.
* @public */ Inferred?: boolean | undefined; } /** *The root cause of a trace summary error.
* @public */ export interface ErrorRootCause { /** *A list of services corresponding to an error. A service identifies a segment and it * contains a name, account ID, type, and inferred flag.
* @public */ Services?: ErrorRootCauseService[] | undefined; /** *A flag that denotes that the root cause impacts the trace client.
* @public */ ClientImpacting?: boolean | undefined; } /** *A collection of segments and corresponding subsegments associated to a trace summary * fault error.
* @public */ export interface FaultRootCauseEntity { /** *The name of the entity.
* @public */ Name?: string | undefined; /** *The types and messages of the exceptions.
* @public */ Exceptions?: RootCauseException[] | undefined; /** *A flag that denotes a remote subsegment.
* @public */ Remote?: boolean | undefined; } /** *A collection of fields identifying the services in a trace summary fault.
* @public */ export interface FaultRootCauseService { /** *The service name.
* @public */ Name?: string | undefined; /** *A collection of associated service names.
* @public */ Names?: string[] | undefined; /** *The type associated to the service.
* @public */ Type?: string | undefined; /** *The account ID associated to the service.
* @public */ AccountId?: string | undefined; /** *The path of root cause entities found on the service.
* @public */ EntityPath?: FaultRootCauseEntity[] | undefined; /** *A Boolean value indicating if the service is inferred from the trace.
* @public */ Inferred?: boolean | undefined; } /** *The root cause information for a trace summary fault.
* @public */ export interface FaultRootCause { /** *A list of corresponding services. A service identifies a segment and it contains a * name, account ID, type, and inferred flag.
* @public */ Services?: FaultRootCauseService[] | undefined; /** *A flag that denotes that the root cause impacts the trace client.
* @public */ ClientImpacting?: boolean | undefined; } /** *Information about an HTTP request.
* @public */ export interface Http { /** *The request URL.
* @public */ HttpURL?: string | undefined; /** *The response status.
* @public */ HttpStatus?: number | undefined; /** *The request method.
* @public */ HttpMethod?: string | undefined; /** *The request's user agent string.
* @public */ UserAgent?: string | undefined; /** *The IP address of the requestor.
* @public */ ClientIp?: string | undefined; } /** *A list of EC2 instance IDs corresponding to the segments in a trace.
* @public */ export interface InstanceIdDetail { /** *The ID of a corresponding EC2 instance.
* @public */ Id?: string | undefined; } /** *A list of resources ARNs corresponding to the segments in a trace.
* @public */ export interface ResourceARNDetail { /** *The ARN of a corresponding resource.
* @public */ ARN?: string | undefined; } /** *A collection of segments and corresponding subsegments associated to a response time * warning.
* @public */ export interface ResponseTimeRootCauseEntity { /** *The name of the entity.
* @public */ Name?: string | undefined; /** *The type and messages of the exceptions.
* @public */ Coverage?: number | undefined; /** *A flag that denotes a remote subsegment.
* @public */ Remote?: boolean | undefined; } /** *A collection of fields identifying the service in a response time warning.
* @public */ export interface ResponseTimeRootCauseService { /** *The service name.
* @public */ Name?: string | undefined; /** *A collection of associated service names.
* @public */ Names?: string[] | undefined; /** *The type associated to the service.
* @public */ Type?: string | undefined; /** *The account ID associated to the service.
* @public */ AccountId?: string | undefined; /** *The path of root cause entities found on the service.
* @public */ EntityPath?: ResponseTimeRootCauseEntity[] | undefined; /** *A Boolean value indicating if the service is inferred from the trace.
* @public */ Inferred?: boolean | undefined; } /** *The root cause information for a response time warning.
* @public */ export interface ResponseTimeRootCause { /** *A list of corresponding services. A service identifies a segment and contains a name, * account ID, type, and inferred flag.
* @public */ Services?: ResponseTimeRootCauseService[] | undefined; /** *A flag that denotes that the root cause impacts the trace client.
* @public */ ClientImpacting?: boolean | undefined; } /** *Information about a user recorded in segment documents.
* @public */ export interface TraceUser { /** *The user's name.
* @public */ UserName?: string | undefined; /** *Services that the user's request hit.
* @public */ ServiceIds?: ServiceId[] | undefined; } /** *Metadata generated from the segment documents in a trace.
* @public */ export interface TraceSummary { /** *The unique identifier for the request that generated the trace's segments and * subsegments.
* @public */ Id?: string | undefined; /** *The start time of a trace, based on the earliest trace segment start time.
* @public */ StartTime?: Date | undefined; /** *The length of time in seconds between the start time of the earliest segment that started and the end time of the last segment that completed.
* @public */ Duration?: number | undefined; /** *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.
* @public */ ResponseTime?: number | undefined; /** *The root segment document has a 500 series error.
* @public */ HasFault?: boolean | undefined; /** *The root segment document has a 400 series error.
* @public */ HasError?: boolean | undefined; /** *One or more of the segment documents has a 429 throttling error.
* @public */ HasThrottle?: boolean | undefined; /** *One or more of the segment documents is in progress.
* @public */ IsPartial?: boolean | undefined; /** *Information about the HTTP request served by the trace.
* @public */ Http?: Http | undefined; /** *Annotations from the trace's segment documents.
* @public */ Annotations?: RecordUsers from the trace's segment documents.
* @public */ Users?: TraceUser[] | undefined; /** *Service IDs from the trace's segment documents.
* @public */ ServiceIds?: ServiceId[] | undefined; /** *A list of resource ARNs for any resource corresponding to the trace segments.
* @public */ ResourceARNs?: ResourceARNDetail[] | undefined; /** *A list of EC2 instance IDs for any instance corresponding to the trace * segments.
* @public */ InstanceIds?: InstanceIdDetail[] | undefined; /** *A list of Availability Zones for any zone corresponding to the trace segments.
* @public */ AvailabilityZones?: AvailabilityZoneDetail[] | undefined; /** *The root of a trace.
* @public */ EntryPoint?: ServiceId | undefined; /** *A collection of FaultRootCause structures corresponding to the trace segments.
* @public */ FaultRootCauses?: FaultRootCause[] | undefined; /** *A collection of ErrorRootCause structures corresponding to the trace * segments.
* @public */ ErrorRootCauses?: ErrorRootCause[] | undefined; /** *A collection of ResponseTimeRootCause structures corresponding to the trace * segments.
* @public */ ResponseTimeRootCauses?: ResponseTimeRootCause[] | undefined; /** *The revision number of a trace.
* @public */ Revision?: number | undefined; /** *The matched time stamp of a defined event.
* @public */ MatchedEventTime?: Date | undefined; } /** * @public */ export interface GetTraceSummariesResult { /** *Trace IDs and annotations for traces that were found in the specified time * frame.
* @public */ TraceSummaries?: TraceSummary[] | undefined; /** *The start time of this page of results.
* @public */ ApproximateTime?: Date | undefined; /** *The total number of traces processed, including traces that did not match the specified * filter expression.
* @public */ TracesProcessedCount?: number | undefined; /** *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 recent results, closest to the end of the time frame.
* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListResourcePoliciesRequest { /** *Not currently supported.
* @public */ NextToken?: string | undefined; } /** *A resource policy grants one or more Amazon Web Services services and accounts permissions * to access X-Ray. Each resource policy is associated with a * specific Amazon Web Services account.
* @public */ export interface ResourcePolicy { /** *The name of the resource policy. Must be unique within a specific Amazon Web Services account.
* @public */ PolicyName?: string | undefined; /** *The resource policy document, which can be up to 5kb in size.
* @public */ PolicyDocument?: string | undefined; /** *Returns the current policy revision id for this policy name.
* @public */ PolicyRevisionId?: string | undefined; /** *When the policy was last updated, in Unix time seconds.
* @public */ LastUpdatedTime?: Date | undefined; } /** * @public */ export interface ListResourcePoliciesResult { /** *The list of resource policies in the target Amazon Web Services account.
* @public */ ResourcePolicies?: ResourcePolicy[] | undefined; /** *Pagination token. Not currently supported.
* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListRetrievedTracesRequest { /** ** Retrieval token. *
* @public */ RetrievalToken: string | undefined; /** ** Format of the requested traces. *
* @public */ TraceFormat?: TraceFormatType | undefined; /** ** Specify the pagination token returned by a previous request to retrieve the next page of indexes. * * *
* @public */ NextToken?: string | undefined; } /** ** A span from a trace that has been ingested by the X-Ray service. A span represents a unit of work or an operation performed by a service. *
* @public */ export interface Span { /** *The span ID.
* @public */ Id?: string | undefined; /** ** The span document.
* @public */ Document?: string | undefined; } /** ** Retrieved collection of spans with matching trace IDs. *
* @public */ export interface RetrievedTrace { /** ** The unique identifier for the span. *
* @public */ Id?: string | undefined; /** ** The length of time in seconds between the start time of the root span and the end time of the last span that completed. *
* @public */ Duration?: number | undefined; /** ** Spans that comprise the trace. *
* @public */ Spans?: Span[] | undefined; } /** * @public */ export interface ListRetrievedTracesResult { /** ** Status of the retrieval. *
* @public */ RetrievalStatus?: RetrievalStatus | undefined; /** ** Format of the requested traces. *
* @public */ TraceFormat?: TraceFormatType | undefined; /** ** Full traces for the specified requests. *
* @public */ Traces?: RetrievedTrace[] | undefined; /** ** Specify the pagination token returned by a previous request to retrieve the next page of indexes. * * *
* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListTagsForResourceRequest { /** *The Amazon Resource Number (ARN) of an X-Ray group or sampling rule.
* @public */ ResourceARN: string | undefined; /** *A pagination token. If multiple pages of results are returned, use the NextToken value returned with
* the current page of results as the value of this parameter to get the next page of results.
A list of tags, as key and value pairs, that is associated with the specified X-Ray group or sampling rule.
* @public */ Tags?: Tag[] | undefined; /** *A pagination token. If multiple pages of results are returned, use the NextToken value returned with
* the current page of results to get the next page of results.
An Amazon Web Services KMS key 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. Amazon Web Services X-Ray does not support asymmetric KMS keys.
* 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.
The type of encryption. Set to KMS to use your own key for encryption. Set
* to NONE for default encryption.
The new encryption configuration.
* @public */ EncryptionConfig?: EncryptionConfig | undefined; } /** * @public */ export interface PutResourcePolicyRequest { /** *The name of the resource policy. Must be unique within a specific Amazon Web Services account.
* @public */ PolicyName: string | undefined; /** *The resource policy document, which can be up to 5kb in size.
* @public */ PolicyDocument: string | undefined; /** *Specifies a specific policy revision, to ensure an atomic create operation. By default the resource policy is created if it does not exist, or updated with an incremented revision id. * The revision id is unique to each policy in the account.
*If the policy revision id does not match the latest revision id, the operation will fail with an InvalidPolicyRevisionIdException exception. You can also provide a
* PolicyRevisionId of 0. In this case, the operation will fail with an InvalidPolicyRevisionIdException exception if a resource policy with the same name already exists.
*
A flag to indicate whether to bypass the resource policy lockout safety check.
*Setting this value to true increases the risk that the policy becomes unmanageable. Do not set this value to true indiscriminately.
*Use this parameter only when you include a policy in the request and you intend to prevent the principal that is making the request from making a subsequent PutResourcePolicy request.
The default value is false.
* @public */ BypassPolicyLockoutCheck?: boolean | undefined; } /** * @public */ export interface PutResourcePolicyResult { /** *The resource policy document, as provided in the PutResourcePolicyRequest.
A string containing a JSON document defining one or more segments or * subsegments.
* @public */ TraceSegmentDocuments: string[] | undefined; } /** *Information about a segment that failed processing.
* @public */ export interface UnprocessedTraceSegment { /** *The segment's ID.
* @public */ Id?: string | undefined; /** *The error that caused processing to fail.
* @public */ ErrorCode?: string | undefined; /** *The error message.
* @public */ Message?: string | undefined; } /** * @public */ export interface PutTraceSegmentsResult { /** *Segments that failed processing.
* @public */ UnprocessedTraceSegments?: UnprocessedTraceSegment[] | undefined; } /** * @public */ export interface StartTraceRetrievalRequest { /** ** Specify the trace IDs of the traces to be retrieved. *
* @public */ TraceIds: string[] | undefined; /** ** The start of the time range to retrieve traces. The range is inclusive, so the specified start time is included in the query. * Specified as epoch time, the number of seconds since January 1, 1970, 00:00:00 UTC. *
* @public */ StartTime: Date | undefined; /** ** The end of the time range to retrieve traces. The range is inclusive, so the specified end time is included in the query. Specified as epoch time, * the number of seconds since January 1, 1970, 00:00:00 UTC.
* @public */ EndTime: Date | undefined; } /** * @public */ export interface StartTraceRetrievalResult { /** ** Retrieval token. *
* @public */ RetrievalToken?: string | undefined; } /** * @public */ export interface TagResourceRequest { /** *The Amazon Resource Number (ARN) of an X-Ray group or sampling rule.
* @public */ ResourceARN: string | undefined; /** *A map that contains one or more tag keys and tag values to attach to an X-Ray group or * sampling rule. For more information about ways to use tags, see Tagging Amazon Web Services resources * in the Amazon Web Services General Reference.
*The following restrictions apply to tags:
*Maximum number of user-applied tags per resource: 50
*Maximum tag key length: 128 Unicode characters
*Maximum tag value length: 256 Unicode characters
*Valid values for key and value: a-z, A-Z, 0-9, space, and the following characters: _ . : * / = + - and @
*Tag keys and values are case sensitive.
*Don't use aws: as a prefix for keys; it's reserved for Amazon Web Services use. You
* cannot edit or delete system tags.
The Amazon Resource Number (ARN) of an X-Ray group or sampling rule.
* @public */ ResourceARN: string | undefined; /** *Keys for one or more tags that you want to remove from an X-Ray group or sampling rule.
* @public */ TagKeys: string[] | undefined; } /** * @public */ export interface UntagResourceResponse { } /** * @public */ export interface UpdateGroupRequest { /** *The case-sensitive name of the group.
* @public */ GroupName?: string | undefined; /** *The ARN that was generated upon creation.
* @public */ GroupARN?: string | undefined; /** *The updated filter expression defining criteria by which to group traces.
* @public */ FilterExpression?: string | undefined; /** *The structure containing configurations related to insights.
*The InsightsEnabled boolean can be set to true to enable insights for the * group or false to disable insights for the group.
*The NotificationsEnabled boolean can be set to true to enable insights notifications for the group. * Notifications can only be enabled on a group with InsightsEnabled set to true.
*The group that was updated. Contains the name of the group that was updated, the * ARN of the group that was updated, the updated filter expression, and the updated insight * configuration assigned to the group.
* @public */ Group?: Group | undefined; } /** ** Update to the indexing rule configuration for probabilistic sampling. *
* @public */ export interface ProbabilisticRuleValueUpdate { /** ** Configured sampling percentage of traceIds. Note that sampling can be subject to limits to ensure completeness of data. *
* @public */ DesiredSamplingPercentage: number | undefined; } /** ** Update to an indexing rule. *
* @public */ export type IndexingRuleValueUpdate = IndexingRuleValueUpdate.ProbabilisticMember | IndexingRuleValueUpdate.$UnknownMember; /** * @public */ export declare namespace IndexingRuleValueUpdate { /** ** Indexing rule configuration that is used to probabilistically sample traceIds. *
* @public */ interface ProbabilisticMember { Probabilistic: ProbabilisticRuleValueUpdate; $unknown?: never; } /** * @public */ interface $UnknownMember { Probabilistic?: never; $unknown: [string, any]; } /** * @deprecated unused in schema-serde mode. * */ interface Visitor* Name of the indexing rule to be updated. *
* @public */ Name: string | undefined; /** ** Rule configuration to be updated. *
* @public */ Rule: IndexingRuleValueUpdate | undefined; } /** * @public */ export interface UpdateIndexingRuleResult { /** ** Updated indexing rule. *
* @public */ IndexingRule?: IndexingRule | undefined; } /** *A document specifying changes to a sampling rule's configuration.
* @public */ export interface SamplingRuleUpdate { /** *The name of the sampling rule. Specify a rule by either name or ARN, but not both.
* @public */ RuleName?: string | undefined; /** *The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.
* @public */ RuleARN?: string | undefined; /** *Matches the ARN of the Amazon Web Services resource on which the service runs.
* @public */ ResourceARN?: string | undefined; /** *The priority of the sampling rule.
* @public */ Priority?: number | undefined; /** *The percentage of matching requests to instrument, after the reservoir is * exhausted.
* @public */ FixedRate?: number | undefined; /** *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.
* @public */ ReservoirSize?: number | undefined; /** *Matches the hostname from a request URL.
* @public */ Host?: string | undefined; /** *Matches the name that the service uses to identify itself in segments.
Matches the origin that the service uses to identify its type in segments.
Matches the HTTP method of a request.
* @public */ HTTPMethod?: string | undefined; /** *Matches the path from a request URL.
* @public */ URLPath?: string | undefined; /** *Matches attributes derived from the request.
* @public */ Attributes?: RecordSpecifies the multiplier applied to the base sampling rate. * This boost allows you to temporarily increase sampling without changing the rule's configuration.
* @public */ SamplingRateBoost?: SamplingRateBoost | undefined; } /** * @public */ export interface UpdateSamplingRuleRequest { /** *The rule and fields to change.
* @public */ SamplingRuleUpdate: SamplingRuleUpdate | undefined; } /** * @public */ export interface UpdateSamplingRuleResult { /** *The updated rule definition and metadata.
* @public */ SamplingRuleRecord?: SamplingRuleRecord | undefined; } /** * @public */ export interface UpdateTraceSegmentDestinationRequest { /** ** The configured destination of trace segments. *
* @public */ Destination?: TraceSegmentDestination | undefined; } /** * @public */ export interface UpdateTraceSegmentDestinationResult { /** ** The destination of the trace segments. *
* @public */ Destination?: TraceSegmentDestination | undefined; /** ** The status of the update. *
* @public */ Status?: TraceSegmentDestinationStatus | undefined; }