aws-sdk-xray 1.4.0 → 1.62.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
4
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
7
  #
6
8
  # WARNING ABOUT GENERATED CODE
7
9
 
@@ -15,16 +17,38 @@ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
17
  require 'aws-sdk-core/plugins/retry_errors.rb'
16
18
  require 'aws-sdk-core/plugins/global_configuration.rb'
17
19
  require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
18
22
  require 'aws-sdk-core/plugins/response_paging.rb'
19
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
20
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
21
25
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
22
- require 'aws-sdk-core/plugins/signature_v4.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
23
35
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
24
36
 
25
37
  Aws::Plugins::GlobalConfiguration.add_identifier(:xray)
26
38
 
27
39
  module Aws::XRay
40
+ # An API client for XRay. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::XRay::Client.new(
43
+ # region: region_name,
44
+ # credentials: credentials,
45
+ # # ...
46
+ # )
47
+ #
48
+ # For details on configuring region and credentials see
49
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
50
+ #
51
+ # See {#initialize} for a full list of supported configuration options.
28
52
  class Client < Seahorse::Client::Base
29
53
 
30
54
  include Aws::ClientStubs
@@ -43,112 +67,320 @@ module Aws::XRay
43
67
  add_plugin(Aws::Plugins::RetryErrors)
44
68
  add_plugin(Aws::Plugins::GlobalConfiguration)
45
69
  add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
46
72
  add_plugin(Aws::Plugins::ResponsePaging)
47
73
  add_plugin(Aws::Plugins::StubResponses)
48
74
  add_plugin(Aws::Plugins::IdempotencyToken)
49
75
  add_plugin(Aws::Plugins::JsonvalueConverter)
50
- add_plugin(Aws::Plugins::SignatureV4)
76
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
78
+ add_plugin(Aws::Plugins::TransferEncoding)
79
+ add_plugin(Aws::Plugins::HttpChecksum)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
51
85
  add_plugin(Aws::Plugins::Protocols::RestJson)
86
+ add_plugin(Aws::XRay::Plugins::Endpoints)
52
87
 
53
- # @option options [required, Aws::CredentialProvider] :credentials
54
- # Your AWS credentials. This can be an instance of any one of the
55
- # following classes:
88
+ # @overload initialize(options)
89
+ # @param [Hash] options
90
+ # @option options [required, Aws::CredentialProvider] :credentials
91
+ # Your AWS credentials. This can be an instance of any one of the
92
+ # following classes:
93
+ #
94
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
95
+ # credentials.
96
+ #
97
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
98
+ # shared file, such as `~/.aws/config`.
99
+ #
100
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
101
+ #
102
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
103
+ # assume a role after providing credentials via the web.
104
+ #
105
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
106
+ # access token generated from `aws login`.
107
+ #
108
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
109
+ # process that outputs to stdout.
110
+ #
111
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
112
+ # from an EC2 IMDS on an EC2 instance.
113
+ #
114
+ # * `Aws::ECSCredentials` - Used for loading credentials from
115
+ # instances running in ECS.
116
+ #
117
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
118
+ # from the Cognito Identity service.
119
+ #
120
+ # When `:credentials` are not configured directly, the following
121
+ # locations will be searched for credentials:
122
+ #
123
+ # * `Aws.config[:credentials]`
124
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
125
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
126
+ # * `~/.aws/credentials`
127
+ # * `~/.aws/config`
128
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
129
+ # are very aggressive. Construct and pass an instance of
130
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
131
+ # enable retries and extended timeouts. Instance profile credential
132
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
133
+ # to true.
134
+ #
135
+ # @option options [required, String] :region
136
+ # The AWS region to connect to. The configured `:region` is
137
+ # used to determine the service `:endpoint`. When not passed,
138
+ # a default `:region` is searched for in the following locations:
139
+ #
140
+ # * `Aws.config[:region]`
141
+ # * `ENV['AWS_REGION']`
142
+ # * `ENV['AMAZON_REGION']`
143
+ # * `ENV['AWS_DEFAULT_REGION']`
144
+ # * `~/.aws/credentials`
145
+ # * `~/.aws/config`
146
+ #
147
+ # @option options [String] :access_key_id
148
+ #
149
+ # @option options [Boolean] :active_endpoint_cache (false)
150
+ # When set to `true`, a thread polling for endpoints will be running in
151
+ # the background every 60 secs (default). Defaults to `false`.
152
+ #
153
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
154
+ # Used only in `adaptive` retry mode. When true, the request will sleep
155
+ # until there is sufficent client side capacity to retry the request.
156
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
157
+ # not retry instead of sleeping.
158
+ #
159
+ # @option options [Boolean] :client_side_monitoring (false)
160
+ # When `true`, client-side metrics will be collected for all API requests from
161
+ # this client.
162
+ #
163
+ # @option options [String] :client_side_monitoring_client_id ("")
164
+ # Allows you to provide an identifier for this client which will be attached to
165
+ # all generated client side metrics. Defaults to an empty string.
166
+ #
167
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
168
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
169
+ # side monitoring agent is running on, where client metrics will be published via UDP.
170
+ #
171
+ # @option options [Integer] :client_side_monitoring_port (31000)
172
+ # Required for publishing client metrics. The port that the client side monitoring
173
+ # agent is running on, where client metrics will be published via UDP.
174
+ #
175
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
176
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
177
+ # will use the Client Side Monitoring Agent Publisher.
178
+ #
179
+ # @option options [Boolean] :convert_params (true)
180
+ # When `true`, an attempt is made to coerce request parameters into
181
+ # the required types.
182
+ #
183
+ # @option options [Boolean] :correct_clock_skew (true)
184
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
185
+ # a clock skew correction and retry requests with skewed client clocks.
186
+ #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
191
+ # @option options [Boolean] :disable_host_prefix_injection (false)
192
+ # Set to true to disable SDK automatically adding host prefix
193
+ # to default service endpoint when available.
194
+ #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
199
+ # @option options [String] :endpoint
200
+ # The client endpoint is normally constructed from the `:region`
201
+ # option. You should only configure an `:endpoint` when connecting
202
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
203
+ #
204
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
205
+ # Used for the maximum size limit of the LRU cache storing endpoints data
206
+ # for endpoint discovery enabled operations. Defaults to 1000.
207
+ #
208
+ # @option options [Integer] :endpoint_cache_max_threads (10)
209
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
210
+ #
211
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
212
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
213
+ # Use this option to config the time interval in seconds for making
214
+ # requests fetching endpoints information. Defaults to 60 sec.
215
+ #
216
+ # @option options [Boolean] :endpoint_discovery (false)
217
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
218
+ #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
223
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
224
+ # The log formatter.
225
+ #
226
+ # @option options [Symbol] :log_level (:info)
227
+ # The log level to send messages to the `:logger` at.
228
+ #
229
+ # @option options [Logger] :logger
230
+ # The Logger instance to send log messages to. If this option
231
+ # is not set, logging will be disabled.
232
+ #
233
+ # @option options [Integer] :max_attempts (3)
234
+ # An integer representing the maximum number attempts that will be made for
235
+ # a single request, including the initial attempt. For example,
236
+ # setting this value to 5 will result in a request being retried up to
237
+ # 4 times. Used in `standard` and `adaptive` retry modes.
238
+ #
239
+ # @option options [String] :profile ("default")
240
+ # Used when loading credentials from the shared credentials file
241
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
242
+ #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
248
+ # @option options [Proc] :retry_backoff
249
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
250
+ # This option is only used in the `legacy` retry mode.
251
+ #
252
+ # @option options [Float] :retry_base_delay (0.3)
253
+ # The base delay in seconds used by the default backoff function. This option
254
+ # is only used in the `legacy` retry mode.
255
+ #
256
+ # @option options [Symbol] :retry_jitter (:none)
257
+ # A delay randomiser function used by the default backoff function.
258
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
259
+ # otherwise a Proc that takes and returns a number. This option is only used
260
+ # in the `legacy` retry mode.
261
+ #
262
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
263
+ #
264
+ # @option options [Integer] :retry_limit (3)
265
+ # The maximum number of times to retry failed requests. Only
266
+ # ~ 500 level server errors and certain ~ 400 level client errors
267
+ # are retried. Generally, these are throttling errors, data
268
+ # checksum errors, networking errors, timeout errors, auth errors,
269
+ # endpoint discovery, and errors from expired credentials.
270
+ # This option is only used in the `legacy` retry mode.
271
+ #
272
+ # @option options [Integer] :retry_max_delay (0)
273
+ # The maximum number of seconds to delay between retries (0 for no limit)
274
+ # used by the default backoff function. This option is only used in the
275
+ # `legacy` retry mode.
56
276
  #
57
- # * `Aws::Credentials` - Used for configuring static, non-refreshing
58
- # credentials.
277
+ # @option options [String] :retry_mode ("legacy")
278
+ # Specifies which retry algorithm to use. Values are:
59
279
  #
60
- # * `Aws::InstanceProfileCredentials` - Used for loading credentials
61
- # from an EC2 IMDS on an EC2 instance.
280
+ # * `legacy` - The pre-existing retry behavior. This is default value if
281
+ # no retry mode is provided.
62
282
  #
63
- # * `Aws::SharedCredentials` - Used for loading credentials from a
64
- # shared file, such as `~/.aws/config`.
283
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
284
+ # This includes support for retry quotas, which limit the number of
285
+ # unsuccessful retries a client can make.
65
286
  #
66
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
287
+ # * `adaptive` - An experimental retry mode that includes all the
288
+ # functionality of `standard` mode along with automatic client side
289
+ # throttling. This is a provisional mode that may change behavior
290
+ # in the future.
67
291
  #
68
- # When `:credentials` are not configured directly, the following
69
- # locations will be searched for credentials:
70
292
  #
71
- # * `Aws.config[:credentials]`
72
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
73
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
74
- # * `~/.aws/credentials`
75
- # * `~/.aws/config`
76
- # * EC2 IMDS instance profile - When used by default, the timeouts are
77
- # very aggressive. Construct and pass an instance of
78
- # `Aws::InstanceProfileCredentails` to enable retries and extended
79
- # timeouts.
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
80
297
  #
