aws-sdk-s3tables 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,1508 @@
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::S3Tables
40
+ # An API client for S3Tables. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::S3Tables::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 = :s3tables
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::S3Tables::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::S3Tables::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::S3Tables::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
+ # Creates a namespace. A namespace is a logical grouping of tables
451
+ # within your table bucket, which you can use to organize tables. For
452
+ # more information, see [Table namespaces][1].
453
+ #
454
+ #
455
+ #
456
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-namespace.html
457
+ #
458
+ # @option params [required, String] :table_bucket_arn
459
+ # The Amazon Resource Name (ARN) of the table bucket to create the
460
+ # namespace in.
461
+ #
462
+ # @option params [required, Array<String>] :namespace
463
+ # A name for the namespace.
464
+ #
465
+ # @return [Types::CreateNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
466
+ #
467
+ # * {Types::CreateNamespaceResponse#table_bucket_arn #table_bucket_arn} => String
468
+ # * {Types::CreateNamespaceResponse#namespace #namespace} => Array&lt;String&gt;
469
+ #
470
+ # @example Request syntax with placeholder values
471
+ #
472
+ # resp = client.create_namespace({
473
+ # table_bucket_arn: "TableBucketARN", # required
474
+ # namespace: ["NamespaceName"], # required
475
+ # })
476
+ #
477
+ # @example Response structure
478
+ #
479
+ # resp.table_bucket_arn #=> String
480
+ # resp.namespace #=> Array
481
+ # resp.namespace[0] #=> String
482
+ #
483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/CreateNamespace AWS API Documentation
484
+ #
485
+ # @overload create_namespace(params = {})
486
+ # @param [Hash] params ({})
487
+ def create_namespace(params = {}, options = {})
488
+ req = build_request(:create_namespace, params)
489
+ req.send_request(options)
490
+ end
491
+
492
+ # Creates a new table associated with the given namespace in a table
493
+ # bucket.
494
+ #
495
+ # @option params [required, String] :table_bucket_arn
496
+ # The Amazon Resource Name (ARN) of the table bucket to create the table
497
+ # in.
498
+ #
499
+ # @option params [required, String] :namespace
500
+ # The namespace to associated with the table.
501
+ #
502
+ # @option params [required, String] :name
503
+ # The name for the table.
504
+ #
505
+ # @option params [required, String] :format
506
+ # The format for the table.
507
+ #
508
+ # @return [Types::CreateTableResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
509
+ #
510
+ # * {Types::CreateTableResponse#table_arn #table_arn} => String
511
+ # * {Types::CreateTableResponse#version_token #version_token} => String
512
+ #
513
+ # @example Request syntax with placeholder values
514
+ #
515
+ # resp = client.create_table({
516
+ # table_bucket_arn: "TableBucketARN", # required
517
+ # namespace: "NamespaceName", # required
518
+ # name: "TableName", # required
519
+ # format: "ICEBERG", # required, accepts ICEBERG
520
+ # })
521
+ #
522
+ # @example Response structure
523
+ #
524
+ # resp.table_arn #=> String
525
+ # resp.version_token #=> String
526
+ #
527
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/CreateTable AWS API Documentation
528
+ #
529
+ # @overload create_table(params = {})
530
+ # @param [Hash] params ({})
531
+ def create_table(params = {}, options = {})
532
+ req = build_request(:create_table, params)
533
+ req.send_request(options)
534
+ end
535
+
536
+ # Creates a table bucket.
537
+ #
538
+ # @option params [required, String] :name
539
+ # The name for the table bucket.
540
+ #
541
+ # @return [Types::CreateTableBucketResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
542
+ #
543
+ # * {Types::CreateTableBucketResponse#arn #arn} => String
544
+ #
545
+ # @example Request syntax with placeholder values
546
+ #
547
+ # resp = client.create_table_bucket({
548
+ # name: "TableBucketName", # required
549
+ # })
550
+ #
551
+ # @example Response structure
552
+ #
553
+ # resp.arn #=> String
554
+ #
555
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/CreateTableBucket AWS API Documentation
556
+ #
557
+ # @overload create_table_bucket(params = {})
558
+ # @param [Hash] params ({})
559
+ def create_table_bucket(params = {}, options = {})
560
+ req = build_request(:create_table_bucket, params)
561
+ req.send_request(options)
562
+ end
563
+
564
+ # Deletes a namespace.
565
+ #
566
+ # @option params [required, String] :table_bucket_arn
567
+ # The Amazon Resource Name (ARN) of the table bucket associated with the
568
+ # namespace.
569
+ #
570
+ # @option params [required, String] :namespace
571
+ # The name of the namespace.
572
+ #
573
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
574
+ #
575
+ # @example Request syntax with placeholder values
576
+ #
577
+ # resp = client.delete_namespace({
578
+ # table_bucket_arn: "TableBucketARN", # required
579
+ # namespace: "NamespaceName", # required
580
+ # })
581
+ #
582
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/DeleteNamespace AWS API Documentation
583
+ #
584
+ # @overload delete_namespace(params = {})
585
+ # @param [Hash] params ({})
586
+ def delete_namespace(params = {}, options = {})
587
+ req = build_request(:delete_namespace, params)
588
+ req.send_request(options)
589
+ end
590
+
591
+ # Deletes a table.
592
+ #
593
+ # @option params [required, String] :table_bucket_arn
594
+ # The Amazon Resource Name (ARN) of the table bucket that contains the
595
+ # table.
596
+ #
597
+ # @option params [required, String] :namespace
598
+ # The namespace associated with the table.
599
+ #
600
+ # @option params [required, String] :name
601
+ # The name of the table.
602
+ #
603
+ # @option params [String] :version_token
604
+ # The version token of the table.
605
+ #
606
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
607
+ #
608
+ # @example Request syntax with placeholder values
609
+ #
610
+ # resp = client.delete_table({
611
+ # table_bucket_arn: "TableBucketARN", # required
612
+ # namespace: "NamespaceName", # required
613
+ # name: "TableName", # required
614
+ # version_token: "VersionToken",
615
+ # })
616
+ #
617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/DeleteTable AWS API Documentation
618
+ #
619
+ # @overload delete_table(params = {})
620
+ # @param [Hash] params ({})
621
+ def delete_table(params = {}, options = {})
622
+ req = build_request(:delete_table, params)
623
+ req.send_request(options)
624
+ end
625
+
626
+ # Deletes a table bucket.
627
+ #
628
+ # @option params [required, String] :table_bucket_arn
629
+ # The Amazon Resource Name (ARN) of the table bucket.
630
+ #
631
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
632
+ #
633
+ # @example Request syntax with placeholder values
634
+ #
635
+ # resp = client.delete_table_bucket({
636
+ # table_bucket_arn: "TableBucketARN", # required
637
+ # })
638
+ #
639
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/DeleteTableBucket AWS API Documentation
640
+ #
641
+ # @overload delete_table_bucket(params = {})
642
+ # @param [Hash] params ({})
643
+ def delete_table_bucket(params = {}, options = {})
644
+ req = build_request(:delete_table_bucket, params)
645
+ req.send_request(options)
646
+ end
647
+
648
+ # Deletes a table bucket policy.
649
+ #
650
+ # @option params [required, String] :table_bucket_arn
651
+ # The Amazon Resource Number (ARN) of the table bucket.
652
+ #
653
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
654
+ #
655
+ # @example Request syntax with placeholder values
656
+ #
657
+ # resp = client.delete_table_bucket_policy({
658
+ # table_bucket_arn: "TableBucketARN", # required
659
+ # })
660
+ #
661
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/DeleteTableBucketPolicy AWS API Documentation
662
+ #
663
+ # @overload delete_table_bucket_policy(params = {})
664
+ # @param [Hash] params ({})
665
+ def delete_table_bucket_policy(params = {}, options = {})
666
+ req = build_request(:delete_table_bucket_policy, params)
667
+ req.send_request(options)
668
+ end
669
+
670
+ # Deletes a table policy.
671
+ #
672
+ # @option params [required, String] :table_bucket_arn
673
+ # The Amazon Resource Number (ARN) of the table bucket that contains the
674
+ # table.
675
+ #
676
+ # @option params [required, String] :namespace
677
+ # The namespace associated with the table.
678
+ #
679
+ # @option params [required, String] :name
680
+ # The table name.
681
+ #
682
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
683
+ #
684
+ # @example Request syntax with placeholder values
685
+ #
686
+ # resp = client.delete_table_policy({
687
+ # table_bucket_arn: "TableBucketARN", # required
688
+ # namespace: "NamespaceName", # required
689
+ # name: "TableName", # required
690
+ # })
691
+ #
692
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/DeleteTablePolicy AWS API Documentation
693
+ #
694
+ # @overload delete_table_policy(params = {})
695
+ # @param [Hash] params ({})
696
+ def delete_table_policy(params = {}, options = {})
697
+ req = build_request(:delete_table_policy, params)
698
+ req.send_request(options)
699
+ end
700
+
701
+ # Gets details about a namespace.
702
+ #
703
+ # @option params [required, String] :table_bucket_arn
704
+ # The Amazon Resource Name (ARN) of the table bucket.
705
+ #
706
+ # @option params [required, String] :namespace
707
+ # The name of the namespace.
708
+ #
709
+ # @return [Types::GetNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
710
+ #
711
+ # * {Types::GetNamespaceResponse#namespace #namespace} => Array&lt;String&gt;
712
+ # * {Types::GetNamespaceResponse#created_at #created_at} => Time
713
+ # * {Types::GetNamespaceResponse#created_by #created_by} => String
714
+ # * {Types::GetNamespaceResponse#owner_account_id #owner_account_id} => String
715
+ #
716
+ # @example Request syntax with placeholder values
717
+ #
718
+ # resp = client.get_namespace({
719
+ # table_bucket_arn: "TableBucketARN", # required
720
+ # namespace: "NamespaceName", # required
721
+ # })
722
+ #
723
+ # @example Response structure
724
+ #
725
+ # resp.namespace #=> Array
726
+ # resp.namespace[0] #=> String
727
+ # resp.created_at #=> Time
728
+ # resp.created_by #=> String
729
+ # resp.owner_account_id #=> String
730
+ #
731
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetNamespace AWS API Documentation
732
+ #
733
+ # @overload get_namespace(params = {})
734
+ # @param [Hash] params ({})
735
+ def get_namespace(params = {}, options = {})
736
+ req = build_request(:get_namespace, params)
737
+ req.send_request(options)
738
+ end
739
+
740
+ # Gets details about a table.
741
+ #
742
+ # @option params [required, String] :table_bucket_arn
743
+ # The Amazon Resource Name (ARN) of the table bucket associated with the
744
+ # table.
745
+ #
746
+ # @option params [required, String] :namespace
747
+ # The name of the namespace the table is associated with.
748
+ #
749
+ # @option params [required, String] :name
750
+ # The name of the table.
751
+ #
752
+ # @return [Types::GetTableResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
753
+ #
754
+ # * {Types::GetTableResponse#name #name} => String
755
+ # * {Types::GetTableResponse#type #type} => String
756
+ # * {Types::GetTableResponse#table_arn #table_arn} => String
757
+ # * {Types::GetTableResponse#namespace #namespace} => Array&lt;String&gt;
758
+ # * {Types::GetTableResponse#version_token #version_token} => String
759
+ # * {Types::GetTableResponse#metadata_location #metadata_location} => String
760
+ # * {Types::GetTableResponse#warehouse_location #warehouse_location} => String
761
+ # * {Types::GetTableResponse#created_at #created_at} => Time
762
+ # * {Types::GetTableResponse#created_by #created_by} => String
763
+ # * {Types::GetTableResponse#managed_by_service #managed_by_service} => String
764
+ # * {Types::GetTableResponse#modified_at #modified_at} => Time
765
+ # * {Types::GetTableResponse#modified_by #modified_by} => String
766
+ # * {Types::GetTableResponse#owner_account_id #owner_account_id} => String
767
+ # * {Types::GetTableResponse#format #format} => String
768
+ #
769
+ # @example Request syntax with placeholder values
770
+ #
771
+ # resp = client.get_table({
772
+ # table_bucket_arn: "TableBucketARN", # required
773
+ # namespace: "NamespaceName", # required
774
+ # name: "TableName", # required
775
+ # })
776
+ #
777
+ # @example Response structure
778
+ #
779
+ # resp.name #=> String
780
+ # resp.type #=> String, one of "customer", "aws"
781
+ # resp.table_arn #=> String
782
+ # resp.namespace #=> Array
783
+ # resp.namespace[0] #=> String
784
+ # resp.version_token #=> String
785
+ # resp.metadata_location #=> String
786
+ # resp.warehouse_location #=> String
787
+ # resp.created_at #=> Time
788
+ # resp.created_by #=> String
789
+ # resp.managed_by_service #=> String
790
+ # resp.modified_at #=> Time
791
+ # resp.modified_by #=> String
792
+ # resp.owner_account_id #=> String
793
+ # resp.format #=> String, one of "ICEBERG"
794
+ #
795
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTable AWS API Documentation
796
+ #
797
+ # @overload get_table(params = {})
798
+ # @param [Hash] params ({})
799
+ def get_table(params = {}, options = {})
800
+ req = build_request(:get_table, params)
801
+ req.send_request(options)
802
+ end
803
+
804
+ # Gets details on a table bucket.
805
+ #
806
+ # @option params [required, String] :table_bucket_arn
807
+ # The Amazon Resource Name (ARN) of the table bucket.
808
+ #
809
+ # @return [Types::GetTableBucketResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
810
+ #
811
+ # * {Types::GetTableBucketResponse#arn #arn} => String
812
+ # * {Types::GetTableBucketResponse#name #name} => String
813
+ # * {Types::GetTableBucketResponse#owner_account_id #owner_account_id} => String
814
+ # * {Types::GetTableBucketResponse#created_at #created_at} => Time
815
+ #
816
+ # @example Request syntax with placeholder values
817
+ #
818
+ # resp = client.get_table_bucket({
819
+ # table_bucket_arn: "TableBucketARN", # required
820
+ # })
821
+ #
822
+ # @example Response structure
823
+ #
824
+ # resp.arn #=> String
825
+ # resp.name #=> String
826
+ # resp.owner_account_id #=> String
827
+ # resp.created_at #=> Time
828
+ #
829
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableBucket AWS API Documentation
830
+ #
831
+ # @overload get_table_bucket(params = {})
832
+ # @param [Hash] params ({})
833
+ def get_table_bucket(params = {}, options = {})
834
+ req = build_request(:get_table_bucket, params)
835
+ req.send_request(options)
836
+ end
837
+
838
+ # Gets details about a maintenance configuration for a given table
839
+ # bucket.
840
+ #
841
+ # @option params [required, String] :table_bucket_arn
842
+ # The Amazon Resource Name (ARN) of the table bucket associated with the
843
+ # maintenance configuration.
844
+ #
845
+ # @return [Types::GetTableBucketMaintenanceConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
846
+ #
847
+ # * {Types::GetTableBucketMaintenanceConfigurationResponse#table_bucket_arn #table_bucket_arn} => String
848
+ # * {Types::GetTableBucketMaintenanceConfigurationResponse#configuration #configuration} => Hash&lt;String,Types::TableBucketMaintenanceConfigurationValue&gt;
849
+ #
850
+ # @example Request syntax with placeholder values
851
+ #
852
+ # resp = client.get_table_bucket_maintenance_configuration({
853
+ # table_bucket_arn: "TableBucketARN", # required
854
+ # })
855
+ #
856
+ # @example Response structure
857
+ #
858
+ # resp.table_bucket_arn #=> String
859
+ # resp.configuration #=> Hash
860
+ # resp.configuration["TableBucketMaintenanceType"].status #=> String, one of "enabled", "disabled"
861
+ # resp.configuration["TableBucketMaintenanceType"].settings.iceberg_unreferenced_file_removal.unreferenced_days #=> Integer
862
+ # resp.configuration["TableBucketMaintenanceType"].settings.iceberg_unreferenced_file_removal.non_current_days #=> Integer
863
+ #
864
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableBucketMaintenanceConfiguration AWS API Documentation
865
+ #
866
+ # @overload get_table_bucket_maintenance_configuration(params = {})
867
+ # @param [Hash] params ({})
868
+ def get_table_bucket_maintenance_configuration(params = {}, options = {})
869
+ req = build_request(:get_table_bucket_maintenance_configuration, params)
870
+ req.send_request(options)
871
+ end
872
+
873
+ # Gets details about a table bucket policy.
874
+ #
875
+ # @option params [required, String] :table_bucket_arn
876
+ # The Amazon Resource Number (ARN) of the table bucket.
877
+ #
878
+ # @return [Types::GetTableBucketPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
879
+ #
880
+ # * {Types::GetTableBucketPolicyResponse#resource_policy #resource_policy} => String
881
+ #
882
+ # @example Request syntax with placeholder values
883
+ #
884
+ # resp = client.get_table_bucket_policy({
885
+ # table_bucket_arn: "TableBucketARN", # required
886
+ # })
887
+ #
888
+ # @example Response structure
889
+ #
890
+ # resp.resource_policy #=> String
891
+ #
892
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableBucketPolicy AWS API Documentation
893
+ #
894
+ # @overload get_table_bucket_policy(params = {})
895
+ # @param [Hash] params ({})
896
+ def get_table_bucket_policy(params = {}, options = {})
897
+ req = build_request(:get_table_bucket_policy, params)
898
+ req.send_request(options)
899
+ end
900
+
901
+ # Gets details about the maintenance configuration of a table.
902
+ #
903
+ # @option params [required, String] :table_bucket_arn
904
+ # The Amazon Resource Name (ARN) of the table bucket.
905
+ #
906
+ # @option params [required, String] :namespace
907
+ # The namespace associated with the table.
908
+ #
909
+ # @option params [required, String] :name
910
+ # The name of the table.
911
+ #
912
+ # @return [Types::GetTableMaintenanceConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
913
+ #
914
+ # * {Types::GetTableMaintenanceConfigurationResponse#table_arn #table_arn} => String
915
+ # * {Types::GetTableMaintenanceConfigurationResponse#configuration #configuration} => Hash&lt;String,Types::TableMaintenanceConfigurationValue&gt;
916
+ #
917
+ # @example Request syntax with placeholder values
918
+ #
919
+ # resp = client.get_table_maintenance_configuration({
920
+ # table_bucket_arn: "TableBucketARN", # required
921
+ # namespace: "NamespaceName", # required
922
+ # name: "TableName", # required
923
+ # })
924
+ #
925
+ # @example Response structure
926
+ #
927
+ # resp.table_arn #=> String
928
+ # resp.configuration #=> Hash
929
+ # resp.configuration["TableMaintenanceType"].status #=> String, one of "enabled", "disabled"
930
+ # resp.configuration["TableMaintenanceType"].settings.iceberg_compaction.target_file_size_mb #=> Integer
931
+ # resp.configuration["TableMaintenanceType"].settings.iceberg_snapshot_management.min_snapshots_to_keep #=> Integer
932
+ # resp.configuration["TableMaintenanceType"].settings.iceberg_snapshot_management.max_snapshot_age_hours #=> Integer
933
+ #
934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableMaintenanceConfiguration AWS API Documentation
935
+ #
936
+ # @overload get_table_maintenance_configuration(params = {})
937
+ # @param [Hash] params ({})
938
+ def get_table_maintenance_configuration(params = {}, options = {})
939
+ req = build_request(:get_table_maintenance_configuration, params)
940
+ req.send_request(options)
941
+ end
942
+
943
+ # Gets the status of a maintenance job for a table.
944
+ #
945
+ # @option params [required, String] :table_bucket_arn
946
+ # The Amazon Resource Name (ARN) of the table bucket.
947
+ #
948
+ # @option params [required, String] :namespace
949
+ # The name of the namespace the table is associated with. </p>
950
+ #
951
+ # @option params [required, String] :name
952
+ # The name of the maintenance job.
953
+ #
954
+ # @return [Types::GetTableMaintenanceJobStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
955
+ #
956
+ # * {Types::GetTableMaintenanceJobStatusResponse#table_arn #table_arn} => String
957
+ # * {Types::GetTableMaintenanceJobStatusResponse#status #status} => Hash&lt;String,Types::TableMaintenanceJobStatusValue&gt;
958
+ #
959
+ # @example Request syntax with placeholder values
960
+ #
961
+ # resp = client.get_table_maintenance_job_status({
962
+ # table_bucket_arn: "TableBucketARN", # required
963
+ # namespace: "NamespaceName", # required
964
+ # name: "TableName", # required
965
+ # })
966
+ #
967
+ # @example Response structure
968
+ #
969
+ # resp.table_arn #=> String
970
+ # resp.status #=> Hash
971
+ # resp.status["TableMaintenanceJobType"].status #=> String, one of "Not_Yet_Run", "Successful", "Failed", "Disabled"
972
+ # resp.status["TableMaintenanceJobType"].last_run_timestamp #=> Time
973
+ # resp.status["TableMaintenanceJobType"].failure_message #=> String
974
+ #
975
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableMaintenanceJobStatus AWS API Documentation
976
+ #
977
+ # @overload get_table_maintenance_job_status(params = {})
978
+ # @param [Hash] params ({})
979
+ def get_table_maintenance_job_status(params = {}, options = {})
980
+ req = build_request(:get_table_maintenance_job_status, params)
981
+ req.send_request(options)
982
+ end
983
+
984
+ # Gets the location of the table metadata.
985
+ #
986
+ # @option params [required, String] :table_bucket_arn
987
+ # The Amazon Resource Name (ARN) of the table bucket.
988
+ #
989
+ # @option params [required, String] :namespace
990
+ # The namespace of the table.
991
+ #
992
+ # @option params [required, String] :name
993
+ # The name of the table.
994
+ #
995
+ # @return [Types::GetTableMetadataLocationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
996
+ #
997
+ # * {Types::GetTableMetadataLocationResponse#version_token #version_token} => String
998
+ # * {Types::GetTableMetadataLocationResponse#metadata_location #metadata_location} => String
999
+ # * {Types::GetTableMetadataLocationResponse#warehouse_location #warehouse_location} => String
1000
+ #
1001
+ # @example Request syntax with placeholder values
1002
+ #
1003
+ # resp = client.get_table_metadata_location({
1004
+ # table_bucket_arn: "TableBucketARN", # required
1005
+ # namespace: "NamespaceName", # required
1006
+ # name: "TableName", # required
1007
+ # })
1008
+ #
1009
+ # @example Response structure
1010
+ #
1011
+ # resp.version_token #=> String
1012
+ # resp.metadata_location #=> String
1013
+ # resp.warehouse_location #=> String
1014
+ #
1015
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableMetadataLocation AWS API Documentation
1016
+ #
1017
+ # @overload get_table_metadata_location(params = {})
1018
+ # @param [Hash] params ({})
1019
+ def get_table_metadata_location(params = {}, options = {})
1020
+ req = build_request(:get_table_metadata_location, params)
1021
+ req.send_request(options)
1022
+ end
1023
+
1024
+ # Gets details about a table policy.
1025
+ #
1026
+ # @option params [required, String] :table_bucket_arn
1027
+ # The Amazon Resource Number (ARN) of the table bucket that contains the
1028
+ # table.
1029
+ #
1030
+ # @option params [required, String] :namespace
1031
+ # The namespace associated with the table.
1032
+ #
1033
+ # @option params [required, String] :name
1034
+ # The name of the table.
1035
+ #
1036
+ # @return [Types::GetTablePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1037
+ #
1038
+ # * {Types::GetTablePolicyResponse#resource_policy #resource_policy} => String
1039
+ #
1040
+ # @example Request syntax with placeholder values
1041
+ #
1042
+ # resp = client.get_table_policy({
1043
+ # table_bucket_arn: "TableBucketARN", # required
1044
+ # namespace: "NamespaceName", # required
1045
+ # name: "TableName", # required
1046
+ # })
1047
+ #
1048
+ # @example Response structure
1049
+ #
1050
+ # resp.resource_policy #=> String
1051
+ #
1052
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTablePolicy AWS API Documentation
1053
+ #
1054
+ # @overload get_table_policy(params = {})
1055
+ # @param [Hash] params ({})
1056
+ def get_table_policy(params = {}, options = {})
1057
+ req = build_request(:get_table_policy, params)
1058
+ req.send_request(options)
1059
+ end
1060
+
1061
+ # Lists the namespaces within a table bucket.
1062
+ #
1063
+ # @option params [required, String] :table_bucket_arn
1064
+ # The Amazon Resource Name (ARN) of the table bucket.
1065
+ #
1066
+ # @option params [String] :prefix
1067
+ # The prefix of the namespaces.
1068
+ #
1069
+ # @option params [String] :continuation_token
1070
+ # `ContinuationToken` indicates to Amazon S3 that the list is being
1071
+ # continued on this bucket with a token. `ContinuationToken` is
1072
+ # obfuscated and is not a real key. You can use this `ContinuationToken`
1073
+ # for pagination of the list results.
1074
+ #
1075
+ # @option params [Integer] :max_namespaces
1076
+ # The maximum number of namespaces to return in the list.
1077
+ #
1078
+ # @return [Types::ListNamespacesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1079
+ #
1080
+ # * {Types::ListNamespacesResponse#namespaces #namespaces} => Array&lt;Types::NamespaceSummary&gt;
1081
+ # * {Types::ListNamespacesResponse#continuation_token #continuation_token} => String
1082
+ #
1083
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1084
+ #
1085
+ # @example Request syntax with placeholder values
1086
+ #
1087
+ # resp = client.list_namespaces({
1088
+ # table_bucket_arn: "TableBucketARN", # required
1089
+ # prefix: "ListNamespacesRequestPrefixString",
1090
+ # continuation_token: "NextToken",
1091
+ # max_namespaces: 1,
1092
+ # })
1093
+ #
1094
+ # @example Response structure
1095
+ #
1096
+ # resp.namespaces #=> Array
1097
+ # resp.namespaces[0].namespace #=> Array
1098
+ # resp.namespaces[0].namespace[0] #=> String
1099
+ # resp.namespaces[0].created_at #=> Time
1100
+ # resp.namespaces[0].created_by #=> String
1101
+ # resp.namespaces[0].owner_account_id #=> String
1102
+ # resp.continuation_token #=> String
1103
+ #
1104
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/ListNamespaces AWS API Documentation
1105
+ #
1106
+ # @overload list_namespaces(params = {})
1107
+ # @param [Hash] params ({})
1108
+ def list_namespaces(params = {}, options = {})
1109
+ req = build_request(:list_namespaces, params)
1110
+ req.send_request(options)
1111
+ end
1112
+
1113
+ # Lists table buckets for your account.
1114
+ #
1115
+ # @option params [String] :prefix
1116
+ # The prefix of the table buckets.
1117
+ #
1118
+ # @option params [String] :continuation_token
1119
+ # `ContinuationToken` indicates to Amazon S3 that the list is being
1120
+ # continued on this bucket with a token. `ContinuationToken` is
1121
+ # obfuscated and is not a real key. You can use this `ContinuationToken`
1122
+ # for pagination of the list results.
1123
+ #
1124
+ # @option params [Integer] :max_buckets
1125
+ # The maximum number of table buckets to return in the list.
1126
+ #
1127
+ # @return [Types::ListTableBucketsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1128
+ #
1129
+ # * {Types::ListTableBucketsResponse#table_buckets #table_buckets} => Array&lt;Types::TableBucketSummary&gt;
1130
+ # * {Types::ListTableBucketsResponse#continuation_token #continuation_token} => String
1131
+ #
1132
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1133
+ #
1134
+ # @example Request syntax with placeholder values
1135
+ #
1136
+ # resp = client.list_table_buckets({
1137
+ # prefix: "ListTableBucketsRequestPrefixString",
1138
+ # continuation_token: "NextToken",
1139
+ # max_buckets: 1,
1140
+ # })
1141
+ #
1142
+ # @example Response structure
1143
+ #
1144
+ # resp.table_buckets #=> Array
1145
+ # resp.table_buckets[0].arn #=> String
1146
+ # resp.table_buckets[0].name #=> String
1147
+ # resp.table_buckets[0].owner_account_id #=> String
1148
+ # resp.table_buckets[0].created_at #=> Time
1149
+ # resp.continuation_token #=> String
1150
+ #
1151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/ListTableBuckets AWS API Documentation
1152
+ #
1153
+ # @overload list_table_buckets(params = {})
1154
+ # @param [Hash] params ({})
1155
+ def list_table_buckets(params = {}, options = {})
1156
+ req = build_request(:list_table_buckets, params)
1157
+ req.send_request(options)
1158
+ end
1159
+
1160
+ # List tables in the given table bucket.
1161
+ #
1162
+ # @option params [required, String] :table_bucket_arn
1163
+ # The Amazon resource Number (ARN) of the table bucket.
1164
+ #
1165
+ # @option params [String] :namespace
1166
+ # The namespace of the tables.
1167
+ #
1168
+ # @option params [String] :prefix
1169
+ # The prefix of the tables.
1170
+ #
1171
+ # @option params [String] :continuation_token
1172
+ # `ContinuationToken` indicates to Amazon S3 that the list is being
1173
+ # continued on this bucket with a token. `ContinuationToken` is
1174
+ # obfuscated and is not a real key. You can use this `ContinuationToken`
1175
+ # for pagination of the list results.
1176
+ #
1177
+ # @option params [Integer] :max_tables
1178
+ # The maximum number of tables to return.
1179
+ #
1180
+ # @return [Types::ListTablesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1181
+ #
1182
+ # * {Types::ListTablesResponse#tables #tables} => Array&lt;Types::TableSummary&gt;
1183
+ # * {Types::ListTablesResponse#continuation_token #continuation_token} => String
1184
+ #
1185
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1186
+ #
1187
+ # @example Request syntax with placeholder values
1188
+ #
1189
+ # resp = client.list_tables({
1190
+ # table_bucket_arn: "TableBucketARN", # required
1191
+ # namespace: "NamespaceName",
1192
+ # prefix: "ListTablesRequestPrefixString",
1193
+ # continuation_token: "NextToken",
1194
+ # max_tables: 1,
1195
+ # })
1196
+ #
1197
+ # @example Response structure
1198
+ #
1199
+ # resp.tables #=> Array
1200
+ # resp.tables[0].namespace #=> Array
1201
+ # resp.tables[0].namespace[0] #=> String
1202
+ # resp.tables[0].name #=> String
1203
+ # resp.tables[0].type #=> String, one of "customer", "aws"
1204
+ # resp.tables[0].table_arn #=> String
1205
+ # resp.tables[0].created_at #=> Time
1206
+ # resp.tables[0].modified_at #=> Time
1207
+ # resp.continuation_token #=> String
1208
+ #
1209
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/ListTables AWS API Documentation
1210
+ #
1211
+ # @overload list_tables(params = {})
1212
+ # @param [Hash] params ({})
1213
+ def list_tables(params = {}, options = {})
1214
+ req = build_request(:list_tables, params)
1215
+ req.send_request(options)
1216
+ end
1217
+
1218
+ # Creates a new maintenance configuration or replaces an existing
1219
+ # maintenance configuration for a table bucket.
1220
+ #
1221
+ # @option params [required, String] :table_bucket_arn
1222
+ # The Amazon Resource Name (ARN) of the table bucket associated with the
1223
+ # maintenance configuration.
1224
+ #
1225
+ # @option params [required, String] :type
1226
+ # The type of the maintenance configuration.
1227
+ #
1228
+ # @option params [required, Types::TableBucketMaintenanceConfigurationValue] :value
1229
+ # Defines the values of the maintenance configuration for the table
1230
+ # bucket.
1231
+ #
1232
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1233
+ #
1234
+ # @example Request syntax with placeholder values
1235
+ #
1236
+ # resp = client.put_table_bucket_maintenance_configuration({
1237
+ # table_bucket_arn: "TableBucketARN", # required
1238
+ # type: "icebergUnreferencedFileRemoval", # required, accepts icebergUnreferencedFileRemoval
1239
+ # value: { # required
1240
+ # status: "enabled", # accepts enabled, disabled
1241
+ # settings: {
1242
+ # iceberg_unreferenced_file_removal: {
1243
+ # unreferenced_days: 1,
1244
+ # non_current_days: 1,
1245
+ # },
1246
+ # },
1247
+ # },
1248
+ # })
1249
+ #
1250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/PutTableBucketMaintenanceConfiguration AWS API Documentation
1251
+ #
1252
+ # @overload put_table_bucket_maintenance_configuration(params = {})
1253
+ # @param [Hash] params ({})
1254
+ def put_table_bucket_maintenance_configuration(params = {}, options = {})
1255
+ req = build_request(:put_table_bucket_maintenance_configuration, params)
1256
+ req.send_request(options)
1257
+ end
1258
+
1259
+ # Creates a new maintenance configuration or replaces an existing table
1260
+ # bucket policy for a table bucket.
1261
+ #
1262
+ # @option params [required, String] :table_bucket_arn
1263
+ # The Amazon Resource Number (ARN) of the table bucket.
1264
+ #
1265
+ # @option params [required, String] :resource_policy
1266
+ # The name of the resource policy.
1267
+ #
1268
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1269
+ #
1270
+ # @example Request syntax with placeholder values
1271
+ #
1272
+ # resp = client.put_table_bucket_policy({
1273
+ # table_bucket_arn: "TableBucketARN", # required
1274
+ # resource_policy: "ResourcePolicy", # required
1275
+ # })
1276
+ #
1277
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/PutTableBucketPolicy AWS API Documentation
1278
+ #
1279
+ # @overload put_table_bucket_policy(params = {})
1280
+ # @param [Hash] params ({})
1281
+ def put_table_bucket_policy(params = {}, options = {})
1282
+ req = build_request(:put_table_bucket_policy, params)
1283
+ req.send_request(options)
1284
+ end
1285
+
1286
+ # Creates a new maintenance configuration or replaces an existing
1287
+ # maintenance configuration for a table.
1288
+ #
1289
+ # @option params [required, String] :table_bucket_arn
1290
+ # The Amazon Resource Name (ARN) of the table associated with the
1291
+ # maintenance configuration.
1292
+ #
1293
+ # @option params [required, String] :namespace
1294
+ # The namespace of the table.
1295
+ #
1296
+ # @option params [required, String] :name
1297
+ # The name of the maintenance configuration.
1298
+ #
1299
+ # @option params [required, String] :type
1300
+ # The type of the maintenance configuration.
1301
+ #
1302
+ # @option params [required, Types::TableMaintenanceConfigurationValue] :value
1303
+ # Defines the values of the maintenance configuration for the table.
1304
+ #
1305
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1306
+ #
1307
+ # @example Request syntax with placeholder values
1308
+ #
1309
+ # resp = client.put_table_maintenance_configuration({
1310
+ # table_bucket_arn: "TableBucketARN", # required
1311
+ # namespace: "NamespaceName", # required
1312
+ # name: "TableName", # required
1313
+ # type: "icebergCompaction", # required, accepts icebergCompaction, icebergSnapshotManagement
1314
+ # value: { # required
1315
+ # status: "enabled", # accepts enabled, disabled
1316
+ # settings: {
1317
+ # iceberg_compaction: {
1318
+ # target_file_size_mb: 1,
1319
+ # },
1320
+ # iceberg_snapshot_management: {
1321
+ # min_snapshots_to_keep: 1,
1322
+ # max_snapshot_age_hours: 1,
1323
+ # },
1324
+ # },
1325
+ # },
1326
+ # })
1327
+ #
1328
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/PutTableMaintenanceConfiguration AWS API Documentation
1329
+ #
1330
+ # @overload put_table_maintenance_configuration(params = {})
1331
+ # @param [Hash] params ({})
1332
+ def put_table_maintenance_configuration(params = {}, options = {})
1333
+ req = build_request(:put_table_maintenance_configuration, params)
1334
+ req.send_request(options)
1335
+ end
1336
+
1337
+ # Creates a new maintenance configuration or replaces an existing table
1338
+ # policy for a table.
1339
+ #
1340
+ # @option params [required, String] :table_bucket_arn
1341
+ # The Amazon Resource Number (ARN) of the table bucket that contains the
1342
+ # table.
1343
+ #
1344
+ # @option params [required, String] :namespace
1345
+ # The namespace associated with the table.
1346
+ #
1347
+ # @option params [required, String] :name
1348
+ # The name of the table.
1349
+ #
1350
+ # @option params [required, String] :resource_policy
1351
+ # The name of the resource policy.
1352
+ #
1353
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1354
+ #
1355
+ # @example Request syntax with placeholder values
1356
+ #
1357
+ # resp = client.put_table_policy({
1358
+ # table_bucket_arn: "TableBucketARN", # required
1359
+ # namespace: "NamespaceName", # required
1360
+ # name: "TableName", # required
1361
+ # resource_policy: "ResourcePolicy", # required
1362
+ # })
1363
+ #
1364
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/PutTablePolicy AWS API Documentation
1365
+ #
1366
+ # @overload put_table_policy(params = {})
1367
+ # @param [Hash] params ({})
1368
+ def put_table_policy(params = {}, options = {})
1369
+ req = build_request(:put_table_policy, params)
1370
+ req.send_request(options)
1371
+ end
1372
+
1373
+ # Renames a table or a namespace.
1374
+ #
1375
+ # @option params [required, String] :table_bucket_arn
1376
+ # The Amazon Resource Name (ARN) of the table bucket.
1377
+ #
1378
+ # @option params [required, String] :namespace
1379
+ # The namespace associated with the table.
1380
+ #
1381
+ # @option params [required, String] :name
1382
+ # The current name of the table.
1383
+ #
1384
+ # @option params [String] :new_namespace_name
1385
+ # The new name for the namespace.
1386
+ #
1387
+ # @option params [String] :new_name
1388
+ # The new name for the table.
1389
+ #
1390
+ # @option params [String] :version_token
1391
+ # The version token of the table.
1392
+ #
1393
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1394
+ #
1395
+ # @example Request syntax with placeholder values
1396
+ #
1397
+ # resp = client.rename_table({
1398
+ # table_bucket_arn: "TableBucketARN", # required
1399
+ # namespace: "NamespaceName", # required
1400
+ # name: "TableName", # required
1401
+ # new_namespace_name: "NamespaceName",
1402
+ # new_name: "TableName",
1403
+ # version_token: "VersionToken",
1404
+ # })
1405
+ #
1406
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/RenameTable AWS API Documentation
1407
+ #
1408
+ # @overload rename_table(params = {})
1409
+ # @param [Hash] params ({})
1410
+ def rename_table(params = {}, options = {})
1411
+ req = build_request(:rename_table, params)
1412
+ req.send_request(options)
1413
+ end
1414
+
1415
+ # Updates the metadata location for a table.
1416
+ #
1417
+ # @option params [required, String] :table_bucket_arn
1418
+ # The Amazon Resource Name (ARN) of the table bucket.
1419
+ #
1420
+ # @option params [required, String] :namespace
1421
+ # The namespace of the table.
1422
+ #
1423
+ # @option params [required, String] :name
1424
+ # The name of the table.
1425
+ #
1426
+ # @option params [required, String] :version_token
1427
+ # The version token of the table.
1428
+ #
1429
+ # @option params [required, String] :metadata_location
1430
+ # The new metadata location for the table.
1431
+ #
1432
+ # @return [Types::UpdateTableMetadataLocationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1433
+ #
1434
+ # * {Types::UpdateTableMetadataLocationResponse#name #name} => String
1435
+ # * {Types::UpdateTableMetadataLocationResponse#table_arn #table_arn} => String
1436
+ # * {Types::UpdateTableMetadataLocationResponse#namespace #namespace} => Array&lt;String&gt;
1437
+ # * {Types::UpdateTableMetadataLocationResponse#version_token #version_token} => String
1438
+ # * {Types::UpdateTableMetadataLocationResponse#metadata_location #metadata_location} => String
1439
+ #
1440
+ # @example Request syntax with placeholder values
1441
+ #
1442
+ # resp = client.update_table_metadata_location({
1443
+ # table_bucket_arn: "TableBucketARN", # required
1444
+ # namespace: "NamespaceName", # required
1445
+ # name: "TableName", # required
1446
+ # version_token: "VersionToken", # required
1447
+ # metadata_location: "MetadataLocation", # required
1448
+ # })
1449
+ #
1450
+ # @example Response structure
1451
+ #
1452
+ # resp.name #=> String
1453
+ # resp.table_arn #=> String
1454
+ # resp.namespace #=> Array
1455
+ # resp.namespace[0] #=> String
1456
+ # resp.version_token #=> String
1457
+ # resp.metadata_location #=> String
1458
+ #
1459
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/UpdateTableMetadataLocation AWS API Documentation
1460
+ #
1461
+ # @overload update_table_metadata_location(params = {})
1462
+ # @param [Hash] params ({})
1463
+ def update_table_metadata_location(params = {}, options = {})
1464
+ req = build_request(:update_table_metadata_location, params)
1465
+ req.send_request(options)
1466
+ end
1467
+
1468
+ # @!endgroup
1469
+
1470
+ # @param params ({})
1471
+ # @api private
1472
+ def build_request(operation_name, params = {})
1473
+ handlers = @handlers.for(operation_name)
1474
+ tracer = config.telemetry_provider.tracer_provider.tracer(
1475
+ Aws::Telemetry.module_to_tracer_name('Aws::S3Tables')
1476
+ )
1477
+ context = Seahorse::Client::RequestContext.new(
1478
+ operation_name: operation_name,
1479
+ operation: config.api.operation(operation_name),
1480
+ client: self,
1481
+ params: params,
1482
+ config: config,
1483
+ tracer: tracer
1484
+ )
1485
+ context[:gem_name] = 'aws-sdk-s3tables'
1486
+ context[:gem_version] = '1.0.0'
1487
+ Seahorse::Client::Request.new(handlers, context)
1488
+ end
1489
+
1490
+ # @api private
1491
+ # @deprecated
1492
+ def waiter_names
1493
+ []
1494
+ end
1495
+
1496
+ class << self
1497
+
1498
+ # @api private
1499
+ attr_reader :identifier
1500
+
1501
+ # @api private
1502
+ def errors_module
1503
+ Errors
1504
+ end
1505
+
1506
+ end
1507
+ end
1508
+ end