aws-sdk-redshiftserverless 1.1.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,2370 @@
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/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
33
+ require 'aws-sdk-core/plugins/signature_v4.rb'
34
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
35
+
36
+ Aws::Plugins::GlobalConfiguration.add_identifier(:redshiftserverless)
37
+
38
+ module Aws::RedshiftServerless
39
+ # An API client for RedshiftServerless. To construct a client, you need to configure a `:region` and `:credentials`.
40
+ #
41
+ # client = Aws::RedshiftServerless::Client.new(
42
+ # region: region_name,
43
+ # credentials: credentials,
44
+ # # ...
45
+ # )
46
+ #
47
+ # For details on configuring region and credentials see
48
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
49
+ #
50
+ # See {#initialize} for a full list of supported configuration options.
51
+ class Client < Seahorse::Client::Base
52
+
53
+ include Aws::ClientStubs
54
+
55
+ @identifier = :redshiftserverless
56
+
57
+ set_api(ClientApi::API)
58
+
59
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
60
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
61
+ add_plugin(Aws::Plugins::Logging)
62
+ add_plugin(Aws::Plugins::ParamConverter)
63
+ add_plugin(Aws::Plugins::ParamValidator)
64
+ add_plugin(Aws::Plugins::UserAgent)
65
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
66
+ add_plugin(Aws::Plugins::RetryErrors)
67
+ add_plugin(Aws::Plugins::GlobalConfiguration)
68
+ add_plugin(Aws::Plugins::RegionalEndpoint)
69
+ add_plugin(Aws::Plugins::EndpointDiscovery)
70
+ add_plugin(Aws::Plugins::EndpointPattern)
71
+ add_plugin(Aws::Plugins::ResponsePaging)
72
+ add_plugin(Aws::Plugins::StubResponses)
73
+ add_plugin(Aws::Plugins::IdempotencyToken)
74
+ add_plugin(Aws::Plugins::JsonvalueConverter)
75
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
76
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
77
+ add_plugin(Aws::Plugins::TransferEncoding)
78
+ add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
+ add_plugin(Aws::Plugins::DefaultsMode)
81
+ add_plugin(Aws::Plugins::RecursionDetection)
82
+ add_plugin(Aws::Plugins::SignatureV4)
83
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
84
+
85
+ # @overload initialize(options)
86
+ # @param [Hash] options
87
+ # @option options [required, Aws::CredentialProvider] :credentials
88
+ # Your AWS credentials. This can be an instance of any one of the
89
+ # following classes:
90
+ #
91
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
92
+ # credentials.
93
+ #
94
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
95
+ # shared file, such as `~/.aws/config`.
96
+ #
97
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
98
+ #
99
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
100
+ # assume a role after providing credentials via the web.
101
+ #
102
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
103
+ # access token generated from `aws login`.
104
+ #
105
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
106
+ # process that outputs to stdout.
107
+ #
108
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
109
+ # from an EC2 IMDS on an EC2 instance.
110
+ #
111
+ # * `Aws::ECSCredentials` - Used for loading credentials from
112
+ # instances running in ECS.
113
+ #
114
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
115
+ # from the Cognito Identity service.
116
+ #
117
+ # When `:credentials` are not configured directly, the following
118
+ # locations will be searched for credentials:
119
+ #
120
+ # * `Aws.config[:credentials]`
121
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
122
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
123
+ # * `~/.aws/credentials`
124
+ # * `~/.aws/config`
125
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
126
+ # are very aggressive. Construct and pass an instance of
127
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
128
+ # enable retries and extended timeouts. Instance profile credential
129
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
130
+ # to true.
131
+ #
132
+ # @option options [required, String] :region
133
+ # The AWS region to connect to. The configured `:region` is
134
+ # used to determine the service `:endpoint`. When not passed,
135
+ # a default `:region` is searched for in the following locations:
136
+ #
137
+ # * `Aws.config[:region]`
138
+ # * `ENV['AWS_REGION']`
139
+ # * `ENV['AMAZON_REGION']`
140
+ # * `ENV['AWS_DEFAULT_REGION']`
141
+ # * `~/.aws/credentials`
142
+ # * `~/.aws/config`
143
+ #
144
+ # @option options [String] :access_key_id
145
+ #
146
+ # @option options [Boolean] :active_endpoint_cache (false)
147
+ # When set to `true`, a thread polling for endpoints will be running in
148
+ # the background every 60 secs (default). Defaults to `false`.
149
+ #
150
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
151
+ # Used only in `adaptive` retry mode. When true, the request will sleep
152
+ # until there is sufficent client side capacity to retry the request.
153
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
154
+ # not retry instead of sleeping.
155
+ #
156
+ # @option options [Boolean] :client_side_monitoring (false)
157
+ # When `true`, client-side metrics will be collected for all API requests from
158
+ # this client.
159
+ #
160
+ # @option options [String] :client_side_monitoring_client_id ("")
161
+ # Allows you to provide an identifier for this client which will be attached to
162
+ # all generated client side metrics. Defaults to an empty string.
163
+ #
164
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
165
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
166
+ # side monitoring agent is running on, where client metrics will be published via UDP.
167
+ #
168
+ # @option options [Integer] :client_side_monitoring_port (31000)
169
+ # Required for publishing client metrics. The port that the client side monitoring
170
+ # agent is running on, where client metrics will be published via UDP.
171
+ #
172
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
173
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
174
+ # will use the Client Side Monitoring Agent Publisher.
175
+ #
176
+ # @option options [Boolean] :convert_params (true)
177
+ # When `true`, an attempt is made to coerce request parameters into
178
+ # the required types.
179
+ #
180
+ # @option options [Boolean] :correct_clock_skew (true)
181
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
182
+ # a clock skew correction and retry requests with skewed client clocks.
183
+ #
184
+ # @option options [String] :defaults_mode ("legacy")
185
+ # See {Aws::DefaultsModeConfiguration} for a list of the
186
+ # accepted modes and the configuration defaults that are included.
187
+ #
188
+ # @option options [Boolean] :disable_host_prefix_injection (false)
189
+ # Set to true to disable SDK automatically adding host prefix
190
+ # to default service endpoint when available.
191
+ #
192
+ # @option options [String] :endpoint
193
+ # The client endpoint is normally constructed from the `:region`
194
+ # option. You should only configure an `:endpoint` when connecting
195
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
196
+ #
197
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
198
+ # Used for the maximum size limit of the LRU cache storing endpoints data
199
+ # for endpoint discovery enabled operations. Defaults to 1000.
200
+ #
201
+ # @option options [Integer] :endpoint_cache_max_threads (10)
202
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
203
+ #
204
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
205
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
206
+ # Use this option to config the time interval in seconds for making
207
+ # requests fetching endpoints information. Defaults to 60 sec.
208
+ #
209
+ # @option options [Boolean] :endpoint_discovery (false)
210
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
211
+ #
212
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
213
+ # The log formatter.
214
+ #
215
+ # @option options [Symbol] :log_level (:info)
216
+ # The log level to send messages to the `:logger` at.
217
+ #
218
+ # @option options [Logger] :logger
219
+ # The Logger instance to send log messages to. If this option
220
+ # is not set, logging will be disabled.
221
+ #
222
+ # @option options [Integer] :max_attempts (3)
223
+ # An integer representing the maximum number attempts that will be made for
224
+ # a single request, including the initial attempt. For example,
225
+ # setting this value to 5 will result in a request being retried up to
226
+ # 4 times. Used in `standard` and `adaptive` retry modes.
227
+ #
228
+ # @option options [String] :profile ("default")
229
+ # Used when loading credentials from the shared credentials file
230
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
231
+ #
232
+ # @option options [Proc] :retry_backoff
233
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
234
+ # This option is only used in the `legacy` retry mode.
235
+ #
236
+ # @option options [Float] :retry_base_delay (0.3)
237
+ # The base delay in seconds used by the default backoff function. This option
238
+ # is only used in the `legacy` retry mode.
239
+ #
240
+ # @option options [Symbol] :retry_jitter (:none)
241
+ # A delay randomiser function used by the default backoff function.
242
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
243
+ # otherwise a Proc that takes and returns a number. This option is only used
244
+ # in the `legacy` retry mode.
245
+ #
246
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
247
+ #
248
+ # @option options [Integer] :retry_limit (3)
249
+ # The maximum number of times to retry failed requests. Only
250
+ # ~ 500 level server errors and certain ~ 400 level client errors
251
+ # are retried. Generally, these are throttling errors, data
252
+ # checksum errors, networking errors, timeout errors, auth errors,
253
+ # endpoint discovery, and errors from expired credentials.
254
+ # This option is only used in the `legacy` retry mode.
255
+ #
256
+ # @option options [Integer] :retry_max_delay (0)
257
+ # The maximum number of seconds to delay between retries (0 for no limit)
258
+ # used by the default backoff function. This option is only used in the
259
+ # `legacy` retry mode.
260
+ #
261
+ # @option options [String] :retry_mode ("legacy")
262
+ # Specifies which retry algorithm to use. Values are:
263
+ #
264
+ # * `legacy` - The pre-existing retry behavior. This is default value if
265
+ # no retry mode is provided.
266
+ #
267
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
268
+ # This includes support for retry quotas, which limit the number of
269
+ # unsuccessful retries a client can make.
270
+ #
271
+ # * `adaptive` - An experimental retry mode that includes all the
272
+ # functionality of `standard` mode along with automatic client side
273
+ # throttling. This is a provisional mode that may change behavior
274
+ # in the future.
275
+ #
276
+ #
277
+ # @option options [String] :secret_access_key
278
+ #
279
+ # @option options [String] :session_token
280
+ #
281
+ # @option options [Boolean] :simple_json (false)
282
+ # Disables request parameter conversion, validation, and formatting.
283
+ # Also disable response data type conversions. This option is useful
284
+ # when you want to ensure the highest level of performance by
285
+ # avoiding overhead of walking request parameters and response data
286
+ # structures.
287
+ #
288
+ # When `:simple_json` is enabled, the request parameters hash must
289
+ # be formatted exactly as the DynamoDB API expects.
290
+ #
291
+ # @option options [Boolean] :stub_responses (false)
292
+ # Causes the client to return stubbed responses. By default
293
+ # fake responses are generated and returned. You can specify
294
+ # the response data to return or errors to raise by calling
295
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
296
+ #
297
+ # ** Please note ** When response stubbing is enabled, no HTTP
298
+ # requests are made, and retries are disabled.
299
+ #
300
+ # @option options [Boolean] :use_dualstack_endpoint
301
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
302
+ # will be used if available.
303
+ #
304
+ # @option options [Boolean] :use_fips_endpoint
305
+ # When set to `true`, fips compatible endpoints will be used if available.
306
+ # When a `fips` region is used, the region is normalized and this config
307
+ # is set to `true`.
308
+ #
309
+ # @option options [Boolean] :validate_params (true)
310
+ # When `true`, request parameters are validated before
311
+ # sending the request.
312
+ #
313
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
+ # requests through. Formatted like 'http://proxy.com:123'.
315
+ #
316
+ # @option options [Float] :http_open_timeout (15) The number of
317
+ # seconds to wait when opening a HTTP session before raising a
318
+ # `Timeout::Error`.
319
+ #
320
+ # @option options [Float] :http_read_timeout (60) The default
321
+ # number of seconds to wait for response data. This value can
322
+ # safely be set per-request on the session.
323
+ #
324
+ # @option options [Float] :http_idle_timeout (5) The number of
325
+ # seconds a connection is allowed to sit idle before it is
326
+ # considered stale. Stale connections are closed and removed
327
+ # from the pool before making a request.
328
+ #
329
+ # @option options [Float] :http_continue_timeout (1) The number of
330
+ # seconds to wait for a 100-continue response before sending the
331
+ # request body. This option has no effect unless the request has
332
+ # "Expect" header set to "100-continue". Defaults to `nil` which
333
+ # disables this behaviour. This value can safely be set per
334
+ # request on the session.
335
+ #
336
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
337
+ # in seconds.
338
+ #
339
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
340
+ # HTTP debug output will be sent to the `:logger`.
341
+ #
342
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
343
+ # SSL peer certificates are verified when establishing a
344
+ # connection.
345
+ #
346
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
347
+ # certificate authority bundle file that should be used when
348
+ # verifying peer certificates. If you do not pass
349
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
350
+ # will be used if available.
351
+ #
352
+ # @option options [String] :ssl_ca_directory Full path of the
353
+ # directory that contains the unbundled SSL certificate
354
+ # authority files for verifying peer certificates. If you do
355
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
356
+ # system default will be used if available.
357
+ #
358
+ def initialize(*args)
359
+ super
360
+ end
361
+
362
+ # @!group API Operations
363
+
364
+ # Converts a recovery point to a snapshot. For more information about
365
+ # recovery points and snapshots, see [Working with snapshots and
366
+ # recovery points][1].
367
+ #
368
+ #
369
+ #
370
+ # [1]: https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshots-recovery.html
371
+ #
372
+ # @option params [required, String] :recovery_point_id
373
+ # The unique identifier of the recovery point.
374
+ #
375
+ # @option params [Integer] :retention_period
376
+ # How long to retain the snapshot.
377
+ #
378
+ # @option params [required, String] :snapshot_name
379
+ # The name of the snapshot.
380
+ #
381
+ # @return [Types::ConvertRecoveryPointToSnapshotResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
382
+ #
383
+ # * {Types::ConvertRecoveryPointToSnapshotResponse#snapshot #snapshot} => Types::Snapshot
384
+ #
385
+ # @example Request syntax with placeholder values
386
+ #
387
+ # resp = client.convert_recovery_point_to_snapshot({
388
+ # recovery_point_id: "String", # required
389
+ # retention_period: 1,
390
+ # snapshot_name: "String", # required
391
+ # })
392
+ #
393
+ # @example Response structure
394
+ #
395
+ # resp.snapshot.accounts_with_provisioned_restore_access #=> Array
396
+ # resp.snapshot.accounts_with_provisioned_restore_access[0] #=> String
397
+ # resp.snapshot.accounts_with_restore_access #=> Array
398
+ # resp.snapshot.accounts_with_restore_access[0] #=> String
399
+ # resp.snapshot.actual_incremental_backup_size_in_mega_bytes #=> Float
400
+ # resp.snapshot.admin_username #=> String
401
+ # resp.snapshot.backup_progress_in_mega_bytes #=> Float
402
+ # resp.snapshot.current_backup_rate_in_mega_bytes_per_second #=> Float
403
+ # resp.snapshot.elapsed_time_in_seconds #=> Integer
404
+ # resp.snapshot.estimated_seconds_to_completion #=> Integer
405
+ # resp.snapshot.kms_key_id #=> String
406
+ # resp.snapshot.namespace_arn #=> String
407
+ # resp.snapshot.namespace_name #=> String
408
+ # resp.snapshot.owner_account #=> String
409
+ # resp.snapshot.snapshot_arn #=> String
410
+ # resp.snapshot.snapshot_create_time #=> Time
411
+ # resp.snapshot.snapshot_name #=> String
412
+ # resp.snapshot.snapshot_remaining_days #=> Integer
413
+ # resp.snapshot.snapshot_retention_period #=> Integer
414
+ # resp.snapshot.snapshot_retention_start_time #=> Time
415
+ # resp.snapshot.status #=> String, one of "AVAILABLE", "CREATING", "DELETED", "CANCELLED", "FAILED", "COPYING"
416
+ # resp.snapshot.total_backup_size_in_mega_bytes #=> Float
417
+ #
418
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/ConvertRecoveryPointToSnapshot AWS API Documentation
419
+ #
420
+ # @overload convert_recovery_point_to_snapshot(params = {})
421
+ # @param [Hash] params ({})
422
+ def convert_recovery_point_to_snapshot(params = {}, options = {})
423
+ req = build_request(:convert_recovery_point_to_snapshot, params)
424
+ req.send_request(options)
425
+ end
426
+
427
+ # Creates an Amazon Redshift Serverless managed VPC endpoint.
428
+ #
429
+ # @option params [required, String] :endpoint_name
430
+ # The name of the VPC endpoint. An endpoint name must contain 1-30
431
+ # characters. Valid characters are A-Z, a-z, 0-9, and hyphen(-). The
432
+ # first character must be a letter. The name can't contain two
433
+ # consecutive hyphens or end with a hyphen.
434
+ #
435
+ # @option params [required, Array<String>] :subnet_ids
436
+ # The unique identifers of subnets from which Amazon Redshift Serverless
437
+ # chooses one to deploy a VPC endpoint.
438
+ #
439
+ # @option params [Array<String>] :vpc_security_group_ids
440
+ # The unique identifiers of the security group that defines the ports,
441
+ # protocols, and sources for inbound traffic that you are authorizing
442
+ # into your endpoint.
443
+ #
444
+ # @option params [required, String] :workgroup_name
445
+ # The name of the workgroup to associate with the VPC endpoint.
446
+ #
447
+ # @return [Types::CreateEndpointAccessResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
448
+ #
449
+ # * {Types::CreateEndpointAccessResponse#endpoint #endpoint} => Types::EndpointAccess
450
+ #
451
+ # @example Request syntax with placeholder values
452
+ #
453
+ # resp = client.create_endpoint_access({
454
+ # endpoint_name: "String", # required
455
+ # subnet_ids: ["SubnetId"], # required
456
+ # vpc_security_group_ids: ["VpcSecurityGroupId"],
457
+ # workgroup_name: "String", # required
458
+ # })
459
+ #
460
+ # @example Response structure
461
+ #
462
+ # resp.endpoint.address #=> String
463
+ # resp.endpoint.endpoint_arn #=> String
464
+ # resp.endpoint.endpoint_create_time #=> Time
465
+ # resp.endpoint.endpoint_name #=> String
466
+ # resp.endpoint.endpoint_status #=> String
467
+ # resp.endpoint.port #=> Integer
468
+ # resp.endpoint.subnet_ids #=> Array
469
+ # resp.endpoint.subnet_ids[0] #=> String
470
+ # resp.endpoint.vpc_endpoint.network_interfaces #=> Array
471
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].availability_zone #=> String
472
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].network_interface_id #=> String
473
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].private_ip_address #=> String
474
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].subnet_id #=> String
475
+ # resp.endpoint.vpc_endpoint.vpc_endpoint_id #=> String
476
+ # resp.endpoint.vpc_endpoint.vpc_id #=> String
477
+ # resp.endpoint.vpc_security_groups #=> Array
478
+ # resp.endpoint.vpc_security_groups[0].status #=> String
479
+ # resp.endpoint.vpc_security_groups[0].vpc_security_group_id #=> String
480
+ # resp.endpoint.workgroup_name #=> String
481
+ #
482
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/CreateEndpointAccess AWS API Documentation
483
+ #
484
+ # @overload create_endpoint_access(params = {})
485
+ # @param [Hash] params ({})
486
+ def create_endpoint_access(params = {}, options = {})
487
+ req = build_request(:create_endpoint_access, params)
488
+ req.send_request(options)
489
+ end
490
+
491
+ # Creates a namespace in Amazon Redshift Serverless.
492
+ #
493
+ # @option params [String] :admin_user_password
494
+ # The password of the administrator for the first database created in
495
+ # the namespace.
496
+ #
497
+ # @option params [String] :admin_username
498
+ # The username of the administrator for the first database created in
499
+ # the namespace.
500
+ #
501
+ # @option params [String] :db_name
502
+ # The name of the first database created in the namespace.
503
+ #
504
+ # @option params [String] :default_iam_role_arn
505
+ # The Amazon Resource Name (ARN) of the IAM role to set as a default in
506
+ # the namespace.
507
+ #
508
+ # @option params [Array<String>] :iam_roles
509
+ # A list of IAM roles to associate with the namespace.
510
+ #
511
+ # @option params [String] :kms_key_id
512
+ # The ID of the Amazon Web Services Key Management Service key used to
513
+ # encrypt your data.
514
+ #
515
+ # @option params [Array<String>] :log_exports
516
+ # The types of logs the namespace can export. Available export types are
517
+ # `userlog`, `connectionlog`, and `useractivitylog`.
518
+ #
519
+ # @option params [required, String] :namespace_name
520
+ # The name of the namespace.
521
+ #
522
+ # @option params [Array<Types::Tag>] :tags
523
+ # A list of tag instances.
524
+ #
525
+ # @return [Types::CreateNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
526
+ #
527
+ # * {Types::CreateNamespaceResponse#namespace #namespace} => Types::Namespace
528
+ #
529
+ # @example Request syntax with placeholder values
530
+ #
531
+ # resp = client.create_namespace({
532
+ # admin_user_password: "DbPassword",
533
+ # admin_username: "DbUser",
534
+ # db_name: "String",
535
+ # default_iam_role_arn: "String",
536
+ # iam_roles: ["IamRoleArn"],
537
+ # kms_key_id: "String",
538
+ # log_exports: ["useractivitylog"], # accepts useractivitylog, userlog, connectionlog
539
+ # namespace_name: "NamespaceName", # required
540
+ # tags: [
541
+ # {
542
+ # key: "TagKey", # required
543
+ # value: "TagValue", # required
544
+ # },
545
+ # ],
546
+ # })
547
+ #
548
+ # @example Response structure
549
+ #
550
+ # resp.namespace.admin_username #=> String
551
+ # resp.namespace.creation_date #=> Time
552
+ # resp.namespace.db_name #=> String
553
+ # resp.namespace.default_iam_role_arn #=> String
554
+ # resp.namespace.iam_roles #=> Array
555
+ # resp.namespace.iam_roles[0] #=> String
556
+ # resp.namespace.kms_key_id #=> String
557
+ # resp.namespace.log_exports #=> Array
558
+ # resp.namespace.log_exports[0] #=> String, one of "useractivitylog", "userlog", "connectionlog"
559
+ # resp.namespace.namespace_arn #=> String
560
+ # resp.namespace.namespace_id #=> String
561
+ # resp.namespace.namespace_name #=> String
562
+ # resp.namespace.status #=> String, one of "AVAILABLE", "MODIFYING", "DELETING"
563
+ #
564
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/CreateNamespace AWS API Documentation
565
+ #
566
+ # @overload create_namespace(params = {})
567
+ # @param [Hash] params ({})
568
+ def create_namespace(params = {}, options = {})
569
+ req = build_request(:create_namespace, params)
570
+ req.send_request(options)
571
+ end
572
+
573
+ # Creates a snapshot of all databases in a namespace. For more
574
+ # information about snapshots, see [ Working with snapshots and recovery
575
+ # points][1].
576
+ #
577
+ #
578
+ #
579
+ # [1]: https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshots-recovery.html
580
+ #
581
+ # @option params [required, String] :namespace_name
582
+ # The namespace to create a snapshot for.
583
+ #
584
+ # @option params [Integer] :retention_period
585
+ # How long to retain the created snapshot.
586
+ #
587
+ # @option params [required, String] :snapshot_name
588
+ # The name of the snapshot.
589
+ #
590
+ # @return [Types::CreateSnapshotResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
591
+ #
592
+ # * {Types::CreateSnapshotResponse#snapshot #snapshot} => Types::Snapshot
593
+ #
594
+ # @example Request syntax with placeholder values
595
+ #
596
+ # resp = client.create_snapshot({
597
+ # namespace_name: "String", # required
598
+ # retention_period: 1,
599
+ # snapshot_name: "String", # required
600
+ # })
601
+ #
602
+ # @example Response structure
603
+ #
604
+ # resp.snapshot.accounts_with_provisioned_restore_access #=> Array
605
+ # resp.snapshot.accounts_with_provisioned_restore_access[0] #=> String
606
+ # resp.snapshot.accounts_with_restore_access #=> Array
607
+ # resp.snapshot.accounts_with_restore_access[0] #=> String
608
+ # resp.snapshot.actual_incremental_backup_size_in_mega_bytes #=> Float
609
+ # resp.snapshot.admin_username #=> String
610
+ # resp.snapshot.backup_progress_in_mega_bytes #=> Float
611
+ # resp.snapshot.current_backup_rate_in_mega_bytes_per_second #=> Float
612
+ # resp.snapshot.elapsed_time_in_seconds #=> Integer
613
+ # resp.snapshot.estimated_seconds_to_completion #=> Integer
614
+ # resp.snapshot.kms_key_id #=> String
615
+ # resp.snapshot.namespace_arn #=> String
616
+ # resp.snapshot.namespace_name #=> String
617
+ # resp.snapshot.owner_account #=> String
618
+ # resp.snapshot.snapshot_arn #=> String
619
+ # resp.snapshot.snapshot_create_time #=> Time
620
+ # resp.snapshot.snapshot_name #=> String
621
+ # resp.snapshot.snapshot_remaining_days #=> Integer
622
+ # resp.snapshot.snapshot_retention_period #=> Integer
623
+ # resp.snapshot.snapshot_retention_start_time #=> Time
624
+ # resp.snapshot.status #=> String, one of "AVAILABLE", "CREATING", "DELETED", "CANCELLED", "FAILED", "COPYING"
625
+ # resp.snapshot.total_backup_size_in_mega_bytes #=> Float
626
+ #
627
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/CreateSnapshot AWS API Documentation
628
+ #
629
+ # @overload create_snapshot(params = {})
630
+ # @param [Hash] params ({})
631
+ def create_snapshot(params = {}, options = {})
632
+ req = build_request(:create_snapshot, params)
633
+ req.send_request(options)
634
+ end
635
+
636
+ # Creates a usage limit for a specified Amazon Redshift Serverless usage
637
+ # type. The usage limit is identified by the returned usage limit
638
+ # identifier.
639
+ #
640
+ # @option params [required, Integer] :amount
641
+ # The limit amount. If time-based, this amount is in Redshift Processing
642
+ # Units (RPU) consumed per hour. If data-based, this amount is in
643
+ # terabytes (TB) of data transferred between Regions in cross-account
644
+ # sharing. The value must be a positive number.
645
+ #
646
+ # @option params [String] :breach_action
647
+ # The action that Amazon Redshift Serverless takes when the limit is
648
+ # reached. The default is log.
649
+ #
650
+ # @option params [String] :period
651
+ # The time period that the amount applies to. A weekly period begins on
652
+ # Sunday. The default is monthly.
653
+ #
654
+ # @option params [required, String] :resource_arn
655
+ # The Amazon Resource Name (ARN) of the Amazon Redshift Serverless
656
+ # resource to create the usage limit for.
657
+ #
658
+ # @option params [required, String] :usage_type
659
+ # The type of Amazon Redshift Serverless usage to create a usage limit
660
+ # for.
661
+ #
662
+ # @return [Types::CreateUsageLimitResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
663
+ #
664
+ # * {Types::CreateUsageLimitResponse#usage_limit #usage_limit} => Types::UsageLimit
665
+ #
666
+ # @example Request syntax with placeholder values
667
+ #
668
+ # resp = client.create_usage_limit({
669
+ # amount: 1, # required
670
+ # breach_action: "log", # accepts log, emit-metric, deactivate
671
+ # period: "daily", # accepts daily, weekly, monthly
672
+ # resource_arn: "String", # required
673
+ # usage_type: "serverless-compute", # required, accepts serverless-compute, cross-region-datasharing
674
+ # })
675
+ #
676
+ # @example Response structure
677
+ #
678
+ # resp.usage_limit.amount #=> Integer
679
+ # resp.usage_limit.breach_action #=> String, one of "log", "emit-metric", "deactivate"
680
+ # resp.usage_limit.period #=> String, one of "daily", "weekly", "monthly"
681
+ # resp.usage_limit.resource_arn #=> String
682
+ # resp.usage_limit.usage_limit_arn #=> String
683
+ # resp.usage_limit.usage_limit_id #=> String
684
+ # resp.usage_limit.usage_type #=> String, one of "serverless-compute", "cross-region-datasharing"
685
+ #
686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/CreateUsageLimit AWS API Documentation
687
+ #
688
+ # @overload create_usage_limit(params = {})
689
+ # @param [Hash] params ({})
690
+ def create_usage_limit(params = {}, options = {})
691
+ req = build_request(:create_usage_limit, params)
692
+ req.send_request(options)
693
+ end
694
+
695
+ # Creates an workgroup in Amazon Redshift Serverless.
696
+ #
697
+ # @option params [Integer] :base_capacity
698
+ # The base data warehouse capacity of the workgroup in Redshift
699
+ # Processing Units (RPUs).
700
+ #
701
+ # @option params [Array<Types::ConfigParameter>] :config_parameters
702
+ # An array of parameters to set for more control over a serverless
703
+ # database. The options are `datestyle`, `enable_user_activity_logging`,
704
+ # `query_group`, `search_path`, and `max_query_execution_time`.
705
+ #
706
+ # @option params [Boolean] :enhanced_vpc_routing
707
+ # The value that specifies whether to turn on enhanced virtual private
708
+ # cloud (VPC) routing, which forces Amazon Redshift Serverless to route
709
+ # traffic through your VPC instead of over the internet.
710
+ #
711
+ # @option params [required, String] :namespace_name
712
+ # The name of the namespace to associate with the workgroup.
713
+ #
714
+ # @option params [Boolean] :publicly_accessible
715
+ # A value that specifies whether the workgroup can be accessed from a
716
+ # public network.
717
+ #
718
+ # @option params [Array<String>] :security_group_ids
719
+ # An array of security group IDs to associate with the workgroup.
720
+ #
721
+ # @option params [Array<String>] :subnet_ids
722
+ # An array of VPC subnet IDs to associate with the workgroup.
723
+ #
724
+ # @option params [Array<Types::Tag>] :tags
725
+ # A array of tag instances.
726
+ #
727
+ # @option params [required, String] :workgroup_name
728
+ # The name of the created workgroup.
729
+ #
730
+ # @return [Types::CreateWorkgroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
731
+ #
732
+ # * {Types::CreateWorkgroupResponse#workgroup #workgroup} => Types::Workgroup
733
+ #
734
+ # @example Request syntax with placeholder values
735
+ #
736
+ # resp = client.create_workgroup({
737
+ # base_capacity: 1,
738
+ # config_parameters: [
739
+ # {
740
+ # parameter_key: "ParameterKey",
741
+ # parameter_value: "ParameterValue",
742
+ # },
743
+ # ],
744
+ # enhanced_vpc_routing: false,
745
+ # namespace_name: "NamespaceName", # required
746
+ # publicly_accessible: false,
747
+ # security_group_ids: ["SecurityGroupId"],
748
+ # subnet_ids: ["SubnetId"],
749
+ # tags: [
750
+ # {
751
+ # key: "TagKey", # required
752
+ # value: "TagValue", # required
753
+ # },
754
+ # ],
755
+ # workgroup_name: "WorkgroupName", # required
756
+ # })
757
+ #
758
+ # @example Response structure
759
+ #
760
+ # resp.workgroup.base_capacity #=> Integer
761
+ # resp.workgroup.config_parameters #=> Array
762
+ # resp.workgroup.config_parameters[0].parameter_key #=> String
763
+ # resp.workgroup.config_parameters[0].parameter_value #=> String
764
+ # resp.workgroup.creation_date #=> Time
765
+ # resp.workgroup.endpoint.address #=> String
766
+ # resp.workgroup.endpoint.port #=> Integer
767
+ # resp.workgroup.endpoint.vpc_endpoints #=> Array
768
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces #=> Array
769
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].availability_zone #=> String
770
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].network_interface_id #=> String
771
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].private_ip_address #=> String
772
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].subnet_id #=> String
773
+ # resp.workgroup.endpoint.vpc_endpoints[0].vpc_endpoint_id #=> String
774
+ # resp.workgroup.endpoint.vpc_endpoints[0].vpc_id #=> String
775
+ # resp.workgroup.enhanced_vpc_routing #=> Boolean
776
+ # resp.workgroup.namespace_name #=> String
777
+ # resp.workgroup.publicly_accessible #=> Boolean
778
+ # resp.workgroup.security_group_ids #=> Array
779
+ # resp.workgroup.security_group_ids[0] #=> String
780
+ # resp.workgroup.status #=> String, one of "CREATING", "AVAILABLE", "MODIFYING", "DELETING"
781
+ # resp.workgroup.subnet_ids #=> Array
782
+ # resp.workgroup.subnet_ids[0] #=> String
783
+ # resp.workgroup.workgroup_arn #=> String
784
+ # resp.workgroup.workgroup_id #=> String
785
+ # resp.workgroup.workgroup_name #=> String
786
+ #
787
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/CreateWorkgroup AWS API Documentation
788
+ #
789
+ # @overload create_workgroup(params = {})
790
+ # @param [Hash] params ({})
791
+ def create_workgroup(params = {}, options = {})
792
+ req = build_request(:create_workgroup, params)
793
+ req.send_request(options)
794
+ end
795
+
796
+ # Deletes an Amazon Redshift Serverless managed VPC endpoint.
797
+ #
798
+ # @option params [required, String] :endpoint_name
799
+ # The name of the VPC endpoint to delete.
800
+ #
801
+ # @return [Types::DeleteEndpointAccessResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
802
+ #
803
+ # * {Types::DeleteEndpointAccessResponse#endpoint #endpoint} => Types::EndpointAccess
804
+ #
805
+ # @example Request syntax with placeholder values
806
+ #
807
+ # resp = client.delete_endpoint_access({
808
+ # endpoint_name: "String", # required
809
+ # })
810
+ #
811
+ # @example Response structure
812
+ #
813
+ # resp.endpoint.address #=> String
814
+ # resp.endpoint.endpoint_arn #=> String
815
+ # resp.endpoint.endpoint_create_time #=> Time
816
+ # resp.endpoint.endpoint_name #=> String
817
+ # resp.endpoint.endpoint_status #=> String
818
+ # resp.endpoint.port #=> Integer
819
+ # resp.endpoint.subnet_ids #=> Array
820
+ # resp.endpoint.subnet_ids[0] #=> String
821
+ # resp.endpoint.vpc_endpoint.network_interfaces #=> Array
822
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].availability_zone #=> String
823
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].network_interface_id #=> String
824
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].private_ip_address #=> String
825
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].subnet_id #=> String
826
+ # resp.endpoint.vpc_endpoint.vpc_endpoint_id #=> String
827
+ # resp.endpoint.vpc_endpoint.vpc_id #=> String
828
+ # resp.endpoint.vpc_security_groups #=> Array
829
+ # resp.endpoint.vpc_security_groups[0].status #=> String
830
+ # resp.endpoint.vpc_security_groups[0].vpc_security_group_id #=> String
831
+ # resp.endpoint.workgroup_name #=> String
832
+ #
833
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/DeleteEndpointAccess AWS API Documentation
834
+ #
835
+ # @overload delete_endpoint_access(params = {})
836
+ # @param [Hash] params ({})
837
+ def delete_endpoint_access(params = {}, options = {})
838
+ req = build_request(:delete_endpoint_access, params)
839
+ req.send_request(options)
840
+ end
841
+
842
+ # Deletes a namespace from Amazon Redshift Serverless. Before you delete
843
+ # the namespace, you can create a final snapshot that has all of the
844
+ # data within the namespace.
845
+ #
846
+ # @option params [String] :final_snapshot_name
847
+ # The name of the snapshot to be created before the namespace is
848
+ # deleted.
849
+ #
850
+ # @option params [Integer] :final_snapshot_retention_period
851
+ # How long to retain the final snapshot.
852
+ #
853
+ # @option params [required, String] :namespace_name
854
+ # The name of the namespace to delete.
855
+ #
856
+ # @return [Types::DeleteNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
857
+ #
858
+ # * {Types::DeleteNamespaceResponse#namespace #namespace} => Types::Namespace
859
+ #
860
+ # @example Request syntax with placeholder values
861
+ #
862
+ # resp = client.delete_namespace({
863
+ # final_snapshot_name: "String",
864
+ # final_snapshot_retention_period: 1,
865
+ # namespace_name: "NamespaceName", # required
866
+ # })
867
+ #
868
+ # @example Response structure
869
+ #
870
+ # resp.namespace.admin_username #=> String
871
+ # resp.namespace.creation_date #=> Time
872
+ # resp.namespace.db_name #=> String
873
+ # resp.namespace.default_iam_role_arn #=> String
874
+ # resp.namespace.iam_roles #=> Array
875
+ # resp.namespace.iam_roles[0] #=> String
876
+ # resp.namespace.kms_key_id #=> String
877
+ # resp.namespace.log_exports #=> Array
878
+ # resp.namespace.log_exports[0] #=> String, one of "useractivitylog", "userlog", "connectionlog"
879
+ # resp.namespace.namespace_arn #=> String
880
+ # resp.namespace.namespace_id #=> String
881
+ # resp.namespace.namespace_name #=> String
882
+ # resp.namespace.status #=> String, one of "AVAILABLE", "MODIFYING", "DELETING"
883
+ #
884
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/DeleteNamespace AWS API Documentation
885
+ #
886
+ # @overload delete_namespace(params = {})
887
+ # @param [Hash] params ({})
888
+ def delete_namespace(params = {}, options = {})
889
+ req = build_request(:delete_namespace, params)
890
+ req.send_request(options)
891
+ end
892
+
893
+ # Deletes the specified resource policy.
894
+ #
895
+ # @option params [required, String] :resource_arn
896
+ # The Amazon Resource Name (ARN) of the policy to delete.
897
+ #
898
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
899
+ #
900
+ # @example Request syntax with placeholder values
901
+ #
902
+ # resp = client.delete_resource_policy({
903
+ # resource_arn: "String", # required
904
+ # })
905
+ #
906
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/DeleteResourcePolicy AWS API Documentation
907
+ #
908
+ # @overload delete_resource_policy(params = {})
909
+ # @param [Hash] params ({})
910
+ def delete_resource_policy(params = {}, options = {})
911
+ req = build_request(:delete_resource_policy, params)
912
+ req.send_request(options)
913
+ end
914
+
915
+ # Deletes a snapshot from Amazon Redshift Serverless.
916
+ #
917
+ # @option params [required, String] :snapshot_name
918
+ # The name of the snapshot to be deleted.
919
+ #
920
+ # @return [Types::DeleteSnapshotResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
921
+ #
922
+ # * {Types::DeleteSnapshotResponse#snapshot #snapshot} => Types::Snapshot
923
+ #
924
+ # @example Request syntax with placeholder values
925
+ #
926
+ # resp = client.delete_snapshot({
927
+ # snapshot_name: "String", # required
928
+ # })
929
+ #
930
+ # @example Response structure
931
+ #
932
+ # resp.snapshot.accounts_with_provisioned_restore_access #=> Array
933
+ # resp.snapshot.accounts_with_provisioned_restore_access[0] #=> String
934
+ # resp.snapshot.accounts_with_restore_access #=> Array
935
+ # resp.snapshot.accounts_with_restore_access[0] #=> String
936
+ # resp.snapshot.actual_incremental_backup_size_in_mega_bytes #=> Float
937
+ # resp.snapshot.admin_username #=> String
938
+ # resp.snapshot.backup_progress_in_mega_bytes #=> Float
939
+ # resp.snapshot.current_backup_rate_in_mega_bytes_per_second #=> Float
940
+ # resp.snapshot.elapsed_time_in_seconds #=> Integer
941
+ # resp.snapshot.estimated_seconds_to_completion #=> Integer
942
+ # resp.snapshot.kms_key_id #=> String
943
+ # resp.snapshot.namespace_arn #=> String
944
+ # resp.snapshot.namespace_name #=> String
945
+ # resp.snapshot.owner_account #=> String
946
+ # resp.snapshot.snapshot_arn #=> String
947
+ # resp.snapshot.snapshot_create_time #=> Time
948
+ # resp.snapshot.snapshot_name #=> String
949
+ # resp.snapshot.snapshot_remaining_days #=> Integer
950
+ # resp.snapshot.snapshot_retention_period #=> Integer
951
+ # resp.snapshot.snapshot_retention_start_time #=> Time
952
+ # resp.snapshot.status #=> String, one of "AVAILABLE", "CREATING", "DELETED", "CANCELLED", "FAILED", "COPYING"
953
+ # resp.snapshot.total_backup_size_in_mega_bytes #=> Float
954
+ #
955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/DeleteSnapshot AWS API Documentation
956
+ #
957
+ # @overload delete_snapshot(params = {})
958
+ # @param [Hash] params ({})
959
+ def delete_snapshot(params = {}, options = {})
960
+ req = build_request(:delete_snapshot, params)
961
+ req.send_request(options)
962
+ end
963
+
964
+ # Deletes a usage limit from Amazon Redshift Serverless.
965
+ #
966
+ # @option params [required, String] :usage_limit_id
967
+ # The unique identifier of the usage limit to delete.
968
+ #
969
+ # @return [Types::DeleteUsageLimitResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
970
+ #
971
+ # * {Types::DeleteUsageLimitResponse#usage_limit #usage_limit} => Types::UsageLimit
972
+ #
973
+ # @example Request syntax with placeholder values
974
+ #
975
+ # resp = client.delete_usage_limit({
976
+ # usage_limit_id: "String", # required
977
+ # })
978
+ #
979
+ # @example Response structure
980
+ #
981
+ # resp.usage_limit.amount #=> Integer
982
+ # resp.usage_limit.breach_action #=> String, one of "log", "emit-metric", "deactivate"
983
+ # resp.usage_limit.period #=> String, one of "daily", "weekly", "monthly"
984
+ # resp.usage_limit.resource_arn #=> String
985
+ # resp.usage_limit.usage_limit_arn #=> String
986
+ # resp.usage_limit.usage_limit_id #=> String
987
+ # resp.usage_limit.usage_type #=> String, one of "serverless-compute", "cross-region-datasharing"
988
+ #
989
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/DeleteUsageLimit AWS API Documentation
990
+ #
991
+ # @overload delete_usage_limit(params = {})
992
+ # @param [Hash] params ({})
993
+ def delete_usage_limit(params = {}, options = {})
994
+ req = build_request(:delete_usage_limit, params)
995
+ req.send_request(options)
996
+ end
997
+
998
+ # Deletes a workgroup.
999
+ #
1000
+ # @option params [required, String] :workgroup_name
1001
+ # The name of the workgroup to be deleted.
1002
+ #
1003
+ # @return [Types::DeleteWorkgroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1004
+ #
1005
+ # * {Types::DeleteWorkgroupResponse#workgroup #workgroup} => Types::Workgroup
1006
+ #
1007
+ # @example Request syntax with placeholder values
1008
+ #
1009
+ # resp = client.delete_workgroup({
1010
+ # workgroup_name: "WorkgroupName", # required
1011
+ # })
1012
+ #
1013
+ # @example Response structure
1014
+ #
1015
+ # resp.workgroup.base_capacity #=> Integer
1016
+ # resp.workgroup.config_parameters #=> Array
1017
+ # resp.workgroup.config_parameters[0].parameter_key #=> String
1018
+ # resp.workgroup.config_parameters[0].parameter_value #=> String
1019
+ # resp.workgroup.creation_date #=> Time
1020
+ # resp.workgroup.endpoint.address #=> String
1021
+ # resp.workgroup.endpoint.port #=> Integer
1022
+ # resp.workgroup.endpoint.vpc_endpoints #=> Array
1023
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces #=> Array
1024
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].availability_zone #=> String
1025
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].network_interface_id #=> String
1026
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].private_ip_address #=> String
1027
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].subnet_id #=> String
1028
+ # resp.workgroup.endpoint.vpc_endpoints[0].vpc_endpoint_id #=> String
1029
+ # resp.workgroup.endpoint.vpc_endpoints[0].vpc_id #=> String
1030
+ # resp.workgroup.enhanced_vpc_routing #=> Boolean
1031
+ # resp.workgroup.namespace_name #=> String
1032
+ # resp.workgroup.publicly_accessible #=> Boolean
1033
+ # resp.workgroup.security_group_ids #=> Array
1034
+ # resp.workgroup.security_group_ids[0] #=> String
1035
+ # resp.workgroup.status #=> String, one of "CREATING", "AVAILABLE", "MODIFYING", "DELETING"
1036
+ # resp.workgroup.subnet_ids #=> Array
1037
+ # resp.workgroup.subnet_ids[0] #=> String
1038
+ # resp.workgroup.workgroup_arn #=> String
1039
+ # resp.workgroup.workgroup_id #=> String
1040
+ # resp.workgroup.workgroup_name #=> String
1041
+ #
1042
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/DeleteWorkgroup AWS API Documentation
1043
+ #
1044
+ # @overload delete_workgroup(params = {})
1045
+ # @param [Hash] params ({})
1046
+ def delete_workgroup(params = {}, options = {})
1047
+ req = build_request(:delete_workgroup, params)
1048
+ req.send_request(options)
1049
+ end
1050
+
1051
+ # Returns a database user name and temporary password with temporary
1052
+ # authorization to log in to Amazon Redshift Serverless.
1053
+ #
1054
+ # By default, the temporary credentials expire in 900 seconds. You can
1055
+ # optionally specify a duration between 900 seconds (15 minutes) and
1056
+ # 3600 seconds (60 minutes).
1057
+ #
1058
+ # <p> The Identity and Access Management (IAM) user or role that runs GetCredentials must have an IAM policy attached that allows access to all necessary actions and resources. </p> <p> If the <code>DbName</code> parameter is specified, the IAM policy must allow access to the resource dbname for the specified database name.</p>
1059
+ #
1060
+ # @option params [String] :db_name
1061
+ # The name of the database to get temporary authorization to log on to.
1062
+ #
1063
+ # Constraints:
1064
+ #
1065
+ # * Must be 1 to 64 alphanumeric characters or hyphens.
1066
+ #
1067
+ # * Must contain only lowercase letters, numbers, underscore, plus sign,
1068
+ # period (dot), at symbol (@), or hyphen.
1069
+ #
1070
+ # * The first character must be a letter.
1071
+ #
1072
+ # * Must not contain a colon ( : ) or slash ( / ).
1073
+ #
1074
+ # * Cannot be a reserved word. A list of reserved words can be found in
1075
+ # [Reserved Words ][1] in the Amazon Redshift Database Developer Guide
1076
+ #
1077
+ #
1078
+ #
1079
+ # [1]: https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html
1080
+ #
1081
+ # @option params [Integer] :duration_seconds
1082
+ # The number of seconds until the returned temporary password expires.
1083
+ # The minimum is 900 seconds, and the maximum is 3600 seconds.
1084
+ #
1085
+ # @option params [required, String] :workgroup_name
1086
+ # The name of the workgroup associated with the database.
1087
+ #
1088
+ # @return [Types::GetCredentialsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1089
+ #
1090
+ # * {Types::GetCredentialsResponse#db_password #db_password} => String
1091
+ # * {Types::GetCredentialsResponse#db_user #db_user} => String
1092
+ # * {Types::GetCredentialsResponse#expiration #expiration} => Time
1093
+ # * {Types::GetCredentialsResponse#next_refresh_time #next_refresh_time} => Time
1094
+ #
1095
+ # @example Request syntax with placeholder values
1096
+ #
1097
+ # resp = client.get_credentials({
1098
+ # db_name: "DbName",
1099
+ # duration_seconds: 1,
1100
+ # workgroup_name: "WorkgroupName", # required
1101
+ # })
1102
+ #
1103
+ # @example Response structure
1104
+ #
1105
+ # resp.db_password #=> String
1106
+ # resp.db_user #=> String
1107
+ # resp.expiration #=> Time
1108
+ # resp.next_refresh_time #=> Time
1109
+ #
1110
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/GetCredentials AWS API Documentation
1111
+ #
1112
+ # @overload get_credentials(params = {})
1113
+ # @param [Hash] params ({})
1114
+ def get_credentials(params = {}, options = {})
1115
+ req = build_request(:get_credentials, params)
1116
+ req.send_request(options)
1117
+ end
1118
+
1119
+ # Returns information, such as the name, about a VPC endpoint.
1120
+ #
1121
+ # @option params [required, String] :endpoint_name
1122
+ # The name of the VPC endpoint to return information for.
1123
+ #
1124
+ # @return [Types::GetEndpointAccessResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1125
+ #
1126
+ # * {Types::GetEndpointAccessResponse#endpoint #endpoint} => Types::EndpointAccess
1127
+ #
1128
+ # @example Request syntax with placeholder values
1129
+ #
1130
+ # resp = client.get_endpoint_access({
1131
+ # endpoint_name: "String", # required
1132
+ # })
1133
+ #
1134
+ # @example Response structure
1135
+ #
1136
+ # resp.endpoint.address #=> String
1137
+ # resp.endpoint.endpoint_arn #=> String
1138
+ # resp.endpoint.endpoint_create_time #=> Time
1139
+ # resp.endpoint.endpoint_name #=> String
1140
+ # resp.endpoint.endpoint_status #=> String
1141
+ # resp.endpoint.port #=> Integer
1142
+ # resp.endpoint.subnet_ids #=> Array
1143
+ # resp.endpoint.subnet_ids[0] #=> String
1144
+ # resp.endpoint.vpc_endpoint.network_interfaces #=> Array
1145
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].availability_zone #=> String
1146
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].network_interface_id #=> String
1147
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].private_ip_address #=> String
1148
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].subnet_id #=> String
1149
+ # resp.endpoint.vpc_endpoint.vpc_endpoint_id #=> String
1150
+ # resp.endpoint.vpc_endpoint.vpc_id #=> String
1151
+ # resp.endpoint.vpc_security_groups #=> Array
1152
+ # resp.endpoint.vpc_security_groups[0].status #=> String
1153
+ # resp.endpoint.vpc_security_groups[0].vpc_security_group_id #=> String
1154
+ # resp.endpoint.workgroup_name #=> String
1155
+ #
1156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/GetEndpointAccess AWS API Documentation
1157
+ #
1158
+ # @overload get_endpoint_access(params = {})
1159
+ # @param [Hash] params ({})
1160
+ def get_endpoint_access(params = {}, options = {})
1161
+ req = build_request(:get_endpoint_access, params)
1162
+ req.send_request(options)
1163
+ end
1164
+
1165
+ # Returns information about a namespace in Amazon Redshift Serverless.
1166
+ #
1167
+ # @option params [required, String] :namespace_name
1168
+ # The name of the namespace to retrieve information for.
1169
+ #
1170
+ # @return [Types::GetNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1171
+ #
1172
+ # * {Types::GetNamespaceResponse#namespace #namespace} => Types::Namespace
1173
+ #
1174
+ # @example Request syntax with placeholder values
1175
+ #
1176
+ # resp = client.get_namespace({
1177
+ # namespace_name: "NamespaceName", # required
1178
+ # })
1179
+ #
1180
+ # @example Response structure
1181
+ #
1182
+ # resp.namespace.admin_username #=> String
1183
+ # resp.namespace.creation_date #=> Time
1184
+ # resp.namespace.db_name #=> String
1185
+ # resp.namespace.default_iam_role_arn #=> String
1186
+ # resp.namespace.iam_roles #=> Array
1187
+ # resp.namespace.iam_roles[0] #=> String
1188
+ # resp.namespace.kms_key_id #=> String
1189
+ # resp.namespace.log_exports #=> Array
1190
+ # resp.namespace.log_exports[0] #=> String, one of "useractivitylog", "userlog", "connectionlog"
1191
+ # resp.namespace.namespace_arn #=> String
1192
+ # resp.namespace.namespace_id #=> String
1193
+ # resp.namespace.namespace_name #=> String
1194
+ # resp.namespace.status #=> String, one of "AVAILABLE", "MODIFYING", "DELETING"
1195
+ #
1196
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/GetNamespace AWS API Documentation
1197
+ #
1198
+ # @overload get_namespace(params = {})
1199
+ # @param [Hash] params ({})
1200
+ def get_namespace(params = {}, options = {})
1201
+ req = build_request(:get_namespace, params)
1202
+ req.send_request(options)
1203
+ end
1204
+
1205
+ # Returns information about a recovery point.
1206
+ #
1207
+ # @option params [required, String] :recovery_point_id
1208
+ # The unique identifier of the recovery point to return information for.
1209
+ #
1210
+ # @return [Types::GetRecoveryPointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1211
+ #
1212
+ # * {Types::GetRecoveryPointResponse#recovery_point #recovery_point} => Types::RecoveryPoint
1213
+ #
1214
+ # @example Request syntax with placeholder values
1215
+ #
1216
+ # resp = client.get_recovery_point({
1217
+ # recovery_point_id: "String", # required
1218
+ # })
1219
+ #
1220
+ # @example Response structure
1221
+ #
1222
+ # resp.recovery_point.namespace_name #=> String
1223
+ # resp.recovery_point.recovery_point_create_time #=> Time
1224
+ # resp.recovery_point.recovery_point_id #=> String
1225
+ # resp.recovery_point.total_size_in_mega_bytes #=> Float
1226
+ # resp.recovery_point.workgroup_name #=> String
1227
+ #
1228
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/GetRecoveryPoint AWS API Documentation
1229
+ #
1230
+ # @overload get_recovery_point(params = {})
1231
+ # @param [Hash] params ({})
1232
+ def get_recovery_point(params = {}, options = {})
1233
+ req = build_request(:get_recovery_point, params)
1234
+ req.send_request(options)
1235
+ end
1236
+
1237
+ # Returns a resource policy.
1238
+ #
1239
+ # @option params [required, String] :resource_arn
1240
+ # The Amazon Resource Name (ARN) of the resource to return.
1241
+ #
1242
+ # @return [Types::GetResourcePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1243
+ #
1244
+ # * {Types::GetResourcePolicyResponse#resource_policy #resource_policy} => Types::ResourcePolicy
1245
+ #
1246
+ # @example Request syntax with placeholder values
1247
+ #
1248
+ # resp = client.get_resource_policy({
1249
+ # resource_arn: "String", # required
1250
+ # })
1251
+ #
1252
+ # @example Response structure
1253
+ #
1254
+ # resp.resource_policy.policy #=> String
1255
+ # resp.resource_policy.resource_arn #=> String
1256
+ #
1257
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/GetResourcePolicy AWS API Documentation
1258
+ #
1259
+ # @overload get_resource_policy(params = {})
1260
+ # @param [Hash] params ({})
1261
+ def get_resource_policy(params = {}, options = {})
1262
+ req = build_request(:get_resource_policy, params)
1263
+ req.send_request(options)
1264
+ end
1265
+
1266
+ # Returns information about a specific snapshot.
1267
+ #
1268
+ # @option params [String] :owner_account
1269
+ # The owner Amazon Web Services account of a snapshot shared with
1270
+ # another user.
1271
+ #
1272
+ # @option params [String] :snapshot_arn
1273
+ # The Amazon Resource Name (ARN) of the snapshot to return.
1274
+ #
1275
+ # @option params [String] :snapshot_name
1276
+ # The name of the snapshot to return.
1277
+ #
1278
+ # @return [Types::GetSnapshotResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1279
+ #
1280
+ # * {Types::GetSnapshotResponse#snapshot #snapshot} => Types::Snapshot
1281
+ #
1282
+ # @example Request syntax with placeholder values
1283
+ #
1284
+ # resp = client.get_snapshot({
1285
+ # owner_account: "String",
1286
+ # snapshot_arn: "String",
1287
+ # snapshot_name: "String",
1288
+ # })
1289
+ #
1290
+ # @example Response structure
1291
+ #
1292
+ # resp.snapshot.accounts_with_provisioned_restore_access #=> Array
1293
+ # resp.snapshot.accounts_with_provisioned_restore_access[0] #=> String
1294
+ # resp.snapshot.accounts_with_restore_access #=> Array
1295
+ # resp.snapshot.accounts_with_restore_access[0] #=> String
1296
+ # resp.snapshot.actual_incremental_backup_size_in_mega_bytes #=> Float
1297
+ # resp.snapshot.admin_username #=> String
1298
+ # resp.snapshot.backup_progress_in_mega_bytes #=> Float
1299
+ # resp.snapshot.current_backup_rate_in_mega_bytes_per_second #=> Float
1300
+ # resp.snapshot.elapsed_time_in_seconds #=> Integer
1301
+ # resp.snapshot.estimated_seconds_to_completion #=> Integer
1302
+ # resp.snapshot.kms_key_id #=> String
1303
+ # resp.snapshot.namespace_arn #=> String
1304
+ # resp.snapshot.namespace_name #=> String
1305
+ # resp.snapshot.owner_account #=> String
1306
+ # resp.snapshot.snapshot_arn #=> String
1307
+ # resp.snapshot.snapshot_create_time #=> Time
1308
+ # resp.snapshot.snapshot_name #=> String
1309
+ # resp.snapshot.snapshot_remaining_days #=> Integer
1310
+ # resp.snapshot.snapshot_retention_period #=> Integer
1311
+ # resp.snapshot.snapshot_retention_start_time #=> Time
1312
+ # resp.snapshot.status #=> String, one of "AVAILABLE", "CREATING", "DELETED", "CANCELLED", "FAILED", "COPYING"
1313
+ # resp.snapshot.total_backup_size_in_mega_bytes #=> Float
1314
+ #
1315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/GetSnapshot AWS API Documentation
1316
+ #
1317
+ # @overload get_snapshot(params = {})
1318
+ # @param [Hash] params ({})
1319
+ def get_snapshot(params = {}, options = {})
1320
+ req = build_request(:get_snapshot, params)
1321
+ req.send_request(options)
1322
+ end
1323
+
1324
+ # Returns information about a usage limit.
1325
+ #
1326
+ # @option params [required, String] :usage_limit_id
1327
+ # The unique identifier of the usage limit to return information for.
1328
+ #
1329
+ # @return [Types::GetUsageLimitResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1330
+ #
1331
+ # * {Types::GetUsageLimitResponse#usage_limit #usage_limit} => Types::UsageLimit
1332
+ #
1333
+ # @example Request syntax with placeholder values
1334
+ #
1335
+ # resp = client.get_usage_limit({
1336
+ # usage_limit_id: "String", # required
1337
+ # })
1338
+ #
1339
+ # @example Response structure
1340
+ #
1341
+ # resp.usage_limit.amount #=> Integer
1342
+ # resp.usage_limit.breach_action #=> String, one of "log", "emit-metric", "deactivate"
1343
+ # resp.usage_limit.period #=> String, one of "daily", "weekly", "monthly"
1344
+ # resp.usage_limit.resource_arn #=> String
1345
+ # resp.usage_limit.usage_limit_arn #=> String
1346
+ # resp.usage_limit.usage_limit_id #=> String
1347
+ # resp.usage_limit.usage_type #=> String, one of "serverless-compute", "cross-region-datasharing"
1348
+ #
1349
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/GetUsageLimit AWS API Documentation
1350
+ #
1351
+ # @overload get_usage_limit(params = {})
1352
+ # @param [Hash] params ({})
1353
+ def get_usage_limit(params = {}, options = {})
1354
+ req = build_request(:get_usage_limit, params)
1355
+ req.send_request(options)
1356
+ end
1357
+
1358
+ # Returns information about a specific workgroup.
1359
+ #
1360
+ # @option params [required, String] :workgroup_name
1361
+ # The name of the workgroup to return information for.
1362
+ #
1363
+ # @return [Types::GetWorkgroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1364
+ #
1365
+ # * {Types::GetWorkgroupResponse#workgroup #workgroup} => Types::Workgroup
1366
+ #
1367
+ # @example Request syntax with placeholder values
1368
+ #
1369
+ # resp = client.get_workgroup({
1370
+ # workgroup_name: "WorkgroupName", # required
1371
+ # })
1372
+ #
1373
+ # @example Response structure
1374
+ #
1375
+ # resp.workgroup.base_capacity #=> Integer
1376
+ # resp.workgroup.config_parameters #=> Array
1377
+ # resp.workgroup.config_parameters[0].parameter_key #=> String
1378
+ # resp.workgroup.config_parameters[0].parameter_value #=> String
1379
+ # resp.workgroup.creation_date #=> Time
1380
+ # resp.workgroup.endpoint.address #=> String
1381
+ # resp.workgroup.endpoint.port #=> Integer
1382
+ # resp.workgroup.endpoint.vpc_endpoints #=> Array
1383
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces #=> Array
1384
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].availability_zone #=> String
1385
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].network_interface_id #=> String
1386
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].private_ip_address #=> String
1387
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].subnet_id #=> String
1388
+ # resp.workgroup.endpoint.vpc_endpoints[0].vpc_endpoint_id #=> String
1389
+ # resp.workgroup.endpoint.vpc_endpoints[0].vpc_id #=> String
1390
+ # resp.workgroup.enhanced_vpc_routing #=> Boolean
1391
+ # resp.workgroup.namespace_name #=> String
1392
+ # resp.workgroup.publicly_accessible #=> Boolean
1393
+ # resp.workgroup.security_group_ids #=> Array
1394
+ # resp.workgroup.security_group_ids[0] #=> String
1395
+ # resp.workgroup.status #=> String, one of "CREATING", "AVAILABLE", "MODIFYING", "DELETING"
1396
+ # resp.workgroup.subnet_ids #=> Array
1397
+ # resp.workgroup.subnet_ids[0] #=> String
1398
+ # resp.workgroup.workgroup_arn #=> String
1399
+ # resp.workgroup.workgroup_id #=> String
1400
+ # resp.workgroup.workgroup_name #=> String
1401
+ #
1402
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/GetWorkgroup AWS API Documentation
1403
+ #
1404
+ # @overload get_workgroup(params = {})
1405
+ # @param [Hash] params ({})
1406
+ def get_workgroup(params = {}, options = {})
1407
+ req = build_request(:get_workgroup, params)
1408
+ req.send_request(options)
1409
+ end
1410
+
1411
+ # Returns an array of `EndpointAccess` objects and relevant information.
1412
+ #
1413
+ # @option params [Integer] :max_results
1414
+ # An optional parameter that specifies the maximum number of results to
1415
+ # return. You can use `nextToken` to get the next page of results.
1416
+ #
1417
+ # @option params [String] :next_token
1418
+ # If your initial `ListEndpointAccess` operation returns a `nextToken`,
1419
+ # you can include the returned `nextToken` in subsequent
1420
+ # `ListEndpointAccess` operations, which returns results in the next
1421
+ # page.
1422
+ #
1423
+ # @option params [String] :vpc_id
1424
+ # The unique identifier of the virtual private cloud with access to
1425
+ # Amazon Redshift Serverless.
1426
+ #
1427
+ # @option params [String] :workgroup_name
1428
+ # The name of the workgroup associated with the VPC endpoint to return.
1429
+ #
1430
+ # @return [Types::ListEndpointAccessResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1431
+ #
1432
+ # * {Types::ListEndpointAccessResponse#endpoints #endpoints} => Array&lt;Types::EndpointAccess&gt;
1433
+ # * {Types::ListEndpointAccessResponse#next_token #next_token} => String
1434
+ #
1435
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1436
+ #
1437
+ # @example Request syntax with placeholder values
1438
+ #
1439
+ # resp = client.list_endpoint_access({
1440
+ # max_results: 1,
1441
+ # next_token: "String",
1442
+ # vpc_id: "String",
1443
+ # workgroup_name: "String",
1444
+ # })
1445
+ #
1446
+ # @example Response structure
1447
+ #
1448
+ # resp.endpoints #=> Array
1449
+ # resp.endpoints[0].address #=> String
1450
+ # resp.endpoints[0].endpoint_arn #=> String
1451
+ # resp.endpoints[0].endpoint_create_time #=> Time
1452
+ # resp.endpoints[0].endpoint_name #=> String
1453
+ # resp.endpoints[0].endpoint_status #=> String
1454
+ # resp.endpoints[0].port #=> Integer
1455
+ # resp.endpoints[0].subnet_ids #=> Array
1456
+ # resp.endpoints[0].subnet_ids[0] #=> String
1457
+ # resp.endpoints[0].vpc_endpoint.network_interfaces #=> Array
1458
+ # resp.endpoints[0].vpc_endpoint.network_interfaces[0].availability_zone #=> String
1459
+ # resp.endpoints[0].vpc_endpoint.network_interfaces[0].network_interface_id #=> String
1460
+ # resp.endpoints[0].vpc_endpoint.network_interfaces[0].private_ip_address #=> String
1461
+ # resp.endpoints[0].vpc_endpoint.network_interfaces[0].subnet_id #=> String
1462
+ # resp.endpoints[0].vpc_endpoint.vpc_endpoint_id #=> String
1463
+ # resp.endpoints[0].vpc_endpoint.vpc_id #=> String
1464
+ # resp.endpoints[0].vpc_security_groups #=> Array
1465
+ # resp.endpoints[0].vpc_security_groups[0].status #=> String
1466
+ # resp.endpoints[0].vpc_security_groups[0].vpc_security_group_id #=> String
1467
+ # resp.endpoints[0].workgroup_name #=> String
1468
+ # resp.next_token #=> String
1469
+ #
1470
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/ListEndpointAccess AWS API Documentation
1471
+ #
1472
+ # @overload list_endpoint_access(params = {})
1473
+ # @param [Hash] params ({})
1474
+ def list_endpoint_access(params = {}, options = {})
1475
+ req = build_request(:list_endpoint_access, params)
1476
+ req.send_request(options)
1477
+ end
1478
+
1479
+ # Returns information about a list of specified namespaces.
1480
+ #
1481
+ # @option params [Integer] :max_results
1482
+ # An optional parameter that specifies the maximum number of results to
1483
+ # return. You can use `nextToken` to get the next page of results.
1484
+ #
1485
+ # @option params [String] :next_token
1486
+ # If your initial `ListNamespaces` operation returns a `nextToken`, you
1487
+ # can include the returned `nextToken` in subsequent `ListNamespaces`
1488
+ # operations, which returns results in the next page.
1489
+ #
1490
+ # @return [Types::ListNamespacesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1491
+ #
1492
+ # * {Types::ListNamespacesResponse#namespaces #namespaces} => Array&lt;Types::Namespace&gt;
1493
+ # * {Types::ListNamespacesResponse#next_token #next_token} => String
1494
+ #
1495
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1496
+ #
1497
+ # @example Request syntax with placeholder values
1498
+ #
1499
+ # resp = client.list_namespaces({
1500
+ # max_results: 1,
1501
+ # next_token: "String",
1502
+ # })
1503
+ #
1504
+ # @example Response structure
1505
+ #
1506
+ # resp.namespaces #=> Array
1507
+ # resp.namespaces[0].admin_username #=> String
1508
+ # resp.namespaces[0].creation_date #=> Time
1509
+ # resp.namespaces[0].db_name #=> String
1510
+ # resp.namespaces[0].default_iam_role_arn #=> String
1511
+ # resp.namespaces[0].iam_roles #=> Array
1512
+ # resp.namespaces[0].iam_roles[0] #=> String
1513
+ # resp.namespaces[0].kms_key_id #=> String
1514
+ # resp.namespaces[0].log_exports #=> Array
1515
+ # resp.namespaces[0].log_exports[0] #=> String, one of "useractivitylog", "userlog", "connectionlog"
1516
+ # resp.namespaces[0].namespace_arn #=> String
1517
+ # resp.namespaces[0].namespace_id #=> String
1518
+ # resp.namespaces[0].namespace_name #=> String
1519
+ # resp.namespaces[0].status #=> String, one of "AVAILABLE", "MODIFYING", "DELETING"
1520
+ # resp.next_token #=> String
1521
+ #
1522
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/ListNamespaces AWS API Documentation
1523
+ #
1524
+ # @overload list_namespaces(params = {})
1525
+ # @param [Hash] params ({})
1526
+ def list_namespaces(params = {}, options = {})
1527
+ req = build_request(:list_namespaces, params)
1528
+ req.send_request(options)
1529
+ end
1530
+
1531
+ # Returns an array of recovery points.
1532
+ #
1533
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
1534
+ # The time when creation of the recovery point finished.
1535
+ #
1536
+ # @option params [Integer] :max_results
1537
+ # An optional parameter that specifies the maximum number of results to
1538
+ # return. You can use `nextToken` to get the next page of results.
1539
+ #
1540
+ # @option params [String] :namespace_name
1541
+ # The name of the namespace to list recovery points for.
1542
+ #
1543
+ # @option params [String] :next_token
1544
+ # If your initial `ListRecoveryPoints` operation returns a `nextToken`,
1545
+ # you can include the returned `nextToken` in subsequent
1546
+ # `ListRecoveryPoints` operations, which returns results in the next
1547
+ # page.
1548
+ #
1549
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
1550
+ # The time when the recovery point's creation was initiated.
1551
+ #
1552
+ # @return [Types::ListRecoveryPointsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1553
+ #
1554
+ # * {Types::ListRecoveryPointsResponse#next_token #next_token} => String
1555
+ # * {Types::ListRecoveryPointsResponse#recovery_points #recovery_points} => Array&lt;Types::RecoveryPoint&gt;
1556
+ #
1557
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1558
+ #
1559
+ # @example Request syntax with placeholder values
1560
+ #
1561
+ # resp = client.list_recovery_points({
1562
+ # end_time: Time.now,
1563
+ # max_results: 1,
1564
+ # namespace_name: "NamespaceName",
1565
+ # next_token: "String",
1566
+ # start_time: Time.now,
1567
+ # })
1568
+ #
1569
+ # @example Response structure
1570
+ #
1571
+ # resp.next_token #=> String
1572
+ # resp.recovery_points #=> Array
1573
+ # resp.recovery_points[0].namespace_name #=> String
1574
+ # resp.recovery_points[0].recovery_point_create_time #=> Time
1575
+ # resp.recovery_points[0].recovery_point_id #=> String
1576
+ # resp.recovery_points[0].total_size_in_mega_bytes #=> Float
1577
+ # resp.recovery_points[0].workgroup_name #=> String
1578
+ #
1579
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/ListRecoveryPoints AWS API Documentation
1580
+ #
1581
+ # @overload list_recovery_points(params = {})
1582
+ # @param [Hash] params ({})
1583
+ def list_recovery_points(params = {}, options = {})
1584
+ req = build_request(:list_recovery_points, params)
1585
+ req.send_request(options)
1586
+ end
1587
+
1588
+ # Returns a list of snapshots.
1589
+ #
1590
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
1591
+ # The timestamp showing when the snapshot creation finished.
1592
+ #
1593
+ # @option params [Integer] :max_results
1594
+ # An optional parameter that specifies the maximum number of results to
1595
+ # return. You can use `nextToken` to get the next page of results.
1596
+ #
1597
+ # @option params [String] :namespace_arn
1598
+ # The Amazon Resource Name (ARN) of the namespace from which to list all
1599
+ # snapshots.
1600
+ #
1601
+ # @option params [String] :namespace_name
1602
+ # The namespace from which to list all snapshots.
1603
+ #
1604
+ # @option params [String] :next_token
1605
+ # If `nextToken` is returned, there are more results available. The
1606
+ # value of `nextToken` is a unique pagination token for each page. Make
1607
+ # the call again using the returned token to retrieve the next page.
1608
+ #
1609
+ # @option params [String] :owner_account
1610
+ # The owner Amazon Web Services account of the snapshot.
1611
+ #
1612
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
1613
+ # The time when the creation of the snapshot was initiated.
1614
+ #
1615
+ # @return [Types::ListSnapshotsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1616
+ #
1617
+ # * {Types::ListSnapshotsResponse#next_token #next_token} => String
1618
+ # * {Types::ListSnapshotsResponse#snapshots #snapshots} => Array&lt;Types::Snapshot&gt;
1619
+ #
1620
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1621
+ #
1622
+ # @example Request syntax with placeholder values
1623
+ #
1624
+ # resp = client.list_snapshots({
1625
+ # end_time: Time.now,
1626
+ # max_results: 1,
1627
+ # namespace_arn: "String",
1628
+ # namespace_name: "String",
1629
+ # next_token: "String",
1630
+ # owner_account: "String",
1631
+ # start_time: Time.now,
1632
+ # })
1633
+ #
1634
+ # @example Response structure
1635
+ #
1636
+ # resp.next_token #=> String
1637
+ # resp.snapshots #=> Array
1638
+ # resp.snapshots[0].accounts_with_provisioned_restore_access #=> Array
1639
+ # resp.snapshots[0].accounts_with_provisioned_restore_access[0] #=> String
1640
+ # resp.snapshots[0].accounts_with_restore_access #=> Array
1641
+ # resp.snapshots[0].accounts_with_restore_access[0] #=> String
1642
+ # resp.snapshots[0].actual_incremental_backup_size_in_mega_bytes #=> Float
1643
+ # resp.snapshots[0].admin_username #=> String
1644
+ # resp.snapshots[0].backup_progress_in_mega_bytes #=> Float
1645
+ # resp.snapshots[0].current_backup_rate_in_mega_bytes_per_second #=> Float
1646
+ # resp.snapshots[0].elapsed_time_in_seconds #=> Integer
1647
+ # resp.snapshots[0].estimated_seconds_to_completion #=> Integer
1648
+ # resp.snapshots[0].kms_key_id #=> String
1649
+ # resp.snapshots[0].namespace_arn #=> String
1650
+ # resp.snapshots[0].namespace_name #=> String
1651
+ # resp.snapshots[0].owner_account #=> String
1652
+ # resp.snapshots[0].snapshot_arn #=> String
1653
+ # resp.snapshots[0].snapshot_create_time #=> Time
1654
+ # resp.snapshots[0].snapshot_name #=> String
1655
+ # resp.snapshots[0].snapshot_remaining_days #=> Integer
1656
+ # resp.snapshots[0].snapshot_retention_period #=> Integer
1657
+ # resp.snapshots[0].snapshot_retention_start_time #=> Time
1658
+ # resp.snapshots[0].status #=> String, one of "AVAILABLE", "CREATING", "DELETED", "CANCELLED", "FAILED", "COPYING"
1659
+ # resp.snapshots[0].total_backup_size_in_mega_bytes #=> Float
1660
+ #
1661
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/ListSnapshots AWS API Documentation
1662
+ #
1663
+ # @overload list_snapshots(params = {})
1664
+ # @param [Hash] params ({})
1665
+ def list_snapshots(params = {}, options = {})
1666
+ req = build_request(:list_snapshots, params)
1667
+ req.send_request(options)
1668
+ end
1669
+
1670
+ # Lists the tags assigned to a resource.
1671
+ #
1672
+ # @option params [required, String] :resource_arn
1673
+ # The Amazon Resource Name (ARN) of the resource to list tags for.
1674
+ #
1675
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1676
+ #
1677
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1678
+ #
1679
+ # @example Request syntax with placeholder values
1680
+ #
1681
+ # resp = client.list_tags_for_resource({
1682
+ # resource_arn: "AmazonResourceName", # required
1683
+ # })
1684
+ #
1685
+ # @example Response structure
1686
+ #
1687
+ # resp.tags #=> Array
1688
+ # resp.tags[0].key #=> String
1689
+ # resp.tags[0].value #=> String
1690
+ #
1691
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/ListTagsForResource AWS API Documentation
1692
+ #
1693
+ # @overload list_tags_for_resource(params = {})
1694
+ # @param [Hash] params ({})
1695
+ def list_tags_for_resource(params = {}, options = {})
1696
+ req = build_request(:list_tags_for_resource, params)
1697
+ req.send_request(options)
1698
+ end
1699
+
1700
+ # Lists all usage limits within Amazon Redshift Serverless.
1701
+ #
1702
+ # @option params [Integer] :max_results
1703
+ # An optional parameter that specifies the maximum number of results to
1704
+ # return. You can use `nextToken` to get the next page of results. The
1705
+ # default is 100.
1706
+ #
1707
+ # @option params [String] :next_token
1708
+ # If your initial `ListUsageLimits` operation returns a `nextToken`, you
1709
+ # can include the returned `nextToken` in subsequent `ListUsageLimits`
1710
+ # operations, which returns results in the next page.
1711
+ #
1712
+ # @option params [String] :resource_arn
1713
+ # The Amazon Resource Name (ARN) associated with the resource whose
1714
+ # usage limits you want to list.
1715
+ #
1716
+ # @option params [String] :usage_type
1717
+ # The Amazon Redshift Serverless feature whose limits you want to see.
1718
+ #
1719
+ # @return [Types::ListUsageLimitsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1720
+ #
1721
+ # * {Types::ListUsageLimitsResponse#next_token #next_token} => String
1722
+ # * {Types::ListUsageLimitsResponse#usage_limits #usage_limits} => Array&lt;Types::UsageLimit&gt;
1723
+ #
1724
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1725
+ #
1726
+ # @example Request syntax with placeholder values
1727
+ #
1728
+ # resp = client.list_usage_limits({
1729
+ # max_results: 1,
1730
+ # next_token: "PaginationToken",
1731
+ # resource_arn: "String",
1732
+ # usage_type: "serverless-compute", # accepts serverless-compute, cross-region-datasharing
1733
+ # })
1734
+ #
1735
+ # @example Response structure
1736
+ #
1737
+ # resp.next_token #=> String
1738
+ # resp.usage_limits #=> Array
1739
+ # resp.usage_limits[0].amount #=> Integer
1740
+ # resp.usage_limits[0].breach_action #=> String, one of "log", "emit-metric", "deactivate"
1741
+ # resp.usage_limits[0].period #=> String, one of "daily", "weekly", "monthly"
1742
+ # resp.usage_limits[0].resource_arn #=> String
1743
+ # resp.usage_limits[0].usage_limit_arn #=> String
1744
+ # resp.usage_limits[0].usage_limit_id #=> String
1745
+ # resp.usage_limits[0].usage_type #=> String, one of "serverless-compute", "cross-region-datasharing"
1746
+ #
1747
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/ListUsageLimits AWS API Documentation
1748
+ #
1749
+ # @overload list_usage_limits(params = {})
1750
+ # @param [Hash] params ({})
1751
+ def list_usage_limits(params = {}, options = {})
1752
+ req = build_request(:list_usage_limits, params)
1753
+ req.send_request(options)
1754
+ end
1755
+
1756
+ # Returns information about a list of specified workgroups.
1757
+ #
1758
+ # @option params [Integer] :max_results
1759
+ # An optional parameter that specifies the maximum number of results to
1760
+ # return. You can use `nextToken` to get the next page of results.
1761
+ #
1762
+ # @option params [String] :next_token
1763
+ # If your initial ListWorkgroups operation returns a `nextToken`, you
1764
+ # can include the returned `nextToken` in subsequent ListNamespaces
1765
+ # operations, which returns results in the next page.
1766
+ #
1767
+ # @return [Types::ListWorkgroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1768
+ #
1769
+ # * {Types::ListWorkgroupsResponse#next_token #next_token} => String
1770
+ # * {Types::ListWorkgroupsResponse#workgroups #workgroups} => Array&lt;Types::Workgroup&gt;
1771
+ #
1772
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1773
+ #
1774
+ # @example Request syntax with placeholder values
1775
+ #
1776
+ # resp = client.list_workgroups({
1777
+ # max_results: 1,
1778
+ # next_token: "String",
1779
+ # })
1780
+ #
1781
+ # @example Response structure
1782
+ #
1783
+ # resp.next_token #=> String
1784
+ # resp.workgroups #=> Array
1785
+ # resp.workgroups[0].base_capacity #=> Integer
1786
+ # resp.workgroups[0].config_parameters #=> Array
1787
+ # resp.workgroups[0].config_parameters[0].parameter_key #=> String
1788
+ # resp.workgroups[0].config_parameters[0].parameter_value #=> String
1789
+ # resp.workgroups[0].creation_date #=> Time
1790
+ # resp.workgroups[0].endpoint.address #=> String
1791
+ # resp.workgroups[0].endpoint.port #=> Integer
1792
+ # resp.workgroups[0].endpoint.vpc_endpoints #=> Array
1793
+ # resp.workgroups[0].endpoint.vpc_endpoints[0].network_interfaces #=> Array
1794
+ # resp.workgroups[0].endpoint.vpc_endpoints[0].network_interfaces[0].availability_zone #=> String
1795
+ # resp.workgroups[0].endpoint.vpc_endpoints[0].network_interfaces[0].network_interface_id #=> String
1796
+ # resp.workgroups[0].endpoint.vpc_endpoints[0].network_interfaces[0].private_ip_address #=> String
1797
+ # resp.workgroups[0].endpoint.vpc_endpoints[0].network_interfaces[0].subnet_id #=> String
1798
+ # resp.workgroups[0].endpoint.vpc_endpoints[0].vpc_endpoint_id #=> String
1799
+ # resp.workgroups[0].endpoint.vpc_endpoints[0].vpc_id #=> String
1800
+ # resp.workgroups[0].enhanced_vpc_routing #=> Boolean
1801
+ # resp.workgroups[0].namespace_name #=> String
1802
+ # resp.workgroups[0].publicly_accessible #=> Boolean
1803
+ # resp.workgroups[0].security_group_ids #=> Array
1804
+ # resp.workgroups[0].security_group_ids[0] #=> String
1805
+ # resp.workgroups[0].status #=> String, one of "CREATING", "AVAILABLE", "MODIFYING", "DELETING"
1806
+ # resp.workgroups[0].subnet_ids #=> Array
1807
+ # resp.workgroups[0].subnet_ids[0] #=> String
1808
+ # resp.workgroups[0].workgroup_arn #=> String
1809
+ # resp.workgroups[0].workgroup_id #=> String
1810
+ # resp.workgroups[0].workgroup_name #=> String
1811
+ #
1812
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/ListWorkgroups AWS API Documentation
1813
+ #
1814
+ # @overload list_workgroups(params = {})
1815
+ # @param [Hash] params ({})
1816
+ def list_workgroups(params = {}, options = {})
1817
+ req = build_request(:list_workgroups, params)
1818
+ req.send_request(options)
1819
+ end
1820
+
1821
+ # Creates or updates a resource policy. Currently, you can use policies
1822
+ # to share snapshots across Amazon Web Services accounts.
1823
+ #
1824
+ # @option params [required, String] :policy
1825
+ # The policy to create or update. For example, the following policy
1826
+ # grants a user authorization to restore a snapshot.
1827
+ #
1828
+ # `"\{"Version": "2012-10-17", "Statement" : [\{ "Sid":
1829
+ # "AllowUserRestoreFromSnapshot", "Principal":\{"AWS":
1830
+ # ["739247239426"]\}, "Action":
1831
+ # ["redshift-serverless:RestoreFromSnapshot"] , "Effect": "Allow"
1832
+ # \}]\}"`
1833
+ #
1834
+ # @option params [required, String] :resource_arn
1835
+ # The Amazon Resource Name (ARN) of the account to create or update a
1836
+ # resource policy for.
1837
+ #
1838
+ # @return [Types::PutResourcePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1839
+ #
1840
+ # * {Types::PutResourcePolicyResponse#resource_policy #resource_policy} => Types::ResourcePolicy
1841
+ #
1842
+ # @example Request syntax with placeholder values
1843
+ #
1844
+ # resp = client.put_resource_policy({
1845
+ # policy: "String", # required
1846
+ # resource_arn: "String", # required
1847
+ # })
1848
+ #
1849
+ # @example Response structure
1850
+ #
1851
+ # resp.resource_policy.policy #=> String
1852
+ # resp.resource_policy.resource_arn #=> String
1853
+ #
1854
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/PutResourcePolicy AWS API Documentation
1855
+ #
1856
+ # @overload put_resource_policy(params = {})
1857
+ # @param [Hash] params ({})
1858
+ def put_resource_policy(params = {}, options = {})
1859
+ req = build_request(:put_resource_policy, params)
1860
+ req.send_request(options)
1861
+ end
1862
+
1863
+ # Restore the data from a recovery point.
1864
+ #
1865
+ # @option params [required, String] :namespace_name
1866
+ # The name of the namespace to restore data into.
1867
+ #
1868
+ # @option params [required, String] :recovery_point_id
1869
+ # The unique identifier of the recovery point to restore from.
1870
+ #
1871
+ # @option params [required, String] :workgroup_name
1872
+ # The name of the workgroup used to restore data.
1873
+ #
1874
+ # @return [Types::RestoreFromRecoveryPointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1875
+ #
1876
+ # * {Types::RestoreFromRecoveryPointResponse#namespace #namespace} => Types::Namespace
1877
+ # * {Types::RestoreFromRecoveryPointResponse#recovery_point_id #recovery_point_id} => String
1878
+ #
1879
+ # @example Request syntax with placeholder values
1880
+ #
1881
+ # resp = client.restore_from_recovery_point({
1882
+ # namespace_name: "NamespaceName", # required
1883
+ # recovery_point_id: "String", # required
1884
+ # workgroup_name: "WorkgroupName", # required
1885
+ # })
1886
+ #
1887
+ # @example Response structure
1888
+ #
1889
+ # resp.namespace.admin_username #=> String
1890
+ # resp.namespace.creation_date #=> Time
1891
+ # resp.namespace.db_name #=> String
1892
+ # resp.namespace.default_iam_role_arn #=> String
1893
+ # resp.namespace.iam_roles #=> Array
1894
+ # resp.namespace.iam_roles[0] #=> String
1895
+ # resp.namespace.kms_key_id #=> String
1896
+ # resp.namespace.log_exports #=> Array
1897
+ # resp.namespace.log_exports[0] #=> String, one of "useractivitylog", "userlog", "connectionlog"
1898
+ # resp.namespace.namespace_arn #=> String
1899
+ # resp.namespace.namespace_id #=> String
1900
+ # resp.namespace.namespace_name #=> String
1901
+ # resp.namespace.status #=> String, one of "AVAILABLE", "MODIFYING", "DELETING"
1902
+ # resp.recovery_point_id #=> String
1903
+ #
1904
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/RestoreFromRecoveryPoint AWS API Documentation
1905
+ #
1906
+ # @overload restore_from_recovery_point(params = {})
1907
+ # @param [Hash] params ({})
1908
+ def restore_from_recovery_point(params = {}, options = {})
1909
+ req = build_request(:restore_from_recovery_point, params)
1910
+ req.send_request(options)
1911
+ end
1912
+
1913
+ # Restores a namespace from a snapshot.
1914
+ #
1915
+ # @option params [required, String] :namespace_name
1916
+ # The name of the namespace to restore the snapshot to.
1917
+ #
1918
+ # @option params [String] :owner_account
1919
+ # The Amazon Web Services account that owns the snapshot.
1920
+ #
1921
+ # @option params [String] :snapshot_arn
1922
+ # The Amazon Resource Name (ARN) of the snapshot to restore from.
1923
+ #
1924
+ # @option params [String] :snapshot_name
1925
+ # The name of the snapshot to restore from.
1926
+ #
1927
+ # @option params [required, String] :workgroup_name
1928
+ # The name of the workgroup used to restore the snapshot.
1929
+ #
1930
+ # @return [Types::RestoreFromSnapshotResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1931
+ #
1932
+ # * {Types::RestoreFromSnapshotResponse#namespace #namespace} => Types::Namespace
1933
+ # * {Types::RestoreFromSnapshotResponse#owner_account #owner_account} => String
1934
+ # * {Types::RestoreFromSnapshotResponse#snapshot_name #snapshot_name} => String
1935
+ #
1936
+ # @example Request syntax with placeholder values
1937
+ #
1938
+ # resp = client.restore_from_snapshot({
1939
+ # namespace_name: "NamespaceName", # required
1940
+ # owner_account: "String",
1941
+ # snapshot_arn: "String",
1942
+ # snapshot_name: "String",
1943
+ # workgroup_name: "WorkgroupName", # required
1944
+ # })
1945
+ #
1946
+ # @example Response structure
1947
+ #
1948
+ # resp.namespace.admin_username #=> String
1949
+ # resp.namespace.creation_date #=> Time
1950
+ # resp.namespace.db_name #=> String
1951
+ # resp.namespace.default_iam_role_arn #=> String
1952
+ # resp.namespace.iam_roles #=> Array
1953
+ # resp.namespace.iam_roles[0] #=> String
1954
+ # resp.namespace.kms_key_id #=> String
1955
+ # resp.namespace.log_exports #=> Array
1956
+ # resp.namespace.log_exports[0] #=> String, one of "useractivitylog", "userlog", "connectionlog"
1957
+ # resp.namespace.namespace_arn #=> String
1958
+ # resp.namespace.namespace_id #=> String
1959
+ # resp.namespace.namespace_name #=> String
1960
+ # resp.namespace.status #=> String, one of "AVAILABLE", "MODIFYING", "DELETING"
1961
+ # resp.owner_account #=> String
1962
+ # resp.snapshot_name #=> String
1963
+ #
1964
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/RestoreFromSnapshot AWS API Documentation
1965
+ #
1966
+ # @overload restore_from_snapshot(params = {})
1967
+ # @param [Hash] params ({})
1968
+ def restore_from_snapshot(params = {}, options = {})
1969
+ req = build_request(:restore_from_snapshot, params)
1970
+ req.send_request(options)
1971
+ end
1972
+
1973
+ # Assigns one or more tags to a resource.
1974
+ #
1975
+ # @option params [required, String] :resource_arn
1976
+ # The Amazon Resource Name (ARN) of the resource to tag.
1977
+ #
1978
+ # @option params [required, Array<Types::Tag>] :tags
1979
+ # The map of the key-value pairs used to tag the resource.
1980
+ #
1981
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1982
+ #
1983
+ # @example Request syntax with placeholder values
1984
+ #
1985
+ # resp = client.tag_resource({
1986
+ # resource_arn: "AmazonResourceName", # required
1987
+ # tags: [ # required
1988
+ # {
1989
+ # key: "TagKey", # required
1990
+ # value: "TagValue", # required
1991
+ # },
1992
+ # ],
1993
+ # })
1994
+ #
1995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/TagResource AWS API Documentation
1996
+ #
1997
+ # @overload tag_resource(params = {})
1998
+ # @param [Hash] params ({})
1999
+ def tag_resource(params = {}, options = {})
2000
+ req = build_request(:tag_resource, params)
2001
+ req.send_request(options)
2002
+ end
2003
+
2004
+ # Removes a tag or set of tags from a resource.
2005
+ #
2006
+ # @option params [required, String] :resource_arn
2007
+ # The Amazon Resource Name (ARN) of the resource to remove tags from.
2008
+ #
2009
+ # @option params [required, Array<String>] :tag_keys
2010
+ # The tag or set of tags to remove from the resource.
2011
+ #
2012
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2013
+ #
2014
+ # @example Request syntax with placeholder values
2015
+ #
2016
+ # resp = client.untag_resource({
2017
+ # resource_arn: "AmazonResourceName", # required
2018
+ # tag_keys: ["TagKey"], # required
2019
+ # })
2020
+ #
2021
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/UntagResource AWS API Documentation
2022
+ #
2023
+ # @overload untag_resource(params = {})
2024
+ # @param [Hash] params ({})
2025
+ def untag_resource(params = {}, options = {})
2026
+ req = build_request(:untag_resource, params)
2027
+ req.send_request(options)
2028
+ end
2029
+
2030
+ # Updates an Amazon Redshift Serverless managed endpoint.
2031
+ #
2032
+ # @option params [required, String] :endpoint_name
2033
+ # The name of the VPC endpoint to update.
2034
+ #
2035
+ # @option params [Array<String>] :vpc_security_group_ids
2036
+ # The list of VPC security groups associated with the endpoint after the
2037
+ # endpoint is modified.
2038
+ #
2039
+ # @return [Types::UpdateEndpointAccessResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2040
+ #
2041
+ # * {Types::UpdateEndpointAccessResponse#endpoint #endpoint} => Types::EndpointAccess
2042
+ #
2043
+ # @example Request syntax with placeholder values
2044
+ #
2045
+ # resp = client.update_endpoint_access({
2046
+ # endpoint_name: "String", # required
2047
+ # vpc_security_group_ids: ["VpcSecurityGroupId"],
2048
+ # })
2049
+ #
2050
+ # @example Response structure
2051
+ #
2052
+ # resp.endpoint.address #=> String
2053
+ # resp.endpoint.endpoint_arn #=> String
2054
+ # resp.endpoint.endpoint_create_time #=> Time
2055
+ # resp.endpoint.endpoint_name #=> String
2056
+ # resp.endpoint.endpoint_status #=> String
2057
+ # resp.endpoint.port #=> Integer
2058
+ # resp.endpoint.subnet_ids #=> Array
2059
+ # resp.endpoint.subnet_ids[0] #=> String
2060
+ # resp.endpoint.vpc_endpoint.network_interfaces #=> Array
2061
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].availability_zone #=> String
2062
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].network_interface_id #=> String
2063
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].private_ip_address #=> String
2064
+ # resp.endpoint.vpc_endpoint.network_interfaces[0].subnet_id #=> String
2065
+ # resp.endpoint.vpc_endpoint.vpc_endpoint_id #=> String
2066
+ # resp.endpoint.vpc_endpoint.vpc_id #=> String
2067
+ # resp.endpoint.vpc_security_groups #=> Array
2068
+ # resp.endpoint.vpc_security_groups[0].status #=> String
2069
+ # resp.endpoint.vpc_security_groups[0].vpc_security_group_id #=> String
2070
+ # resp.endpoint.workgroup_name #=> String
2071
+ #
2072
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/UpdateEndpointAccess AWS API Documentation
2073
+ #
2074
+ # @overload update_endpoint_access(params = {})
2075
+ # @param [Hash] params ({})
2076
+ def update_endpoint_access(params = {}, options = {})
2077
+ req = build_request(:update_endpoint_access, params)
2078
+ req.send_request(options)
2079
+ end
2080
+
2081
+ # Updates a namespace with the specified settings.
2082
+ #
2083
+ # @option params [String] :admin_user_password
2084
+ # The password of the administrator for the first database created in
2085
+ # the namespace.
2086
+ #
2087
+ # @option params [String] :admin_username
2088
+ # The username of the administrator for the first database created in
2089
+ # the namespace.
2090
+ #
2091
+ # @option params [String] :default_iam_role_arn
2092
+ # The Amazon Resource Name (ARN) of the IAM role to set as a default in
2093
+ # the namespace.
2094
+ #
2095
+ # @option params [Array<String>] :iam_roles
2096
+ # A list of IAM roles to associate with the namespace.
2097
+ #
2098
+ # @option params [String] :kms_key_id
2099
+ # The ID of the Amazon Web Services Key Management Service key used to
2100
+ # encrypt your data.
2101
+ #
2102
+ # @option params [Array<String>] :log_exports
2103
+ # The types of logs the namespace can export. The export types are
2104
+ # `userlog`, `connectionlog`, and `useractivitylog`.
2105
+ #
2106
+ # @option params [required, String] :namespace_name
2107
+ # The name of the namespace.
2108
+ #
2109
+ # @return [Types::UpdateNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2110
+ #
2111
+ # * {Types::UpdateNamespaceResponse#namespace #namespace} => Types::Namespace
2112
+ #
2113
+ # @example Request syntax with placeholder values
2114
+ #
2115
+ # resp = client.update_namespace({
2116
+ # admin_user_password: "DbPassword",
2117
+ # admin_username: "DbUser",
2118
+ # default_iam_role_arn: "String",
2119
+ # iam_roles: ["IamRoleArn"],
2120
+ # kms_key_id: "String",
2121
+ # log_exports: ["useractivitylog"], # accepts useractivitylog, userlog, connectionlog
2122
+ # namespace_name: "NamespaceName", # required
2123
+ # })
2124
+ #
2125
+ # @example Response structure
2126
+ #
2127
+ # resp.namespace.admin_username #=> String
2128
+ # resp.namespace.creation_date #=> Time
2129
+ # resp.namespace.db_name #=> String
2130
+ # resp.namespace.default_iam_role_arn #=> String
2131
+ # resp.namespace.iam_roles #=> Array
2132
+ # resp.namespace.iam_roles[0] #=> String
2133
+ # resp.namespace.kms_key_id #=> String
2134
+ # resp.namespace.log_exports #=> Array
2135
+ # resp.namespace.log_exports[0] #=> String, one of "useractivitylog", "userlog", "connectionlog"
2136
+ # resp.namespace.namespace_arn #=> String
2137
+ # resp.namespace.namespace_id #=> String
2138
+ # resp.namespace.namespace_name #=> String
2139
+ # resp.namespace.status #=> String, one of "AVAILABLE", "MODIFYING", "DELETING"
2140
+ #
2141
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/UpdateNamespace AWS API Documentation
2142
+ #
2143
+ # @overload update_namespace(params = {})
2144
+ # @param [Hash] params ({})
2145
+ def update_namespace(params = {}, options = {})
2146
+ req = build_request(:update_namespace, params)
2147
+ req.send_request(options)
2148
+ end
2149
+
2150
+ # Updates a snapshot.
2151
+ #
2152
+ # @option params [Integer] :retention_period
2153
+ # The new retention period of the snapshot.
2154
+ #
2155
+ # @option params [required, String] :snapshot_name
2156
+ # The name of the snapshot.
2157
+ #
2158
+ # @return [Types::UpdateSnapshotResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2159
+ #
2160
+ # * {Types::UpdateSnapshotResponse#snapshot #snapshot} => Types::Snapshot
2161
+ #
2162
+ # @example Request syntax with placeholder values
2163
+ #
2164
+ # resp = client.update_snapshot({
2165
+ # retention_period: 1,
2166
+ # snapshot_name: "String", # required
2167
+ # })
2168
+ #
2169
+ # @example Response structure
2170
+ #
2171
+ # resp.snapshot.accounts_with_provisioned_restore_access #=> Array
2172
+ # resp.snapshot.accounts_with_provisioned_restore_access[0] #=> String
2173
+ # resp.snapshot.accounts_with_restore_access #=> Array
2174
+ # resp.snapshot.accounts_with_restore_access[0] #=> String
2175
+ # resp.snapshot.actual_incremental_backup_size_in_mega_bytes #=> Float
2176
+ # resp.snapshot.admin_username #=> String
2177
+ # resp.snapshot.backup_progress_in_mega_bytes #=> Float
2178
+ # resp.snapshot.current_backup_rate_in_mega_bytes_per_second #=> Float
2179
+ # resp.snapshot.elapsed_time_in_seconds #=> Integer
2180
+ # resp.snapshot.estimated_seconds_to_completion #=> Integer
2181
+ # resp.snapshot.kms_key_id #=> String
2182
+ # resp.snapshot.namespace_arn #=> String
2183
+ # resp.snapshot.namespace_name #=> String
2184
+ # resp.snapshot.owner_account #=> String
2185
+ # resp.snapshot.snapshot_arn #=> String
2186
+ # resp.snapshot.snapshot_create_time #=> Time
2187
+ # resp.snapshot.snapshot_name #=> String
2188
+ # resp.snapshot.snapshot_remaining_days #=> Integer
2189
+ # resp.snapshot.snapshot_retention_period #=> Integer
2190
+ # resp.snapshot.snapshot_retention_start_time #=> Time
2191
+ # resp.snapshot.status #=> String, one of "AVAILABLE", "CREATING", "DELETED", "CANCELLED", "FAILED", "COPYING"
2192
+ # resp.snapshot.total_backup_size_in_mega_bytes #=> Float
2193
+ #
2194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/UpdateSnapshot AWS API Documentation
2195
+ #
2196
+ # @overload update_snapshot(params = {})
2197
+ # @param [Hash] params ({})
2198
+ def update_snapshot(params = {}, options = {})
2199
+ req = build_request(:update_snapshot, params)
2200
+ req.send_request(options)
2201
+ end
2202
+
2203
+ # Update a usage limit in Amazon Redshift Serverless. You can't update
2204
+ # the usage type or period of a usage limit.
2205
+ #
2206
+ # @option params [Integer] :amount
2207
+ # The new limit amount. For more information about this parameter.
2208
+ #
2209
+ # @option params [String] :breach_action
2210
+ # The new action that Amazon Redshift Serverless takes when the limit is
2211
+ # reached.
2212
+ #
2213
+ # @option params [required, String] :usage_limit_id
2214
+ # The identifier of the usage limit to update.
2215
+ #
2216
+ # @return [Types::UpdateUsageLimitResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2217
+ #
2218
+ # * {Types::UpdateUsageLimitResponse#usage_limit #usage_limit} => Types::UsageLimit
2219
+ #
2220
+ # @example Request syntax with placeholder values
2221
+ #
2222
+ # resp = client.update_usage_limit({
2223
+ # amount: 1,
2224
+ # breach_action: "log", # accepts log, emit-metric, deactivate
2225
+ # usage_limit_id: "String", # required
2226
+ # })
2227
+ #
2228
+ # @example Response structure
2229
+ #
2230
+ # resp.usage_limit.amount #=> Integer
2231
+ # resp.usage_limit.breach_action #=> String, one of "log", "emit-metric", "deactivate"
2232
+ # resp.usage_limit.period #=> String, one of "daily", "weekly", "monthly"
2233
+ # resp.usage_limit.resource_arn #=> String
2234
+ # resp.usage_limit.usage_limit_arn #=> String
2235
+ # resp.usage_limit.usage_limit_id #=> String
2236
+ # resp.usage_limit.usage_type #=> String, one of "serverless-compute", "cross-region-datasharing"
2237
+ #
2238
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/UpdateUsageLimit AWS API Documentation
2239
+ #
2240
+ # @overload update_usage_limit(params = {})
2241
+ # @param [Hash] params ({})
2242
+ def update_usage_limit(params = {}, options = {})
2243
+ req = build_request(:update_usage_limit, params)
2244
+ req.send_request(options)
2245
+ end
2246
+
2247
+ # Updates a workgroup with the specified configuration settings.
2248
+ #
2249
+ # @option params [Integer] :base_capacity
2250
+ # The new base data warehouse capacity in Redshift Processing Units
2251
+ # (RPUs).
2252
+ #
2253
+ # @option params [Array<Types::ConfigParameter>] :config_parameters
2254
+ # An array of parameters to set for advanced control over a database.
2255
+ # The options are `datestyle`, `enable_user_activity_logging`,
2256
+ # `query_group`, `search_path`, and `max_query_execution_time`.
2257
+ #
2258
+ # @option params [Boolean] :enhanced_vpc_routing
2259
+ # The value that specifies whether to turn on enhanced virtual private
2260
+ # cloud (VPC) routing, which forces Amazon Redshift Serverless to route
2261
+ # traffic through your VPC.
2262
+ #
2263
+ # @option params [Boolean] :publicly_accessible
2264
+ # A value that specifies whether the workgroup can be accessible from a
2265
+ # public network.
2266
+ #
2267
+ # @option params [Array<String>] :security_group_ids
2268
+ # An array of security group IDs to associate with the workgroup.
2269
+ #
2270
+ # @option params [Array<String>] :subnet_ids
2271
+ # An array of VPC subnet IDs to associate with the workgroup.
2272
+ #
2273
+ # @option params [required, String] :workgroup_name
2274
+ # The name of the workgroup to update.
2275
+ #
2276
+ # @return [Types::UpdateWorkgroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2277
+ #
2278
+ # * {Types::UpdateWorkgroupResponse#workgroup #workgroup} => Types::Workgroup
2279
+ #
2280
+ # @example Request syntax with placeholder values
2281
+ #
2282
+ # resp = client.update_workgroup({
2283
+ # base_capacity: 1,
2284
+ # config_parameters: [
2285
+ # {
2286
+ # parameter_key: "ParameterKey",
2287
+ # parameter_value: "ParameterValue",
2288
+ # },
2289
+ # ],
2290
+ # enhanced_vpc_routing: false,
2291
+ # publicly_accessible: false,
2292
+ # security_group_ids: ["SecurityGroupId"],
2293
+ # subnet_ids: ["SubnetId"],
2294
+ # workgroup_name: "WorkgroupName", # required
2295
+ # })
2296
+ #
2297
+ # @example Response structure
2298
+ #
2299
+ # resp.workgroup.base_capacity #=> Integer
2300
+ # resp.workgroup.config_parameters #=> Array
2301
+ # resp.workgroup.config_parameters[0].parameter_key #=> String
2302
+ # resp.workgroup.config_parameters[0].parameter_value #=> String
2303
+ # resp.workgroup.creation_date #=> Time
2304
+ # resp.workgroup.endpoint.address #=> String
2305
+ # resp.workgroup.endpoint.port #=> Integer
2306
+ # resp.workgroup.endpoint.vpc_endpoints #=> Array
2307
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces #=> Array
2308
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].availability_zone #=> String
2309
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].network_interface_id #=> String
2310
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].private_ip_address #=> String
2311
+ # resp.workgroup.endpoint.vpc_endpoints[0].network_interfaces[0].subnet_id #=> String
2312
+ # resp.workgroup.endpoint.vpc_endpoints[0].vpc_endpoint_id #=> String
2313
+ # resp.workgroup.endpoint.vpc_endpoints[0].vpc_id #=> String
2314
+ # resp.workgroup.enhanced_vpc_routing #=> Boolean
2315
+ # resp.workgroup.namespace_name #=> String
2316
+ # resp.workgroup.publicly_accessible #=> Boolean
2317
+ # resp.workgroup.security_group_ids #=> Array
2318
+ # resp.workgroup.security_group_ids[0] #=> String
2319
+ # resp.workgroup.status #=> String, one of "CREATING", "AVAILABLE", "MODIFYING", "DELETING"
2320
+ # resp.workgroup.subnet_ids #=> Array
2321
+ # resp.workgroup.subnet_ids[0] #=> String
2322
+ # resp.workgroup.workgroup_arn #=> String
2323
+ # resp.workgroup.workgroup_id #=> String
2324
+ # resp.workgroup.workgroup_name #=> String
2325
+ #
2326
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshiftserverless-2021-04-21/UpdateWorkgroup AWS API Documentation
2327
+ #
2328
+ # @overload update_workgroup(params = {})
2329
+ # @param [Hash] params ({})
2330
+ def update_workgroup(params = {}, options = {})
2331
+ req = build_request(:update_workgroup, params)
2332
+ req.send_request(options)
2333
+ end
2334
+
2335
+ # @!endgroup
2336
+
2337
+ # @param params ({})
2338
+ # @api private
2339
+ def build_request(operation_name, params = {})
2340
+ handlers = @handlers.for(operation_name)
2341
+ context = Seahorse::Client::RequestContext.new(
2342
+ operation_name: operation_name,
2343
+ operation: config.api.operation(operation_name),
2344
+ client: self,
2345
+ params: params,
2346
+ config: config)
2347
+ context[:gem_name] = 'aws-sdk-redshiftserverless'
2348
+ context[:gem_version] = '1.1.0'
2349
+ Seahorse::Client::Request.new(handlers, context)
2350
+ end
2351
+
2352
+ # @api private
2353
+ # @deprecated
2354
+ def waiter_names
2355
+ []
2356
+ end
2357
+
2358
+ class << self
2359
+
2360
+ # @api private
2361
+ attr_reader :identifier
2362
+
2363
+ # @api private
2364
+ def errors_module
2365
+ Errors
2366
+ end
2367
+
2368
+ end
2369
+ end
2370
+ end