81
- # @option options [required, String] :region
82
- # The AWS region to connect to. The configured `:region` is
83
- # used to determine the service `:endpoint`. When not passed,
84
- # a default `:region` is search for in the following locations:
298
+ # @option options [String] :secret_access_key
85
299
  #
86
- # * `Aws.config[:region]`
87
- # * `ENV['AWS_REGION']`
88
- # * `ENV['AMAZON_REGION']`
89
- # * `ENV['AWS_DEFAULT_REGION']`
90
- # * `~/.aws/credentials`
91
- # * `~/.aws/config`
300
+ # @option options [String] :session_token
92
301
  #
93
- # @option options [String] :access_key_id
302
+ # @option options [Boolean] :stub_responses (false)
303
+ # Causes the client to return stubbed responses. By default
304
+ # fake responses are generated and returned. You can specify
305
+ # the response data to return or errors to raise by calling
306
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
94
307
  #
95
- # @option options [Boolean] :convert_params (true)
96
- # When `true`, an attempt is made to coerce request parameters into
97
- # the required types.
308
+ # ** Please note ** When response stubbing is enabled, no HTTP
309
+ # requests are made, and retries are disabled.
98
310
  #
99
- # @option options [String] :endpoint
100
- # The client endpoint is normally constructed from the `:region`
101
- # option. You should only configure an `:endpoint` when connecting
102
- # to test endpoints. This should be avalid HTTP(S) URI.
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
103
314
  #
104
- # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
105
- # The log formatter.
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
106
317
  #
107
- # @option options [Symbol] :log_level (:info)
108
- # The log level to send messages to the `:logger` at.
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
109
320
  #
110
- # @option options [Logger] :logger
111
- # The Logger instance to send log messages to. If this option
112
- # is not set, logging will be disabled.
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
113
323
  #
114
- # @option options [String] :profile ("default")
115
- # Used when loading credentials from the shared credentials file
116
- # at HOME/.aws/credentials. When not specified, 'default' is used.
324
+ # @option options [Boolean] :use_dualstack_endpoint
325
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
326
+ # will be used if available.
117
327
  #
118
- # @option options [Float] :retry_base_delay (0.3)
119
- # The base delay in seconds used by the default backoff function.
328
+ # @option options [Boolean] :use_fips_endpoint
329
+ # When set to `true`, fips compatible endpoints will be used if available.
330
+ # When a `fips` region is used, the region is normalized and this config
331
+ # is set to `true`.
120
332
  #
121
- # @option options [Symbol] :retry_jitter (:none)
122
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
333
+ # @option options [Boolean] :validate_params (true)
334
+ # When `true`, request parameters are validated before
335
+ # sending the request.
123
336
  #
