/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace XRay { namespace Model { class BatchGetTracesRequest; class CreateGroupRequest; class CreateSamplingRuleRequest; class DeleteGroupRequest; class DeleteSamplingRuleRequest; class GetEncryptionConfigRequest; class GetGroupRequest; class GetGroupsRequest; class GetSamplingRulesRequest; class GetSamplingStatisticSummariesRequest; class GetSamplingTargetsRequest; class GetServiceGraphRequest; class GetTimeSeriesServiceStatisticsRequest; class GetTraceGraphRequest; class GetTraceSummariesRequest; class ListTagsForResourceRequest; class PutEncryptionConfigRequest; class PutTelemetryRecordsRequest; class PutTraceSegmentsRequest; class TagResourceRequest; class UntagResourceRequest; class UpdateGroupRequest; class UpdateSamplingRuleRequest; typedef Aws::Utils::Outcome BatchGetTracesOutcome; typedef Aws::Utils::Outcome CreateGroupOutcome; typedef Aws::Utils::Outcome CreateSamplingRuleOutcome; typedef Aws::Utils::Outcome DeleteGroupOutcome; typedef Aws::Utils::Outcome DeleteSamplingRuleOutcome; typedef Aws::Utils::Outcome GetEncryptionConfigOutcome; typedef Aws::Utils::Outcome GetGroupOutcome; typedef Aws::Utils::Outcome GetGroupsOutcome; typedef Aws::Utils::Outcome GetSamplingRulesOutcome; typedef Aws::Utils::Outcome GetSamplingStatisticSummariesOutcome; typedef Aws::Utils::Outcome GetSamplingTargetsOutcome; typedef Aws::Utils::Outcome GetServiceGraphOutcome; typedef Aws::Utils::Outcome GetTimeSeriesServiceStatisticsOutcome; typedef Aws::Utils::Outcome GetTraceGraphOutcome; typedef Aws::Utils::Outcome GetTraceSummariesOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome PutEncryptionConfigOutcome; typedef Aws::Utils::Outcome PutTelemetryRecordsOutcome; typedef Aws::Utils::Outcome PutTraceSegmentsOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateGroupOutcome; typedef Aws::Utils::Outcome UpdateSamplingRuleOutcome; typedef std::future BatchGetTracesOutcomeCallable; typedef std::future CreateGroupOutcomeCallable; typedef std::future CreateSamplingRuleOutcomeCallable; typedef std::future DeleteGroupOutcomeCallable; typedef std::future DeleteSamplingRuleOutcomeCallable; typedef std::future GetEncryptionConfigOutcomeCallable; typedef std::future GetGroupOutcomeCallable; typedef std::future GetGroupsOutcomeCallable; typedef std::future GetSamplingRulesOutcomeCallable; typedef std::future GetSamplingStatisticSummariesOutcomeCallable; typedef std::future GetSamplingTargetsOutcomeCallable; typedef std::future GetServiceGraphOutcomeCallable; typedef std::future GetTimeSeriesServiceStatisticsOutcomeCallable; typedef std::future GetTraceGraphOutcomeCallable; typedef std::future GetTraceSummariesOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future PutEncryptionConfigOutcomeCallable; typedef std::future PutTelemetryRecordsOutcomeCallable; typedef std::future PutTraceSegmentsOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateGroupOutcomeCallable; typedef std::future UpdateSamplingRuleOutcomeCallable; } // namespace Model class XRayClient; typedef std::function&) > BatchGetTracesResponseReceivedHandler; typedef std::function&) > CreateGroupResponseReceivedHandler; typedef std::function&) > CreateSamplingRuleResponseReceivedHandler; typedef std::function&) > DeleteGroupResponseReceivedHandler; typedef std::function&) > DeleteSamplingRuleResponseReceivedHandler; typedef std::function&) > GetEncryptionConfigResponseReceivedHandler; typedef std::function&) > GetGroupResponseReceivedHandler; typedef std::function&) > GetGroupsResponseReceivedHandler; typedef std::function&) > GetSamplingRulesResponseReceivedHandler; typedef std::function&) > GetSamplingStatisticSummariesResponseReceivedHandler; typedef std::function&) > GetSamplingTargetsResponseReceivedHandler; typedef std::function&) > GetServiceGraphResponseReceivedHandler; typedef std::function&) > GetTimeSeriesServiceStatisticsResponseReceivedHandler; typedef std::function&) > GetTraceGraphResponseReceivedHandler; typedef std::function&) > GetTraceSummariesResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > PutEncryptionConfigResponseReceivedHandler; typedef std::function&) > PutTelemetryRecordsResponseReceivedHandler; typedef std::function&) > PutTraceSegmentsResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateGroupResponseReceivedHandler; typedef std::function&) > UpdateSamplingRuleResponseReceivedHandler; /** *

AWS X-Ray provides APIs for managing debug traces and retrieving service maps * and other data created by processing those traces.

*/ class AWS_XRAY_API XRayClient : public Aws::Client::AWSJsonClient { public: typedef Aws::Client::AWSJsonClient BASECLASS; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ XRayClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ XRayClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ XRayClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~XRayClient(); /** *

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.

See * Also:

AWS * API Reference

*/ virtual Model::BatchGetTracesOutcome BatchGetTraces(const Model::BatchGetTracesRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::BatchGetTracesOutcomeCallable BatchGetTracesCallable(const Model::BatchGetTracesRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void BatchGetTracesAsync(const Model::BatchGetTracesRequest& request, const BatchGetTracesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a group resource with a name and a filter expression.

See * Also:

AWS * API Reference

*/ virtual Model::CreateGroupOutcome CreateGroup(const Model::CreateGroupRequest& request) const; /** *

Creates a group resource with a name and a filter expression.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateGroupOutcomeCallable CreateGroupCallable(const Model::CreateGroupRequest& request) const; /** *

Creates a group resource with a name and a filter expression.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateGroupAsync(const Model::CreateGroupRequest& request, const CreateGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See * Also:

AWS * API Reference

*/ virtual Model::CreateSamplingRuleOutcome CreateSamplingRule(const Model::CreateSamplingRuleRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateSamplingRuleOutcomeCallable CreateSamplingRuleCallable(const Model::CreateSamplingRuleRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateSamplingRuleAsync(const Model::CreateSamplingRuleRequest& request, const CreateSamplingRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a group resource.

See Also:

AWS * API Reference

*/ virtual Model::DeleteGroupOutcome DeleteGroup(const Model::DeleteGroupRequest& request) const; /** *

Deletes a group resource.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteGroupOutcomeCallable DeleteGroupCallable(const Model::DeleteGroupRequest& request) const; /** *

Deletes a group resource.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteGroupAsync(const Model::DeleteGroupRequest& request, const DeleteGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a sampling rule.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSamplingRuleOutcome DeleteSamplingRule(const Model::DeleteSamplingRuleRequest& request) const; /** *

Deletes a sampling rule.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteSamplingRuleOutcomeCallable DeleteSamplingRuleCallable(const Model::DeleteSamplingRuleRequest& request) const; /** *

Deletes a sampling rule.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteSamplingRuleAsync(const Model::DeleteSamplingRuleRequest& request, const DeleteSamplingRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves the current encryption configuration for X-Ray data.

See * Also:

AWS * API Reference

*/ virtual Model::GetEncryptionConfigOutcome GetEncryptionConfig(const Model::GetEncryptionConfigRequest& request) const; /** *

Retrieves the current encryption configuration for X-Ray data.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetEncryptionConfigOutcomeCallable GetEncryptionConfigCallable(const Model::GetEncryptionConfigRequest& request) const; /** *

Retrieves the current encryption configuration for X-Ray data.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetEncryptionConfigAsync(const Model::GetEncryptionConfigRequest& request, const GetEncryptionConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves group resource details.

See Also:

AWS API * Reference

*/ virtual Model::GetGroupOutcome GetGroup(const Model::GetGroupRequest& request) const; /** *

Retrieves group resource details.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetGroupOutcomeCallable GetGroupCallable(const Model::GetGroupRequest& request) const; /** *

Retrieves group resource details.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetGroupAsync(const Model::GetGroupRequest& request, const GetGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves all active group details.

See Also:

AWS API * Reference

*/ virtual Model::GetGroupsOutcome GetGroups(const Model::GetGroupsRequest& request) const; /** *

Retrieves all active group details.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetGroupsOutcomeCallable GetGroupsCallable(const Model::GetGroupsRequest& request) const; /** *

Retrieves all active group details.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetGroupsAsync(const Model::GetGroupsRequest& request, const GetGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves all sampling rules.

See Also:

AWS * API Reference

*/ virtual Model::GetSamplingRulesOutcome GetSamplingRules(const Model::GetSamplingRulesRequest& request) const; /** *

Retrieves all sampling rules.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetSamplingRulesOutcomeCallable GetSamplingRulesCallable(const Model::GetSamplingRulesRequest& request) const; /** *

Retrieves all sampling rules.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetSamplingRulesAsync(const Model::GetSamplingRulesRequest& request, const GetSamplingRulesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves information about recent sampling results for all sampling * rules.

See Also:

AWS * API Reference

*/ virtual Model::GetSamplingStatisticSummariesOutcome GetSamplingStatisticSummaries(const Model::GetSamplingStatisticSummariesRequest& request) const; /** *

Retrieves information about recent sampling results for all sampling * rules.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetSamplingStatisticSummariesOutcomeCallable GetSamplingStatisticSummariesCallable(const Model::GetSamplingStatisticSummariesRequest& request) const; /** *

Retrieves information about recent sampling results for all sampling * rules.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetSamplingStatisticSummariesAsync(const Model::GetSamplingStatisticSummariesRequest& request, const GetSamplingStatisticSummariesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Requests a sampling quota for rules that the service is using to sample * requests.

See Also:

AWS * API Reference

*/ virtual Model::GetSamplingTargetsOutcome GetSamplingTargets(const Model::GetSamplingTargetsRequest& request) const; /** *

Requests a sampling quota for rules that the service is using to sample * requests.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetSamplingTargetsOutcomeCallable GetSamplingTargetsCallable(const Model::GetSamplingTargetsRequest& request) const; /** *

Requests a sampling quota for rules that the service is using to sample * requests.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetSamplingTargetsAsync(const Model::GetSamplingTargetsRequest& request, const GetSamplingTargetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::GetServiceGraphOutcome GetServiceGraph(const Model::GetServiceGraphRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetServiceGraphOutcomeCallable GetServiceGraphCallable(const Model::GetServiceGraphRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetServiceGraphAsync(const Model::GetServiceGraphRequest& request, const GetServiceGraphResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Get an aggregation of service statistics defined by a specific time * range.

See Also:

AWS * API Reference

*/ virtual Model::GetTimeSeriesServiceStatisticsOutcome GetTimeSeriesServiceStatistics(const Model::GetTimeSeriesServiceStatisticsRequest& request) const; /** *

Get an aggregation of service statistics defined by a specific time * range.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetTimeSeriesServiceStatisticsOutcomeCallable GetTimeSeriesServiceStatisticsCallable(const Model::GetTimeSeriesServiceStatisticsRequest& request) const; /** *

Get an aggregation of service statistics defined by a specific time * range.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetTimeSeriesServiceStatisticsAsync(const Model::GetTimeSeriesServiceStatisticsRequest& request, const GetTimeSeriesServiceStatisticsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves a service graph for one or more specific trace IDs.

See * Also:

AWS * API Reference

*/ virtual Model::GetTraceGraphOutcome GetTraceGraph(const Model::GetTraceGraphRequest& request) const; /** *

Retrieves a service graph for one or more specific trace IDs.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetTraceGraphOutcomeCallable GetTraceGraphCallable(const Model::GetTraceGraphRequest& request) const; /** *

Retrieves a service graph for one or more specific trace IDs.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetTraceGraphAsync(const Model::GetTraceGraphRequest& request, const GetTraceGraphResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves IDs and annotations 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.

See * Also:

AWS * API Reference

*/ virtual Model::GetTraceSummariesOutcome GetTraceSummaries(const Model::GetTraceSummariesRequest& request) const; /** *

Retrieves IDs and annotations 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.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetTraceSummariesOutcomeCallable GetTraceSummariesCallable(const Model::GetTraceSummariesRequest& request) const; /** *

Retrieves IDs and annotations 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.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetTraceSummariesAsync(const Model::GetTraceSummariesRequest& request, const GetTraceSummariesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * */ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** * * * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; /** * * * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates the encryption configuration for X-Ray data.

See Also:

* AWS * API Reference

*/ virtual Model::PutEncryptionConfigOutcome PutEncryptionConfig(const Model::PutEncryptionConfigRequest& request) const; /** *

Updates the encryption configuration for X-Ray data.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutEncryptionConfigOutcomeCallable PutEncryptionConfigCallable(const Model::PutEncryptionConfigRequest& request) const; /** *

Updates the encryption configuration for X-Ray data.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutEncryptionConfigAsync(const Model::PutEncryptionConfigRequest& request, const PutEncryptionConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Used by the AWS X-Ray daemon to upload telemetry.

See Also:

* AWS * API Reference

*/ virtual Model::PutTelemetryRecordsOutcome PutTelemetryRecords(const Model::PutTelemetryRecordsRequest& request) const; /** *

Used by the AWS X-Ray daemon to upload telemetry.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutTelemetryRecordsOutcomeCallable PutTelemetryRecordsCallable(const Model::PutTelemetryRecordsRequest& request) const; /** *

Used by the AWS X-Ray daemon to upload telemetry.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutTelemetryRecordsAsync(const Model::PutTelemetryRecordsRequest& request, const PutTelemetryRecordsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::PutTraceSegmentsOutcome PutTraceSegments(const Model::PutTraceSegmentsRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutTraceSegmentsOutcomeCallable PutTraceSegmentsCallable(const Model::PutTraceSegmentsRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutTraceSegmentsAsync(const Model::PutTraceSegmentsRequest& request, const PutTraceSegmentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * */ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** * * * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; /** * * * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * */ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** * * * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; /** * * * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates a group resource.

See Also:

AWS * API Reference

*/ virtual Model::UpdateGroupOutcome UpdateGroup(const Model::UpdateGroupRequest& request) const; /** *

Updates a group resource.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateGroupOutcomeCallable UpdateGroupCallable(const Model::UpdateGroupRequest& request) const; /** *

Updates a group resource.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateGroupAsync(const Model::UpdateGroupRequest& request, const UpdateGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Modifies a sampling rule's configuration.

See Also:

AWS * API Reference

*/ virtual Model::UpdateSamplingRuleOutcome UpdateSamplingRule(const Model::UpdateSamplingRuleRequest& request) const; /** *

Modifies a sampling rule's configuration.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateSamplingRuleOutcomeCallable UpdateSamplingRuleCallable(const Model::UpdateSamplingRuleRequest& request) const; /** *

Modifies a sampling rule's configuration.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateSamplingRuleAsync(const Model::UpdateSamplingRuleRequest& request, const UpdateSamplingRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void BatchGetTracesAsyncHelper(const Model::BatchGetTracesRequest& request, const BatchGetTracesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateGroupAsyncHelper(const Model::CreateGroupRequest& request, const CreateGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateSamplingRuleAsyncHelper(const Model::CreateSamplingRuleRequest& request, const CreateSamplingRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteGroupAsyncHelper(const Model::DeleteGroupRequest& request, const DeleteGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteSamplingRuleAsyncHelper(const Model::DeleteSamplingRuleRequest& request, const DeleteSamplingRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetEncryptionConfigAsyncHelper(const Model::GetEncryptionConfigRequest& request, const GetEncryptionConfigResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetGroupAsyncHelper(const Model::GetGroupRequest& request, const GetGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetGroupsAsyncHelper(const Model::GetGroupsRequest& request, const GetGroupsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetSamplingRulesAsyncHelper(const Model::GetSamplingRulesRequest& request, const GetSamplingRulesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetSamplingStatisticSummariesAsyncHelper(const Model::GetSamplingStatisticSummariesRequest& request, const GetSamplingStatisticSummariesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetSamplingTargetsAsyncHelper(const Model::GetSamplingTargetsRequest& request, const GetSamplingTargetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetServiceGraphAsyncHelper(const Model::GetServiceGraphRequest& request, const GetServiceGraphResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetTimeSeriesServiceStatisticsAsyncHelper(const Model::GetTimeSeriesServiceStatisticsRequest& request, const GetTimeSeriesServiceStatisticsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetTraceGraphAsyncHelper(const Model::GetTraceGraphRequest& request, const GetTraceGraphResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetTraceSummariesAsyncHelper(const Model::GetTraceSummariesRequest& request, const GetTraceSummariesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutEncryptionConfigAsyncHelper(const Model::PutEncryptionConfigRequest& request, const PutEncryptionConfigResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutTelemetryRecordsAsyncHelper(const Model::PutTelemetryRecordsRequest& request, const PutTelemetryRecordsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutTraceSegmentsAsyncHelper(const Model::PutTraceSegmentsRequest& request, const PutTraceSegmentsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateGroupAsyncHelper(const Model::UpdateGroupRequest& request, const UpdateGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateSamplingRuleAsyncHelper(const Model::UpdateSamplingRuleRequest& request, const UpdateSamplingRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace XRay } // namespace Aws