aws-sdk-xray 1.4.0 → 1.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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