124
- # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
337
+ # @option options [Aws::XRay::EndpointProvider] :endpoint_provider
338
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::XRay::EndpointParameters`
125
339
  #
126
- # @option options [Integer] :retry_limit (3)
127
- # The maximum number of times to retry failed requests. Only
128
- # ~ 500 level server errors and certain ~ 400 level client errors
129
- # are retried. Generally, these are throttling errors, data
130
- # checksum errors, networking errors, timeout errors and auth
131
- # errors from expired credentials.
340
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
341
+ # requests through. Formatted like 'http://proxy.com:123'.
132
342
  #
133
- # @option options [Integer] :retry_max_delay (0)
134
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
343
+ # @option options [Float] :http_open_timeout (15) The number of
344
+ # seconds to wait when opening a HTTP session before raising a
345
+ # `Timeout::Error`.
135
346
  #
136
- # @option options [String] :secret_access_key
347
+ # @option options [Float] :http_read_timeout (60) The default
348
+ # number of seconds to wait for response data. This value can
349
+ # safely be set per-request on the session.
137
350
  #
138
- # @option options [String] :session_token
351
+ # @option options [Float] :http_idle_timeout (5) The number of
352
+ # seconds a connection is allowed to sit idle before it is
353
+ # considered stale. Stale connections are closed and removed
354
+ # from the pool before making a request.
139
355
  #
140
- # @option options [Boolean] :stub_responses (false)
141
- # Causes the client to return stubbed responses. By default
142
- # fake responses are generated and returned. You can specify
143
- # the response data to return or errors to raise by calling
144
- # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
356
+ # @option options [Float] :http_continue_timeout (1) The number of
357
+ # seconds to wait for a 100-continue response before sending the
358
+ # request body. This option has no effect unless the request has
359
+ # "Expect" header set to "100-continue". Defaults to `nil` which
360
+ # disables this behaviour. This value can safely be set per
361
+ # request on the session.
145
362
  #
146
- # ** Please note ** When response stubbing is enabled, no HTTP
147
- # requests are made, and retries are disabled.
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
148
365
  #
149
- # @option options [Boolean] :validate_params (true)
150
- # When `true`, request parameters are validated before
151
- # sending the request.
366
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
367
+ # HTTP debug output will be sent to the `:logger`.
368
+ #
369
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
+ # SSL peer certificates are verified when establishing a
371
+ # connection.
372
+ #
373
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
374
+ # certificate authority bundle file that should be used when
375
+ # verifying peer certificates. If you do not pass
376
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
377
+ # will be used if available.
378
+ #
379
+ # @option options [String] :ssl_ca_directory Full path of the
380
+ # directory that contains the unbundled SSL certificate
381
+ # authority files for verifying peer certificates. If you do
382
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
383
+ # system default will be used if available.
152
384
  #
153
385
  def initialize(*args)
154
386
  super
@@ -164,7 +396,7 @@ module Aws::XRay
164
396
  # Specify the trace IDs of requests for which to retrieve segments.
165
397
  #
166
398
  # @option params [String] :next_token
167
- # Pagination token. Not used.
399
+ # Pagination token.
168
400
  #
169
401
  # @return [Types::BatchGetTracesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
170
402
  #
@@ -172,6 +404,8 @@ module Aws::XRay
172
404
  # * {Types::BatchGetTracesResult#unprocessed_trace_ids #unprocessed_trace_ids} => Array&lt;String&gt;
173
405
  # * {Types::BatchGetTracesResult#next_token #next_token} => String
174
406
  #
407
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
408
+ #
175
409
  # @example Request syntax with placeholder values
176
410
  #
177
411
  # resp = client.batch_get_traces({
@@ -184,6 +418,7 @@ module Aws::XRay
184
418
  # resp.traces #=> Array
185
419
  # resp.traces[0].id #=> String
186
420
  # resp.traces[0].duration #=> Float
421
+ # resp.traces[0].limit_exceeded #=> Boolean
187
422
  # resp.traces[0].segments #=> Array
188
423
  # resp.traces[0].segments[0].id #=> String
189
424
  # resp.traces[0].segments[0].document #=> String
@@ -200,18 +435,132 @@ module Aws::XRay
200
435
  req.send_request(options)
201
436
  end
202
437
 
438
+ # Creates a group resource with a name and a filter expression.
439
+ #
440
+ # @option params [required, String] :group_name
441
+ # The case-sensitive name of the new group. Default is a reserved name
442
+ # and names must be unique.
443
+ #
444
+ # @option params [String] :filter_expression
445
+ # The filter expression defining criteria by which to group traces.
446
+ #
447
+ # @option params [Types::InsightsConfiguration] :insights_configuration
448
+ # The structure containing configurations related to insights.
449
+ #
450
+ # * The InsightsEnabled boolean can be set to true to enable insights
451
+ # for the new group or false to disable insights for the new group.
452
+ #
453
+ # * The NotificationsEnabled boolean can be set to true to enable
454
+ # insights notifications for the new group. Notifications may only be
455
+ # enabled on a group with InsightsEnabled set to true.
456
+ #
457
+ # @option params [Array<Types::Tag>] :tags
458
+ # A map that contains one or more tag keys and tag values to attach to
459
+ # an X-Ray group. For more information about ways to use tags, see
460
+ # [Tagging Amazon Web Services resources][1] in the *Amazon Web Services
461
+ # General Reference*.
462
+ #
463
+ # The following restrictions apply to tags:
464
+ #
465
+ # * Maximum number of user-applied tags per resource: 50
466
+ #
467
+ # * Maximum tag key length: 128 Unicode characters
468
+ #
469
+ # * Maximum tag value length: 256 Unicode characters
470
+ #
471
+ # * Valid values for key and value: a-z, A-Z, 0-9, space, and the
472
+ # following characters: \_ . : / = + - and @
473
+ #
474
+ # * Tag keys and values are case sensitive.
475
+ #
476
+ # * Don't use `aws:` as a prefix for keys; it's reserved for Amazon
477
+ # Web Services use.
478
+ #
479
+ #
480
+ #
481
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
482
+ #
483
+ # @return [Types::CreateGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
484
+ #
485
+ # * {Types::CreateGroupResult#group #group} => Types::Group
486
+ #
487
+ # @example Request syntax with placeholder values
488
+ #
489
+ # resp = client.create_group({
490
+ # group_name: "GroupName", # required
491
+ # filter_expression: "FilterExpression",
492
+ # insights_configuration: {
493
+ # insights_enabled: false,
494
+ # notifications_enabled: false,
495
+ # },
496
+ # tags: [
497
+ # {
498
+ # key: "TagKey", # required
499
+ # value: "TagValue", # required
500
+ # },
501
+ # ],
502
+ # })
503
+ #
504
+ # @example Response structure
505
+ #
506
+ # resp.group.group_name #=> String
507
+ # resp.group.group_arn #=> String
508
+ # resp.group.filter_expression #=> String
509
+ # resp.group.insights_configuration.insights_enabled #=> Boolean
510
+ # resp.group.insights_configuration.notifications_enabled #=> Boolean
511
+ #
512
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/CreateGroup AWS API Documentation
513
+ #
514
+ # @overload create_group(params = {})
515
+ # @param [Hash] params ({})
516
+ def create_group(params = {}, options = {})
517
+ req = build_request(:create_group, params)
518
+ req.send_request(options)
519
+ end
520
+
203
521
  # Creates a rule to control sampling behavior for instrumented
204
- # applications. Services retrieve rules with GetSamplingRules, and
522
+ # applications. Services retrieve rules with [GetSamplingRules][1], and
205
523
  # evaluate each rule in ascending order of *priority* for each request.
206
524
  # If a rule matches, the service records a trace, borrowing it from the
207
525
  # reservoir size. After 10 seconds, the service reports back to X-Ray
208
- # with GetSamplingTargets to get updated versions of each in-use rule.
209
- # The updated rule contains a trace quota that the service can use
526
+ # with [GetSamplingTargets][2] to get updated versions of each in-use
527
+ # rule. The updated rule contains a trace quota that the service can use
210
528
  # instead of borrowing from the reservoir.
211
529
  #
530
+ #
531
+ #
532
+ # [1]: https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingRules.html
533
+ # [2]: https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingTargets.html
534
+ #
212
535
  # @option params [required, Types::SamplingRule] :sampling_rule
213
536
  # The rule definition.
214
537
  #
538
+ # @option params [Array<Types::Tag>] :tags
539
+ # A map that contains one or more tag keys and tag values to attach to
540
+ # an X-Ray sampling rule. For more information about ways to use tags,
541
+ # see [Tagging Amazon Web Services resources][1] in the *Amazon Web
542
+ # Services General Reference*.
543
+ #
544
+ # The following restrictions apply to tags:
545
+ #
546
+ # * Maximum number of user-applied tags per resource: 50
547
+ #
548
+ # * Maximum tag key length: 128 Unicode characters
549
+ #
550
+ # * Maximum tag value length: 256 Unicode characters
551
+ #
552
+ # * Valid values for key and value: a-z, A-Z, 0-9, space, and the
553
+ # following characters: \_ . : / = + - and @
554
+ #
555
+ # * Tag keys and values are case sensitive.
556
+ #
557
+ # * Don't use `aws:` as a prefix for keys; it's reserved for Amazon
558
+ # Web Services use.
559
+ #
560
+ #
561
+ #
562
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
563
+ #
215
564
  # @return [Types::CreateSamplingRuleResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
216
565
  #
217
566
  # * {Types::CreateSamplingRuleResult#sampling_rule_record #sampling_rule_record} => Types::SamplingRuleRecord
@@ -236,6 +585,12 @@ module Aws::XRay
236
585
  # "AttributeKey" => "AttributeValue",
237
586
  # },
238
587
  # },
588
+ # tags: [
589
+ # {
590
+ # key: "TagKey", # required
591
+ # value: "TagValue", # required
592
+ # },
593
+ # ],
239
594
  # })
240
595
  #
241
596
  # @example Response structure
@@ -266,6 +621,61 @@ module Aws::XRay
266
621
  req.send_request(options)
267
622
  end
268
623
 
624
+ # Deletes a group resource.
625
+ #
626
+ # @option params [String] :group_name
627
+ # The case-sensitive name of the group.
628
+ #
629
+ # @option params [String] :group_arn
630
+ # The ARN of the group that was generated on creation.
631
+ #
632
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
633
+ #
634
+ # @example Request syntax with placeholder values
635
+ #
636
+ # resp = client.delete_group({
637
+ # group_name: "GroupName",
638
+ # group_arn: "GroupARN",
639
+ # })
640
+ #
641
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/DeleteGroup AWS API Documentation
642
+ #
643
+ # @overload delete_group(params = {})
644
+ # @param [Hash] params ({})
645
+ def delete_group(params = {}, options = {})
646
+ req = build_request(:delete_group, params)
647
+ req.send_request(options)
648
+ end
649
+
650
+ # Deletes a resource policy from the target Amazon Web Services account.
651
+ #
652
+ # @option params [required, String] :policy_name
653
+ # The name of the resource policy to delete.
654
+ #
655
+ # @option params [String] :policy_revision_id
656
+ # Specifies a specific policy revision to delete. Provide a
657
+ # `PolicyRevisionId` to ensure an atomic delete operation. If the
658
+ # provided revision id does not match the latest policy revision id, an
659
+ # `InvalidPolicyRevisionIdException` exception is returned.
660
+ #
661
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
662
+ #
663
+ # @example Request syntax with placeholder values
664
+ #
665
+ # resp = client.delete_resource_policy({
666
+ # policy_name: "PolicyName", # required
667
+ # policy_revision_id: "PolicyRevisionId",
668
+ # })
669
+ #
670
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/DeleteResourcePolicy AWS API Documentation
671
+ #
672
+ # @overload delete_resource_policy(params = {})
673
+ # @param [Hash] params ({})
674
+ def delete_resource_policy(params = {}, options = {})
675
+ req = build_request(:delete_resource_policy, params)
676
+ req.send_request(options)
677
+ end
678
+
269
679
  # Deletes a sampling rule.
270
680
  #
271
681
  # @option params [String] :rule_name
@@ -336,16 +746,362 @@ module Aws::XRay
336
746
  req.send_request(options)
337
747
  end
338
748
 
749
+ # Retrieves group resource details.
750
+ #
751
+ # @option params [String] :group_name
752
+ # The case-sensitive name of the group.
753
+ #
754
+ # @option params [String] :group_arn
755
+ # The ARN of the group that was generated on creation.
756
+ #
757
+ # @return [Types::GetGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
758
+ #
759
+ # * {Types::GetGroupResult#group #group} => Types::Group
760
+ #
761
+ # @example Request syntax with placeholder values
762
+ #
763
+ # resp = client.get_group({
764
+ # group_name: "GroupName",
765
+ # group_arn: "GroupARN",
766
+ # })
767
+ #
768
+ # @example Response structure
769
+ #
770
+ # resp.group.group_name #=> String
771
+ # resp.group.group_arn #=> String
772
+ # resp.group.filter_expression #=> String
773
+ # resp.group.insights_configuration.insights_enabled #=> Boolean
774
+ # resp.group.insights_configuration.notifications_enabled #=> Boolean
775
+ #
776
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetGroup AWS API Documentation
777
+ #
778
+ # @overload get_group(params = {})
779
+ # @param [Hash] params ({})
780
+ def get_group(params = {}, options = {})
781
+ req = build_request(:get_group, params)
782
+ req.send_request(options)
783
+ end
784
+
785
+ # Retrieves all active group details.
786
+ #
787
+ # @option params [String] :next_token
788
+ # Pagination token.
789
+ #
790
+ # @return [Types::GetGroupsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
791
+ #
792
+ # * {Types::GetGroupsResult#groups #groups} => Array&lt;Types::GroupSummary&gt;
793
+ # * {Types::GetGroupsResult#next_token #next_token} => String
794
+ #
795
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
796
+ #
797
+ # @example Request syntax with placeholder values
798
+ #
799
+ # resp = client.get_groups({
800
+ # next_token: "GetGroupsNextToken",
801
+ # })
802
+ #
803
+ # @example Response structure
804
+ #
805
+ # resp.groups #=> Array
806
+ # resp.groups[0].group_name #=> String
807
+ # resp.groups[0].group_arn #=> String
808
+ # resp.groups[0].filter_expression #=> String
809
+ # resp.groups[0].insights_configuration.insights_enabled #=> Boolean
810
+ # resp.groups[0].insights_configuration.notifications_enabled #=> Boolean
811
+ # resp.next_token #=> String
812
+ #
813
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetGroups AWS API Documentation
814
+ #
815
+ # @overload get_groups(params = {})
816
+ # @param [Hash] params ({})
817
+ def get_groups(params = {}, options = {})
818
+ req = build_request(:get_groups, params)
819
+ req.send_request(options)
820
+ end
821
+
822
+ # Retrieves the summary information of an insight. This includes impact
823
+ # to clients and root cause services, the top anomalous services, the
824
+ # category, the state of the insight, and the start and end time of the
825
+ # insight.
826
+ #
827
+ # @option params [required, String] :insight_id
828
+ # The insight's unique identifier. Use the GetInsightSummaries action
829
+ # to retrieve an InsightId.
830
+ #
831
+ # @return [Types::GetInsightResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
832
+ #
833
+ # * {Types::GetInsightResult#insight #insight} => Types::Insight
834
+ #
835
+ # @example Request syntax with placeholder values
836
+ #
837
+ # resp = client.get_insight({
838
+ # insight_id: "InsightId", # required
839
+ # })
840
+ #
841
+ # @example Response structure
842
+ #
843
+ # resp.insight.insight_id #=> String
844
+ # resp.insight.group_arn #=> String
845
+ # resp.insight.group_name #=> String
846
+ # resp.insight.root_cause_service_id.name #=> String
847
+ # resp.insight.root_cause_service_id.names #=> Array
848
+ # resp.insight.root_cause_service_id.names[0] #=> String
849
+ # resp.insight.root_cause_service_id.account_id #=> String
850
+ # resp.insight.root_cause_service_id.type #=> String
851
+ # resp.insight.categories #=> Array
852
+ # resp.insight.categories[0] #=> String, one of "FAULT"
853
+ # resp.insight.state #=> String, one of "ACTIVE", "CLOSED"
854
+ # resp.insight.start_time #=> Time
855
+ # resp.insight.end_time #=> Time
856
+ # resp.insight.summary #=> String
857
+ # resp.insight.client_request_impact_statistics.fault_count #=> Integer
858
+ # resp.insight.client_request_impact_statistics.ok_count #=> Integer
859
+ # resp.insight.client_request_impact_statistics.total_count #=> Integer
860
+ # resp.insight.root_cause_service_request_impact_statistics.fault_count #=> Integer
861
+ # resp.insight.root_cause_service_request_impact_statistics.ok_count #=> Integer
862
+ # resp.insight.root_cause_service_request_impact_statistics.total_count #=> Integer
863
+ # resp.insight.top_anomalous_services #=> Array
864
+ # resp.insight.top_anomalous_services[0].service_id.name #=> String
865
+ # resp.insight.top_anomalous_services[0].service_id.names #=> Array
866
+ # resp.insight.top_anomalous_services[0].service_id.names[0] #=> String
867
+ # resp.insight.top_anomalous_services[0].service_id.account_id #=> String
868
+ # resp.insight.top_anomalous_services[0].service_id.type #=> String
869
+ #
870
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsight AWS API Documentation
871
+ #
872
+ # @overload get_insight(params = {})
873
+ # @param [Hash] params ({})
874
+ def get_insight(params = {}, options = {})
875
+ req = build_request(:get_insight, params)
876
+ req.send_request(options)
877
+ end
878
+
879
+ # X-Ray reevaluates insights periodically until they're resolved, and
880
+ # records each intermediate state as an event. You can review an
881
+ # insight's events in the Impact Timeline on the Inspect page in the
882
+ # X-Ray console.
883
+ #
884
+ # @option params [required, String] :insight_id
885
+ # The insight's unique identifier. Use the GetInsightSummaries action
886
+ # to retrieve an InsightId.
887
+ #
888
+ # @option params [Integer] :max_results
889
+ # Used to retrieve at most the specified value of events.
890
+ #
891
+ # @option params [String] :next_token
892
+ # Specify the pagination token returned by a previous request to
893
+ # retrieve the next page of events.
894
+ #
895
+ # @return [Types::GetInsightEventsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
896
+ #
897
+ # * {Types::GetInsightEventsResult#insight_events #insight_events} => Array&lt;Types::InsightEvent&gt;
898
+ # * {Types::GetInsightEventsResult#next_token #next_token} => String
899
+ #
900
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
901
+ #
902
+ # @example Request syntax with placeholder values
903
+ #
904
+ # resp = client.get_insight_events({
905
+ # insight_id: "InsightId", # required
906
+ # max_results: 1,
907
+ # next_token: "Token",
908
+ # })
909
+ #
910
+ # @example Response structure
911
+ #
912
+ # resp.insight_events #=> Array
913
+ # resp.insight_events[0].summary #=> String
914
+ # resp.insight_events[0].event_time #=> Time
915
+ # resp.insight_events[0].client_request_impact_statistics.fault_count #=> Integer
916
+ # resp.insight_events[0].client_request_impact_statistics.ok_count #=> Integer
917
+ # resp.insight_events[0].client_request_impact_statistics.total_count #=> Integer
918
+ # resp.insight_events[0].root_cause_service_request_impact_statistics.fault_count #=> Integer
919
+ # resp.insight_events[0].root_cause_service_request_impact_statistics.ok_count #=> Integer
920
+ # resp.insight_events[0].root_cause_service_request_impact_statistics.total_count #=> Integer
921
+ # resp.insight_events[0].top_anomalous_services #=> Array
922
+ # resp.insight_events[0].top_anomalous_services[0].service_id.name #=> String
923
+ # resp.insight_events[0].top_anomalous_services[0].service_id.names #=> Array
924
+ # resp.insight_events[0].top_anomalous_services[0].service_id.names[0] #=> String
925
+ # resp.insight_events[0].top_anomalous_services[0].service_id.account_id #=> String
926
+ # resp.insight_events[0].top_anomalous_services[0].service_id.type #=> String
927
+ # resp.next_token #=> String
928
+ #
929
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightEvents AWS API Documentation
930
+ #
931
+ # @overload get_insight_events(params = {})
932
+ # @param [Hash] params ({})
933
+ def get_insight_events(params = {}, options = {})
934
+ req = build_request(:get_insight_events, params)
935
+ req.send_request(options)
936
+ end
937
+
938
+ # Retrieves a service graph structure filtered by the specified insight.
939
+ # The service graph is limited to only structural information. For a
940
+ # complete service graph, use this API with the GetServiceGraph API.
941
+ #
942
+ # @option params [required, String] :insight_id
943
+ # The insight's unique identifier. Use the GetInsightSummaries action
944
+ # to retrieve an InsightId.
945
+ #
946
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
947
+ # The estimated start time of the insight, in Unix time seconds. The
948
+ # StartTime is inclusive of the value provided and can't be more than
949
+ # 30 days old.
950
+ #
951
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
952
+ # The estimated end time of the insight, in Unix time seconds. The
953
+ # EndTime is exclusive of the value provided. The time range between the
954
+ # start time and end time can't be more than six hours.
955
+ #
956
+ # @option params [String] :next_token
957
+ # Specify the pagination token returned by a previous request to
958
+ # retrieve the next page of results.
959
+ #
960
+ # @return [Types::GetInsightImpactGraphResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
961
+ #
962
+ # * {Types::GetInsightImpactGraphResult#insight_id #insight_id} => String
963
+ # * {Types::GetInsightImpactGraphResult#start_time #start_time} => Time
964
+ # * {Types::GetInsightImpactGraphResult#end_time #end_time} => Time
965
+ # * {Types::GetInsightImpactGraphResult#service_graph_start_time #service_graph_start_time} => Time
966
+ # * {Types::GetInsightImpactGraphResult#service_graph_end_time #service_graph_end_time} => Time
967
+ # * {Types::GetInsightImpactGraphResult#services #services} => Array&lt;Types::InsightImpactGraphService&gt;
968
+ # * {Types::GetInsightImpactGraphResult#next_token #next_token} => String
969
+ #
970
+ # @example Request syntax with placeholder values
971
+ #
972
+ # resp = client.get_insight_impact_graph({
973
+ # insight_id: "InsightId", # required
974
+ # start_time: Time.now, # required
975
+ # end_time: Time.now, # required
976
+ # next_token: "Token",
977
+ # })
978
+ #
979
+ # @example Response structure
980
+ #
981
+ # resp.insight_id #=> String
982
+ # resp.start_time #=> Time
983
+ # resp.end_time #=> Time
984
+ # resp.service_graph_start_time #=> Time
985
+ # resp.service_graph_end_time #=> Time
986
+ # resp.services #=> Array
987
+ # resp.services[0].reference_id #=> Integer
988
+ # resp.services[0].type #=> String
989
+ # resp.services[0].name #=> String
990
+ # resp.services[0].names #=> Array
991
+ # resp.services[0].names[0] #=> String
992
+ # resp.services[0].account_id #=> String
993
+ # resp.services[0].edges #=> Array
994
+ # resp.services[0].edges[0].reference_id #=> Integer
995
+ # resp.next_token #=> String
996
+ #
997
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightImpactGraph AWS API Documentation
998
+ #
999
+ # @overload get_insight_impact_graph(params = {})
1000
+ # @param [Hash] params ({})
1001
+ def get_insight_impact_graph(params = {}, options = {})
1002
+ req = build_request(:get_insight_impact_graph, params)
1003
+ req.send_request(options)
1004
+ end
1005
+
1006
+ # Retrieves the summaries of all insights in the specified group
1007
+ # matching the provided filter values.
1008
+ #
1009
+ # @option params [Array<String>] :states
1010
+ # The list of insight states.
1011
+ #
1012
+ # @option params [String] :group_arn
1013
+ # The Amazon Resource Name (ARN) of the group. Required if the GroupName
1014
+ # isn't provided.
1015
+ #
1016
+ # @option params [String] :group_name
1017
+ # The name of the group. Required if the GroupARN isn't provided.
1018
+ #
1019
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
1020
+ # The beginning of the time frame in which the insights started. The
1021
+ # start time can't be more than 30 days old.
1022
+ #
1023
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
1024
+ # The end of the time frame in which the insights ended. The end time
1025
+ # can't be more than 30 days old.
1026
+ #
1027
+ # @option params [Integer] :max_results
1028
+ # The maximum number of results to display.
1029
+ #
1030
+ # @option params [String] :next_token
1031
+ # Pagination token.
1032
+ #
1033
+ # @return [Types::GetInsightSummariesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1034
+ #
1035
+ # * {Types::GetInsightSummariesResult#insight_summaries #insight_summaries} => Array&lt;Types::InsightSummary&gt;
1036
+ # * {Types::GetInsightSummariesResult#next_token #next_token} => String
1037
+ #
1038
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1039
+ #
1040
+ # @example Request syntax with placeholder values
1041
+ #
1042
+ # resp = client.get_insight_summaries({
1043
+ # states: ["ACTIVE"], # accepts ACTIVE, CLOSED
1044
+ # group_arn: "GroupARN",
1045
+ # group_name: "GroupName",
1046
+ # start_time: Time.now, # required
1047
+ # end_time: Time.now, # required
1048
+ # max_results: 1,
1049
+ # next_token: "Token",
1050
+ # })
1051
+ #
1052
+ # @example Response structure
1053
+ #
1054
+ # resp.insight_summaries #=> Array
1055
+ # resp.insight_summaries[0].insight_id #=> String
1056
+ # resp.insight_summaries[0].group_arn #=> String
1057
+ # resp.insight_summaries[0].group_name #=> String
1058
+ # resp.insight_summaries[0].root_cause_service_id.name #=> String
1059
+ # resp.insight_summaries[0].root_cause_service_id.names #=> Array
1060
+ # resp.insight_summaries[0].root_cause_service_id.names[0] #=> String
1061
+ # resp.insight_summaries[0].root_cause_service_id.account_id #=> String
1062
+ # resp.insight_summaries[0].root_cause_service_id.type #=> String
1063
+ # resp.insight_summaries[0].categories #=> Array
1064
+ # resp.insight_summaries[0].categories[0] #=> String, one of "FAULT"
1065
+ # resp.insight_summaries[0].state #=> String, one of "ACTIVE", "CLOSED"
1066
+ # resp.insight_summaries[0].start_time #=> Time
1067
+ # resp.insight_summaries[0].end_time #=> Time
1068
+ # resp.insight_summaries[0].summary #=> String
1069
+ # resp.insight_summaries[0].client_request_impact_statistics.fault_count #=> Integer
1070
+ # resp.insight_summaries[0].client_request_impact_statistics.ok_count #=> Integer
1071
+ # resp.insight_summaries[0].client_request_impact_statistics.total_count #=> Integer
1072
+ # resp.insight_summaries[0].root_cause_service_request_impact_statistics.fault_count #=> Integer
1073
+ # resp.insight_summaries[0].root_cause_service_request_impact_statistics.ok_count #=> Integer
1074
+ # resp.insight_summaries[0].root_cause_service_request_impact_statistics.total_count #=> Integer
1075
+ # resp.insight_summaries[0].top_anomalous_services #=> Array
1076
+ # resp.insight_summaries[0].top_anomalous_services[0].service_id.name #=> String
1077
+ # resp.insight_summaries[0].top_anomalous_services[0].service_id.names #=> Array
1078
+ # resp.insight_summaries[0].top_anomalous_services[0].service_id.names[0] #=> String
1079
+ # resp.insight_summaries[0].top_anomalous_services[0].service_id.account_id #=> String
1080
+ # resp.insight_summaries[0].top_anomalous_services[0].service_id.type #=> String
1081
+ # resp.insight_summaries[0].last_update_time #=> Time
1082
+ # resp.next_token #=> String
1083
+ #
1084
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightSummaries AWS API Documentation
1085
+ #
1086
+ # @overload get_insight_summaries(params = {})
1087
+ # @param [Hash] params ({})
1088
+ def get_insight_summaries(params = {}, options = {})
1089
+ req = build_request(:get_insight_summaries, params)
1090
+ req.send_request(options)
1091
+ end
1092
+
339
1093
  # Retrieves all sampling rules.
340
1094
  #
341
1095
  # @option params [String] :next_token
342
- # Pagination token. Not used.
1096
+ # Pagination token.
343
1097
  #
344
1098
  # @return [Types::GetSamplingRulesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
345
1099
  #
346
1100
  # * {Types::GetSamplingRulesResult#sampling_rule_records #sampling_rule_records} => Array&lt;Types::SamplingRuleRecord&gt;
347
1101
  # * {Types::GetSamplingRulesResult#next_token #next_token} => String
348
1102
  #
1103
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1104
+ #
349
1105
  # @example Request syntax with placeholder values
350
1106
  #
351
1107
  # resp = client.get_sampling_rules({
@@ -386,13 +1142,15 @@ module Aws::XRay
386
1142
  # rules.
387
1143
  #
388
1144
  # @option params [String] :next_token
389
- # Pagination token. Not used.
1145
+ # Pagination token.
390
1146
  #
391
1147
  # @return [Types::GetSamplingStatisticSummariesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
392
1148
  #
393
1149
  # * {Types::GetSamplingStatisticSummariesResult#sampling_statistic_summaries #sampling_statistic_summaries} => Array&lt;Types::SamplingStatisticSummary&gt;
394
1150
  # * {Types::GetSamplingStatisticSummariesResult#next_token #next_token} => String
395
1151
  #
1152
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1153
+ #
396
1154
  # @example Request syntax with placeholder values
397
1155
  #
398
1156
  # resp = client.get_sampling_statistic_summaries({
@@ -471,31 +1229,47 @@ module Aws::XRay
471
1229
  # Retrieves a document that describes services that process incoming
472
1230
  # requests, and downstream services that they call as a result. Root
473
1231
  # services process incoming requests and make calls to downstream
474
- # services. Root services are applications that use the AWS X-Ray SDK.
475
- # Downstream services can be other applications, AWS resources, HTTP web
476
- # APIs, or SQL databases.
1232
+ # services. Root services are applications that use the [Amazon Web
1233
+ # Services X-Ray SDK][1]. Downstream services can be other applications,
1234
+ # Amazon Web Services resources, HTTP web APIs, or SQL databases.
1235
+ #
1236
+ #
1237
+ #
1238
+ # [1]: https://docs.aws.amazon.com/xray/index.html
477
1239
  #
478
1240
  # @option params [required, Time,DateTime,Date,Integer,String] :start_time
479
1241
  # The start of the time frame for which to generate a graph.
480
1242
  #
481
1243
  # @option params [required, Time,DateTime,Date,Integer,String] :end_time
482
- # The end of the time frame for which to generate a graph.
1244
+ # The end of the timeframe for which to generate a graph.
1245
+ #
1246
+ # @option params [String] :group_name
1247
+ # The name of a group based on which you want to generate a graph.
1248
+ #
1249
+ # @option params [String] :group_arn
1250
+ # The Amazon Resource Name (ARN) of a group based on which you want to
1251
+ # generate a graph.
483
1252
  #
484
1253
  # @option params [String] :next_token
485
- # Pagination token. Not used.
1254
+ # Pagination token.
486
1255
  #
487
1256
  # @return [Types::GetServiceGraphResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
488
1257
  #
489
1258
  # * {Types::GetServiceGraphResult#start_time #start_time} => Time
490
1259
  # * {Types::GetServiceGraphResult#end_time #end_time} => Time
491
1260
  # * {Types::GetServiceGraphResult#services #services} => Array&lt;Types::Service&gt;
1261
+ # * {Types::GetServiceGraphResult#contains_old_group_versions #contains_old_group_versions} => Boolean
492
1262
  # * {Types::GetServiceGraphResult#next_token #next_token} => String
493
1263
  #
1264
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1265
+ #
494
1266
  # @example Request syntax with placeholder values
495
1267
  #
496
1268
  # resp = client.get_service_graph({
497
1269
  # start_time: Time.now, # required
498
1270
  # end_time: Time.now, # required
1271
+ # group_name: "GroupName",
1272
+ # group_arn: "GroupARN",
499
1273
  # next_token: "String",
500
1274
  # })
501
1275
  #
@@ -534,6 +1308,10 @@ module Aws::XRay
534
1308
  # resp.services[0].edges[0].aliases[0].names #=> Array
535
1309
  # resp.services[0].edges[0].aliases[0].names[0] #=> String
536
1310
  # resp.services[0].edges[0].aliases[0].type #=> String
1311
+ # resp.services[0].edges[0].edge_type #=> String
1312
+ # resp.services[0].edges[0].received_event_age_histogram #=> Array
1313
+ # resp.services[0].edges[0].received_event_age_histogram[0].value #=> Float
1314
+ # resp.services[0].edges[0].received_event_age_histogram[0].count #=> Integer
537
1315
  # resp.services[0].summary_statistics.ok_count #=> Integer
538
1316
  # resp.services[0].summary_statistics.error_statistics.throttle_count #=> Integer
539
1317
  # resp.services[0].summary_statistics.error_statistics.other_count #=> Integer
@@ -548,6 +1326,7 @@ module Aws::XRay
548
1326
  # resp.services[0].response_time_histogram #=> Array
549
1327
  # resp.services[0].response_time_histogram[0].value #=> Float
550
1328
  # resp.services[0].response_time_histogram[0].count #=> Integer
1329
+ # resp.contains_old_group_versions #=> Boolean
551
1330
  # resp.next_token #=> String
552
1331
  #
553
1332
  # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetServiceGraph AWS API Documentation
@@ -559,19 +1338,111 @@ module Aws::XRay
559
1338
  req.send_request(options)
560
1339
  end
561
1340
 
1341
+ # Get an aggregation of service statistics defined by a specific time
1342
+ # range.
1343
+ #
1344
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
1345
+ # The start of the time frame for which to aggregate statistics.
1346
+ #
1347
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
1348
+ # The end of the time frame for which to aggregate statistics.
1349
+ #
1350
+ # @option params [String] :group_name
1351
+ # The case-sensitive name of the group for which to pull statistics
1352
+ # from.
1353
+ #
1354
+ # @option params [String] :group_arn
1355
+ # The Amazon Resource Name (ARN) of the group for which to pull
1356
+ # statistics from.
1357
+ #
1358
+ # @option params [String] :entity_selector_expression
1359
+ # A filter expression defining entities that will be aggregated for
1360
+ # statistics. Supports ID, service, and edge functions. If no selector
1361
+ # expression is specified, edge statistics are returned.
1362
+ #
1363
+ # @option params [Integer] :period
1364
+ # Aggregation period in seconds.
1365
+ #
1366
+ # @option params [Boolean] :forecast_statistics
1367
+ # The forecasted high and low fault count values. Forecast enabled
1368
+ # requests require the EntitySelectorExpression ID be provided.
1369
+ #
1370
+ # @option params [String] :next_token
1371
+ # Pagination token.
1372
+ #
1373
+ # @return [Types::GetTimeSeriesServiceStatisticsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1374
+ #
1375
+ # * {Types::GetTimeSeriesServiceStatisticsResult#time_series_service_statistics #time_series_service_statistics} => Array&lt;Types::TimeSeriesServiceStatistics&gt;
1376
+ # * {Types::GetTimeSeriesServiceStatisticsResult#contains_old_group_versions #contains_old_group_versions} => Boolean
1377
+ # * {Types::GetTimeSeriesServiceStatisticsResult#next_token #next_token} => String
1378
+ #
1379
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1380
+ #
1381
+ # @example Request syntax with placeholder values
1382
+ #
1383
+ # resp = client.get_time_series_service_statistics({
1384
+ # start_time: Time.now, # required
1385
+ # end_time: Time.now, # required
1386
+ # group_name: "GroupName",
1387
+ # group_arn: "GroupARN",
1388
+ # entity_selector_expression: "EntitySelectorExpression",
1389
+ # period: 1,
1390
+ # forecast_statistics: false,
1391
+ # next_token: "String",
1392
+ # })
1393
+ #
1394
+ # @example Response structure
1395
+ #
1396
+ # resp.time_series_service_statistics #=> Array
1397
+ # resp.time_series_service_statistics[0].timestamp #=> Time
1398
+ # resp.time_series_service_statistics[0].edge_summary_statistics.ok_count #=> Integer
1399
+ # resp.time_series_service_statistics[0].edge_summary_statistics.error_statistics.throttle_count #=> Integer
1400
+ # resp.time_series_service_statistics[0].edge_summary_statistics.error_statistics.other_count #=> Integer
1401
+ # resp.time_series_service_statistics[0].edge_summary_statistics.error_statistics.total_count #=> Integer
1402
+ # resp.time_series_service_statistics[0].edge_summary_statistics.fault_statistics.other_count #=> Integer
1403
+ # resp.time_series_service_statistics[0].edge_summary_statistics.fault_statistics.total_count #=> Integer
1404
+ # resp.time_series_service_statistics[0].edge_summary_statistics.total_count #=> Integer
1405
+ # resp.time_series_service_statistics[0].edge_summary_statistics.total_response_time #=> Float
1406
+ # resp.time_series_service_statistics[0].service_summary_statistics.ok_count #=> Integer
1407
+ # resp.time_series_service_statistics[0].service_summary_statistics.error_statistics.throttle_count #=> Integer
1408
+ # resp.time_series_service_statistics[0].service_summary_statistics.error_statistics.other_count #=> Integer
1409
+ # resp.time_series_service_statistics[0].service_summary_statistics.error_statistics.total_count #=> Integer
1410
+ # resp.time_series_service_statistics[0].service_summary_statistics.fault_statistics.other_count #=> Integer
1411
+ # resp.time_series_service_statistics[0].service_summary_statistics.fault_statistics.total_count #=> Integer
1412
+ # resp.time_series_service_statistics[0].service_summary_statistics.total_count #=> Integer
1413
+ # resp.time_series_service_statistics[0].service_summary_statistics.total_response_time #=> Float
1414
+ # resp.time_series_service_statistics[0].service_forecast_statistics.fault_count_high #=> Integer
1415
+ # resp.time_series_service_statistics[0].service_forecast_statistics.fault_count_low #=> Integer
1416
+ # resp.time_series_service_statistics[0].response_time_histogram #=> Array
1417
+ # resp.time_series_service_statistics[0].response_time_histogram[0].value #=> Float
1418
+ # resp.time_series_service_statistics[0].response_time_histogram[0].count #=> Integer
1419
+ # resp.contains_old_group_versions #=> Boolean
1420
+ # resp.next_token #=> String
1421
+ #
1422
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTimeSeriesServiceStatistics AWS API Documentation
1423
+ #
1424
+ # @overload get_time_series_service_statistics(params = {})
1425
+ # @param [Hash] params ({})
1426
+ def get_time_series_service_statistics(params = {}, options = {})
1427
+ req = build_request(:get_time_series_service_statistics, params)
1428
+ req.send_request(options)
1429
+ end
1430
+
562
1431
  # Retrieves a service graph for one or more specific trace IDs.
563
1432
  #
564
1433
  # @option params [required, Array<String>] :trace_ids
565
1434
  # Trace IDs of requests for which to generate a service graph.
566
1435
  #
567
1436
  # @option params [String] :next_token
568
- # Pagination token. Not used.
1437
+ # Pagination token.
569
1438
  #
570
1439
  # @return [Types::GetTraceGraphResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
571
1440
  #
572
1441
  # * {Types::GetTraceGraphResult#services #services} => Array&lt;Types::Service&gt;
573
1442
  # * {Types::GetTraceGraphResult#next_token #next_token} => String
574
1443
  #
1444
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1445
+ #
575
1446
  # @example Request syntax with placeholder values
576
1447
  #
577
1448
  # resp = client.get_trace_graph({
@@ -612,6 +1483,10 @@ module Aws::XRay
612
1483
  # resp.services[0].edges[0].aliases[0].names #=> Array
613
1484
  # resp.services[0].edges[0].aliases[0].names[0] #=> String
614
1485
  # resp.services[0].edges[0].aliases[0].type #=> String
1486
+ # resp.services[0].edges[0].edge_type #=> String
1487
+ # resp.services[0].edges[0].received_event_age_histogram #=> Array
1488
+ # resp.services[0].edges[0].received_event_age_histogram[0].value #=> Float
1489
+ # resp.services[0].edges[0].received_event_age_histogram[0].count #=> Integer
615
1490
  # resp.services[0].summary_statistics.ok_count #=> Integer
616
1491
  # resp.services[0].summary_statistics.error_statistics.throttle_count #=> Integer
617
1492
  # resp.services[0].summary_statistics.error_statistics.other_count #=> Integer
@@ -637,29 +1512,29 @@ module Aws::XRay
637
1512
  req.send_request(options)
638
1513
  end
639
1514
 
640
- # Retrieves IDs and metadata for traces available for a specified time
641
- # frame using an optional filter. To get the full traces, pass the trace
642
- # IDs to `BatchGetTraces`.
1515
+ # Retrieves IDs and annotations for traces available for a specified
1516
+ # time frame using an optional filter. To get the full traces, pass the
1517
+ # trace IDs to `BatchGetTraces`.
643
1518
  #
644
1519
  # A filter expression can target traced requests that hit specific
645
1520
  # service nodes or edges, have errors, or come from a known user. For
646
1521
  # example, the following filter expression targets traces that pass
647
- # through `api.example.com`\:
1522
+ # through `api.example.com`:
648
1523
  #
649
1524
  # `service("api.example.com")`
650
1525
  #
651
1526
  # This filter expression finds traces that have an annotation named
652
- # `account` with the value `12345`\:
1527
+ # `account` with the value `12345`:
653
1528
  #
654
1529
  # `annotation.account = "12345"`
655
1530
  #
656
1531
  # For a full list of indexed fields and keywords that you can use in
657
- # filter expressions, see [Using Filter Expressions][1] in the *AWS
658
- # X-Ray Developer Guide*.
1532
+ # filter expressions, see [Using Filter Expressions][1] in the *Amazon
1533
+ # Web Services X-Ray Developer Guide*.
659
1534
  #
660
1535
  #
661
1536
  #
662
- # [1]: http://docs.aws.amazon.com/xray/latest/devguide/xray-console-filters.html
1537
+ # [1]: https://docs.aws.amazon.com/xray/latest/devguide/xray-console-filters.html
663
1538
  #
664
1539
  # @option params [required, Time,DateTime,Date,Integer,String] :start_time
665
1540
  # The start of the time frame for which to retrieve traces.
@@ -667,9 +1542,17 @@ module Aws::XRay
667
1542
  # @option params [required, Time,DateTime,Date,Integer,String] :end_time
668
1543
  # The end of the time frame for which to retrieve traces.
669
1544
  #
1545
+ # @option params [String] :time_range_type
1546
+ # A parameter to indicate whether to query trace summaries by TraceId,
1547
+ # Event (trace update time), or Service (segment end time).
1548
+ #
670
1549
  # @option params [Boolean] :sampling
671
1550
  # Set to `true` to get summaries for only a subset of available traces.
672
1551
  #
1552
+ # @option params [Types::SamplingStrategy] :sampling_strategy
1553
+ # A parameter to indicate whether to enable sampling on trace summaries.
1554
+ # Input parameters are Name and Value.
1555
+ #
673
1556
  # @option params [String] :filter_expression
674
1557
  # Specify a filter expression to retrieve trace summaries for services
675
1558
  # or requests that meet certain requirements.
@@ -685,12 +1568,19 @@ module Aws::XRay
685
1568
  # * {Types::GetTraceSummariesResult#traces_processed_count #traces_processed_count} => Integer
686
1569
  # * {Types::GetTraceSummariesResult#next_token #next_token} => String
687
1570
  #
1571
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1572
+ #
688
1573
  # @example Request syntax with placeholder values
689
1574
  #
690
1575
  # resp = client.get_trace_summaries({
691
1576
  # start_time: Time.now, # required
692
1577
  # end_time: Time.now, # required
1578
+ # time_range_type: "TraceId", # accepts TraceId, Event, Service
693
1579
  # sampling: false,
1580
+ # sampling_strategy: {
1581
+ # name: "PartialScan", # accepts PartialScan, FixedRate
1582
+ # value: 1.0,
1583
+ # },
694
1584
  # filter_expression: "FilterExpression",
695
1585
  # next_token: "String",
696
1586
  # })
@@ -699,6 +1589,7 @@ module Aws::XRay
699
1589
  #
700
1590
  # resp.trace_summaries #=> Array
701
1591
  # resp.trace_summaries[0].id #=> String
1592
+ # resp.trace_summaries[0].start_time #=> Time
702
1593
  # resp.trace_summaries[0].duration #=> Float
703
1594
  # resp.trace_summaries[0].response_time #=> Float
704
1595
  # resp.trace_summaries[0].has_fault #=> Boolean
@@ -735,6 +1626,62 @@ module Aws::XRay
735
1626
  # resp.trace_summaries[0].service_ids[0].names[0] #=> String
736
1627
  # resp.trace_summaries[0].service_ids[0].account_id #=> String
737
1628
  # resp.trace_summaries[0].service_ids[0].type #=> String
1629
+ # resp.trace_summaries[0].resource_arns #=> Array
1630
+ # resp.trace_summaries[0].resource_arns[0].arn #=> String
1631
+ # resp.trace_summaries[0].instance_ids #=> Array
1632
+ # resp.trace_summaries[0].instance_ids[0].id #=> String
1633
+ # resp.trace_summaries[0].availability_zones #=> Array
1634
+ # resp.trace_summaries[0].availability_zones[0].name #=> String
1635
+ # resp.trace_summaries[0].entry_point.name #=> String
1636
+ # resp.trace_summaries[0].entry_point.names #=> Array
1637
+ # resp.trace_summaries[0].entry_point.names[0] #=> String
1638
+ # resp.trace_summaries[0].entry_point.account_id #=> String
1639
+ # resp.trace_summaries[0].entry_point.type #=> String
1640
+ # resp.trace_summaries[0].fault_root_causes #=> Array
1641
+ # resp.trace_summaries[0].fault_root_causes[0].services #=> Array
1642
+ # resp.trace_summaries[0].fault_root_causes[0].services[0].name #=> String
1643
+ # resp.trace_summaries[0].fault_root_causes[0].services[0].names #=> Array
1644
+ # resp.trace_summaries[0].fault_root_causes[0].services[0].names[0] #=> String
1645
+ # resp.trace_summaries[0].fault_root_causes[0].services[0].type #=> String
1646
+ # resp.trace_summaries[0].fault_root_causes[0].services[0].account_id #=> String
1647
+ # resp.trace_summaries[0].fault_root_causes[0].services[0].entity_path #=> Array
1648
+ # resp.trace_summaries[0].fault_root_causes[0].services[0].entity_path[0].name #=> String
1649
+ # resp.trace_summaries[0].fault_root_causes[0].services[0].entity_path[0].exceptions #=> Array
1650
+ # resp.trace_summaries[0].fault_root_causes[0].services[0].entity_path[0].exceptions[0].name #=> String
1651
+ # resp.trace_summaries[0].fault_root_causes[0].services[0].entity_path[0].exceptions[0].message #=> String
1652
+ # resp.trace_summaries[0].fault_root_causes[0].services[0].entity_path[0].remote #=> Boolean
1653
+ # resp.trace_summaries[0].fault_root_causes[0].services[0].inferred #=> Boolean
1654
+ # resp.trace_summaries[0].fault_root_causes[0].client_impacting #=> Boolean
1655
+ # resp.trace_summaries[0].error_root_causes #=> Array
1656
+ # resp.trace_summaries[0].error_root_causes[0].services #=> Array
1657
+ # resp.trace_summaries[0].error_root_causes[0].services[0].name #=> String
1658
+ # resp.trace_summaries[0].error_root_causes[0].services[0].names #=> Array
1659
+ # resp.trace_summaries[0].error_root_causes[0].services[0].names[0] #=> String
1660
+ # resp.trace_summaries[0].error_root_causes[0].services[0].type #=> String
1661
+ # resp.trace_summaries[0].error_root_causes[0].services[0].account_id #=> String
1662
+ # resp.trace_summaries[0].error_root_causes[0].services[0].entity_path #=> Array
1663
+ # resp.trace_summaries[0].error_root_causes[0].services[0].entity_path[0].name #=> String
1664
+ # resp.trace_summaries[0].error_root_causes[0].services[0].entity_path[0].exceptions #=> Array
1665
+ # resp.trace_summaries[0].error_root_causes[0].services[0].entity_path[0].exceptions[0].name #=> String
1666
+ # resp.trace_summaries[0].error_root_causes[0].services[0].entity_path[0].exceptions[0].message #=> String
1667
+ # resp.trace_summaries[0].error_root_causes[0].services[0].entity_path[0].remote #=> Boolean
1668
+ # resp.trace_summaries[0].error_root_causes[0].services[0].inferred #=> Boolean
1669
+ # resp.trace_summaries[0].error_root_causes[0].client_impacting #=> Boolean
1670
+ # resp.trace_summaries[0].response_time_root_causes #=> Array
1671
+ # resp.trace_summaries[0].response_time_root_causes[0].services #=> Array
1672
+ # resp.trace_summaries[0].response_time_root_causes[0].services[0].name #=> String
1673
+ # resp.trace_summaries[0].response_time_root_causes[0].services[0].names #=> Array
1674
+ # resp.trace_summaries[0].response_time_root_causes[0].services[0].names[0] #=> String
1675
+ # resp.trace_summaries[0].response_time_root_causes[0].services[0].type #=> String
1676
+ # resp.trace_summaries[0].response_time_root_causes[0].services[0].account_id #=> String
1677
+ # resp.trace_summaries[0].response_time_root_causes[0].services[0].entity_path #=> Array
1678
+ # resp.trace_summaries[0].response_time_root_causes[0].services[0].entity_path[0].name #=> String
1679
+ # resp.trace_summaries[0].response_time_root_causes[0].services[0].entity_path[0].coverage #=> Float
1680
+ # resp.trace_summaries[0].response_time_root_causes[0].services[0].entity_path[0].remote #=> Boolean
1681
+ # resp.trace_summaries[0].response_time_root_causes[0].services[0].inferred #=> Boolean
1682
+ # resp.trace_summaries[0].response_time_root_causes[0].client_impacting #=> Boolean
1683
+ # resp.trace_summaries[0].revision #=> Integer
1684
+ # resp.trace_summaries[0].matched_event_time #=> Time
738
1685
  # resp.approximate_time #=> Time
739
1686
  # resp.traces_processed_count #=> Integer
740
1687
  # resp.next_token #=> String
@@ -748,15 +1695,94 @@ module Aws::XRay
748
1695
  req.send_request(options)
749
1696
  end
750
1697
 
1698
+ # Returns the list of resource policies in the target Amazon Web
1699
+ # Services account.
1700
+ #
1701
+ # @option params [String] :next_token
1702
+ # Not currently supported.
1703
+ #
1704
+ # @return [Types::ListResourcePoliciesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1705
+ #
1706
+ # * {Types::ListResourcePoliciesResult#resource_policies #resource_policies} => Array&lt;Types::ResourcePolicy&gt;
1707
+ # * {Types::ListResourcePoliciesResult#next_token #next_token} => String
1708
+ #
1709
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1710
+ #
1711
+ # @example Request syntax with placeholder values
1712
+ #
1713
+ # resp = client.list_resource_policies({
1714
+ # next_token: "ResourcePolicyNextToken",
1715
+ # })
1716
+ #
1717
+ # @example Response structure
1718
+ #
1719
+ # resp.resource_policies #=> Array
1720
+ # resp.resource_policies[0].policy_name #=> String
1721
+ # resp.resource_policies[0].policy_document #=> String
1722
+ # resp.resource_policies[0].policy_revision_id #=> String
1723
+ # resp.resource_policies[0].last_updated_time #=> Time
1724
+ # resp.next_token #=> String
1725
+ #
1726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ListResourcePolicies AWS API Documentation
1727
+ #
1728
+ # @overload list_resource_policies(params = {})
1729
+ # @param [Hash] params ({})
1730
+ def list_resource_policies(params = {}, options = {})
1731
+ req = build_request(:list_resource_policies, params)
1732
+ req.send_request(options)
1733
+ end
1734
+
1735
+ # Returns a list of tags that are applied to the specified Amazon Web
1736
+ # Services X-Ray group or sampling rule.
1737
+ #
1738
+ # @option params [required, String] :resource_arn
1739
+ # The Amazon Resource Number (ARN) of an X-Ray group or sampling rule.
1740
+ #
1741
+ # @option params [String] :next_token
1742
+ # A pagination token. If multiple pages of results are returned, use the
1743
+ # `NextToken` value returned with the current page of results as the
1744
+ # value of this parameter to get the next page of results.
1745
+ #
1746
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1747
+ #
1748
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1749
+ # * {Types::ListTagsForResourceResponse#next_token #next_token} => String
1750
+ #
1751
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1752
+ #
1753
+ # @example Request syntax with placeholder values
1754
+ #
1755
+ # resp = client.list_tags_for_resource({
1756
+ # resource_arn: "AmazonResourceName", # required
1757
+ # next_token: "String",
1758
+ # })
1759
+ #
1760
+ # @example Response structure
1761
+ #
1762
+ # resp.tags #=> Array
1763
+ # resp.tags[0].key #=> String
1764
+ # resp.tags[0].value #=> String
1765
+ # resp.next_token #=> String
1766
+ #
1767
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ListTagsForResource AWS API Documentation
1768
+ #
1769
+ # @overload list_tags_for_resource(params = {})
1770
+ # @param [Hash] params ({})
1771
+ def list_tags_for_resource(params = {}, options = {})
1772
+ req = build_request(:list_tags_for_resource, params)
1773
+ req.send_request(options)
1774
+ end
1775
+
751
1776
  # Updates the encryption configuration for X-Ray data.
752
1777
  #
753
1778
  # @option params [String] :key_id
754
- # An AWS KMS customer master key (CMK) in one of the following formats:
1779
+ # An Amazon Web Services KMS key in one of the following formats:
755
1780
  #
756
1781
  # * **Alias** - The name of the key. For example, `alias/MyKey`.
757
1782
  #
758
1783
  # * **Key ID** - The KMS key ID of the key. For example,
759
- # `ae4aa6d49-a4d8-9df9-a475-4ff6d7898456`.
1784
+ # `ae4aa6d49-a4d8-9df9-a475-4ff6d7898456`. Amazon Web Services X-Ray
1785
+ # does not support asymmetric KMS keys.
760
1786
  #
761
1787
  # * **ARN** - The full Amazon Resource Name of the key ID or alias. For
762
1788
  # example,
@@ -795,7 +1821,76 @@ module Aws::XRay
795
1821
  req.send_request(options)
796
1822
  end
797
1823
 
798
- # Used by the AWS X-Ray daemon to upload telemetry.
1824
+ # Sets the resource policy to grant one or more Amazon Web Services
1825
+ # services and accounts permissions to access X-Ray. Each resource
1826
+ # policy will be associated with a specific Amazon Web Services account.
1827
+ # Each Amazon Web Services account can have a maximum of 5 resource
1828
+ # policies, and each policy name must be unique within that account. The
1829
+ # maximum size of each resource policy is 5KB.
1830
+ #
1831
+ # @option params [required, String] :policy_name
1832
+ # The name of the resource policy. Must be unique within a specific
1833
+ # Amazon Web Services account.
1834
+ #
1835
+ # @option params [required, String] :policy_document
1836
+ # The resource policy document, which can be up to 5kb in size.
1837
+ #
1838
+ # @option params [String] :policy_revision_id
1839
+ # Specifies a specific policy revision, to ensure an atomic create
1840
+ # operation. By default the resource policy is created if it does not
1841
+ # exist, or updated with an incremented revision id. The revision id is
1842
+ # unique to each policy in the account.
1843
+ #
1844
+ # If the policy revision id does not match the latest revision id, the
1845
+ # operation will fail with an `InvalidPolicyRevisionIdException`
1846
+ # exception. You can also provide a `PolicyRevisionId` of 0. In this
1847
+ # case, the operation will fail with an
1848
+ # `InvalidPolicyRevisionIdException` exception if a resource policy with
1849
+ # the same name already exists.
1850
+ #
1851
+ # @option params [Boolean] :bypass_policy_lockout_check
1852
+ # A flag to indicate whether to bypass the resource policy lockout
1853
+ # safety check.
1854
+ #
1855
+ # Setting this value to true increases the risk that the policy becomes
1856
+ # unmanageable. Do not set this value to true indiscriminately.
1857
+ #
1858
+ # Use this parameter only when you include a policy in the request and
1859
+ # you intend to prevent the principal that is making the request from
1860
+ # making a subsequent `PutResourcePolicy` request.
1861
+ #
1862
+ # The default value is false.
1863
+ #
1864
+ # @return [Types::PutResourcePolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1865
+ #
1866
+ # * {Types::PutResourcePolicyResult#resource_policy #resource_policy} => Types::ResourcePolicy
1867
+ #
1868
+ # @example Request syntax with placeholder values
1869
+ #
1870
+ # resp = client.put_resource_policy({
1871
+ # policy_name: "PolicyName", # required
1872
+ # policy_document: "PolicyDocument", # required
1873
+ # policy_revision_id: "PolicyRevisionId",
1874
+ # bypass_policy_lockout_check: false,
1875
+ # })
1876
+ #
1877
+ # @example Response structure
1878
+ #
1879
+ # resp.resource_policy.policy_name #=> String
1880
+ # resp.resource_policy.policy_document #=> String
1881
+ # resp.resource_policy.policy_revision_id #=> String
1882
+ # resp.resource_policy.last_updated_time #=> Time
1883
+ #
1884
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutResourcePolicy AWS API Documentation
1885
+ #
1886
+ # @overload put_resource_policy(params = {})
1887
+ # @param [Hash] params ({})
1888
+ def put_resource_policy(params = {}, options = {})
1889
+ req = build_request(:put_resource_policy, params)
1890
+ req.send_request(options)
1891
+ end
1892
+
1893
+ # Used by the Amazon Web Services X-Ray daemon to upload telemetry.
799
1894
  #
800
1895
  # @option params [required, Array<Types::TelemetryRecord>] :telemetry_records
801
1896
  #
@@ -841,16 +1936,16 @@ module Aws::XRay
841
1936
  req.send_request(options)
842
1937
  end
843
1938
 
844
- # Uploads segment documents to AWS X-Ray. The X-Ray SDK generates
845
- # segment documents and sends them to the X-Ray daemon, which uploads
846
- # them in batches. A segment document can be a completed segment, an
847
- # in-progress segment, or an array of subsegments.
1939
+ # Uploads segment documents to Amazon Web Services X-Ray. The [X-Ray
1940
+ # SDK][1] generates segment documents and sends them to the X-Ray
1941
+ # daemon, which uploads them in batches. A segment document can be a
1942
+ # completed segment, an in-progress segment, or an array of subsegments.
848
1943
  #
849
1944
  # Segments must include the following fields. For the full segment
850
- # document schema, see [AWS X-Ray Segment Documents][1] in the *AWS
851
- # X-Ray Developer Guide*.
1945
+ # document schema, see [Amazon Web Services X-Ray Segment Documents][2]
1946
+ # in the *Amazon Web Services X-Ray Developer Guide*.
852
1947
  #
853
- # **Required Segment Document Fields**
1948
+ # **Required segment document fields**
854
1949
  #
855
1950
  # * `name` - The name of the service that handled the request.
856
1951
  #
@@ -870,17 +1965,17 @@ module Aws::XRay
870
1965
  #
871
1966
  # * `in_progress` - Set to `true` instead of specifying an `end_time` to
872
1967
  # record that a segment has been started, but is not complete. Send an
873
- # in progress segment when your application receives a request that
874
- # will take a long time to serve, to trace the fact that the request
875
- # was received. When the response is sent, send the complete segment
876
- # to overwrite the in-progress segment.
1968
+ # in-progress segment when your application receives a request that
1969
+ # will take a long time to serve, to trace that the request was
1970
+ # received. When the response is sent, send the complete segment to
1971
+ # overwrite the in-progress segment.
877
1972
  #
878
1973
  # A `trace_id` consists of three numbers separated by hyphens. For
879
1974
  # example, 1-58406520-a006649127e371903a2de979. This includes:
880
1975
  #
881
1976
  # **Trace ID Format**
882
1977
  #
883
- # * The version number, i.e. `1`.
1978
+ # * The version number, for instance, `1`.
884
1979
  #
885
1980
  # * The time of the original request, in Unix epoch time, in 8
886
1981
  # hexadecimal digits. For example, 10:00AM December 2nd, 2016 PST in
@@ -891,7 +1986,8 @@ module Aws::XRay
891
1986
  #
892
1987
  #
893
1988
  #
894
- # [1]: https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html
1989
+ # [1]: https://docs.aws.amazon.com/xray/index.html
1990
+ # [2]: https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html
895
1991
  #
896
1992
  # @option params [required, Array<String>] :trace_segment_documents
897
1993
  # A string containing a JSON document defining one or more segments or
@@ -923,6 +2019,144 @@ module Aws::XRay
923
2019
  req.send_request(options)
924
2020
  end
925
2021
 
2022
+ # Applies tags to an existing Amazon Web Services X-Ray group or
2023
+ # sampling rule.
2024
+ #
2025
+ # @option params [required, String] :resource_arn
2026
+ # The Amazon Resource Number (ARN) of an X-Ray group or sampling rule.
2027
+ #
2028
+ # @option params [required, Array<Types::Tag>] :tags
2029
+ # A map that contains one or more tag keys and tag values to attach to
2030
+ # an X-Ray group or sampling rule. For more information about ways to
2031
+ # use tags, see [Tagging Amazon Web Services resources][1] in the
2032
+ # *Amazon Web Services General Reference*.
2033
+ #
2034
+ # The following restrictions apply to tags:
2035
+ #
2036
+ # * Maximum number of user-applied tags per resource: 50
2037
+ #
2038
+ # * Maximum tag key length: 128 Unicode characters
2039
+ #
2040
+ # * Maximum tag value length: 256 Unicode characters
2041
+ #
2042
+ # * Valid values for key and value: a-z, A-Z, 0-9, space, and the
2043
+ # following characters: \_ . : / = + - and @
2044
+ #
2045
+ # * Tag keys and values are case sensitive.
2046
+ #
2047
+ # * Don't use `aws:` as a prefix for keys; it's reserved for Amazon
2048
+ # Web Services use. You cannot edit or delete system tags.
2049
+ #
2050
+ #
2051
+ #
2052
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
2053
+ #
2054
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2055
+ #
2056
+ # @example Request syntax with placeholder values
2057
+ #
2058
+ # resp = client.tag_resource({
2059
+ # resource_arn: "AmazonResourceName", # required
2060
+ # tags: [ # required
2061
+ # {
2062
+ # key: "TagKey", # required
2063
+ # value: "TagValue", # required
2064
+ # },
2065
+ # ],
2066
+ # })
2067
+ #
2068
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/TagResource AWS API Documentation
2069
+ #
2070
+ # @overload tag_resource(params = {})
2071
+ # @param [Hash] params ({})
2072
+ def tag_resource(params = {}, options = {})
2073
+ req = build_request(:tag_resource, params)
2074
+ req.send_request(options)
2075
+ end
2076
+
2077
+ # Removes tags from an Amazon Web Services X-Ray group or sampling rule.
2078
+ # You cannot edit or delete system tags (those with an `aws:` prefix).
2079
+ #
2080
+ # @option params [required, String] :resource_arn
2081
+ # The Amazon Resource Number (ARN) of an X-Ray group or sampling rule.
2082
+ #
2083
+ # @option params [required, Array<String>] :tag_keys
2084
+ # Keys for one or more tags that you want to remove from an X-Ray group
2085
+ # or sampling rule.
2086
+ #
2087
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2088
+ #
2089
+ # @example Request syntax with placeholder values
2090
+ #
2091
+ # resp = client.untag_resource({
2092
+ # resource_arn: "AmazonResourceName", # required
2093
+ # tag_keys: ["TagKey"], # required
2094
+ # })
2095
+ #
2096
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UntagResource AWS API Documentation
2097
+ #
2098
+ # @overload untag_resource(params = {})
2099
+ # @param [Hash] params ({})
2100
+ def untag_resource(params = {}, options = {})
2101
+ req = build_request(:untag_resource, params)
2102
+ req.send_request(options)
2103
+ end
2104
+
2105
+ # Updates a group resource.
2106
+ #
2107
+ # @option params [String] :group_name
2108
+ # The case-sensitive name of the group.
2109
+ #
2110
+ # @option params [String] :group_arn
2111
+ # The ARN that was generated upon creation.
2112
+ #
2113
+ # @option params [String] :filter_expression
2114
+ # The updated filter expression defining criteria by which to group
2115
+ # traces.
2116
+ #
2117
+ # @option params [Types::InsightsConfiguration] :insights_configuration
2118
+ # The structure containing configurations related to insights.
2119
+ #
2120
+ # * The InsightsEnabled boolean can be set to true to enable insights
2121
+ # for the group or false to disable insights for the group.
2122
+ #
2123
+ # * The NotificationsEnabled boolean can be set to true to enable
2124
+ # insights notifications for the group. Notifications can only be
2125
+ # enabled on a group with InsightsEnabled set to true.
2126
+ #
2127
+ # @return [Types::UpdateGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2128
+ #
2129
+ # * {Types::UpdateGroupResult#group #group} => Types::Group
2130
+ #
2131
+ # @example Request syntax with placeholder values
2132
+ #
2133
+ # resp = client.update_group({
2134
+ # group_name: "GroupName",
2135
+ # group_arn: "GroupARN",
2136
+ # filter_expression: "FilterExpression",
2137
+ # insights_configuration: {
2138
+ # insights_enabled: false,
2139
+ # notifications_enabled: false,
2140
+ # },
2141
+ # })
2142
+ #
2143
+ # @example Response structure
2144
+ #
2145
+ # resp.group.group_name #=> String
2146
+ # resp.group.group_arn #=> String
2147
+ # resp.group.filter_expression #=> String
2148
+ # resp.group.insights_configuration.insights_enabled #=> Boolean
2149
+ # resp.group.insights_configuration.notifications_enabled #=> Boolean
2150
+ #
2151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateGroup AWS API Documentation
2152
+ #
2153
+ # @overload update_group(params = {})
2154
+ # @param [Hash] params ({})
2155
+ def update_group(params = {}, options = {})
2156
+ req = build_request(:update_group, params)
2157
+ req.send_request(options)
2158
+ end
2159
+
926
2160
  # Modifies a sampling rule's configuration.
927
2161
  #
928
2162
  # @option params [required, Types::SamplingRuleUpdate] :sampling_rule_update
@@ -994,7 +2228,7 @@ module Aws::XRay
994
2228
  params: params,
995
2229
  config: config)
996
2230
  context[:gem_name] = 'aws-sdk-xray'
997
- context[:gem_version] = '1.4.0'
2231
+ context[:gem_version] = '1.62.0'
998
2232
  Seahorse::Client::Request.new(handlers, context)
999
2233
  end
1000
2234