aws-sdk-bcmdataexports 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,1003 @@
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/jsonvalue_converter.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'
35
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
36
+
37
+ Aws::Plugins::GlobalConfiguration.add_identifier(:bcmdataexports)
38
+
39
+ module Aws::BCMDataExports
40
+ # An API client for BCMDataExports. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::BCMDataExports::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 = :bcmdataexports
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::JsonvalueConverter)
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)
85
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
86
+ add_plugin(Aws::BCMDataExports::Plugins::Endpoints)
87
+
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.
276
+ #
277
+ # @option options [String] :retry_mode ("legacy")
278
+ # Specifies which retry algorithm to use. Values are:
279
+ #
280
+ # * `legacy` - The pre-existing retry behavior. This is default value if
281
+ # no retry mode is provided.
282
+ #
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.
286
+ #
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.
291
+ #
292
+ #
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.
297
+ #
298
+ # @option options [String] :secret_access_key
299
+ #
300
+ # @option options [String] :session_token
301
+ #
302
+ # @option options [Boolean] :simple_json (false)
303
+ # Disables request parameter conversion, validation, and formatting.
304
+ # Also disable response data type conversions. This option is useful
305
+ # when you want to ensure the highest level of performance by
306
+ # avoiding overhead of walking request parameters and response data
307
+ # structures.
308
+ #
309
+ # When `:simple_json` is enabled, the request parameters hash must
310
+ # be formatted exactly as the DynamoDB API expects.
311
+ #
312
+ # @option options [Boolean] :stub_responses (false)
313
+ # Causes the client to return stubbed responses. By default
314
+ # fake responses are generated and returned. You can specify
315
+ # the response data to return or errors to raise by calling
316
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
317
+ #
318
+ # ** Please note ** When response stubbing is enabled, no HTTP
319
+ # requests are made, and retries are disabled.
320
+ #
321
+ # @option options [Aws::TokenProvider] :token_provider
322
+ # A Bearer Token Provider. This can be an instance of any one of the
323
+ # following classes:
324
+ #
325
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
326
+ # tokens.
327
+ #
328
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
329
+ # access token generated from `aws login`.
330
+ #
331
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
332
+ # will be used to search for tokens configured for your profile in shared configuration files.
333
+ #
334
+ # @option options [Boolean] :use_dualstack_endpoint
335
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
336
+ # will be used if available.
337
+ #
338
+ # @option options [Boolean] :use_fips_endpoint
339
+ # When set to `true`, fips compatible endpoints will be used if available.
340
+ # When a `fips` region is used, the region is normalized and this config
341
+ # is set to `true`.
342
+ #
343
+ # @option options [Boolean] :validate_params (true)
344
+ # When `true`, request parameters are validated before
345
+ # sending the request.
346
+ #
347
+ # @option options [Aws::BCMDataExports::EndpointProvider] :endpoint_provider
348
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::BCMDataExports::EndpointParameters`
349
+ #
350
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
351
+ # requests through. Formatted like 'http://proxy.com:123'.
352
+ #
353
+ # @option options [Float] :http_open_timeout (15) The number of
354
+ # seconds to wait when opening a HTTP session before raising a
355
+ # `Timeout::Error`.
356
+ #
357
+ # @option options [Float] :http_read_timeout (60) The default
358
+ # number of seconds to wait for response data. This value can
359
+ # safely be set per-request on the session.
360
+ #
361
+ # @option options [Float] :http_idle_timeout (5) The number of
362
+ # seconds a connection is allowed to sit idle before it is
363
+ # considered stale. Stale connections are closed and removed
364
+ # from the pool before making a request.
365
+ #
366
+ # @option options [Float] :http_continue_timeout (1) The number of
367
+ # seconds to wait for a 100-continue response before sending the
368
+ # request body. This option has no effect unless the request has
369
+ # "Expect" header set to "100-continue". Defaults to `nil` which
370
+ # disables this behaviour. This value can safely be set per
371
+ # request on the session.
372
+ #
373
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
374
+ # in seconds.
375
+ #
376
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
377
+ # HTTP debug output will be sent to the `:logger`.
378
+ #
379
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
380
+ # SSL peer certificates are verified when establishing a
381
+ # connection.
382
+ #
383
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
384
+ # certificate authority bundle file that should be used when
385
+ # verifying peer certificates. If you do not pass
386
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
387
+ # will be used if available.
388
+ #
389
+ # @option options [String] :ssl_ca_directory Full path of the
390
+ # directory that contains the unbundled SSL certificate
391
+ # authority files for verifying peer certificates. If you do
392
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
393
+ # system default will be used if available.
394
+ #
395
+ def initialize(*args)
396
+ super
397
+ end
398
+
399
+ # @!group API Operations
400
+
401
+ # Creates a data export and specifies the data query, the delivery
402
+ # preference, and any optional resource tags.
403
+ #
404
+ # A `DataQuery` consists of both a `QueryStatement` and
405
+ # `TableConfigurations`.
406
+ #
407
+ # The `QueryStatement` is an SQL statement. Data Exports only supports a
408
+ # limited subset of the SQL syntax. For more information on the SQL
409
+ # syntax that is supported, see [Data query][1]. To view the available
410
+ # tables and columns, see the [Data Exports table dictionary][2].
411
+ #
412
+ # The `TableConfigurations` is a collection of specified
413
+ # `TableProperties` for the table being queried in the `QueryStatement`.
414
+ # TableProperties are additional configurations you can provide to
415
+ # change the data and schema of a table. Each table can have different
416
+ # TableProperties. However, tables are not required to have any
417
+ # TableProperties. Each table property has a default value that it
418
+ # assumes if not specified. For more information on table
419
+ # configurations, see [Data query][1]. To view the table properties
420
+ # available for each table, see the [Data Exports table dictionary][2]
421
+ # or use the `ListTables` API to get a response of all tables and their
422
+ # available properties.
423
+ #
424
+ #
425
+ #
426
+ # [1]: https://docs.aws.amazon.com/cur/latest/userguide/de-data-query.html
427
+ # [2]: https://docs.aws.amazon.com/cur/latest/userguide/de-table-dictionary.html
428
+ #
429
+ # @option params [required, Types::Export] :export
430
+ # The details of the export, including data query, name, description,
431
+ # and destination configuration.
432
+ #
433
+ # @option params [Array<Types::ResourceTag>] :resource_tags
434
+ # An optional list of tags to associate with the specified export. Each
435
+ # tag consists of a key and a value, and each key must be unique for the
436
+ # resource.
437
+ #
438
+ # @return [Types::CreateExportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
439
+ #
440
+ # * {Types::CreateExportResponse#export_arn #export_arn} => String
441
+ #
442
+ # @example Request syntax with placeholder values
443
+ #
444
+ # resp = client.create_export({
445
+ # export: { # required
446
+ # data_query: { # required
447
+ # query_statement: "QueryStatement", # required
448
+ # table_configurations: {
449
+ # "TableName" => {
450
+ # "TableProperty" => "GenericString",
451
+ # },
452
+ # },
453
+ # },
454
+ # description: "GenericString",
455
+ # destination_configurations: { # required
456
+ # s3_destination: { # required
457
+ # s3_bucket: "GenericString", # required
458
+ # s3_output_configurations: { # required
459
+ # compression: "GZIP", # required, accepts GZIP, PARQUET
460
+ # format: "TEXT_OR_CSV", # required, accepts TEXT_OR_CSV, PARQUET
461
+ # output_type: "CUSTOM", # required, accepts CUSTOM
462
+ # overwrite: "CREATE_NEW_REPORT", # required, accepts CREATE_NEW_REPORT, OVERWRITE_REPORT
463
+ # },
464
+ # s3_prefix: "GenericString", # required
465
+ # s3_region: "GenericString", # required
466
+ # },
467
+ # },
468
+ # export_arn: "Arn",
469
+ # name: "ExportName", # required
470
+ # refresh_cadence: { # required
471
+ # frequency: "SYNCHRONOUS", # required, accepts SYNCHRONOUS
472
+ # },
473
+ # },
474
+ # resource_tags: [
475
+ # {
476
+ # key: "ResourceTagKey", # required
477
+ # value: "ResourceTagValue", # required
478
+ # },
479
+ # ],
480
+ # })
481
+ #
482
+ # @example Response structure
483
+ #
484
+ # resp.export_arn #=> String
485
+ #
486
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-data-exports-2023-11-26/CreateExport AWS API Documentation
487
+ #
488
+ # @overload create_export(params = {})
489
+ # @param [Hash] params ({})
490
+ def create_export(params = {}, options = {})
491
+ req = build_request(:create_export, params)
492
+ req.send_request(options)
493
+ end
494
+
495
+ # Deletes an existing data export.
496
+ #
497
+ # @option params [required, String] :export_arn
498
+ # The Amazon Resource Name (ARN) for this export.
499
+ #
500
+ # @return [Types::DeleteExportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
501
+ #
502
+ # * {Types::DeleteExportResponse#export_arn #export_arn} => String
503
+ #
504
+ # @example Request syntax with placeholder values
505
+ #
506
+ # resp = client.delete_export({
507
+ # export_arn: "Arn", # required
508
+ # })
509
+ #
510
+ # @example Response structure
511
+ #
512
+ # resp.export_arn #=> String
513
+ #
514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-data-exports-2023-11-26/DeleteExport AWS API Documentation
515
+ #
516
+ # @overload delete_export(params = {})
517
+ # @param [Hash] params ({})
518
+ def delete_export(params = {}, options = {})
519
+ req = build_request(:delete_export, params)
520
+ req.send_request(options)
521
+ end
522
+
523
+ # Exports data based on the source data update.
524
+ #
525
+ # @option params [required, String] :execution_id
526
+ # The ID for this specific execution.
527
+ #
528
+ # @option params [required, String] :export_arn
529
+ # The Amazon Resource Name (ARN) of the Export object that generated
530
+ # this specific execution.
531
+ #
532
+ # @return [Types::GetExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
533
+ #
534
+ # * {Types::GetExecutionResponse#execution_id #execution_id} => String
535
+ # * {Types::GetExecutionResponse#execution_status #execution_status} => Types::ExecutionStatus
536
+ # * {Types::GetExecutionResponse#export #export} => Types::Export
537
+ #
538
+ # @example Request syntax with placeholder values
539
+ #
540
+ # resp = client.get_execution({
541
+ # execution_id: "GenericString", # required
542
+ # export_arn: "Arn", # required
543
+ # })
544
+ #
545
+ # @example Response structure
546
+ #
547
+ # resp.execution_id #=> String
548
+ # resp.execution_status.completed_at #=> Time
549
+ # resp.execution_status.created_at #=> Time
550
+ # resp.execution_status.last_updated_at #=> Time
551
+ # resp.execution_status.status_code #=> String, one of "INITIATION_IN_PROCESS", "QUERY_QUEUED", "QUERY_IN_PROCESS", "QUERY_FAILURE", "DELIVERY_IN_PROCESS", "DELIVERY_SUCCESS", "DELIVERY_FAILURE"
552
+ # resp.execution_status.status_reason #=> String, one of "INSUFFICIENT_PERMISSION", "BILL_OWNER_CHANGED", "INTERNAL_FAILURE"
553
+ # resp.export.data_query.query_statement #=> String
554
+ # resp.export.data_query.table_configurations #=> Hash
555
+ # resp.export.data_query.table_configurations["TableName"] #=> Hash
556
+ # resp.export.data_query.table_configurations["TableName"]["TableProperty"] #=> String
557
+ # resp.export.description #=> String
558
+ # resp.export.destination_configurations.s3_destination.s3_bucket #=> String
559
+ # resp.export.destination_configurations.s3_destination.s3_output_configurations.compression #=> String, one of "GZIP", "PARQUET"
560
+ # resp.export.destination_configurations.s3_destination.s3_output_configurations.format #=> String, one of "TEXT_OR_CSV", "PARQUET"
561
+ # resp.export.destination_configurations.s3_destination.s3_output_configurations.output_type #=> String, one of "CUSTOM"
562
+ # resp.export.destination_configurations.s3_destination.s3_output_configurations.overwrite #=> String, one of "CREATE_NEW_REPORT", "OVERWRITE_REPORT"
563
+ # resp.export.destination_configurations.s3_destination.s3_prefix #=> String
564
+ # resp.export.destination_configurations.s3_destination.s3_region #=> String
565
+ # resp.export.export_arn #=> String
566
+ # resp.export.name #=> String
567
+ # resp.export.refresh_cadence.frequency #=> String, one of "SYNCHRONOUS"
568
+ #
569
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-data-exports-2023-11-26/GetExecution AWS API Documentation
570
+ #
571
+ # @overload get_execution(params = {})
572
+ # @param [Hash] params ({})
573
+ def get_execution(params = {}, options = {})
574
+ req = build_request(:get_execution, params)
575
+ req.send_request(options)
576
+ end
577
+
578
+ # Views the definition of an existing data export.
579
+ #
580
+ # @option params [required, String] :export_arn
581
+ # The Amazon Resource Name (ARN) for this export.
582
+ #
583
+ # @return [Types::GetExportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
584
+ #
585
+ # * {Types::GetExportResponse#export #export} => Types::Export
586
+ # * {Types::GetExportResponse#export_status #export_status} => Types::ExportStatus
587
+ #
588
+ # @example Request syntax with placeholder values
589
+ #
590
+ # resp = client.get_export({
591
+ # export_arn: "Arn", # required
592
+ # })
593
+ #
594
+ # @example Response structure
595
+ #
596
+ # resp.export.data_query.query_statement #=> String
597
+ # resp.export.data_query.table_configurations #=> Hash
598
+ # resp.export.data_query.table_configurations["TableName"] #=> Hash
599
+ # resp.export.data_query.table_configurations["TableName"]["TableProperty"] #=> String
600
+ # resp.export.description #=> String
601
+ # resp.export.destination_configurations.s3_destination.s3_bucket #=> String
602
+ # resp.export.destination_configurations.s3_destination.s3_output_configurations.compression #=> String, one of "GZIP", "PARQUET"
603
+ # resp.export.destination_configurations.s3_destination.s3_output_configurations.format #=> String, one of "TEXT_OR_CSV", "PARQUET"
604
+ # resp.export.destination_configurations.s3_destination.s3_output_configurations.output_type #=> String, one of "CUSTOM"
605
+ # resp.export.destination_configurations.s3_destination.s3_output_configurations.overwrite #=> String, one of "CREATE_NEW_REPORT", "OVERWRITE_REPORT"
606
+ # resp.export.destination_configurations.s3_destination.s3_prefix #=> String
607
+ # resp.export.destination_configurations.s3_destination.s3_region #=> String
608
+ # resp.export.export_arn #=> String
609
+ # resp.export.name #=> String
610
+ # resp.export.refresh_cadence.frequency #=> String, one of "SYNCHRONOUS"
611
+ # resp.export_status.created_at #=> Time
612
+ # resp.export_status.last_refreshed_at #=> Time
613
+ # resp.export_status.last_updated_at #=> Time
614
+ # resp.export_status.status_code #=> String, one of "HEALTHY", "UNHEALTHY"
615
+ # resp.export_status.status_reason #=> String, one of "INSUFFICIENT_PERMISSION", "BILL_OWNER_CHANGED", "INTERNAL_FAILURE"
616
+ #
617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-data-exports-2023-11-26/GetExport AWS API Documentation
618
+ #
619
+ # @overload get_export(params = {})
620
+ # @param [Hash] params ({})
621
+ def get_export(params = {}, options = {})
622
+ req = build_request(:get_export, params)
623
+ req.send_request(options)
624
+ end
625
+
626
+ # Returns the metadata for the specified table and table properties.
627
+ # This includes the list of columns in the table schema, their data
628
+ # types, and column descriptions.
629
+ #
630
+ # @option params [required, String] :table_name
631
+ # The name of the table.
632
+ #
633
+ # @option params [Hash<String,String>] :table_properties
634
+ # TableProperties are additional configurations you can provide to
635
+ # change the data and schema of a table. Each table can have different
636
+ # TableProperties. Tables are not required to have any TableProperties.
637
+ # Each table property has a default value that it assumes if not
638
+ # specified.
639
+ #
640
+ # @return [Types::GetTableResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
641
+ #
642
+ # * {Types::GetTableResponse#description #description} => String
643
+ # * {Types::GetTableResponse#schema #schema} => Array&lt;Types::Column&gt;
644
+ # * {Types::GetTableResponse#table_name #table_name} => String
645
+ # * {Types::GetTableResponse#table_properties #table_properties} => Hash&lt;String,String&gt;
646
+ #
647
+ # @example Request syntax with placeholder values
648
+ #
649
+ # resp = client.get_table({
650
+ # table_name: "TableName", # required
651
+ # table_properties: {
652
+ # "TableProperty" => "GenericString",
653
+ # },
654
+ # })
655
+ #
656
+ # @example Response structure
657
+ #
658
+ # resp.description #=> String
659
+ # resp.schema #=> Array
660
+ # resp.schema[0].description #=> String
661
+ # resp.schema[0].name #=> String
662
+ # resp.schema[0].type #=> String
663
+ # resp.table_name #=> String
664
+ # resp.table_properties #=> Hash
665
+ # resp.table_properties["TableProperty"] #=> String
666
+ #
667
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-data-exports-2023-11-26/GetTable AWS API Documentation
668
+ #
669
+ # @overload get_table(params = {})
670
+ # @param [Hash] params ({})
671
+ def get_table(params = {}, options = {})
672
+ req = build_request(:get_table, params)
673
+ req.send_request(options)
674
+ end
675
+
676
+ # Lists the historical executions for the export.
677
+ #
678
+ # @option params [required, String] :export_arn
679
+ # The Amazon Resource Name (ARN) for this export.
680
+ #
681
+ # @option params [Integer] :max_results
682
+ # The maximum number of objects that are returned for the request.
683
+ #
684
+ # @option params [String] :next_token
685
+ # The token to retrieve the next set of results.
686
+ #
687
+ # @return [Types::ListExecutionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
688
+ #
689
+ # * {Types::ListExecutionsResponse#executions #executions} => Array&lt;Types::ExecutionReference&gt;
690
+ # * {Types::ListExecutionsResponse#next_token #next_token} => String
691
+ #
692
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
693
+ #
694
+ # @example Request syntax with placeholder values
695
+ #
696
+ # resp = client.list_executions({
697
+ # export_arn: "Arn", # required
698
+ # max_results: 1,
699
+ # next_token: "NextPageToken",
700
+ # })
701
+ #
702
+ # @example Response structure
703
+ #
704
+ # resp.executions #=> Array
705
+ # resp.executions[0].execution_id #=> String
706
+ # resp.executions[0].execution_status.completed_at #=> Time
707
+ # resp.executions[0].execution_status.created_at #=> Time
708
+ # resp.executions[0].execution_status.last_updated_at #=> Time
709
+ # resp.executions[0].execution_status.status_code #=> String, one of "INITIATION_IN_PROCESS", "QUERY_QUEUED", "QUERY_IN_PROCESS", "QUERY_FAILURE", "DELIVERY_IN_PROCESS", "DELIVERY_SUCCESS", "DELIVERY_FAILURE"
710
+ # resp.executions[0].execution_status.status_reason #=> String, one of "INSUFFICIENT_PERMISSION", "BILL_OWNER_CHANGED", "INTERNAL_FAILURE"
711
+ # resp.next_token #=> String
712
+ #
713
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-data-exports-2023-11-26/ListExecutions AWS API Documentation
714
+ #
715
+ # @overload list_executions(params = {})
716
+ # @param [Hash] params ({})
717
+ def list_executions(params = {}, options = {})
718
+ req = build_request(:list_executions, params)
719
+ req.send_request(options)
720
+ end
721
+
722
+ # Lists all data export definitions.
723
+ #
724
+ # @option params [Integer] :max_results
725
+ # The maximum number of objects that are returned for the request.
726
+ #
727
+ # @option params [String] :next_token
728
+ # The token to retrieve the next set of results.
729
+ #
730
+ # @return [Types::ListExportsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
731
+ #
732
+ # * {Types::ListExportsResponse#exports #exports} => Array&lt;Types::ExportReference&gt;
733
+ # * {Types::ListExportsResponse#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_exports({
740
+ # max_results: 1,
741
+ # next_token: "NextPageToken",
742
+ # })
743
+ #
744
+ # @example Response structure
745
+ #
746
+ # resp.exports #=> Array
747
+ # resp.exports[0].export_arn #=> String
748
+ # resp.exports[0].export_name #=> String
749
+ # resp.exports[0].export_status.created_at #=> Time
750
+ # resp.exports[0].export_status.last_refreshed_at #=> Time
751
+ # resp.exports[0].export_status.last_updated_at #=> Time
752
+ # resp.exports[0].export_status.status_code #=> String, one of "HEALTHY", "UNHEALTHY"
753
+ # resp.exports[0].export_status.status_reason #=> String, one of "INSUFFICIENT_PERMISSION", "BILL_OWNER_CHANGED", "INTERNAL_FAILURE"
754
+ # resp.next_token #=> String
755
+ #
756
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-data-exports-2023-11-26/ListExports AWS API Documentation
757
+ #
758
+ # @overload list_exports(params = {})
759
+ # @param [Hash] params ({})
760
+ def list_exports(params = {}, options = {})
761
+ req = build_request(:list_exports, params)
762
+ req.send_request(options)
763
+ end
764
+
765
+ # Lists all available tables in data exports.
766
+ #
767
+ # @option params [Integer] :max_results
768
+ # The maximum number of objects that are returned for the request.
769
+ #
770
+ # @option params [String] :next_token
771
+ # The token to retrieve the next set of results.
772
+ #
773
+ # @return [Types::ListTablesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
774
+ #
775
+ # * {Types::ListTablesResponse#next_token #next_token} => String
776
+ # * {Types::ListTablesResponse#tables #tables} => Array&lt;Types::Table&gt;
777
+ #
778
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
779
+ #
780
+ # @example Request syntax with placeholder values
781
+ #
782
+ # resp = client.list_tables({
783
+ # max_results: 1,
784
+ # next_token: "NextPageToken",
785
+ # })
786
+ #
787
+ # @example Response structure
788
+ #
789
+ # resp.next_token #=> String
790
+ # resp.tables #=> Array
791
+ # resp.tables[0].description #=> String
792
+ # resp.tables[0].table_name #=> String
793
+ # resp.tables[0].table_properties #=> Array
794
+ # resp.tables[0].table_properties[0].default_value #=> String
795
+ # resp.tables[0].table_properties[0].description #=> String
796
+ # resp.tables[0].table_properties[0].name #=> String
797
+ # resp.tables[0].table_properties[0].valid_values #=> Array
798
+ # resp.tables[0].table_properties[0].valid_values[0] #=> String
799
+ #
800
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-data-exports-2023-11-26/ListTables AWS API Documentation
801
+ #
802
+ # @overload list_tables(params = {})
803
+ # @param [Hash] params ({})
804
+ def list_tables(params = {}, options = {})
805
+ req = build_request(:list_tables, params)
806
+ req.send_request(options)
807
+ end
808
+
809
+ # List tags associated with an existing data export.
810
+ #
811
+ # @option params [Integer] :max_results
812
+ # The maximum number of objects that are returned for the request.
813
+ #
814
+ # @option params [String] :next_token
815
+ # The token to retrieve the next set of results.
816
+ #
817
+ # @option params [required, String] :resource_arn
818
+ # The unique identifier for the resource.
819
+ #
820
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
821
+ #
822
+ # * {Types::ListTagsForResourceResponse#next_token #next_token} => String
823
+ # * {Types::ListTagsForResourceResponse#resource_tags #resource_tags} => Array&lt;Types::ResourceTag&gt;
824
+ #
825
+ # @example Request syntax with placeholder values
826
+ #
827
+ # resp = client.list_tags_for_resource({
828
+ # max_results: 1,
829
+ # next_token: "NextPageToken",
830
+ # resource_arn: "Arn", # required
831
+ # })
832
+ #
833
+ # @example Response structure
834
+ #
835
+ # resp.next_token #=> String
836
+ # resp.resource_tags #=> Array
837
+ # resp.resource_tags[0].key #=> String
838
+ # resp.resource_tags[0].value #=> String
839
+ #
840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-data-exports-2023-11-26/ListTagsForResource AWS API Documentation
841
+ #
842
+ # @overload list_tags_for_resource(params = {})
843
+ # @param [Hash] params ({})
844
+ def list_tags_for_resource(params = {}, options = {})
845
+ req = build_request(:list_tags_for_resource, params)
846
+ req.send_request(options)
847
+ end
848
+
849
+ # Adds tags for an existing data export definition.
850
+ #
851
+ # @option params [required, String] :resource_arn
852
+ # The unique identifier for the resource.
853
+ #
854
+ # @option params [required, Array<Types::ResourceTag>] :resource_tags
855
+ # The tags to associate with the resource. Each tag consists of a key
856
+ # and a value, and each key must be unique for the resource.
857
+ #
858
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
859
+ #
860
+ # @example Request syntax with placeholder values
861
+ #
862
+ # resp = client.tag_resource({
863
+ # resource_arn: "Arn", # required
864
+ # resource_tags: [ # required
865
+ # {
866
+ # key: "ResourceTagKey", # required
867
+ # value: "ResourceTagValue", # required
868
+ # },
869
+ # ],
870
+ # })
871
+ #
872
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-data-exports-2023-11-26/TagResource AWS API Documentation
873
+ #
874
+ # @overload tag_resource(params = {})
875
+ # @param [Hash] params ({})
876
+ def tag_resource(params = {}, options = {})
877
+ req = build_request(:tag_resource, params)
878
+ req.send_request(options)
879
+ end
880
+
881
+ # Deletes tags associated with an existing data export definition.
882
+ #
883
+ # @option params [required, String] :resource_arn
884
+ # The unique identifier for the resource.
885
+ #
886
+ # @option params [required, Array<String>] :resource_tag_keys
887
+ # The tag keys that are associated with the resource ARN.
888
+ #
889
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
890
+ #
891
+ # @example Request syntax with placeholder values
892
+ #
893
+ # resp = client.untag_resource({
894
+ # resource_arn: "Arn", # required
895
+ # resource_tag_keys: ["ResourceTagKey"], # required
896
+ # })
897
+ #
898
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-data-exports-2023-11-26/UntagResource AWS API Documentation
899
+ #
900
+ # @overload untag_resource(params = {})
901
+ # @param [Hash] params ({})
902
+ def untag_resource(params = {}, options = {})
903
+ req = build_request(:untag_resource, params)
904
+ req.send_request(options)
905
+ end
906
+
907
+ # Updates an existing data export by overwriting all export parameters.
908
+ # All export parameters must be provided in the UpdateExport request.
909
+ #
910
+ # @option params [required, Types::Export] :export
911
+ # The name and query details for the export.
912
+ #
913
+ # @option params [required, String] :export_arn
914
+ # The Amazon Resource Name (ARN) for this export.
915
+ #
916
+ # @return [Types::UpdateExportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
917
+ #
918
+ # * {Types::UpdateExportResponse#export_arn #export_arn} => String
919
+ #
920
+ # @example Request syntax with placeholder values
921
+ #
922
+ # resp = client.update_export({
923
+ # export: { # required
924
+ # data_query: { # required
925
+ # query_statement: "QueryStatement", # required
926
+ # table_configurations: {
927
+ # "TableName" => {
928
+ # "TableProperty" => "GenericString",
929
+ # },
930
+ # },
931
+ # },
932
+ # description: "GenericString",
933
+ # destination_configurations: { # required
934
+ # s3_destination: { # required
935
+ # s3_bucket: "GenericString", # required
936
+ # s3_output_configurations: { # required
937
+ # compression: "GZIP", # required, accepts GZIP, PARQUET
938
+ # format: "TEXT_OR_CSV", # required, accepts TEXT_OR_CSV, PARQUET
939
+ # output_type: "CUSTOM", # required, accepts CUSTOM
940
+ # overwrite: "CREATE_NEW_REPORT", # required, accepts CREATE_NEW_REPORT, OVERWRITE_REPORT
941
+ # },
942
+ # s3_prefix: "GenericString", # required
943
+ # s3_region: "GenericString", # required
944
+ # },
945
+ # },
946
+ # export_arn: "Arn",
947
+ # name: "ExportName", # required
948
+ # refresh_cadence: { # required
949
+ # frequency: "SYNCHRONOUS", # required, accepts SYNCHRONOUS
950
+ # },
951
+ # },
952
+ # export_arn: "Arn", # required
953
+ # })
954
+ #
955
+ # @example Response structure
956
+ #
957
+ # resp.export_arn #=> String
958
+ #
959
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bcm-data-exports-2023-11-26/UpdateExport AWS API Documentation
960
+ #
961
+ # @overload update_export(params = {})
962
+ # @param [Hash] params ({})
963
+ def update_export(params = {}, options = {})
964
+ req = build_request(:update_export, params)
965
+ req.send_request(options)
966
+ end
967
+
968
+ # @!endgroup
969
+
970
+ # @param params ({})
971
+ # @api private
972
+ def build_request(operation_name, params = {})
973
+ handlers = @handlers.for(operation_name)
974
+ context = Seahorse::Client::RequestContext.new(
975
+ operation_name: operation_name,
976
+ operation: config.api.operation(operation_name),
977
+ client: self,
978
+ params: params,
979
+ config: config)
980
+ context[:gem_name] = 'aws-sdk-bcmdataexports'
981
+ context[:gem_version] = '1.0.0'
982
+ Seahorse::Client::Request.new(handlers, context)
983
+ end
984
+
985
+ # @api private
986
+ # @deprecated
987
+ def waiter_names
988
+ []
989
+ end
990
+
991
+ class << self
992
+
993
+ # @api private
994
+ attr_reader :identifier
995
+
996
+ # @api private
997
+ def errors_module
998
+ Errors
999
+ end
1000
+
1001
+ end
1002
+ end
1003
+ end