aws-sdk-backupsearch 1.0.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.
@@ -0,0 +1,1187 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
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'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
29
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
30
+ require 'aws-sdk-core/plugins/http_checksum.rb'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
+ require 'aws-sdk-core/plugins/request_compression.rb'
33
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
34
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
35
+ require 'aws-sdk-core/plugins/telemetry.rb'
36
+ require 'aws-sdk-core/plugins/sign.rb'
37
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
38
+
39
+ module Aws::BackupSearch
40
+ # An API client for BackupSearch. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::BackupSearch::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.
52
+ class Client < Seahorse::Client::Base
53
+
54
+ include Aws::ClientStubs
55
+
56
+ @identifier = :backupsearch
57
+
58
+ set_api(ClientApi::API)
59
+
60
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
61
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
62
+ add_plugin(Aws::Plugins::Logging)
63
+ add_plugin(Aws::Plugins::ParamConverter)
64
+ add_plugin(Aws::Plugins::ParamValidator)
65
+ add_plugin(Aws::Plugins::UserAgent)
66
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
67
+ add_plugin(Aws::Plugins::RetryErrors)
68
+ add_plugin(Aws::Plugins::GlobalConfiguration)
69
+ add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
72
+ add_plugin(Aws::Plugins::ResponsePaging)
73
+ add_plugin(Aws::Plugins::StubResponses)
74
+ add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::InvocationId)
76
+ add_plugin(Aws::Plugins::JsonvalueConverter)
77
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
78
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
79
+ add_plugin(Aws::Plugins::TransferEncoding)
80
+ add_plugin(Aws::Plugins::HttpChecksum)
81
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
82
+ add_plugin(Aws::Plugins::RequestCompression)
83
+ add_plugin(Aws::Plugins::DefaultsMode)
84
+ add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Telemetry)
86
+ add_plugin(Aws::Plugins::Sign)
87
+ add_plugin(Aws::Plugins::Protocols::RestJson)
88
+ add_plugin(Aws::BackupSearch::Plugins::Endpoints)
89
+
90
+ # @overload initialize(options)
91
+ # @param [Hash] options
92
+ #
93
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
94
+ # A list of plugins to apply to the client. Each plugin is either a
95
+ # class name or an instance of a plugin class.
96
+ #
97
+ # @option options [required, Aws::CredentialProvider] :credentials
98
+ # Your AWS credentials. This can be an instance of any one of the
99
+ # following classes:
100
+ #
101
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
102
+ # credentials.
103
+ #
104
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
105
+ # shared file, such as `~/.aws/config`.
106
+ #
107
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ #
109
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
110
+ # assume a role after providing credentials via the web.
111
+ #
112
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
113
+ # access token generated from `aws login`.
114
+ #
115
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
116
+ # process that outputs to stdout.
117
+ #
118
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
119
+ # from an EC2 IMDS on an EC2 instance.
120
+ #
121
+ # * `Aws::ECSCredentials` - Used for loading credentials from
122
+ # instances running in ECS.
123
+ #
124
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
125
+ # from the Cognito Identity service.
126
+ #
127
+ # When `:credentials` are not configured directly, the following
128
+ # locations will be searched for credentials:
129
+ #
130
+ # * `Aws.config[:credentials]`
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
135
+ # * `~/.aws/credentials`
136
+ # * `~/.aws/config`
137
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
138
+ # are very aggressive. Construct and pass an instance of
139
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
140
+ # enable retries and extended timeouts. Instance profile credential
141
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
142
+ # to true.
143
+ #
144
+ # @option options [required, String] :region
145
+ # The AWS region to connect to. The configured `:region` is
146
+ # used to determine the service `:endpoint`. When not passed,
147
+ # a default `:region` is searched for in the following locations:
148
+ #
149
+ # * `Aws.config[:region]`
150
+ # * `ENV['AWS_REGION']`
151
+ # * `ENV['AMAZON_REGION']`
152
+ # * `ENV['AWS_DEFAULT_REGION']`
153
+ # * `~/.aws/credentials`
154
+ # * `~/.aws/config`
155
+ #
156
+ # @option options [String] :access_key_id
157
+ #
158
+ # @option options [String] :account_id
159
+ #
160
+ # @option options [Boolean] :active_endpoint_cache (false)
161
+ # When set to `true`, a thread polling for endpoints will be running in
162
+ # the background every 60 secs (default). Defaults to `false`.
163
+ #
164
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
165
+ # Used only in `adaptive` retry mode. When true, the request will sleep
166
+ # until there is sufficent client side capacity to retry the request.
167
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
168
+ # not retry instead of sleeping.
169
+ #
170
+ # @option options [Boolean] :client_side_monitoring (false)
171
+ # When `true`, client-side metrics will be collected for all API requests from
172
+ # this client.
173
+ #
174
+ # @option options [String] :client_side_monitoring_client_id ("")
175
+ # Allows you to provide an identifier for this client which will be attached to
176
+ # all generated client side metrics. Defaults to an empty string.
177
+ #
178
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
179
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
180
+ # side monitoring agent is running on, where client metrics will be published via UDP.
181
+ #
182
+ # @option options [Integer] :client_side_monitoring_port (31000)
183
+ # Required for publishing client metrics. The port that the client side monitoring
184
+ # agent is running on, where client metrics will be published via UDP.
185
+ #
186
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
187
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
188
+ # will use the Client Side Monitoring Agent Publisher.
189
+ #
190
+ # @option options [Boolean] :convert_params (true)
191
+ # When `true`, an attempt is made to coerce request parameters into
192
+ # the required types.
193
+ #
194
+ # @option options [Boolean] :correct_clock_skew (true)
195
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
196
+ # a clock skew correction and retry requests with skewed client clocks.
197
+ #
198
+ # @option options [String] :defaults_mode ("legacy")
199
+ # See {Aws::DefaultsModeConfiguration} for a list of the
200
+ # accepted modes and the configuration defaults that are included.
201
+ #
202
+ # @option options [Boolean] :disable_host_prefix_injection (false)
203
+ # Set to true to disable SDK automatically adding host prefix
204
+ # to default service endpoint when available.
205
+ #
206
+ # @option options [Boolean] :disable_request_compression (false)
207
+ # When set to 'true' the request body will not be compressed
208
+ # for supported operations.
209
+ #
210
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
211
+ # Normally you should not configure the `:endpoint` option
212
+ # directly. This is normally constructed from the `:region`
213
+ # option. Configuring `:endpoint` is normally reserved for
214
+ # connecting to test or custom endpoints. The endpoint should
215
+ # be a URI formatted like:
216
+ #
217
+ # 'http://example.com'
218
+ # 'https://example.com'
219
+ # 'http://example.com:123'
220
+ #
221
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
222
+ # Used for the maximum size limit of the LRU cache storing endpoints data
223
+ # for endpoint discovery enabled operations. Defaults to 1000.
224
+ #
225
+ # @option options [Integer] :endpoint_cache_max_threads (10)
226
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
227
+ #
228
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
229
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
230
+ # Use this option to config the time interval in seconds for making
231
+ # requests fetching endpoints information. Defaults to 60 sec.
232
+ #
233
+ # @option options [Boolean] :endpoint_discovery (false)
234
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
235
+ #
236
+ # @option options [Boolean] :ignore_configured_endpoint_urls
237
+ # Setting to true disables use of endpoint URLs provided via environment
238
+ # variables and the shared configuration file.
239
+ #
240
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
241
+ # The log formatter.
242
+ #
243
+ # @option options [Symbol] :log_level (:info)
244
+ # The log level to send messages to the `:logger` at.
245
+ #
246
+ # @option options [Logger] :logger
247
+ # The Logger instance to send log messages to. If this option
248
+ # is not set, logging will be disabled.
249
+ #
250
+ # @option options [Integer] :max_attempts (3)
251
+ # An integer representing the maximum number attempts that will be made for
252
+ # a single request, including the initial attempt. For example,
253
+ # setting this value to 5 will result in a request being retried up to
254
+ # 4 times. Used in `standard` and `adaptive` retry modes.
255
+ #
256
+ # @option options [String] :profile ("default")
257
+ # Used when loading credentials from the shared credentials file
258
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
259
+ #
260
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
261
+ # The minimum size in bytes that triggers compression for request
262
+ # bodies. The value must be non-negative integer value between 0
263
+ # and 10485780 bytes inclusive.
264
+ #
265
+ # @option options [Proc] :retry_backoff
266
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
267
+ # This option is only used in the `legacy` retry mode.
268
+ #
269
+ # @option options [Float] :retry_base_delay (0.3)
270
+ # The base delay in seconds used by the default backoff function. This option
271
+ # is only used in the `legacy` retry mode.
272
+ #
273
+ # @option options [Symbol] :retry_jitter (:none)
274
+ # A delay randomiser function used by the default backoff function.
275
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
276
+ # otherwise a Proc that takes and returns a number. This option is only used
277
+ # in the `legacy` retry mode.
278
+ #
279
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
280
+ #
281
+ # @option options [Integer] :retry_limit (3)
282
+ # The maximum number of times to retry failed requests. Only
283
+ # ~ 500 level server errors and certain ~ 400 level client errors
284
+ # are retried. Generally, these are throttling errors, data
285
+ # checksum errors, networking errors, timeout errors, auth errors,
286
+ # endpoint discovery, and errors from expired credentials.
287
+ # This option is only used in the `legacy` retry mode.
288
+ #
289
+ # @option options [Integer] :retry_max_delay (0)
290
+ # The maximum number of seconds to delay between retries (0 for no limit)
291
+ # used by the default backoff function. This option is only used in the
292
+ # `legacy` retry mode.
293
+ #
294
+ # @option options [String] :retry_mode ("legacy")
295
+ # Specifies which retry algorithm to use. Values are:
296
+ #
297
+ # * `legacy` - The pre-existing retry behavior. This is default value if
298
+ # no retry mode is provided.
299
+ #
300
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
301
+ # This includes support for retry quotas, which limit the number of
302
+ # unsuccessful retries a client can make.
303
+ #
304
+ # * `adaptive` - An experimental retry mode that includes all the
305
+ # functionality of `standard` mode along with automatic client side
306
+ # throttling. This is a provisional mode that may change behavior
307
+ # in the future.
308
+ #
309
+ # @option options [String] :sdk_ua_app_id
310
+ # A unique and opaque application ID that is appended to the
311
+ # User-Agent header as app/sdk_ua_app_id. It should have a
312
+ # maximum length of 50. This variable is sourced from environment
313
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
314
+ #
315
+ # @option options [String] :secret_access_key
316
+ #
317
+ # @option options [String] :session_token
318
+ #
319
+ # @option options [Array] :sigv4a_signing_region_set
320
+ # A list of regions that should be signed with SigV4a signing. When
321
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
322
+ # in the following locations:
323
+ #
324
+ # * `Aws.config[:sigv4a_signing_region_set]`
325
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
326
+ # * `~/.aws/config`
327
+ #
328
+ # @option options [Boolean] :stub_responses (false)
329
+ # Causes the client to return stubbed responses. By default
330
+ # fake responses are generated and returned. You can specify
331
+ # the response data to return or errors to raise by calling
332
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
333
+ #
334
+ # ** Please note ** When response stubbing is enabled, no HTTP
335
+ # requests are made, and retries are disabled.
336
+ #
337
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
338
+ # Allows you to provide a telemetry provider, which is used to
339
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
340
+ # will not record or emit any telemetry data. The SDK supports the
341
+ # following telemetry providers:
342
+ #
343
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
344
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
345
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
346
+ #
347
+ # @option options [Aws::TokenProvider] :token_provider
348
+ # A Bearer Token Provider. This can be an instance of any one of the
349
+ # following classes:
350
+ #
351
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
352
+ # tokens.
353
+ #
354
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
355
+ # access token generated from `aws login`.
356
+ #
357
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
358
+ # will be used to search for tokens configured for your profile in shared configuration files.
359
+ #
360
+ # @option options [Boolean] :use_dualstack_endpoint
361
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
362
+ # will be used if available.
363
+ #
364
+ # @option options [Boolean] :use_fips_endpoint
365
+ # When set to `true`, fips compatible endpoints will be used if available.
366
+ # When a `fips` region is used, the region is normalized and this config
367
+ # is set to `true`.
368
+ #
369
+ # @option options [Boolean] :validate_params (true)
370
+ # When `true`, request parameters are validated before
371
+ # sending the request.
372
+ #
373
+ # @option options [Aws::BackupSearch::EndpointProvider] :endpoint_provider
374
+ # The endpoint provider used to resolve endpoints. Any object that responds to
375
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
376
+ # `Aws::BackupSearch::EndpointParameters`.
377
+ #
378
+ # @option options [Float] :http_continue_timeout (1)
379
+ # The number of seconds to wait for a 100-continue response before sending the
380
+ # request body. This option has no effect unless the request has "Expect"
381
+ # header set to "100-continue". Defaults to `nil` which disables this
382
+ # behaviour. This value can safely be set per request on the session.
383
+ #
384
+ # @option options [Float] :http_idle_timeout (5)
385
+ # The number of seconds a connection is allowed to sit idle before it
386
+ # is considered stale. Stale connections are closed and removed from the
387
+ # pool before making a request.
388
+ #
389
+ # @option options [Float] :http_open_timeout (15)
390
+ # The default number of seconds to wait for response data.
391
+ # This value can safely be set per-request on the session.
392
+ #
393
+ # @option options [URI::HTTP,String] :http_proxy
394
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
395
+ #
396
+ # @option options [Float] :http_read_timeout (60)
397
+ # The default number of seconds to wait for response data.
398
+ # This value can safely be set per-request on the session.
399
+ #
400
+ # @option options [Boolean] :http_wire_trace (false)
401
+ # When `true`, HTTP debug output will be sent to the `:logger`.
402
+ #
403
+ # @option options [Proc] :on_chunk_received
404
+ # When a Proc object is provided, it will be used as callback when each chunk
405
+ # of the response body is received. It provides three arguments: the chunk,
406
+ # the number of bytes received, and the total number of
407
+ # bytes in the response (or nil if the server did not send a `content-length`).
408
+ #
409
+ # @option options [Proc] :on_chunk_sent
410
+ # When a Proc object is provided, it will be used as callback when each chunk
411
+ # of the request body is sent. It provides three arguments: the chunk,
412
+ # the number of bytes read from the body, and the total number of
413
+ # bytes in the body.
414
+ #
415
+ # @option options [Boolean] :raise_response_errors (true)
416
+ # When `true`, response errors are raised.
417
+ #
418
+ # @option options [String] :ssl_ca_bundle
419
+ # Full path to the SSL certificate authority bundle file that should be used when
420
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
421
+ # `:ssl_ca_directory` the the system default will be used if available.
422
+ #
423
+ # @option options [String] :ssl_ca_directory
424
+ # Full path of the directory that contains the unbundled SSL certificate
425
+ # authority files for verifying peer certificates. If you do
426
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
427
+ # default will be used if available.
428
+ #
429
+ # @option options [String] :ssl_ca_store
430
+ # Sets the X509::Store to verify peer certificate.
431
+ #
432
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
433
+ # Sets a client certificate when creating http connections.
434
+ #
435
+ # @option options [OpenSSL::PKey] :ssl_key
436
+ # Sets a client key when creating http connections.
437
+ #
438
+ # @option options [Float] :ssl_timeout
439
+ # Sets the SSL timeout in seconds
440
+ #
441
+ # @option options [Boolean] :ssl_verify_peer (true)
442
+ # When `true`, SSL peer certificates are verified when establishing a connection.
443
+ #
444
+ def initialize(*args)
445
+ super
446
+ end
447
+
448
+ # @!group API Operations
449
+
450
+ # This operation retrieves metadata of a search job, including its
451
+ # progress.
452
+ #
453
+ # @option params [required, String] :search_job_identifier
454
+ # Required unique string that specifies the search job.
455
+ #
456
+ # @return [Types::GetSearchJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
457
+ #
458
+ # * {Types::GetSearchJobOutput#name #name} => String
459
+ # * {Types::GetSearchJobOutput#search_scope_summary #search_scope_summary} => Types::SearchScopeSummary
460
+ # * {Types::GetSearchJobOutput#current_search_progress #current_search_progress} => Types::CurrentSearchProgress
461
+ # * {Types::GetSearchJobOutput#status_message #status_message} => String
462
+ # * {Types::GetSearchJobOutput#encryption_key_arn #encryption_key_arn} => String
463
+ # * {Types::GetSearchJobOutput#completion_time #completion_time} => Time
464
+ # * {Types::GetSearchJobOutput#status #status} => String
465
+ # * {Types::GetSearchJobOutput#search_scope #search_scope} => Types::SearchScope
466
+ # * {Types::GetSearchJobOutput#item_filters #item_filters} => Types::ItemFilters
467
+ # * {Types::GetSearchJobOutput#creation_time #creation_time} => Time
468
+ # * {Types::GetSearchJobOutput#search_job_identifier #search_job_identifier} => String
469
+ # * {Types::GetSearchJobOutput#search_job_arn #search_job_arn} => String
470
+ #
471
+ # @example Request syntax with placeholder values
472
+ #
473
+ # resp = client.get_search_job({
474
+ # search_job_identifier: "GenericId", # required
475
+ # })
476
+ #
477
+ # @example Response structure
478
+ #
479
+ # resp.name #=> String
480
+ # resp.search_scope_summary.total_recovery_points_to_scan_count #=> Integer
481
+ # resp.search_scope_summary.total_items_to_scan_count #=> Integer
482
+ # resp.current_search_progress.recovery_points_scanned_count #=> Integer
483
+ # resp.current_search_progress.items_scanned_count #=> Integer
484
+ # resp.current_search_progress.items_matched_count #=> Integer
485
+ # resp.status_message #=> String
486
+ # resp.encryption_key_arn #=> String
487
+ # resp.completion_time #=> Time
488
+ # resp.status #=> String, one of "RUNNING", "COMPLETED", "STOPPING", "STOPPED", "FAILED"
489
+ # resp.search_scope.backup_resource_types #=> Array
490
+ # resp.search_scope.backup_resource_types[0] #=> String, one of "S3", "EBS"
491
+ # resp.search_scope.backup_resource_creation_time.created_after #=> Time
492
+ # resp.search_scope.backup_resource_creation_time.created_before #=> Time
493
+ # resp.search_scope.source_resource_arns #=> Array
494
+ # resp.search_scope.source_resource_arns[0] #=> String
495
+ # resp.search_scope.backup_resource_arns #=> Array
496
+ # resp.search_scope.backup_resource_arns[0] #=> String
497
+ # resp.search_scope.backup_resource_tags #=> Hash
498
+ # resp.search_scope.backup_resource_tags["String"] #=> String
499
+ # resp.item_filters.s3_item_filters #=> Array
500
+ # resp.item_filters.s3_item_filters[0].object_keys #=> Array
501
+ # resp.item_filters.s3_item_filters[0].object_keys[0].value #=> String
502
+ # resp.item_filters.s3_item_filters[0].object_keys[0].operator #=> String, one of "EQUALS_TO", "NOT_EQUALS_TO", "CONTAINS", "DOES_NOT_CONTAIN", "BEGINS_WITH", "ENDS_WITH", "DOES_NOT_BEGIN_WITH", "DOES_NOT_END_WITH"
503
+ # resp.item_filters.s3_item_filters[0].sizes #=> Array
504
+ # resp.item_filters.s3_item_filters[0].sizes[0].value #=> Integer
505
+ # resp.item_filters.s3_item_filters[0].sizes[0].operator #=> String, one of "EQUALS_TO", "NOT_EQUALS_TO", "LESS_THAN_EQUAL_TO", "GREATER_THAN_EQUAL_TO"
506
+ # resp.item_filters.s3_item_filters[0].creation_times #=> Array
507
+ # resp.item_filters.s3_item_filters[0].creation_times[0].value #=> Time
508
+ # resp.item_filters.s3_item_filters[0].creation_times[0].operator #=> String, one of "EQUALS_TO", "NOT_EQUALS_TO", "LESS_THAN_EQUAL_TO", "GREATER_THAN_EQUAL_TO"
509
+ # resp.item_filters.s3_item_filters[0].version_ids #=> Array
510
+ # resp.item_filters.s3_item_filters[0].version_ids[0].value #=> String
511
+ # resp.item_filters.s3_item_filters[0].version_ids[0].operator #=> String, one of "EQUALS_TO", "NOT_EQUALS_TO", "CONTAINS", "DOES_NOT_CONTAIN", "BEGINS_WITH", "ENDS_WITH", "DOES_NOT_BEGIN_WITH", "DOES_NOT_END_WITH"
512
+ # resp.item_filters.s3_item_filters[0].etags #=> Array
513
+ # resp.item_filters.s3_item_filters[0].etags[0].value #=> String
514
+ # resp.item_filters.s3_item_filters[0].etags[0].operator #=> String, one of "EQUALS_TO", "NOT_EQUALS_TO", "CONTAINS", "DOES_NOT_CONTAIN", "BEGINS_WITH", "ENDS_WITH", "DOES_NOT_BEGIN_WITH", "DOES_NOT_END_WITH"
515
+ # resp.item_filters.ebs_item_filters #=> Array
516
+ # resp.item_filters.ebs_item_filters[0].file_paths #=> Array
517
+ # resp.item_filters.ebs_item_filters[0].file_paths[0].value #=> String
518
+ # resp.item_filters.ebs_item_filters[0].file_paths[0].operator #=> String, one of "EQUALS_TO", "NOT_EQUALS_TO", "CONTAINS", "DOES_NOT_CONTAIN", "BEGINS_WITH", "ENDS_WITH", "DOES_NOT_BEGIN_WITH", "DOES_NOT_END_WITH"
519
+ # resp.item_filters.ebs_item_filters[0].sizes #=> Array
520
+ # resp.item_filters.ebs_item_filters[0].sizes[0].value #=> Integer
521
+ # resp.item_filters.ebs_item_filters[0].sizes[0].operator #=> String, one of "EQUALS_TO", "NOT_EQUALS_TO", "LESS_THAN_EQUAL_TO", "GREATER_THAN_EQUAL_TO"
522
+ # resp.item_filters.ebs_item_filters[0].creation_times #=> Array
523
+ # resp.item_filters.ebs_item_filters[0].creation_times[0].value #=> Time
524
+ # resp.item_filters.ebs_item_filters[0].creation_times[0].operator #=> String, one of "EQUALS_TO", "NOT_EQUALS_TO", "LESS_THAN_EQUAL_TO", "GREATER_THAN_EQUAL_TO"
525
+ # resp.item_filters.ebs_item_filters[0].last_modification_times #=> Array
526
+ # resp.item_filters.ebs_item_filters[0].last_modification_times[0].value #=> Time
527
+ # resp.item_filters.ebs_item_filters[0].last_modification_times[0].operator #=> String, one of "EQUALS_TO", "NOT_EQUALS_TO", "LESS_THAN_EQUAL_TO", "GREATER_THAN_EQUAL_TO"
528
+ # resp.creation_time #=> Time
529
+ # resp.search_job_identifier #=> String
530
+ # resp.search_job_arn #=> String
531
+ #
532
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backupsearch-2018-05-10/GetSearchJob AWS API Documentation
533
+ #
534
+ # @overload get_search_job(params = {})
535
+ # @param [Hash] params ({})
536
+ def get_search_job(params = {}, options = {})
537
+ req = build_request(:get_search_job, params)
538
+ req.send_request(options)
539
+ end
540
+
541
+ # This operation retrieves the metadata of an export job.
542
+ #
543
+ # An export job is an operation that transmits the results of a search
544
+ # job to a specified S3 bucket in a .csv file.
545
+ #
546
+ # An export job allows you to retain results of a search beyond the
547
+ # search job's scheduled retention of 7 days.
548
+ #
549
+ # @option params [required, String] :export_job_identifier
550
+ # This is the unique string that identifies a specific export job.
551
+ #
552
+ # Required for this operation.
553
+ #
554
+ # @return [Types::GetSearchResultExportJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
555
+ #
556
+ # * {Types::GetSearchResultExportJobOutput#export_job_identifier #export_job_identifier} => String
557
+ # * {Types::GetSearchResultExportJobOutput#export_job_arn #export_job_arn} => String
558
+ # * {Types::GetSearchResultExportJobOutput#status #status} => String
559
+ # * {Types::GetSearchResultExportJobOutput#creation_time #creation_time} => Time
560
+ # * {Types::GetSearchResultExportJobOutput#completion_time #completion_time} => Time
561
+ # * {Types::GetSearchResultExportJobOutput#status_message #status_message} => String
562
+ # * {Types::GetSearchResultExportJobOutput#export_specification #export_specification} => Types::ExportSpecification
563
+ # * {Types::GetSearchResultExportJobOutput#search_job_arn #search_job_arn} => String
564
+ #
565
+ # @example Request syntax with placeholder values
566
+ #
567
+ # resp = client.get_search_result_export_job({
568
+ # export_job_identifier: "GenericId", # required
569
+ # })
570
+ #
571
+ # @example Response structure
572
+ #
573
+ # resp.export_job_identifier #=> String
574
+ # resp.export_job_arn #=> String
575
+ # resp.status #=> String, one of "RUNNING", "FAILED", "COMPLETED"
576
+ # resp.creation_time #=> Time
577
+ # resp.completion_time #=> Time
578
+ # resp.status_message #=> String
579
+ # resp.export_specification.s3_export_specification.destination_bucket #=> String
580
+ # resp.export_specification.s3_export_specification.destination_prefix #=> String
581
+ # resp.search_job_arn #=> String
582
+ #
583
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backupsearch-2018-05-10/GetSearchResultExportJob AWS API Documentation
584
+ #
585
+ # @overload get_search_result_export_job(params = {})
586
+ # @param [Hash] params ({})
587
+ def get_search_result_export_job(params = {}, options = {})
588
+ req = build_request(:get_search_result_export_job, params)
589
+ req.send_request(options)
590
+ end
591
+
592
+ # This operation returns a list of all backups (recovery points) in a
593
+ # paginated format that were included in the search job.
594
+ #
595
+ # If a search does not display an expected backup in the results, you
596
+ # can call this operation to display each backup included in the search.
597
+ # Any backups that were not included because they have a `FAILED` status
598
+ # from a permissions issue will be displayed, along with a status
599
+ # message.
600
+ #
601
+ # Only recovery points with a backup index that has a status of `ACTIVE`
602
+ # will be included in search results. If the index has any other status,
603
+ # its status will be displayed along with a status message.
604
+ #
605
+ # @option params [required, String] :search_job_identifier
606
+ # The unique string that specifies the search job.
607
+ #
608
+ # @option params [String] :next_token
609
+ # The next item following a partial list of returned backups included in
610
+ # a search job.
611
+ #
612
+ # For example, if a request is made to return `MaxResults` number of
613
+ # backups, `NextToken` allows you to return more items in your list
614
+ # starting at the location pointed to by the next token.
615
+ #
616
+ # @option params [Integer] :max_results
617
+ # The maximum number of resource list items to be returned.
618
+ #
619
+ # @return [Types::ListSearchJobBackupsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
620
+ #
621
+ # * {Types::ListSearchJobBackupsOutput#results #results} => Array&lt;Types::SearchJobBackupsResult&gt;
622
+ # * {Types::ListSearchJobBackupsOutput#next_token #next_token} => String
623
+ #
624
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
625
+ #
626
+ # @example Request syntax with placeholder values
627
+ #
628
+ # resp = client.list_search_job_backups({
629
+ # search_job_identifier: "GenericId", # required
630
+ # next_token: "String",
631
+ # max_results: 1,
632
+ # })
633
+ #
634
+ # @example Response structure
635
+ #
636
+ # resp.results #=> Array
637
+ # resp.results[0].status #=> String, one of "RUNNING", "COMPLETED", "STOPPING", "STOPPED", "FAILED"
638
+ # resp.results[0].status_message #=> String
639
+ # resp.results[0].resource_type #=> String, one of "S3", "EBS"
640
+ # resp.results[0].backup_resource_arn #=> String
641
+ # resp.results[0].source_resource_arn #=> String
642
+ # resp.results[0].index_creation_time #=> Time
643
+ # resp.results[0].backup_creation_time #=> Time
644
+ # resp.next_token #=> String
645
+ #
646
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backupsearch-2018-05-10/ListSearchJobBackups AWS API Documentation
647
+ #
648
+ # @overload list_search_job_backups(params = {})
649
+ # @param [Hash] params ({})
650
+ def list_search_job_backups(params = {}, options = {})
651
+ req = build_request(:list_search_job_backups, params)
652
+ req.send_request(options)
653
+ end
654
+
655
+ # This operation returns a list of a specified search job.
656
+ #
657
+ # @option params [required, String] :search_job_identifier
658
+ # The unique string that specifies the search job.
659
+ #
660
+ # @option params [String] :next_token
661
+ # The next item following a partial list of returned search job results.
662
+ #
663
+ # For example, if a request is made to return `MaxResults` number of
664
+ # search job results, `NextToken` allows you to return more items in
665
+ # your list starting at the location pointed to by the next token.
666
+ #
667
+ # @option params [Integer] :max_results
668
+ # The maximum number of resource list items to be returned.
669
+ #
670
+ # @return [Types::ListSearchJobResultsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
671
+ #
672
+ # * {Types::ListSearchJobResultsOutput#results #results} => Array&lt;Types::ResultItem&gt;
673
+ # * {Types::ListSearchJobResultsOutput#next_token #next_token} => String
674
+ #
675
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
676
+ #
677
+ # @example Request syntax with placeholder values
678
+ #
679
+ # resp = client.list_search_job_results({
680
+ # search_job_identifier: "GenericId", # required
681
+ # next_token: "String",
682
+ # max_results: 1,
683
+ # })
684
+ #
685
+ # @example Response structure
686
+ #
687
+ # resp.results #=> Array
688
+ # resp.results[0].s3_result_item.backup_resource_arn #=> String
689
+ # resp.results[0].s3_result_item.source_resource_arn #=> String
690
+ # resp.results[0].s3_result_item.backup_vault_name #=> String
691
+ # resp.results[0].s3_result_item.object_key #=> String
692
+ # resp.results[0].s3_result_item.object_size #=> Integer
693
+ # resp.results[0].s3_result_item.creation_time #=> Time
694
+ # resp.results[0].s3_result_item.etag #=> String
695
+ # resp.results[0].s3_result_item.version_id #=> String
696
+ # resp.results[0].ebs_result_item.backup_resource_arn #=> String
697
+ # resp.results[0].ebs_result_item.source_resource_arn #=> String
698
+ # resp.results[0].ebs_result_item.backup_vault_name #=> String
699
+ # resp.results[0].ebs_result_item.file_system_identifier #=> String
700
+ # resp.results[0].ebs_result_item.file_path #=> String
701
+ # resp.results[0].ebs_result_item.file_size #=> Integer
702
+ # resp.results[0].ebs_result_item.creation_time #=> Time
703
+ # resp.results[0].ebs_result_item.last_modified_time #=> Time
704
+ # resp.next_token #=> String
705
+ #
706
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backupsearch-2018-05-10/ListSearchJobResults AWS API Documentation
707
+ #
708
+ # @overload list_search_job_results(params = {})
709
+ # @param [Hash] params ({})
710
+ def list_search_job_results(params = {}, options = {})
711
+ req = build_request(:list_search_job_results, params)
712
+ req.send_request(options)
713
+ end
714
+
715
+ # This operation returns a list of search jobs belonging to an account.
716
+ #
717
+ # @option params [String] :by_status
718
+ # Include this parameter to filter list by search job status.
719
+ #
720
+ # @option params [String] :next_token
721
+ # The next item following a partial list of returned search jobs.
722
+ #
723
+ # For example, if a request is made to return `MaxResults` number of
724
+ # backups, `NextToken` allows you to return more items in your list
725
+ # starting at the location pointed to by the next token.
726
+ #
727
+ # @option params [Integer] :max_results
728
+ # The maximum number of resource list items to be returned.
729
+ #
730
+ # @return [Types::ListSearchJobsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
731
+ #
732
+ # * {Types::ListSearchJobsOutput#search_jobs #search_jobs} => Array&lt;Types::SearchJobSummary&gt;
733
+ # * {Types::ListSearchJobsOutput#next_token #next_token} => String
734
+ #
735
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
736
+ #
737
+ # @example Request syntax with placeholder values
738
+ #
739
+ # resp = client.list_search_jobs({
740
+ # by_status: "RUNNING", # accepts RUNNING, COMPLETED, STOPPING, STOPPED, FAILED
741
+ # next_token: "String",
742
+ # max_results: 1,
743
+ # })
744
+ #
745
+ # @example Response structure
746
+ #
747
+ # resp.search_jobs #=> Array
748
+ # resp.search_jobs[0].search_job_identifier #=> String
749
+ # resp.search_jobs[0].search_job_arn #=> String
750
+ # resp.search_jobs[0].name #=> String
751
+ # resp.search_jobs[0].status #=> String, one of "RUNNING", "COMPLETED", "STOPPING", "STOPPED", "FAILED"
752
+ # resp.search_jobs[0].creation_time #=> Time
753
+ # resp.search_jobs[0].completion_time #=> Time
754
+ # resp.search_jobs[0].search_scope_summary.total_recovery_points_to_scan_count #=> Integer
755
+ # resp.search_jobs[0].search_scope_summary.total_items_to_scan_count #=> Integer
756
+ # resp.search_jobs[0].status_message #=> String
757
+ # resp.next_token #=> String
758
+ #
759
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backupsearch-2018-05-10/ListSearchJobs AWS API Documentation
760
+ #
761
+ # @overload list_search_jobs(params = {})
762
+ # @param [Hash] params ({})
763
+ def list_search_jobs(params = {}, options = {})
764
+ req = build_request(:list_search_jobs, params)
765
+ req.send_request(options)
766
+ end
767
+
768
+ # This operation exports search results of a search job to a specified
769
+ # destination S3 bucket.
770
+ #
771
+ # @option params [String] :status
772
+ # The search jobs to be included in the export job can be filtered by
773
+ # including this parameter.
774
+ #
775
+ # @option params [String] :search_job_identifier
776
+ # The unique string that specifies the search job.
777
+ #
778
+ # @option params [String] :next_token
779
+ # The next item following a partial list of returned backups included in
780
+ # a search job.
781
+ #
782
+ # For example, if a request is made to return `MaxResults` number of
783
+ # backups, `NextToken` allows you to return more items in your list
784
+ # starting at the location pointed to by the next token.
785
+ #
786
+ # @option params [Integer] :max_results
787
+ # The maximum number of resource list items to be returned.
788
+ #
789
+ # @return [Types::ListSearchResultExportJobsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
790
+ #
791
+ # * {Types::ListSearchResultExportJobsOutput#export_jobs #export_jobs} => Array&lt;Types::ExportJobSummary&gt;
792
+ # * {Types::ListSearchResultExportJobsOutput#next_token #next_token} => String
793
+ #
794
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
795
+ #
796
+ # @example Request syntax with placeholder values
797
+ #
798
+ # resp = client.list_search_result_export_jobs({
799
+ # status: "RUNNING", # accepts RUNNING, FAILED, COMPLETED
800
+ # search_job_identifier: "GenericId",
801
+ # next_token: "String",
802
+ # max_results: 1,
803
+ # })
804
+ #
805
+ # @example Response structure
806
+ #
807
+ # resp.export_jobs #=> Array
808
+ # resp.export_jobs[0].export_job_identifier #=> String
809
+ # resp.export_jobs[0].export_job_arn #=> String
810
+ # resp.export_jobs[0].status #=> String, one of "RUNNING", "FAILED", "COMPLETED"
811
+ # resp.export_jobs[0].creation_time #=> Time
812
+ # resp.export_jobs[0].completion_time #=> Time
813
+ # resp.export_jobs[0].status_message #=> String
814
+ # resp.export_jobs[0].search_job_arn #=> String
815
+ # resp.next_token #=> String
816
+ #
817
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backupsearch-2018-05-10/ListSearchResultExportJobs AWS API Documentation
818
+ #
819
+ # @overload list_search_result_export_jobs(params = {})
820
+ # @param [Hash] params ({})
821
+ def list_search_result_export_jobs(params = {}, options = {})
822
+ req = build_request(:list_search_result_export_jobs, params)
823
+ req.send_request(options)
824
+ end
825
+
826
+ # This operation returns the tags for a resource type.
827
+ #
828
+ # @option params [required, String] :resource_arn
829
+ # The Amazon Resource Name (ARN) that uniquely identifies the
830
+ # resource.&gt;
831
+ #
832
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
833
+ #
834
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
835
+ #
836
+ # @example Request syntax with placeholder values
837
+ #
838
+ # resp = client.list_tags_for_resource({
839
+ # resource_arn: "String", # required
840
+ # })
841
+ #
842
+ # @example Response structure
843
+ #
844
+ # resp.tags #=> Hash
845
+ # resp.tags["String"] #=> String
846
+ #
847
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backupsearch-2018-05-10/ListTagsForResource AWS API Documentation
848
+ #
849
+ # @overload list_tags_for_resource(params = {})
850
+ # @param [Hash] params ({})
851
+ def list_tags_for_resource(params = {}, options = {})
852
+ req = build_request(:list_tags_for_resource, params)
853
+ req.send_request(options)
854
+ end
855
+
856
+ # This operation creates a search job which returns recovery points
857
+ # filtered by SearchScope and items filtered by ItemFilters.
858
+ #
859
+ # You can optionally include ClientToken, EncryptionKeyArn, Name, and/or
860
+ # Tags.
861
+ #
862
+ # @option params [Hash<String,String>] :tags
863
+ # List of tags returned by the operation.
864
+ #
865
+ # @option params [String] :name
866
+ # Include alphanumeric characters to create a name for this search job.
867
+ #
868
+ # @option params [String] :encryption_key_arn
869
+ # The encryption key for the specified search job.
870
+ #
871
+ # @option params [String] :client_token
872
+ # Include this parameter to allow multiple identical calls for
873
+ # idempotency.
874
+ #
875
+ # A client token is valid for 8 hours after the first request that uses
876
+ # it is completed. After this time, any request with the same token is
877
+ # treated as a new request.
878
+ #
879
+ # @option params [required, Types::SearchScope] :search_scope
880
+ # This object can contain BackupResourceTypes, BackupResourceArns,
881
+ # BackupResourceCreationTime, BackupResourceTags, and SourceResourceArns
882
+ # to filter the recovery points returned by the search job.
883
+ #
884
+ # @option params [Types::ItemFilters] :item_filters
885
+ # Item Filters represent all input item properties specified when the
886
+ # search was created.
887
+ #
888
+ # Contains either EBSItemFilters or S3ItemFilters
889
+ #
890
+ # @return [Types::StartSearchJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
891
+ #
892
+ # * {Types::StartSearchJobOutput#search_job_arn #search_job_arn} => String
893
+ # * {Types::StartSearchJobOutput#creation_time #creation_time} => Time
894
+ # * {Types::StartSearchJobOutput#search_job_identifier #search_job_identifier} => String
895
+ #
896
+ # @example Request syntax with placeholder values
897
+ #
898
+ # resp = client.start_search_job({
899
+ # tags: {
900
+ # "String" => "String",
901
+ # },
902
+ # name: "StartSearchJobInputNameString",
903
+ # encryption_key_arn: "EncryptionKeyArn",
904
+ # client_token: "String",
905
+ # search_scope: { # required
906
+ # backup_resource_types: ["S3"], # required, accepts S3, EBS
907
+ # backup_resource_creation_time: {
908
+ # created_after: Time.now,
909
+ # created_before: Time.now,
910
+ # },
911
+ # source_resource_arns: ["String"],
912
+ # backup_resource_arns: ["RecoveryPoint"],
913
+ # backup_resource_tags: {
914
+ # "String" => "String",
915
+ # },
916
+ # },
917
+ # item_filters: {
918
+ # s3_item_filters: [
919
+ # {
920
+ # object_keys: [
921
+ # {
922
+ # value: "String", # required
923
+ # operator: "EQUALS_TO", # accepts EQUALS_TO, NOT_EQUALS_TO, CONTAINS, DOES_NOT_CONTAIN, BEGINS_WITH, ENDS_WITH, DOES_NOT_BEGIN_WITH, DOES_NOT_END_WITH
924
+ # },
925
+ # ],
926
+ # sizes: [
927
+ # {
928
+ # value: 1, # required
929
+ # operator: "EQUALS_TO", # accepts EQUALS_TO, NOT_EQUALS_TO, LESS_THAN_EQUAL_TO, GREATER_THAN_EQUAL_TO
930
+ # },
931
+ # ],
932
+ # creation_times: [
933
+ # {
934
+ # value: Time.now, # required
935
+ # operator: "EQUALS_TO", # accepts EQUALS_TO, NOT_EQUALS_TO, LESS_THAN_EQUAL_TO, GREATER_THAN_EQUAL_TO
936
+ # },
937
+ # ],
938
+ # version_ids: [
939
+ # {
940
+ # value: "String", # required
941
+ # operator: "EQUALS_TO", # accepts EQUALS_TO, NOT_EQUALS_TO, CONTAINS, DOES_NOT_CONTAIN, BEGINS_WITH, ENDS_WITH, DOES_NOT_BEGIN_WITH, DOES_NOT_END_WITH
942
+ # },
943
+ # ],
944
+ # etags: [
945
+ # {
946
+ # value: "String", # required
947
+ # operator: "EQUALS_TO", # accepts EQUALS_TO, NOT_EQUALS_TO, CONTAINS, DOES_NOT_CONTAIN, BEGINS_WITH, ENDS_WITH, DOES_NOT_BEGIN_WITH, DOES_NOT_END_WITH
948
+ # },
949
+ # ],
950
+ # },
951
+ # ],
952
+ # ebs_item_filters: [
953
+ # {
954
+ # file_paths: [
955
+ # {
956
+ # value: "String", # required
957
+ # operator: "EQUALS_TO", # accepts EQUALS_TO, NOT_EQUALS_TO, CONTAINS, DOES_NOT_CONTAIN, BEGINS_WITH, ENDS_WITH, DOES_NOT_BEGIN_WITH, DOES_NOT_END_WITH
958
+ # },
959
+ # ],
960
+ # sizes: [
961
+ # {
962
+ # value: 1, # required
963
+ # operator: "EQUALS_TO", # accepts EQUALS_TO, NOT_EQUALS_TO, LESS_THAN_EQUAL_TO, GREATER_THAN_EQUAL_TO
964
+ # },
965
+ # ],
966
+ # creation_times: [
967
+ # {
968
+ # value: Time.now, # required
969
+ # operator: "EQUALS_TO", # accepts EQUALS_TO, NOT_EQUALS_TO, LESS_THAN_EQUAL_TO, GREATER_THAN_EQUAL_TO
970
+ # },
971
+ # ],
972
+ # last_modification_times: [
973
+ # {
974
+ # value: Time.now, # required
975
+ # operator: "EQUALS_TO", # accepts EQUALS_TO, NOT_EQUALS_TO, LESS_THAN_EQUAL_TO, GREATER_THAN_EQUAL_TO
976
+ # },
977
+ # ],
978
+ # },
979
+ # ],
980
+ # },
981
+ # })
982
+ #
983
+ # @example Response structure
984
+ #
985
+ # resp.search_job_arn #=> String
986
+ # resp.creation_time #=> Time
987
+ # resp.search_job_identifier #=> String
988
+ #
989
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backupsearch-2018-05-10/StartSearchJob AWS API Documentation
990
+ #
991
+ # @overload start_search_job(params = {})
992
+ # @param [Hash] params ({})
993
+ def start_search_job(params = {}, options = {})
994
+ req = build_request(:start_search_job, params)
995
+ req.send_request(options)
996
+ end
997
+
998
+ # This operations starts a job to export the results of search job to a
999
+ # designated S3 bucket.
1000
+ #
1001
+ # @option params [required, String] :search_job_identifier
1002
+ # The unique string that specifies the search job.
1003
+ #
1004
+ # @option params [required, Types::ExportSpecification] :export_specification
1005
+ # This specification contains a required string of the destination
1006
+ # bucket; optionally, you can include the destination prefix.
1007
+ #
1008
+ # @option params [String] :client_token
1009
+ # Include this parameter to allow multiple identical calls for
1010
+ # idempotency.
1011
+ #
1012
+ # A client token is valid for 8 hours after the first request that uses
1013
+ # it is completed. After this time, any request with the same token is
1014
+ # treated as a new request.
1015
+ #
1016
+ # @option params [Hash<String,String>] :tags
1017
+ # Optional tags to include. A tag is a key-value pair you can use to
1018
+ # manage, filter, and search for your resources. Allowed characters
1019
+ # include UTF-8 letters, numbers, spaces, and the following characters:
1020
+ # + - = . \_ : /.
1021
+ #
1022
+ # @option params [String] :role_arn
1023
+ # This parameter specifies the role ARN used to start the search results
1024
+ # export jobs.
1025
+ #
1026
+ # @return [Types::StartSearchResultExportJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1027
+ #
1028
+ # * {Types::StartSearchResultExportJobOutput#export_job_arn #export_job_arn} => String
1029
+ # * {Types::StartSearchResultExportJobOutput#export_job_identifier #export_job_identifier} => String
1030
+ #
1031
+ # @example Request syntax with placeholder values
1032
+ #
1033
+ # resp = client.start_search_result_export_job({
1034
+ # search_job_identifier: "GenericId", # required
1035
+ # export_specification: { # required
1036
+ # s3_export_specification: {
1037
+ # destination_bucket: "String", # required
1038
+ # destination_prefix: "String",
1039
+ # },
1040
+ # },
1041
+ # client_token: "String",
1042
+ # tags: {
1043
+ # "String" => "String",
1044
+ # },
1045
+ # role_arn: "IamRoleArn",
1046
+ # })
1047
+ #
1048
+ # @example Response structure
1049
+ #
1050
+ # resp.export_job_arn #=> String
1051
+ # resp.export_job_identifier #=> String
1052
+ #
1053
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backupsearch-2018-05-10/StartSearchResultExportJob AWS API Documentation
1054
+ #
1055
+ # @overload start_search_result_export_job(params = {})
1056
+ # @param [Hash] params ({})
1057
+ def start_search_result_export_job(params = {}, options = {})
1058
+ req = build_request(:start_search_result_export_job, params)
1059
+ req.send_request(options)
1060
+ end
1061
+
1062
+ # This operations ends a search job.
1063
+ #
1064
+ # Only a search job with a status of `RUNNING` can be stopped.
1065
+ #
1066
+ # @option params [required, String] :search_job_identifier
1067
+ # The unique string that specifies the search job.
1068
+ #
1069
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1070
+ #
1071
+ # @example Request syntax with placeholder values
1072
+ #
1073
+ # resp = client.stop_search_job({
1074
+ # search_job_identifier: "GenericId", # required
1075
+ # })
1076
+ #
1077
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backupsearch-2018-05-10/StopSearchJob AWS API Documentation
1078
+ #
1079
+ # @overload stop_search_job(params = {})
1080
+ # @param [Hash] params ({})
1081
+ def stop_search_job(params = {}, options = {})
1082
+ req = build_request(:stop_search_job, params)
1083
+ req.send_request(options)
1084
+ end
1085
+
1086
+ # This operation puts tags on the resource you indicate.
1087
+ #
1088
+ # @option params [required, String] :resource_arn
1089
+ # The Amazon Resource Name (ARN) that uniquely identifies the resource.
1090
+ #
1091
+ # This is the resource that will have the indicated tags.
1092
+ #
1093
+ # @option params [required, Hash<String,String>] :tags
1094
+ # Required tags to include. A tag is a key-value pair you can use to
1095
+ # manage, filter, and search for your resources. Allowed characters
1096
+ # include UTF-8 letters, numbers, spaces, and the following characters:
1097
+ # + - = . \_ : /.
1098
+ #
1099
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1100
+ #
1101
+ # @example Request syntax with placeholder values
1102
+ #
1103
+ # resp = client.tag_resource({
1104
+ # resource_arn: "String", # required
1105
+ # tags: { # required
1106
+ # "String" => "String",
1107
+ # },
1108
+ # })
1109
+ #
1110
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backupsearch-2018-05-10/TagResource AWS API Documentation
1111
+ #
1112
+ # @overload tag_resource(params = {})
1113
+ # @param [Hash] params ({})
1114
+ def tag_resource(params = {}, options = {})
1115
+ req = build_request(:tag_resource, params)
1116
+ req.send_request(options)
1117
+ end
1118
+
1119
+ # This operation removes tags from the specified resource.
1120
+ #
1121
+ # @option params [required, String] :resource_arn
1122
+ # The Amazon Resource Name (ARN) that uniquely identifies the resource
1123
+ # where you want to remove tags.
1124
+ #
1125
+ # @option params [required, Array<String>] :tag_keys
1126
+ # This required parameter contains the tag keys you want to remove from
1127
+ # the source.
1128
+ #
1129
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1130
+ #
1131
+ # @example Request syntax with placeholder values
1132
+ #
1133
+ # resp = client.untag_resource({
1134
+ # resource_arn: "String", # required
1135
+ # tag_keys: ["String"], # required
1136
+ # })
1137
+ #
1138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backupsearch-2018-05-10/UntagResource AWS API Documentation
1139
+ #
1140
+ # @overload untag_resource(params = {})
1141
+ # @param [Hash] params ({})
1142
+ def untag_resource(params = {}, options = {})
1143
+ req = build_request(:untag_resource, params)
1144
+ req.send_request(options)
1145
+ end
1146
+
1147
+ # @!endgroup
1148
+
1149
+ # @param params ({})
1150
+ # @api private
1151
+ def build_request(operation_name, params = {})
1152
+ handlers = @handlers.for(operation_name)
1153
+ tracer = config.telemetry_provider.tracer_provider.tracer(
1154
+ Aws::Telemetry.module_to_tracer_name('Aws::BackupSearch')
1155
+ )
1156
+ context = Seahorse::Client::RequestContext.new(
1157
+ operation_name: operation_name,
1158
+ operation: config.api.operation(operation_name),
1159
+ client: self,
1160
+ params: params,
1161
+ config: config,
1162
+ tracer: tracer
1163
+ )
1164
+ context[:gem_name] = 'aws-sdk-backupsearch'
1165
+ context[:gem_version] = '1.0.0'
1166
+ Seahorse::Client::Request.new(handlers, context)
1167
+ end
1168
+
1169
+ # @api private
1170
+ # @deprecated
1171
+ def waiter_names
1172
+ []
1173
+ end
1174
+
1175
+ class << self
1176
+
1177
+ # @api private
1178
+ attr_reader :identifier
1179
+
1180
+ # @api private
1181
+ def errors_module
1182
+ Errors
1183
+ end
1184
+
1185
+ end
1186
+ end
1187
+ end