import { Command as $Command } from "@smithy/core/client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { PutTraceSegmentsRequest, PutTraceSegmentsResult } from "../models/models_0"; import type { ServiceInputTypes, ServiceOutputTypes, XRayClientResolvedConfig } from "../XRayClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link PutTraceSegmentsCommand}. */ export interface PutTraceSegmentsCommandInput extends PutTraceSegmentsRequest { } /** * @public * * The output of {@link PutTraceSegmentsCommand}. */ export interface PutTraceSegmentsCommandOutput extends PutTraceSegmentsResult, __MetadataBearer { } declare const PutTraceSegmentsCommand_base: { new (input: PutTraceSegmentsCommandInput): import("@smithy/core/client").CommandImpl; new (input: PutTraceSegmentsCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): { [x: string]: unknown; }; }; /** *

Uploads segment documents to Amazon Web Services X-Ray. * 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 * Amazon Web Services X-Ray * Segment Documents in the Amazon Web Services X-Ray Developer Guide.

*

* Required segment document fields *

* *

A trace_id consists of three numbers separated by hyphens. For example, * 1-58406520-a006649127e371903a2de979. For trace IDs created by an X-Ray SDK, or by Amazon Web Services services * integrated with X-Ray, a trace ID includes:

*

* Trace ID Format *

* * *

Trace IDs created via OpenTelemetry have a different format based on the * W3C Trace Context specification. * A W3C trace ID must be formatted in the X-Ray trace ID format when sending to X-Ray. For example, a W3C * trace ID 4efaaf4d1e8720b39541901950019ee5 should be formatted as * 1-4efaaf4d-1e8720b39541901950019ee5 when sending to X-Ray. While X-Ray trace IDs include * the original request timestamp in Unix epoch time, this is not required or validated. *

*
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { XRayClient, PutTraceSegmentsCommand } from "@aws-sdk/client-xray"; // ES Modules import * // const { XRayClient, PutTraceSegmentsCommand } = require("@aws-sdk/client-xray"); // CommonJS import * // import type { XRayClientConfig } from "@aws-sdk/client-xray"; * const config = {}; // type is XRayClientConfig * const client = new XRayClient(config); * const input = { // PutTraceSegmentsRequest * TraceSegmentDocuments: [ // TraceSegmentDocumentList // required * "STRING_VALUE", * ], * }; * const command = new PutTraceSegmentsCommand(input); * const response = await client.send(command); * // { // PutTraceSegmentsResult * // UnprocessedTraceSegments: [ // UnprocessedTraceSegmentList * // { // UnprocessedTraceSegment * // Id: "STRING_VALUE", * // ErrorCode: "STRING_VALUE", * // Message: "STRING_VALUE", * // }, * // ], * // }; * * ``` * * @param PutTraceSegmentsCommandInput - {@link PutTraceSegmentsCommandInput} * @returns {@link PutTraceSegmentsCommandOutput} * @see {@link PutTraceSegmentsCommandInput} for command's `input` shape. * @see {@link PutTraceSegmentsCommandOutput} for command's `response` shape. * @see {@link XRayClientResolvedConfig | config} for XRayClient's `config` shape. * * @throws {@link InvalidRequestException} (client fault) *

The request is missing required parameters or has invalid parameters.

* * @throws {@link ThrottledException} (client fault) *

The request exceeds the maximum number of requests per second.

* * @throws {@link XRayServiceException} *

Base exception class for all service exceptions from XRay service.

* * * @public */ export declare class PutTraceSegmentsCommand extends PutTraceSegmentsCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: PutTraceSegmentsRequest; output: PutTraceSegmentsResult; }; sdk: { input: PutTraceSegmentsCommandInput; output: PutTraceSegmentsCommandOutput; }; }; }