%% WARNING: DO NOT EDIT, AUTO-GENERATED CODE!
%% See https://github.com/aws-beam/aws-codegen for more details.
%% @doc AWS X-Ray provides APIs for managing debug traces and retrieving
%% service maps and other data created by processing those traces.
-module(aws_xray).
-export([batch_get_traces/2,
batch_get_traces/3,
create_group/2,
create_group/3,
create_sampling_rule/2,
create_sampling_rule/3,
delete_group/2,
delete_group/3,
delete_sampling_rule/2,
delete_sampling_rule/3,
get_encryption_config/2,
get_encryption_config/3,
get_group/2,
get_group/3,
get_groups/2,
get_groups/3,
get_sampling_rules/2,
get_sampling_rules/3,
get_sampling_statistic_summaries/2,
get_sampling_statistic_summaries/3,
get_sampling_targets/2,
get_sampling_targets/3,
get_service_graph/2,
get_service_graph/3,
get_time_series_service_statistics/2,
get_time_series_service_statistics/3,
get_trace_graph/2,
get_trace_graph/3,
get_trace_summaries/2,
get_trace_summaries/3,
put_encryption_config/2,
put_encryption_config/3,
put_telemetry_records/2,
put_telemetry_records/3,
put_trace_segments/2,
put_trace_segments/3,
update_group/2,
update_group/3,
update_sampling_rule/2,
update_sampling_rule/3]).
-include_lib("hackney/include/hackney_lib.hrl").
%%====================================================================
%% API
%%====================================================================
%% @doc 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.
batch_get_traces(Client, Input) ->
batch_get_traces(Client, Input, []).
batch_get_traces(Client, Input0, Options) ->
Method = post,
Path = ["/Traces"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc Creates a group resource with a name and a filter expression.
create_group(Client, Input) ->
create_group(Client, Input, []).
create_group(Client, Input0, Options) ->
Method = post,
Path = ["/CreateGroup"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc 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.
create_sampling_rule(Client, Input) ->
create_sampling_rule(Client, Input, []).
create_sampling_rule(Client, Input0, Options) ->
Method = post,
Path = ["/CreateSamplingRule"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc Deletes a group resource.
delete_group(Client, Input) ->
delete_group(Client, Input, []).
delete_group(Client, Input0, Options) ->
Method = post,
Path = ["/DeleteGroup"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc Deletes a sampling rule.
delete_sampling_rule(Client, Input) ->
delete_sampling_rule(Client, Input, []).
delete_sampling_rule(Client, Input0, Options) ->
Method = post,
Path = ["/DeleteSamplingRule"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc Retrieves the current encryption configuration for X-Ray data.
get_encryption_config(Client, Input) ->
get_encryption_config(Client, Input, []).
get_encryption_config(Client, Input0, Options) ->
Method = post,
Path = ["/EncryptionConfig"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc Retrieves group resource details.
get_group(Client, Input) ->
get_group(Client, Input, []).
get_group(Client, Input0, Options) ->
Method = post,
Path = ["/GetGroup"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc Retrieves all active group details.
get_groups(Client, Input) ->
get_groups(Client, Input, []).
get_groups(Client, Input0, Options) ->
Method = post,
Path = ["/Groups"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc Retrieves all sampling rules.
get_sampling_rules(Client, Input) ->
get_sampling_rules(Client, Input, []).
get_sampling_rules(Client, Input0, Options) ->
Method = post,
Path = ["/GetSamplingRules"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc Retrieves information about recent sampling results for all sampling
%% rules.
get_sampling_statistic_summaries(Client, Input) ->
get_sampling_statistic_summaries(Client, Input, []).
get_sampling_statistic_summaries(Client, Input0, Options) ->
Method = post,
Path = ["/SamplingStatisticSummaries"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc Requests a sampling quota for rules that the service is using to
%% sample requests.
get_sampling_targets(Client, Input) ->
get_sampling_targets(Client, Input, []).
get_sampling_targets(Client, Input0, Options) ->
Method = post,
Path = ["/SamplingTargets"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc 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.
get_service_graph(Client, Input) ->
get_service_graph(Client, Input, []).
get_service_graph(Client, Input0, Options) ->
Method = post,
Path = ["/ServiceGraph"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc Get an aggregation of service statistics defined by a specific time
%% range.
get_time_series_service_statistics(Client, Input) ->
get_time_series_service_statistics(Client, Input, []).
get_time_series_service_statistics(Client, Input0, Options) ->
Method = post,
Path = ["/TimeSeriesServiceStatistics"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc Retrieves a service graph for one or more specific trace IDs.
get_trace_graph(Client, Input) ->
get_trace_graph(Client, Input, []).
get_trace_graph(Client, Input0, Options) ->
Method = post,
Path = ["/TraceGraph"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc 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.
get_trace_summaries(Client, Input) ->
get_trace_summaries(Client, Input, []).
get_trace_summaries(Client, Input0, Options) ->
Method = post,
Path = ["/TraceSummaries"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc Updates the encryption configuration for X-Ray data.
put_encryption_config(Client, Input) ->
put_encryption_config(Client, Input, []).
put_encryption_config(Client, Input0, Options) ->
Method = post,
Path = ["/PutEncryptionConfig"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc Used by the AWS X-Ray daemon to upload telemetry.
put_telemetry_records(Client, Input) ->
put_telemetry_records(Client, Input, []).
put_telemetry_records(Client, Input0, Options) ->
Method = post,
Path = ["/TelemetryRecords"],
SuccessStatusCode = undefined,
Headers = [],
Input = Input0,
request(Client, Method, Path, Headers, Input, Options, SuccessStatusCode).
%% @doc 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.
%%
%% trace_id consists of three numbers separated by
%% hyphens. For example, 1-58406520-a006649127e371903a2de979. This includes:
%%
%% Trace ID Format %% %%
1.
%%
%% 1480615200 seconds, or 58406520 in
%% hexadecimal.
%%
%%