aws-sdk-opensearchserverless 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1990 @@
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/sign.rb'
34
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
35
+
36
+ Aws::Plugins::GlobalConfiguration.add_identifier(:opensearchserverless)
37
+
38
+ module Aws::OpenSearchServerless
39
+ # An API client for OpenSearchServerless. To construct a client, you need to configure a `:region` and `:credentials`.
40
+ #
41
+ # client = Aws::OpenSearchServerless::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 = :opensearchserverless
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::Sign)
83
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
84
+ add_plugin(Aws::OpenSearchServerless::Plugins::Endpoints)
85
+
86
+ # @overload initialize(options)
87
+ # @param [Hash] options
88
+ # @option options [required, Aws::CredentialProvider] :credentials
89
+ # Your AWS credentials. This can be an instance of any one of the
90
+ # following classes:
91
+ #
92
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
93
+ # credentials.
94
+ #
95
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
96
+ # shared file, such as `~/.aws/config`.
97
+ #
98
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
99
+ #
100
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
101
+ # assume a role after providing credentials via the web.
102
+ #
103
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
104
+ # access token generated from `aws login`.
105
+ #
106
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
107
+ # process that outputs to stdout.
108
+ #
109
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
110
+ # from an EC2 IMDS on an EC2 instance.
111
+ #
112
+ # * `Aws::ECSCredentials` - Used for loading credentials from
113
+ # instances running in ECS.
114
+ #
115
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
116
+ # from the Cognito Identity service.
117
+ #
118
+ # When `:credentials` are not configured directly, the following
119
+ # locations will be searched for credentials:
120
+ #
121
+ # * `Aws.config[:credentials]`
122
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
123
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
124
+ # * `~/.aws/credentials`
125
+ # * `~/.aws/config`
126
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
127
+ # are very aggressive. Construct and pass an instance of
128
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
129
+ # enable retries and extended timeouts. Instance profile credential
130
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
131
+ # to true.
132
+ #
133
+ # @option options [required, String] :region
134
+ # The AWS region to connect to. The configured `:region` is
135
+ # used to determine the service `:endpoint`. When not passed,
136
+ # a default `:region` is searched for in the following locations:
137
+ #
138
+ # * `Aws.config[:region]`
139
+ # * `ENV['AWS_REGION']`
140
+ # * `ENV['AMAZON_REGION']`
141
+ # * `ENV['AWS_DEFAULT_REGION']`
142
+ # * `~/.aws/credentials`
143
+ # * `~/.aws/config`
144
+ #
145
+ # @option options [String] :access_key_id
146
+ #
147
+ # @option options [Boolean] :active_endpoint_cache (false)
148
+ # When set to `true`, a thread polling for endpoints will be running in
149
+ # the background every 60 secs (default). Defaults to `false`.
150
+ #
151
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
152
+ # Used only in `adaptive` retry mode. When true, the request will sleep
153
+ # until there is sufficent client side capacity to retry the request.
154
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
155
+ # not retry instead of sleeping.
156
+ #
157
+ # @option options [Boolean] :client_side_monitoring (false)
158
+ # When `true`, client-side metrics will be collected for all API requests from
159
+ # this client.
160
+ #
161
+ # @option options [String] :client_side_monitoring_client_id ("")
162
+ # Allows you to provide an identifier for this client which will be attached to
163
+ # all generated client side metrics. Defaults to an empty string.
164
+ #
165
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
166
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
167
+ # side monitoring agent is running on, where client metrics will be published via UDP.
168
+ #
169
+ # @option options [Integer] :client_side_monitoring_port (31000)
170
+ # Required for publishing client metrics. The port that the client side monitoring
171
+ # agent is running on, where client metrics will be published via UDP.
172
+ #
173
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
174
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
175
+ # will use the Client Side Monitoring Agent Publisher.
176
+ #
177
+ # @option options [Boolean] :convert_params (true)
178
+ # When `true`, an attempt is made to coerce request parameters into
179
+ # the required types.
180
+ #
181
+ # @option options [Boolean] :correct_clock_skew (true)
182
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
183
+ # a clock skew correction and retry requests with skewed client clocks.
184
+ #
185
+ # @option options [String] :defaults_mode ("legacy")
186
+ # See {Aws::DefaultsModeConfiguration} for a list of the
187
+ # accepted modes and the configuration defaults that are included.
188
+ #
189
+ # @option options [Boolean] :disable_host_prefix_injection (false)
190
+ # Set to true to disable SDK automatically adding host prefix
191
+ # to default service endpoint when available.
192
+ #
193
+ # @option options [String] :endpoint
194
+ # The client endpoint is normally constructed from the `:region`
195
+ # option. You should only configure an `:endpoint` when connecting
196
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
197
+ #
198
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
199
+ # Used for the maximum size limit of the LRU cache storing endpoints data
200
+ # for endpoint discovery enabled operations. Defaults to 1000.
201
+ #
202
+ # @option options [Integer] :endpoint_cache_max_threads (10)
203
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
204
+ #
205
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
206
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
207
+ # Use this option to config the time interval in seconds for making
208
+ # requests fetching endpoints information. Defaults to 60 sec.
209
+ #
210
+ # @option options [Boolean] :endpoint_discovery (false)
211
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
212
+ #
213
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
214
+ # The log formatter.
215
+ #
216
+ # @option options [Symbol] :log_level (:info)
217
+ # The log level to send messages to the `:logger` at.
218
+ #
219
+ # @option options [Logger] :logger
220
+ # The Logger instance to send log messages to. If this option
221
+ # is not set, logging will be disabled.
222
+ #
223
+ # @option options [Integer] :max_attempts (3)
224
+ # An integer representing the maximum number attempts that will be made for
225
+ # a single request, including the initial attempt. For example,
226
+ # setting this value to 5 will result in a request being retried up to
227
+ # 4 times. Used in `standard` and `adaptive` retry modes.
228
+ #
229
+ # @option options [String] :profile ("default")
230
+ # Used when loading credentials from the shared credentials file
231
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
232
+ #
233
+ # @option options [Proc] :retry_backoff
234
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
235
+ # This option is only used in the `legacy` retry mode.
236
+ #
237
+ # @option options [Float] :retry_base_delay (0.3)
238
+ # The base delay in seconds used by the default backoff function. This option
239
+ # is only used in the `legacy` retry mode.
240
+ #
241
+ # @option options [Symbol] :retry_jitter (:none)
242
+ # A delay randomiser function used by the default backoff function.
243
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
244
+ # otherwise a Proc that takes and returns a number. This option is only used
245
+ # in the `legacy` retry mode.
246
+ #
247
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
248
+ #
249
+ # @option options [Integer] :retry_limit (3)
250
+ # The maximum number of times to retry failed requests. Only
251
+ # ~ 500 level server errors and certain ~ 400 level client errors
252
+ # are retried. Generally, these are throttling errors, data
253
+ # checksum errors, networking errors, timeout errors, auth errors,
254
+ # endpoint discovery, and errors from expired credentials.
255
+ # This option is only used in the `legacy` retry mode.
256
+ #
257
+ # @option options [Integer] :retry_max_delay (0)
258
+ # The maximum number of seconds to delay between retries (0 for no limit)
259
+ # used by the default backoff function. This option is only used in the
260
+ # `legacy` retry mode.
261
+ #
262
+ # @option options [String] :retry_mode ("legacy")
263
+ # Specifies which retry algorithm to use. Values are:
264
+ #
265
+ # * `legacy` - The pre-existing retry behavior. This is default value if
266
+ # no retry mode is provided.
267
+ #
268
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
269
+ # This includes support for retry quotas, which limit the number of
270
+ # unsuccessful retries a client can make.
271
+ #
272
+ # * `adaptive` - An experimental retry mode that includes all the
273
+ # functionality of `standard` mode along with automatic client side
274
+ # throttling. This is a provisional mode that may change behavior
275
+ # in the future.
276
+ #
277
+ #
278
+ # @option options [String] :secret_access_key
279
+ #
280
+ # @option options [String] :session_token
281
+ #
282
+ # @option options [Boolean] :simple_json (false)
283
+ # Disables request parameter conversion, validation, and formatting.
284
+ # Also disable response data type conversions. This option is useful
285
+ # when you want to ensure the highest level of performance by
286
+ # avoiding overhead of walking request parameters and response data
287
+ # structures.
288
+ #
289
+ # When `:simple_json` is enabled, the request parameters hash must
290
+ # be formatted exactly as the DynamoDB API expects.
291
+ #
292
+ # @option options [Boolean] :stub_responses (false)
293
+ # Causes the client to return stubbed responses. By default
294
+ # fake responses are generated and returned. You can specify
295
+ # the response data to return or errors to raise by calling
296
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
297
+ #
298
+ # ** Please note ** When response stubbing is enabled, no HTTP
299
+ # requests are made, and retries are disabled.
300
+ #
301
+ # @option options [Aws::TokenProvider] :token_provider
302
+ # A Bearer Token Provider. This can be an instance of any one of the
303
+ # following classes:
304
+ #
305
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
306
+ # tokens.
307
+ #
308
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
309
+ # access token generated from `aws login`.
310
+ #
311
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
312
+ # will be used to search for tokens configured for your profile in shared configuration files.
313
+ #
314
+ # @option options [Boolean] :use_dualstack_endpoint
315
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
316
+ # will be used if available.
317
+ #
318
+ # @option options [Boolean] :use_fips_endpoint
319
+ # When set to `true`, fips compatible endpoints will be used if available.
320
+ # When a `fips` region is used, the region is normalized and this config
321
+ # is set to `true`.
322
+ #
323
+ # @option options [Boolean] :validate_params (true)
324
+ # When `true`, request parameters are validated before
325
+ # sending the request.
326
+ #
327
+ # @option options [Aws::OpenSearchServerless::EndpointProvider] :endpoint_provider
328
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::OpenSearchServerless::EndpointParameters`
329
+ #
330
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
331
+ # requests through. Formatted like 'http://proxy.com:123'.
332
+ #
333
+ # @option options [Float] :http_open_timeout (15) The number of
334
+ # seconds to wait when opening a HTTP session before raising a
335
+ # `Timeout::Error`.
336
+ #
337
+ # @option options [Float] :http_read_timeout (60) The default
338
+ # number of seconds to wait for response data. This value can
339
+ # safely be set per-request on the session.
340
+ #
341
+ # @option options [Float] :http_idle_timeout (5) The number of
342
+ # seconds a connection is allowed to sit idle before it is
343
+ # considered stale. Stale connections are closed and removed
344
+ # from the pool before making a request.
345
+ #
346
+ # @option options [Float] :http_continue_timeout (1) The number of
347
+ # seconds to wait for a 100-continue response before sending the
348
+ # request body. This option has no effect unless the request has
349
+ # "Expect" header set to "100-continue". Defaults to `nil` which
350
+ # disables this behaviour. This value can safely be set per
351
+ # request on the session.
352
+ #
353
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
354
+ # in seconds.
355
+ #
356
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
357
+ # HTTP debug output will be sent to the `:logger`.
358
+ #
359
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
360
+ # SSL peer certificates are verified when establishing a
361
+ # connection.
362
+ #
363
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
364
+ # certificate authority bundle file that should be used when
365
+ # verifying peer certificates. If you do not pass
366
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
367
+ # will be used if available.
368
+ #
369
+ # @option options [String] :ssl_ca_directory Full path of the
370
+ # directory that contains the unbundled SSL certificate
371
+ # authority files for verifying peer certificates. If you do
372
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
373
+ # system default will be used if available.
374
+ #
375
+ def initialize(*args)
376
+ super
377
+ end
378
+
379
+ # @!group API Operations
380
+
381
+ # Returns attributes for one or more collections, including the
382
+ # collection endpoint and the OpenSearch Dashboards endpoint. For more
383
+ # information, see [Creating and managing Amazon OpenSearch Serverless
384
+ # collections][1].
385
+ #
386
+ #
387
+ #
388
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-manage.html
389
+ #
390
+ # @option params [Array<String>] :ids
391
+ # A list of collection IDs. You can't provide names and IDs in the same
392
+ # request. The ID is part of the collection endpoint. You can also
393
+ # retrieve it using the [ListCollections][1] API.
394
+ #
395
+ #
396
+ #
397
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListCollections.html
398
+ #
399
+ # @option params [Array<String>] :names
400
+ # A list of collection names. You can't provide names and IDs in the
401
+ # same request.
402
+ #
403
+ # @return [Types::BatchGetCollectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
404
+ #
405
+ # * {Types::BatchGetCollectionResponse#collection_details #collection_details} => Array&lt;Types::CollectionDetail&gt;
406
+ # * {Types::BatchGetCollectionResponse#collection_error_details #collection_error_details} => Array&lt;Types::CollectionErrorDetail&gt;
407
+ #
408
+ # @example Request syntax with placeholder values
409
+ #
410
+ # resp = client.batch_get_collection({
411
+ # ids: ["CollectionId"],
412
+ # names: ["CollectionName"],
413
+ # })
414
+ #
415
+ # @example Response structure
416
+ #
417
+ # resp.collection_details #=> Array
418
+ # resp.collection_details[0].arn #=> String
419
+ # resp.collection_details[0].collection_endpoint #=> String
420
+ # resp.collection_details[0].created_date #=> Integer
421
+ # resp.collection_details[0].dashboard_endpoint #=> String
422
+ # resp.collection_details[0].description #=> String
423
+ # resp.collection_details[0].id #=> String
424
+ # resp.collection_details[0].kms_key_arn #=> String
425
+ # resp.collection_details[0].last_modified_date #=> Integer
426
+ # resp.collection_details[0].name #=> String
427
+ # resp.collection_details[0].status #=> String, one of "CREATING", "DELETING", "ACTIVE", "FAILED"
428
+ # resp.collection_details[0].type #=> String, one of "SEARCH", "TIMESERIES"
429
+ # resp.collection_error_details #=> Array
430
+ # resp.collection_error_details[0].error_code #=> String
431
+ # resp.collection_error_details[0].error_message #=> String
432
+ # resp.collection_error_details[0].id #=> String
433
+ # resp.collection_error_details[0].name #=> String
434
+ #
435
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/BatchGetCollection AWS API Documentation
436
+ #
437
+ # @overload batch_get_collection(params = {})
438
+ # @param [Hash] params ({})
439
+ def batch_get_collection(params = {}, options = {})
440
+ req = build_request(:batch_get_collection, params)
441
+ req.send_request(options)
442
+ end
443
+
444
+ # Returns attributes for one or more VPC endpoints associated with the
445
+ # current account. For more information, see [Access Amazon OpenSearch
446
+ # Serverless using an interface endpoint][1].
447
+ #
448
+ #
449
+ #
450
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html
451
+ #
452
+ # @option params [required, Array<String>] :ids
453
+ # A list of VPC endpoint identifiers.
454
+ #
455
+ # @return [Types::BatchGetVpcEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
456
+ #
457
+ # * {Types::BatchGetVpcEndpointResponse#vpc_endpoint_details #vpc_endpoint_details} => Array&lt;Types::VpcEndpointDetail&gt;
458
+ # * {Types::BatchGetVpcEndpointResponse#vpc_endpoint_error_details #vpc_endpoint_error_details} => Array&lt;Types::VpcEndpointErrorDetail&gt;
459
+ #
460
+ # @example Request syntax with placeholder values
461
+ #
462
+ # resp = client.batch_get_vpc_endpoint({
463
+ # ids: ["VpcEndpointId"], # required
464
+ # })
465
+ #
466
+ # @example Response structure
467
+ #
468
+ # resp.vpc_endpoint_details #=> Array
469
+ # resp.vpc_endpoint_details[0].created_date #=> Integer
470
+ # resp.vpc_endpoint_details[0].id #=> String
471
+ # resp.vpc_endpoint_details[0].name #=> String
472
+ # resp.vpc_endpoint_details[0].security_group_ids #=> Array
473
+ # resp.vpc_endpoint_details[0].security_group_ids[0] #=> String
474
+ # resp.vpc_endpoint_details[0].status #=> String, one of "PENDING", "DELETING", "ACTIVE", "FAILED"
475
+ # resp.vpc_endpoint_details[0].subnet_ids #=> Array
476
+ # resp.vpc_endpoint_details[0].subnet_ids[0] #=> String
477
+ # resp.vpc_endpoint_details[0].vpc_id #=> String
478
+ # resp.vpc_endpoint_error_details #=> Array
479
+ # resp.vpc_endpoint_error_details[0].error_code #=> String
480
+ # resp.vpc_endpoint_error_details[0].error_message #=> String
481
+ # resp.vpc_endpoint_error_details[0].id #=> String
482
+ #
483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/BatchGetVpcEndpoint AWS API Documentation
484
+ #
485
+ # @overload batch_get_vpc_endpoint(params = {})
486
+ # @param [Hash] params ({})
487
+ def batch_get_vpc_endpoint(params = {}, options = {})
488
+ req = build_request(:batch_get_vpc_endpoint, params)
489
+ req.send_request(options)
490
+ end
491
+
492
+ # Creates a data access policy for OpenSearch Serverless. Access
493
+ # policies limit access to collections and the resources within them,
494
+ # and allow a user to access that data irrespective of the access
495
+ # mechanism or network source. For more information, see [Data access
496
+ # control for Amazon OpenSearch Serverless][1].
497
+ #
498
+ #
499
+ #
500
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html
501
+ #
502
+ # @option params [String] :client_token
503
+ # Unique, case-sensitive identifier to ensure idempotency of the
504
+ # request.
505
+ #
506
+ # **A suitable default value is auto-generated.** You should normally
507
+ # not need to pass this option.**
508
+ #
509
+ # @option params [String] :description
510
+ # A description of the policy. Typically used to store information about
511
+ # the permissions defined in the policy.
512
+ #
513
+ # @option params [required, String] :name
514
+ # The name of the policy.
515
+ #
516
+ # @option params [required, String] :policy
517
+ # The JSON policy document to use as the content for the policy.
518
+ #
519
+ # @option params [required, String] :type
520
+ # The type of policy.
521
+ #
522
+ # @return [Types::CreateAccessPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
523
+ #
524
+ # * {Types::CreateAccessPolicyResponse#access_policy_detail #access_policy_detail} => Types::AccessPolicyDetail
525
+ #
526
+ # @example Request syntax with placeholder values
527
+ #
528
+ # resp = client.create_access_policy({
529
+ # client_token: "ClientToken",
530
+ # description: "PolicyDescription",
531
+ # name: "PolicyName", # required
532
+ # policy: "PolicyDocument", # required
533
+ # type: "data", # required, accepts data
534
+ # })
535
+ #
536
+ # @example Response structure
537
+ #
538
+ # resp.access_policy_detail.created_date #=> Integer
539
+ # resp.access_policy_detail.description #=> String
540
+ # resp.access_policy_detail.last_modified_date #=> Integer
541
+ # resp.access_policy_detail.name #=> String
542
+ # resp.access_policy_detail.policy_version #=> String
543
+ # resp.access_policy_detail.type #=> String, one of "data"
544
+ #
545
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/CreateAccessPolicy AWS API Documentation
546
+ #
547
+ # @overload create_access_policy(params = {})
548
+ # @param [Hash] params ({})
549
+ def create_access_policy(params = {}, options = {})
550
+ req = build_request(:create_access_policy, params)
551
+ req.send_request(options)
552
+ end
553
+
554
+ # Creates a new OpenSearch Serverless collection. For more information,
555
+ # see [Creating and managing Amazon OpenSearch Serverless
556
+ # collections][1].
557
+ #
558
+ #
559
+ #
560
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-manage.html
561
+ #
562
+ # @option params [String] :client_token
563
+ # Unique, case-sensitive identifier to ensure idempotency of the
564
+ # request.
565
+ #
566
+ # **A suitable default value is auto-generated.** You should normally
567
+ # not need to pass this option.**
568
+ #
569
+ # @option params [String] :description
570
+ # Description of the collection.
571
+ #
572
+ # @option params [required, String] :name
573
+ # Name of the collection.
574
+ #
575
+ # @option params [Array<Types::Tag>] :tags
576
+ # An arbitrary set of tags (key–value pairs) to associate with the
577
+ # OpenSearch Serverless collection.
578
+ #
579
+ # @option params [String] :type
580
+ # The type of collection.
581
+ #
582
+ # @return [Types::CreateCollectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
583
+ #
584
+ # * {Types::CreateCollectionResponse#create_collection_detail #create_collection_detail} => Types::CreateCollectionDetail
585
+ #
586
+ # @example Request syntax with placeholder values
587
+ #
588
+ # resp = client.create_collection({
589
+ # client_token: "ClientToken",
590
+ # description: "CreateCollectionRequestDescriptionString",
591
+ # name: "CollectionName", # required
592
+ # tags: [
593
+ # {
594
+ # key: "TagKey", # required
595
+ # value: "TagValue", # required
596
+ # },
597
+ # ],
598
+ # type: "SEARCH", # accepts SEARCH, TIMESERIES
599
+ # })
600
+ #
601
+ # @example Response structure
602
+ #
603
+ # resp.create_collection_detail.arn #=> String
604
+ # resp.create_collection_detail.created_date #=> Integer
605
+ # resp.create_collection_detail.description #=> String
606
+ # resp.create_collection_detail.id #=> String
607
+ # resp.create_collection_detail.kms_key_arn #=> String
608
+ # resp.create_collection_detail.last_modified_date #=> Integer
609
+ # resp.create_collection_detail.name #=> String
610
+ # resp.create_collection_detail.status #=> String, one of "CREATING", "DELETING", "ACTIVE", "FAILED"
611
+ # resp.create_collection_detail.type #=> String, one of "SEARCH", "TIMESERIES"
612
+ #
613
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/CreateCollection AWS API Documentation
614
+ #
615
+ # @overload create_collection(params = {})
616
+ # @param [Hash] params ({})
617
+ def create_collection(params = {}, options = {})
618
+ req = build_request(:create_collection, params)
619
+ req.send_request(options)
620
+ end
621
+
622
+ # Specifies a security configuration for OpenSearch Serverless. For more
623
+ # information, see [SAML authentication for Amazon OpenSearch
624
+ # Serverless][1].
625
+ #
626
+ #
627
+ #
628
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html
629
+ #
630
+ # @option params [String] :client_token
631
+ # Unique, case-sensitive identifier to ensure idempotency of the
632
+ # request.
633
+ #
634
+ # **A suitable default value is auto-generated.** You should normally
635
+ # not need to pass this option.**
636
+ #
637
+ # @option params [String] :description
638
+ # A description of the security configuration.
639
+ #
640
+ # @option params [required, String] :name
641
+ # The name of the security configuration.
642
+ #
643
+ # @option params [Types::SamlConfigOptions] :saml_options
644
+ # Describes SAML options in in the form of a key-value map.
645
+ #
646
+ # @option params [required, String] :type
647
+ # The type of security configuration.
648
+ #
649
+ # @return [Types::CreateSecurityConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
650
+ #
651
+ # * {Types::CreateSecurityConfigResponse#security_config_detail #security_config_detail} => Types::SecurityConfigDetail
652
+ #
653
+ # @example Request syntax with placeholder values
654
+ #
655
+ # resp = client.create_security_config({
656
+ # client_token: "ClientToken",
657
+ # description: "ConfigDescription",
658
+ # name: "ConfigName", # required
659
+ # saml_options: {
660
+ # group_attribute: "samlGroupAttribute",
661
+ # metadata: "samlMetadata", # required
662
+ # session_timeout: 1,
663
+ # user_attribute: "samlUserAttribute",
664
+ # },
665
+ # type: "saml", # required, accepts saml
666
+ # })
667
+ #
668
+ # @example Response structure
669
+ #
670
+ # resp.security_config_detail.config_version #=> String
671
+ # resp.security_config_detail.created_date #=> Integer
672
+ # resp.security_config_detail.description #=> String
673
+ # resp.security_config_detail.id #=> String
674
+ # resp.security_config_detail.last_modified_date #=> Integer
675
+ # resp.security_config_detail.saml_options.group_attribute #=> String
676
+ # resp.security_config_detail.saml_options.metadata #=> String
677
+ # resp.security_config_detail.saml_options.session_timeout #=> Integer
678
+ # resp.security_config_detail.saml_options.user_attribute #=> String
679
+ # resp.security_config_detail.type #=> String, one of "saml"
680
+ #
681
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/CreateSecurityConfig AWS API Documentation
682
+ #
683
+ # @overload create_security_config(params = {})
684
+ # @param [Hash] params ({})
685
+ def create_security_config(params = {}, options = {})
686
+ req = build_request(:create_security_config, params)
687
+ req.send_request(options)
688
+ end
689
+
690
+ # Creates a security policy to be used by one or more OpenSearch
691
+ # Serverless collections. Security policies provide access to a
692
+ # collection and its OpenSearch Dashboards endpoint from public networks
693
+ # or specific VPC endpoints. They also allow you to secure a collection
694
+ # with a KMS encryption key. For more information, see [Network access
695
+ # for Amazon OpenSearch Serverless][1] and [Encryption at rest for
696
+ # Amazon OpenSearch Serverless][2].
697
+ #
698
+ #
699
+ #
700
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html
701
+ # [2]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html
702
+ #
703
+ # @option params [String] :client_token
704
+ # Unique, case-sensitive identifier to ensure idempotency of the
705
+ # request.
706
+ #
707
+ # **A suitable default value is auto-generated.** You should normally
708
+ # not need to pass this option.**
709
+ #
710
+ # @option params [String] :description
711
+ # A description of the policy. Typically used to store information about
712
+ # the permissions defined in the policy.
713
+ #
714
+ # @option params [required, String] :name
715
+ # The name of the policy.
716
+ #
717
+ # @option params [required, String] :policy
718
+ # The JSON policy document to use as the content for the new policy.
719
+ #
720
+ # @option params [required, String] :type
721
+ # The type of security policy.
722
+ #
723
+ # @return [Types::CreateSecurityPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
724
+ #
725
+ # * {Types::CreateSecurityPolicyResponse#security_policy_detail #security_policy_detail} => Types::SecurityPolicyDetail
726
+ #
727
+ # @example Request syntax with placeholder values
728
+ #
729
+ # resp = client.create_security_policy({
730
+ # client_token: "ClientToken",
731
+ # description: "PolicyDescription",
732
+ # name: "PolicyName", # required
733
+ # policy: "PolicyDocument", # required
734
+ # type: "encryption", # required, accepts encryption, network
735
+ # })
736
+ #
737
+ # @example Response structure
738
+ #
739
+ # resp.security_policy_detail.created_date #=> Integer
740
+ # resp.security_policy_detail.description #=> String
741
+ # resp.security_policy_detail.last_modified_date #=> Integer
742
+ # resp.security_policy_detail.name #=> String
743
+ # resp.security_policy_detail.policy_version #=> String
744
+ # resp.security_policy_detail.type #=> String, one of "encryption", "network"
745
+ #
746
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/CreateSecurityPolicy AWS API Documentation
747
+ #
748
+ # @overload create_security_policy(params = {})
749
+ # @param [Hash] params ({})
750
+ def create_security_policy(params = {}, options = {})
751
+ req = build_request(:create_security_policy, params)
752
+ req.send_request(options)
753
+ end
754
+
755
+ # Creates an OpenSearch Serverless-managed interface VPC endpoint. For
756
+ # more information, see [Access Amazon OpenSearch Serverless using an
757
+ # interface endpoint][1].
758
+ #
759
+ #
760
+ #
761
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html
762
+ #
763
+ # @option params [String] :client_token
764
+ # Unique, case-sensitive identifier to ensure idempotency of the
765
+ # request.
766
+ #
767
+ # **A suitable default value is auto-generated.** You should normally
768
+ # not need to pass this option.**
769
+ #
770
+ # @option params [required, String] :name
771
+ # The name of the interface endpoint.
772
+ #
773
+ # @option params [Array<String>] :security_group_ids
774
+ # The unique identifiers of the security groups that define the ports,
775
+ # protocols, and sources for inbound traffic that you are authorizing
776
+ # into your endpoint.
777
+ #
778
+ # @option params [required, Array<String>] :subnet_ids
779
+ # The ID of one or more subnets from which you'll access OpenSearch
780
+ # Serverless.
781
+ #
782
+ # @option params [required, String] :vpc_id
783
+ # The ID of the VPC from which you'll access OpenSearch Serverless.
784
+ #
785
+ # @return [Types::CreateVpcEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
786
+ #
787
+ # * {Types::CreateVpcEndpointResponse#create_vpc_endpoint_detail #create_vpc_endpoint_detail} => Types::CreateVpcEndpointDetail
788
+ #
789
+ # @example Request syntax with placeholder values
790
+ #
791
+ # resp = client.create_vpc_endpoint({
792
+ # client_token: "ClientToken",
793
+ # name: "VpcEndpointName", # required
794
+ # security_group_ids: ["SecurityGroupId"],
795
+ # subnet_ids: ["SubnetId"], # required
796
+ # vpc_id: "VpcId", # required
797
+ # })
798
+ #
799
+ # @example Response structure
800
+ #
801
+ # resp.create_vpc_endpoint_detail.id #=> String
802
+ # resp.create_vpc_endpoint_detail.name #=> String
803
+ # resp.create_vpc_endpoint_detail.status #=> String, one of "PENDING", "DELETING", "ACTIVE", "FAILED"
804
+ #
805
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/CreateVpcEndpoint AWS API Documentation
806
+ #
807
+ # @overload create_vpc_endpoint(params = {})
808
+ # @param [Hash] params ({})
809
+ def create_vpc_endpoint(params = {}, options = {})
810
+ req = build_request(:create_vpc_endpoint, params)
811
+ req.send_request(options)
812
+ end
813
+
814
+ # Deletes an OpenSearch Serverless access policy. For more information,
815
+ # see [Data access control for Amazon OpenSearch Serverless][1].
816
+ #
817
+ #
818
+ #
819
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html
820
+ #
821
+ # @option params [String] :client_token
822
+ # Unique, case-sensitive identifier to ensure idempotency of the
823
+ # request.
824
+ #
825
+ # **A suitable default value is auto-generated.** You should normally
826
+ # not need to pass this option.**
827
+ #
828
+ # @option params [required, String] :name
829
+ # The name of the policy to delete.
830
+ #
831
+ # @option params [required, String] :type
832
+ # The type of policy.
833
+ #
834
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
835
+ #
836
+ # @example Request syntax with placeholder values
837
+ #
838
+ # resp = client.delete_access_policy({
839
+ # client_token: "ClientToken",
840
+ # name: "PolicyName", # required
841
+ # type: "data", # required, accepts data
842
+ # })
843
+ #
844
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/DeleteAccessPolicy AWS API Documentation
845
+ #
846
+ # @overload delete_access_policy(params = {})
847
+ # @param [Hash] params ({})
848
+ def delete_access_policy(params = {}, options = {})
849
+ req = build_request(:delete_access_policy, params)
850
+ req.send_request(options)
851
+ end
852
+
853
+ # Deletes an OpenSearch Serverless collection. For more information, see
854
+ # [Creating and managing Amazon OpenSearch Serverless collections][1].
855
+ #
856
+ #
857
+ #
858
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-manage.html
859
+ #
860
+ # @option params [String] :client_token
861
+ # A unique, case-sensitive identifier to ensure idempotency of the
862
+ # request.
863
+ #
864
+ # **A suitable default value is auto-generated.** You should normally
865
+ # not need to pass this option.**
866
+ #
867
+ # @option params [required, String] :id
868
+ # The unique identifier of the collection. For example, `1iu5usc406kd`.
869
+ # The ID is part of the collection endpoint. You can also retrieve it
870
+ # using the [ListCollections][1] API.
871
+ #
872
+ #
873
+ #
874
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListCollections.html
875
+ #
876
+ # @return [Types::DeleteCollectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
877
+ #
878
+ # * {Types::DeleteCollectionResponse#delete_collection_detail #delete_collection_detail} => Types::DeleteCollectionDetail
879
+ #
880
+ # @example Request syntax with placeholder values
881
+ #
882
+ # resp = client.delete_collection({
883
+ # client_token: "ClientToken",
884
+ # id: "CollectionId", # required
885
+ # })
886
+ #
887
+ # @example Response structure
888
+ #
889
+ # resp.delete_collection_detail.id #=> String
890
+ # resp.delete_collection_detail.name #=> String
891
+ # resp.delete_collection_detail.status #=> String, one of "CREATING", "DELETING", "ACTIVE", "FAILED"
892
+ #
893
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/DeleteCollection AWS API Documentation
894
+ #
895
+ # @overload delete_collection(params = {})
896
+ # @param [Hash] params ({})
897
+ def delete_collection(params = {}, options = {})
898
+ req = build_request(:delete_collection, params)
899
+ req.send_request(options)
900
+ end
901
+
902
+ # Deletes a security configuration for OpenSearch Serverless. For more
903
+ # information, see [SAML authentication for Amazon OpenSearch
904
+ # Serverless][1].
905
+ #
906
+ #
907
+ #
908
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html
909
+ #
910
+ # @option params [String] :client_token
911
+ # Unique, case-sensitive identifier to ensure idempotency of the
912
+ # request.
913
+ #
914
+ # **A suitable default value is auto-generated.** You should normally
915
+ # not need to pass this option.**
916
+ #
917
+ # @option params [required, String] :id
918
+ # The security configuration identifier. For SAML the ID will be
919
+ # `saml/<accountId>/<idpProviderName>`. For example,
920
+ # `saml/123456789123/OKTADev`.
921
+ #
922
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
923
+ #
924
+ # @example Request syntax with placeholder values
925
+ #
926
+ # resp = client.delete_security_config({
927
+ # client_token: "ClientToken",
928
+ # id: "SecurityConfigId", # required
929
+ # })
930
+ #
931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/DeleteSecurityConfig AWS API Documentation
932
+ #
933
+ # @overload delete_security_config(params = {})
934
+ # @param [Hash] params ({})
935
+ def delete_security_config(params = {}, options = {})
936
+ req = build_request(:delete_security_config, params)
937
+ req.send_request(options)
938
+ end
939
+
940
+ # Deletes an OpenSearch Serverless security policy.
941
+ #
942
+ # @option params [String] :client_token
943
+ # Unique, case-sensitive identifier to ensure idempotency of the
944
+ # request.
945
+ #
946
+ # **A suitable default value is auto-generated.** You should normally
947
+ # not need to pass this option.**
948
+ #
949
+ # @option params [required, String] :name
950
+ # The name of the policy to delete.
951
+ #
952
+ # @option params [required, String] :type
953
+ # The type of policy.
954
+ #
955
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
956
+ #
957
+ # @example Request syntax with placeholder values
958
+ #
959
+ # resp = client.delete_security_policy({
960
+ # client_token: "ClientToken",
961
+ # name: "PolicyName", # required
962
+ # type: "encryption", # required, accepts encryption, network
963
+ # })
964
+ #
965
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/DeleteSecurityPolicy AWS API Documentation
966
+ #
967
+ # @overload delete_security_policy(params = {})
968
+ # @param [Hash] params ({})
969
+ def delete_security_policy(params = {}, options = {})
970
+ req = build_request(:delete_security_policy, params)
971
+ req.send_request(options)
972
+ end
973
+
974
+ # Deletes an OpenSearch Serverless-managed interface endpoint. For more
975
+ # information, see [Access Amazon OpenSearch Serverless using an
976
+ # interface endpoint][1].
977
+ #
978
+ #
979
+ #
980
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html
981
+ #
982
+ # @option params [String] :client_token
983
+ # Unique, case-sensitive identifier to ensure idempotency of the
984
+ # request.
985
+ #
986
+ # **A suitable default value is auto-generated.** You should normally
987
+ # not need to pass this option.**
988
+ #
989
+ # @option params [required, String] :id
990
+ # The VPC endpoint identifier.
991
+ #
992
+ # @return [Types::DeleteVpcEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
993
+ #
994
+ # * {Types::DeleteVpcEndpointResponse#delete_vpc_endpoint_detail #delete_vpc_endpoint_detail} => Types::DeleteVpcEndpointDetail
995
+ #
996
+ # @example Request syntax with placeholder values
997
+ #
998
+ # resp = client.delete_vpc_endpoint({
999
+ # client_token: "ClientToken",
1000
+ # id: "VpcEndpointId", # required
1001
+ # })
1002
+ #
1003
+ # @example Response structure
1004
+ #
1005
+ # resp.delete_vpc_endpoint_detail.id #=> String
1006
+ # resp.delete_vpc_endpoint_detail.name #=> String
1007
+ # resp.delete_vpc_endpoint_detail.status #=> String, one of "PENDING", "DELETING", "ACTIVE", "FAILED"
1008
+ #
1009
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/DeleteVpcEndpoint AWS API Documentation
1010
+ #
1011
+ # @overload delete_vpc_endpoint(params = {})
1012
+ # @param [Hash] params ({})
1013
+ def delete_vpc_endpoint(params = {}, options = {})
1014
+ req = build_request(:delete_vpc_endpoint, params)
1015
+ req.send_request(options)
1016
+ end
1017
+
1018
+ # Returns an OpenSearch Serverless access policy. For more information,
1019
+ # see [Data access control for Amazon OpenSearch Serverless][1].
1020
+ #
1021
+ #
1022
+ #
1023
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html
1024
+ #
1025
+ # @option params [required, String] :name
1026
+ # The name of the access policy.
1027
+ #
1028
+ # @option params [required, String] :type
1029
+ # Tye type of policy. Currently the only supported value is `data`.
1030
+ #
1031
+ # @return [Types::GetAccessPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1032
+ #
1033
+ # * {Types::GetAccessPolicyResponse#access_policy_detail #access_policy_detail} => Types::AccessPolicyDetail
1034
+ #
1035
+ # @example Request syntax with placeholder values
1036
+ #
1037
+ # resp = client.get_access_policy({
1038
+ # name: "PolicyName", # required
1039
+ # type: "data", # required, accepts data
1040
+ # })
1041
+ #
1042
+ # @example Response structure
1043
+ #
1044
+ # resp.access_policy_detail.created_date #=> Integer
1045
+ # resp.access_policy_detail.description #=> String
1046
+ # resp.access_policy_detail.last_modified_date #=> Integer
1047
+ # resp.access_policy_detail.name #=> String
1048
+ # resp.access_policy_detail.policy_version #=> String
1049
+ # resp.access_policy_detail.type #=> String, one of "data"
1050
+ #
1051
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/GetAccessPolicy AWS API Documentation
1052
+ #
1053
+ # @overload get_access_policy(params = {})
1054
+ # @param [Hash] params ({})
1055
+ def get_access_policy(params = {}, options = {})
1056
+ req = build_request(:get_access_policy, params)
1057
+ req.send_request(options)
1058
+ end
1059
+
1060
+ # Returns account-level settings related to OpenSearch Serverless.
1061
+ #
1062
+ # @return [Types::GetAccountSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1063
+ #
1064
+ # * {Types::GetAccountSettingsResponse#account_settings_detail #account_settings_detail} => Types::AccountSettingsDetail
1065
+ #
1066
+ # @example Response structure
1067
+ #
1068
+ # resp.account_settings_detail.capacity_limits.max_indexing_capacity_in_ocu #=> Integer
1069
+ # resp.account_settings_detail.capacity_limits.max_search_capacity_in_ocu #=> Integer
1070
+ #
1071
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/GetAccountSettings AWS API Documentation
1072
+ #
1073
+ # @overload get_account_settings(params = {})
1074
+ # @param [Hash] params ({})
1075
+ def get_account_settings(params = {}, options = {})
1076
+ req = build_request(:get_account_settings, params)
1077
+ req.send_request(options)
1078
+ end
1079
+
1080
+ # Returns statistical information about your OpenSearch Serverless
1081
+ # access policies, security configurations, and security policies.
1082
+ #
1083
+ # @return [Types::GetPoliciesStatsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1084
+ #
1085
+ # * {Types::GetPoliciesStatsResponse#access_policy_stats #access_policy_stats} => Types::AccessPolicyStats
1086
+ # * {Types::GetPoliciesStatsResponse#security_config_stats #security_config_stats} => Types::SecurityConfigStats
1087
+ # * {Types::GetPoliciesStatsResponse#security_policy_stats #security_policy_stats} => Types::SecurityPolicyStats
1088
+ # * {Types::GetPoliciesStatsResponse#total_policy_count #total_policy_count} => Integer
1089
+ #
1090
+ # @example Response structure
1091
+ #
1092
+ # resp.access_policy_stats.data_policy_count #=> Integer
1093
+ # resp.security_config_stats.saml_config_count #=> Integer
1094
+ # resp.security_policy_stats.encryption_policy_count #=> Integer
1095
+ # resp.security_policy_stats.network_policy_count #=> Integer
1096
+ # resp.total_policy_count #=> Integer
1097
+ #
1098
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/GetPoliciesStats AWS API Documentation
1099
+ #
1100
+ # @overload get_policies_stats(params = {})
1101
+ # @param [Hash] params ({})
1102
+ def get_policies_stats(params = {}, options = {})
1103
+ req = build_request(:get_policies_stats, params)
1104
+ req.send_request(options)
1105
+ end
1106
+
1107
+ # Returns information about an OpenSearch Serverless security
1108
+ # configuration. For more information, see [SAML authentication for
1109
+ # Amazon OpenSearch Serverless][1].
1110
+ #
1111
+ #
1112
+ #
1113
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html
1114
+ #
1115
+ # @option params [required, String] :id
1116
+ # The unique identifier of the security configuration.
1117
+ #
1118
+ # @return [Types::GetSecurityConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1119
+ #
1120
+ # * {Types::GetSecurityConfigResponse#security_config_detail #security_config_detail} => Types::SecurityConfigDetail
1121
+ #
1122
+ # @example Request syntax with placeholder values
1123
+ #
1124
+ # resp = client.get_security_config({
1125
+ # id: "SecurityConfigId", # required
1126
+ # })
1127
+ #
1128
+ # @example Response structure
1129
+ #
1130
+ # resp.security_config_detail.config_version #=> String
1131
+ # resp.security_config_detail.created_date #=> Integer
1132
+ # resp.security_config_detail.description #=> String
1133
+ # resp.security_config_detail.id #=> String
1134
+ # resp.security_config_detail.last_modified_date #=> Integer
1135
+ # resp.security_config_detail.saml_options.group_attribute #=> String
1136
+ # resp.security_config_detail.saml_options.metadata #=> String
1137
+ # resp.security_config_detail.saml_options.session_timeout #=> Integer
1138
+ # resp.security_config_detail.saml_options.user_attribute #=> String
1139
+ # resp.security_config_detail.type #=> String, one of "saml"
1140
+ #
1141
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/GetSecurityConfig AWS API Documentation
1142
+ #
1143
+ # @overload get_security_config(params = {})
1144
+ # @param [Hash] params ({})
1145
+ def get_security_config(params = {}, options = {})
1146
+ req = build_request(:get_security_config, params)
1147
+ req.send_request(options)
1148
+ end
1149
+
1150
+ # Returns information about a configured OpenSearch Serverless security
1151
+ # policy. For more information, see [Network access for Amazon
1152
+ # OpenSearch Serverless][1] and [Encryption at rest for Amazon
1153
+ # OpenSearch Serverless][2].
1154
+ #
1155
+ #
1156
+ #
1157
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html
1158
+ # [2]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html
1159
+ #
1160
+ # @option params [required, String] :name
1161
+ # The name of the security policy.
1162
+ #
1163
+ # @option params [required, String] :type
1164
+ # The type of security policy.
1165
+ #
1166
+ # @return [Types::GetSecurityPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1167
+ #
1168
+ # * {Types::GetSecurityPolicyResponse#security_policy_detail #security_policy_detail} => Types::SecurityPolicyDetail
1169
+ #
1170
+ # @example Request syntax with placeholder values
1171
+ #
1172
+ # resp = client.get_security_policy({
1173
+ # name: "PolicyName", # required
1174
+ # type: "encryption", # required, accepts encryption, network
1175
+ # })
1176
+ #
1177
+ # @example Response structure
1178
+ #
1179
+ # resp.security_policy_detail.created_date #=> Integer
1180
+ # resp.security_policy_detail.description #=> String
1181
+ # resp.security_policy_detail.last_modified_date #=> Integer
1182
+ # resp.security_policy_detail.name #=> String
1183
+ # resp.security_policy_detail.policy_version #=> String
1184
+ # resp.security_policy_detail.type #=> String, one of "encryption", "network"
1185
+ #
1186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/GetSecurityPolicy AWS API Documentation
1187
+ #
1188
+ # @overload get_security_policy(params = {})
1189
+ # @param [Hash] params ({})
1190
+ def get_security_policy(params = {}, options = {})
1191
+ req = build_request(:get_security_policy, params)
1192
+ req.send_request(options)
1193
+ end
1194
+
1195
+ # Returns information about a list of OpenSearch Serverless access
1196
+ # policies.
1197
+ #
1198
+ # @option params [Integer] :max_results
1199
+ # An optional parameter that specifies the maximum number of results to
1200
+ # return. You can use `nextToken` to get the next page of results. The
1201
+ # default is 20.
1202
+ #
1203
+ # @option params [String] :next_token
1204
+ # If your initial `ListAccessPolicies` operation returns a `nextToken`,
1205
+ # you can include the returned `nextToken` in subsequent
1206
+ # `ListAccessPolicies` operations, which returns results in the next
1207
+ # page.
1208
+ #
1209
+ # @option params [Array<String>] :resource
1210
+ # Resource filters (can be collection or indexes) that policies can
1211
+ # apply to.
1212
+ #
1213
+ # @option params [required, String] :type
1214
+ # The type of access policy.
1215
+ #
1216
+ # @return [Types::ListAccessPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1217
+ #
1218
+ # * {Types::ListAccessPoliciesResponse#access_policy_summaries #access_policy_summaries} => Array&lt;Types::AccessPolicySummary&gt;
1219
+ # * {Types::ListAccessPoliciesResponse#next_token #next_token} => String
1220
+ #
1221
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1222
+ #
1223
+ # @example Request syntax with placeholder values
1224
+ #
1225
+ # resp = client.list_access_policies({
1226
+ # max_results: 1,
1227
+ # next_token: "String",
1228
+ # resource: ["Resource"],
1229
+ # type: "data", # required, accepts data
1230
+ # })
1231
+ #
1232
+ # @example Response structure
1233
+ #
1234
+ # resp.access_policy_summaries #=> Array
1235
+ # resp.access_policy_summaries[0].created_date #=> Integer
1236
+ # resp.access_policy_summaries[0].description #=> String
1237
+ # resp.access_policy_summaries[0].last_modified_date #=> Integer
1238
+ # resp.access_policy_summaries[0].name #=> String
1239
+ # resp.access_policy_summaries[0].policy_version #=> String
1240
+ # resp.access_policy_summaries[0].type #=> String, one of "data"
1241
+ # resp.next_token #=> String
1242
+ #
1243
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/ListAccessPolicies AWS API Documentation
1244
+ #
1245
+ # @overload list_access_policies(params = {})
1246
+ # @param [Hash] params ({})
1247
+ def list_access_policies(params = {}, options = {})
1248
+ req = build_request(:list_access_policies, params)
1249
+ req.send_request(options)
1250
+ end
1251
+
1252
+ # Lists all OpenSearch Serverless collections. For more information, see
1253
+ # [Creating and managing Amazon OpenSearch Serverless collections][1].
1254
+ #
1255
+ # <note markdown="1"> Make sure to include an empty request body \\\{\\} if you don't
1256
+ # include any collection filters in the request.
1257
+ #
1258
+ # </note>
1259
+ #
1260
+ #
1261
+ #
1262
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-manage.html
1263
+ #
1264
+ # @option params [Types::CollectionFilters] :collection_filters
1265
+ # List of filter names and values that you can use for requests.
1266
+ #
1267
+ # @option params [Integer] :max_results
1268
+ # The maximum number of results to return. Default is 20. You can use
1269
+ # `nextToken` to get the next page of results.
1270
+ #
1271
+ # @option params [String] :next_token
1272
+ # If your initial `ListCollections` operation returns a `nextToken`, you
1273
+ # can include the returned `nextToken` in subsequent `ListCollections`
1274
+ # operations, which returns results in the next page.
1275
+ #
1276
+ # @return [Types::ListCollectionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1277
+ #
1278
+ # * {Types::ListCollectionsResponse#collection_summaries #collection_summaries} => Array&lt;Types::CollectionSummary&gt;
1279
+ # * {Types::ListCollectionsResponse#next_token #next_token} => String
1280
+ #
1281
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1282
+ #
1283
+ # @example Request syntax with placeholder values
1284
+ #
1285
+ # resp = client.list_collections({
1286
+ # collection_filters: {
1287
+ # name: "CollectionName",
1288
+ # status: "CREATING", # accepts CREATING, DELETING, ACTIVE, FAILED
1289
+ # },
1290
+ # max_results: 1,
1291
+ # next_token: "String",
1292
+ # })
1293
+ #
1294
+ # @example Response structure
1295
+ #
1296
+ # resp.collection_summaries #=> Array
1297
+ # resp.collection_summaries[0].arn #=> String
1298
+ # resp.collection_summaries[0].id #=> String
1299
+ # resp.collection_summaries[0].name #=> String
1300
+ # resp.collection_summaries[0].status #=> String, one of "CREATING", "DELETING", "ACTIVE", "FAILED"
1301
+ # resp.next_token #=> String
1302
+ #
1303
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/ListCollections AWS API Documentation
1304
+ #
1305
+ # @overload list_collections(params = {})
1306
+ # @param [Hash] params ({})
1307
+ def list_collections(params = {}, options = {})
1308
+ req = build_request(:list_collections, params)
1309
+ req.send_request(options)
1310
+ end
1311
+
1312
+ # Returns information about configured OpenSearch Serverless security
1313
+ # configurations. For more information, see [SAML authentication for
1314
+ # Amazon OpenSearch Serverless][1].
1315
+ #
1316
+ #
1317
+ #
1318
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html
1319
+ #
1320
+ # @option params [Integer] :max_results
1321
+ # An optional parameter that specifies the maximum number of results to
1322
+ # return. You can use `nextToken` to get the next page of results. The
1323
+ # default is 20.
1324
+ #
1325
+ # @option params [String] :next_token
1326
+ # If your initial `ListSecurityConfigs` operation returns a `nextToken`,
1327
+ # you can include the returned `nextToken` in subsequent
1328
+ # `ListSecurityConfigs` operations, which returns results in the next
1329
+ # page.
1330
+ #
1331
+ # @option params [required, String] :type
1332
+ # The type of security configuration.
1333
+ #
1334
+ # @return [Types::ListSecurityConfigsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1335
+ #
1336
+ # * {Types::ListSecurityConfigsResponse#next_token #next_token} => String
1337
+ # * {Types::ListSecurityConfigsResponse#security_config_summaries #security_config_summaries} => Array&lt;Types::SecurityConfigSummary&gt;
1338
+ #
1339
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1340
+ #
1341
+ # @example Request syntax with placeholder values
1342
+ #
1343
+ # resp = client.list_security_configs({
1344
+ # max_results: 1,
1345
+ # next_token: "String",
1346
+ # type: "saml", # required, accepts saml
1347
+ # })
1348
+ #
1349
+ # @example Response structure
1350
+ #
1351
+ # resp.next_token #=> String
1352
+ # resp.security_config_summaries #=> Array
1353
+ # resp.security_config_summaries[0].config_version #=> String
1354
+ # resp.security_config_summaries[0].created_date #=> Integer
1355
+ # resp.security_config_summaries[0].description #=> String
1356
+ # resp.security_config_summaries[0].id #=> String
1357
+ # resp.security_config_summaries[0].last_modified_date #=> Integer
1358
+ # resp.security_config_summaries[0].type #=> String, one of "saml"
1359
+ #
1360
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/ListSecurityConfigs AWS API Documentation
1361
+ #
1362
+ # @overload list_security_configs(params = {})
1363
+ # @param [Hash] params ({})
1364
+ def list_security_configs(params = {}, options = {})
1365
+ req = build_request(:list_security_configs, params)
1366
+ req.send_request(options)
1367
+ end
1368
+
1369
+ # Returns information about configured OpenSearch Serverless security
1370
+ # policies.
1371
+ #
1372
+ # @option params [Integer] :max_results
1373
+ # An optional parameter that specifies the maximum number of results to
1374
+ # return. You can use `nextToken` to get the next page of results. The
1375
+ # default is 20.
1376
+ #
1377
+ # @option params [String] :next_token
1378
+ # If your initial `ListSecurityPolicies` operation returns a
1379
+ # `nextToken`, you can include the returned `nextToken` in subsequent
1380
+ # `ListSecurityPolicies` operations, which returns results in the next
1381
+ # page.
1382
+ #
1383
+ # @option params [Array<String>] :resource
1384
+ # Resource filters (can be collection or indexes) that policies can
1385
+ # apply to.
1386
+ #
1387
+ # @option params [required, String] :type
1388
+ # The type of policy.
1389
+ #
1390
+ # @return [Types::ListSecurityPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1391
+ #
1392
+ # * {Types::ListSecurityPoliciesResponse#next_token #next_token} => String
1393
+ # * {Types::ListSecurityPoliciesResponse#security_policy_summaries #security_policy_summaries} => Array&lt;Types::SecurityPolicySummary&gt;
1394
+ #
1395
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1396
+ #
1397
+ # @example Request syntax with placeholder values
1398
+ #
1399
+ # resp = client.list_security_policies({
1400
+ # max_results: 1,
1401
+ # next_token: "String",
1402
+ # resource: ["Resource"],
1403
+ # type: "encryption", # required, accepts encryption, network
1404
+ # })
1405
+ #
1406
+ # @example Response structure
1407
+ #
1408
+ # resp.next_token #=> String
1409
+ # resp.security_policy_summaries #=> Array
1410
+ # resp.security_policy_summaries[0].created_date #=> Integer
1411
+ # resp.security_policy_summaries[0].description #=> String
1412
+ # resp.security_policy_summaries[0].last_modified_date #=> Integer
1413
+ # resp.security_policy_summaries[0].name #=> String
1414
+ # resp.security_policy_summaries[0].policy_version #=> String
1415
+ # resp.security_policy_summaries[0].type #=> String, one of "encryption", "network"
1416
+ #
1417
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/ListSecurityPolicies AWS API Documentation
1418
+ #
1419
+ # @overload list_security_policies(params = {})
1420
+ # @param [Hash] params ({})
1421
+ def list_security_policies(params = {}, options = {})
1422
+ req = build_request(:list_security_policies, params)
1423
+ req.send_request(options)
1424
+ end
1425
+
1426
+ # Returns the tags for an OpenSearch Serverless resource. For more
1427
+ # information, see [Tagging Amazon OpenSearch Serverless
1428
+ # collections][1].
1429
+ #
1430
+ #
1431
+ #
1432
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/tag-collection.html
1433
+ #
1434
+ # @option params [required, String] :resource_arn
1435
+ # The Amazon Resource Name (ARN) of the resource. The resource must be
1436
+ # active (not in the `DELETING` state), and must be owned by the account
1437
+ # ID included in the request.
1438
+ #
1439
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1440
+ #
1441
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1442
+ #
1443
+ # @example Request syntax with placeholder values
1444
+ #
1445
+ # resp = client.list_tags_for_resource({
1446
+ # resource_arn: "Arn", # required
1447
+ # })
1448
+ #
1449
+ # @example Response structure
1450
+ #
1451
+ # resp.tags #=> Array
1452
+ # resp.tags[0].key #=> String
1453
+ # resp.tags[0].value #=> String
1454
+ #
1455
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/ListTagsForResource AWS API Documentation
1456
+ #
1457
+ # @overload list_tags_for_resource(params = {})
1458
+ # @param [Hash] params ({})
1459
+ def list_tags_for_resource(params = {}, options = {})
1460
+ req = build_request(:list_tags_for_resource, params)
1461
+ req.send_request(options)
1462
+ end
1463
+
1464
+ # Returns the OpenSearch Serverless-managed interface VPC endpoints
1465
+ # associated with the current account. For more information, see [Access
1466
+ # Amazon OpenSearch Serverless using an interface endpoint][1].
1467
+ #
1468
+ #
1469
+ #
1470
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html
1471
+ #
1472
+ # @option params [Integer] :max_results
1473
+ # An optional parameter that specifies the maximum number of results to
1474
+ # return. You can use `nextToken` to get the next page of results. The
1475
+ # default is 20.
1476
+ #
1477
+ # @option params [String] :next_token
1478
+ # If your initial `ListVpcEndpoints` operation returns a `nextToken`,
1479
+ # you can include the returned `nextToken` in subsequent
1480
+ # `ListVpcEndpoints` operations, which returns results in the next page.
1481
+ #
1482
+ # @option params [Types::VpcEndpointFilters] :vpc_endpoint_filters
1483
+ # Filter the results according to the current status of the VPC
1484
+ # endpoint. Possible statuses are `CREATING`, `DELETING`, `UPDATING`,
1485
+ # `ACTIVE`, and `FAILED`.
1486
+ #
1487
+ # @return [Types::ListVpcEndpointsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1488
+ #
1489
+ # * {Types::ListVpcEndpointsResponse#next_token #next_token} => String
1490
+ # * {Types::ListVpcEndpointsResponse#vpc_endpoint_summaries #vpc_endpoint_summaries} => Array&lt;Types::VpcEndpointSummary&gt;
1491
+ #
1492
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1493
+ #
1494
+ # @example Request syntax with placeholder values
1495
+ #
1496
+ # resp = client.list_vpc_endpoints({
1497
+ # max_results: 1,
1498
+ # next_token: "String",
1499
+ # vpc_endpoint_filters: {
1500
+ # status: "PENDING", # accepts PENDING, DELETING, ACTIVE, FAILED
1501
+ # },
1502
+ # })
1503
+ #
1504
+ # @example Response structure
1505
+ #
1506
+ # resp.next_token #=> String
1507
+ # resp.vpc_endpoint_summaries #=> Array
1508
+ # resp.vpc_endpoint_summaries[0].id #=> String
1509
+ # resp.vpc_endpoint_summaries[0].name #=> String
1510
+ # resp.vpc_endpoint_summaries[0].status #=> String, one of "PENDING", "DELETING", "ACTIVE", "FAILED"
1511
+ #
1512
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/ListVpcEndpoints AWS API Documentation
1513
+ #
1514
+ # @overload list_vpc_endpoints(params = {})
1515
+ # @param [Hash] params ({})
1516
+ def list_vpc_endpoints(params = {}, options = {})
1517
+ req = build_request(:list_vpc_endpoints, params)
1518
+ req.send_request(options)
1519
+ end
1520
+
1521
+ # Associates tags with an OpenSearch Serverless resource. For more
1522
+ # information, see [Tagging Amazon OpenSearch Serverless
1523
+ # collections][1].
1524
+ #
1525
+ #
1526
+ #
1527
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/tag-collection.html
1528
+ #
1529
+ # @option params [required, String] :resource_arn
1530
+ # The Amazon Resource Name (ARN) of the resource. The resource must be
1531
+ # active (not in the `DELETING` state), and must be owned by the account
1532
+ # ID included in the request.
1533
+ #
1534
+ # @option params [required, Array<Types::Tag>] :tags
1535
+ # A list of tags (key-value pairs) to add to the resource. All tag keys
1536
+ # in the request must be unique.
1537
+ #
1538
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1539
+ #
1540
+ # @example Request syntax with placeholder values
1541
+ #
1542
+ # resp = client.tag_resource({
1543
+ # resource_arn: "Arn", # required
1544
+ # tags: [ # required
1545
+ # {
1546
+ # key: "TagKey", # required
1547
+ # value: "TagValue", # required
1548
+ # },
1549
+ # ],
1550
+ # })
1551
+ #
1552
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/TagResource AWS API Documentation
1553
+ #
1554
+ # @overload tag_resource(params = {})
1555
+ # @param [Hash] params ({})
1556
+ def tag_resource(params = {}, options = {})
1557
+ req = build_request(:tag_resource, params)
1558
+ req.send_request(options)
1559
+ end
1560
+
1561
+ # Removes a tag or set of tags from an OpenSearch Serverless resource.
1562
+ # For more information, see [Tagging Amazon OpenSearch Serverless
1563
+ # collections][1].
1564
+ #
1565
+ #
1566
+ #
1567
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/tag-collection.html
1568
+ #
1569
+ # @option params [required, String] :resource_arn
1570
+ # The Amazon Resource Name (ARN) of the resource to remove tags from.
1571
+ # The resource must be active (not in the `DELETING` state), and must be
1572
+ # owned by the account ID included in the request.
1573
+ #
1574
+ # @option params [required, Array<String>] :tag_keys
1575
+ # The tag or set of tags to remove from the resource. All tag keys in
1576
+ # the request must be unique.
1577
+ #
1578
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1579
+ #
1580
+ # @example Request syntax with placeholder values
1581
+ #
1582
+ # resp = client.untag_resource({
1583
+ # resource_arn: "Arn", # required
1584
+ # tag_keys: ["TagKey"], # required
1585
+ # })
1586
+ #
1587
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/UntagResource AWS API Documentation
1588
+ #
1589
+ # @overload untag_resource(params = {})
1590
+ # @param [Hash] params ({})
1591
+ def untag_resource(params = {}, options = {})
1592
+ req = build_request(:untag_resource, params)
1593
+ req.send_request(options)
1594
+ end
1595
+
1596
+ # Updates an OpenSearch Serverless access policy. For more information,
1597
+ # see [Data access control for Amazon OpenSearch Serverless][1].
1598
+ #
1599
+ #
1600
+ #
1601
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html
1602
+ #
1603
+ # @option params [String] :client_token
1604
+ # Unique, case-sensitive identifier to ensure idempotency of the
1605
+ # request.
1606
+ #
1607
+ # **A suitable default value is auto-generated.** You should normally
1608
+ # not need to pass this option.**
1609
+ #
1610
+ # @option params [String] :description
1611
+ # A description of the policy. Typically used to store information about
1612
+ # the permissions defined in the policy.
1613
+ #
1614
+ # @option params [required, String] :name
1615
+ # The name of the policy.
1616
+ #
1617
+ # @option params [String] :policy
1618
+ # The JSON policy document to use as the content for the policy.
1619
+ #
1620
+ # @option params [required, String] :policy_version
1621
+ # The version of the policy being updated.
1622
+ #
1623
+ # @option params [required, String] :type
1624
+ # The type of policy.
1625
+ #
1626
+ # @return [Types::UpdateAccessPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1627
+ #
1628
+ # * {Types::UpdateAccessPolicyResponse#access_policy_detail #access_policy_detail} => Types::AccessPolicyDetail
1629
+ #
1630
+ # @example Request syntax with placeholder values
1631
+ #
1632
+ # resp = client.update_access_policy({
1633
+ # client_token: "ClientToken",
1634
+ # description: "PolicyDescription",
1635
+ # name: "PolicyName", # required
1636
+ # policy: "PolicyDocument",
1637
+ # policy_version: "PolicyVersion", # required
1638
+ # type: "data", # required, accepts data
1639
+ # })
1640
+ #
1641
+ # @example Response structure
1642
+ #
1643
+ # resp.access_policy_detail.created_date #=> Integer
1644
+ # resp.access_policy_detail.description #=> String
1645
+ # resp.access_policy_detail.last_modified_date #=> Integer
1646
+ # resp.access_policy_detail.name #=> String
1647
+ # resp.access_policy_detail.policy_version #=> String
1648
+ # resp.access_policy_detail.type #=> String, one of "data"
1649
+ #
1650
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/UpdateAccessPolicy AWS API Documentation
1651
+ #
1652
+ # @overload update_access_policy(params = {})
1653
+ # @param [Hash] params ({})
1654
+ def update_access_policy(params = {}, options = {})
1655
+ req = build_request(:update_access_policy, params)
1656
+ req.send_request(options)
1657
+ end
1658
+
1659
+ # Update the OpenSearch Serverless settings for the current Amazon Web
1660
+ # Services account. For more information, see [Autoscaling][1].
1661
+ #
1662
+ #
1663
+ #
1664
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-overview.html#serverless-scaling
1665
+ #
1666
+ # @option params [Types::CapacityLimits] :capacity_limits
1667
+ # The maximum capacity limits for all OpenSearch Serverless collections,
1668
+ # in OpenSearch Compute Units (OCUs). These limits are used to scale
1669
+ # your collections based on the current workload. For more information,
1670
+ # see [Autoscaling][1].
1671
+ #
1672
+ #
1673
+ #
1674
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-overview.html#serverless-scaling
1675
+ #
1676
+ # @return [Types::UpdateAccountSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1677
+ #
1678
+ # * {Types::UpdateAccountSettingsResponse#account_settings_detail #account_settings_detail} => Types::AccountSettingsDetail
1679
+ #
1680
+ # @example Request syntax with placeholder values
1681
+ #
1682
+ # resp = client.update_account_settings({
1683
+ # capacity_limits: {
1684
+ # max_indexing_capacity_in_ocu: 1,
1685
+ # max_search_capacity_in_ocu: 1,
1686
+ # },
1687
+ # })
1688
+ #
1689
+ # @example Response structure
1690
+ #
1691
+ # resp.account_settings_detail.capacity_limits.max_indexing_capacity_in_ocu #=> Integer
1692
+ # resp.account_settings_detail.capacity_limits.max_search_capacity_in_ocu #=> Integer
1693
+ #
1694
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/UpdateAccountSettings AWS API Documentation
1695
+ #
1696
+ # @overload update_account_settings(params = {})
1697
+ # @param [Hash] params ({})
1698
+ def update_account_settings(params = {}, options = {})
1699
+ req = build_request(:update_account_settings, params)
1700
+ req.send_request(options)
1701
+ end
1702
+
1703
+ # Updates an OpenSearch Serverless collection.
1704
+ #
1705
+ # @option params [String] :client_token
1706
+ # Unique, case-sensitive identifier to ensure idempotency of the
1707
+ # request.
1708
+ #
1709
+ # **A suitable default value is auto-generated.** You should normally
1710
+ # not need to pass this option.**
1711
+ #
1712
+ # @option params [String] :description
1713
+ # A description of the collection.
1714
+ #
1715
+ # @option params [required, String] :id
1716
+ # The unique identifier of the collection.
1717
+ #
1718
+ # @return [Types::UpdateCollectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1719
+ #
1720
+ # * {Types::UpdateCollectionResponse#update_collection_detail #update_collection_detail} => Types::UpdateCollectionDetail
1721
+ #
1722
+ # @example Request syntax with placeholder values
1723
+ #
1724
+ # resp = client.update_collection({
1725
+ # client_token: "ClientToken",
1726
+ # description: "UpdateCollectionRequestDescriptionString",
1727
+ # id: "CollectionId", # required
1728
+ # })
1729
+ #
1730
+ # @example Response structure
1731
+ #
1732
+ # resp.update_collection_detail.arn #=> String
1733
+ # resp.update_collection_detail.created_date #=> Integer
1734
+ # resp.update_collection_detail.description #=> String
1735
+ # resp.update_collection_detail.id #=> String
1736
+ # resp.update_collection_detail.last_modified_date #=> Integer
1737
+ # resp.update_collection_detail.name #=> String
1738
+ # resp.update_collection_detail.status #=> String, one of "CREATING", "DELETING", "ACTIVE", "FAILED"
1739
+ # resp.update_collection_detail.type #=> String, one of "SEARCH", "TIMESERIES"
1740
+ #
1741
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/UpdateCollection AWS API Documentation
1742
+ #
1743
+ # @overload update_collection(params = {})
1744
+ # @param [Hash] params ({})
1745
+ def update_collection(params = {}, options = {})
1746
+ req = build_request(:update_collection, params)
1747
+ req.send_request(options)
1748
+ end
1749
+
1750
+ # Updates a security configuration for OpenSearch Serverless. For more
1751
+ # information, see [SAML authentication for Amazon OpenSearch
1752
+ # Serverless][1].
1753
+ #
1754
+ #
1755
+ #
1756
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html
1757
+ #
1758
+ # @option params [String] :client_token
1759
+ # Unique, case-sensitive identifier to ensure idempotency of the
1760
+ # request.
1761
+ #
1762
+ # **A suitable default value is auto-generated.** You should normally
1763
+ # not need to pass this option.**
1764
+ #
1765
+ # @option params [required, String] :config_version
1766
+ # The version of the security configuration to be updated. You can find
1767
+ # the most recent version of a security configuration using the
1768
+ # `GetSecurityPolicy` command.
1769
+ #
1770
+ # @option params [String] :description
1771
+ # A description of the security configuration.
1772
+ #
1773
+ # @option params [required, String] :id
1774
+ # The security configuration identifier. For SAML the ID will be
1775
+ # `saml/<accountId>/<idpProviderName>`. For example,
1776
+ # `saml/123456789123/OKTADev`.
1777
+ #
1778
+ # @option params [Types::SamlConfigOptions] :saml_options
1779
+ # SAML options in in the form of a key-value map.
1780
+ #
1781
+ # @return [Types::UpdateSecurityConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1782
+ #
1783
+ # * {Types::UpdateSecurityConfigResponse#security_config_detail #security_config_detail} => Types::SecurityConfigDetail
1784
+ #
1785
+ # @example Request syntax with placeholder values
1786
+ #
1787
+ # resp = client.update_security_config({
1788
+ # client_token: "ClientToken",
1789
+ # config_version: "PolicyVersion", # required
1790
+ # description: "ConfigDescription",
1791
+ # id: "SecurityConfigId", # required
1792
+ # saml_options: {
1793
+ # group_attribute: "samlGroupAttribute",
1794
+ # metadata: "samlMetadata", # required
1795
+ # session_timeout: 1,
1796
+ # user_attribute: "samlUserAttribute",
1797
+ # },
1798
+ # })
1799
+ #
1800
+ # @example Response structure
1801
+ #
1802
+ # resp.security_config_detail.config_version #=> String
1803
+ # resp.security_config_detail.created_date #=> Integer
1804
+ # resp.security_config_detail.description #=> String
1805
+ # resp.security_config_detail.id #=> String
1806
+ # resp.security_config_detail.last_modified_date #=> Integer
1807
+ # resp.security_config_detail.saml_options.group_attribute #=> String
1808
+ # resp.security_config_detail.saml_options.metadata #=> String
1809
+ # resp.security_config_detail.saml_options.session_timeout #=> Integer
1810
+ # resp.security_config_detail.saml_options.user_attribute #=> String
1811
+ # resp.security_config_detail.type #=> String, one of "saml"
1812
+ #
1813
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/UpdateSecurityConfig AWS API Documentation
1814
+ #
1815
+ # @overload update_security_config(params = {})
1816
+ # @param [Hash] params ({})
1817
+ def update_security_config(params = {}, options = {})
1818
+ req = build_request(:update_security_config, params)
1819
+ req.send_request(options)
1820
+ end
1821
+
1822
+ # Updates an OpenSearch Serverless security policy. For more
1823
+ # information, see [Network access for Amazon OpenSearch Serverless][1]
1824
+ # and [Encryption at rest for Amazon OpenSearch Serverless][2].
1825
+ #
1826
+ #
1827
+ #
1828
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html
1829
+ # [2]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html
1830
+ #
1831
+ # @option params [String] :client_token
1832
+ # Unique, case-sensitive identifier to ensure idempotency of the
1833
+ # request.
1834
+ #
1835
+ # **A suitable default value is auto-generated.** You should normally
1836
+ # not need to pass this option.**
1837
+ #
1838
+ # @option params [String] :description
1839
+ # A description of the policy. Typically used to store information about
1840
+ # the permissions defined in the policy.
1841
+ #
1842
+ # @option params [required, String] :name
1843
+ # The name of the policy.
1844
+ #
1845
+ # @option params [String] :policy
1846
+ # The JSON policy document to use as the content for the new policy.
1847
+ #
1848
+ # @option params [required, String] :policy_version
1849
+ # The version of the policy being updated.
1850
+ #
1851
+ # @option params [required, String] :type
1852
+ # The type of access policy.
1853
+ #
1854
+ # @return [Types::UpdateSecurityPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1855
+ #
1856
+ # * {Types::UpdateSecurityPolicyResponse#security_policy_detail #security_policy_detail} => Types::SecurityPolicyDetail
1857
+ #
1858
+ # @example Request syntax with placeholder values
1859
+ #
1860
+ # resp = client.update_security_policy({
1861
+ # client_token: "ClientToken",
1862
+ # description: "PolicyDescription",
1863
+ # name: "PolicyName", # required
1864
+ # policy: "PolicyDocument",
1865
+ # policy_version: "PolicyVersion", # required
1866
+ # type: "encryption", # required, accepts encryption, network
1867
+ # })
1868
+ #
1869
+ # @example Response structure
1870
+ #
1871
+ # resp.security_policy_detail.created_date #=> Integer
1872
+ # resp.security_policy_detail.description #=> String
1873
+ # resp.security_policy_detail.last_modified_date #=> Integer
1874
+ # resp.security_policy_detail.name #=> String
1875
+ # resp.security_policy_detail.policy_version #=> String
1876
+ # resp.security_policy_detail.type #=> String, one of "encryption", "network"
1877
+ #
1878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/UpdateSecurityPolicy AWS API Documentation
1879
+ #
1880
+ # @overload update_security_policy(params = {})
1881
+ # @param [Hash] params ({})
1882
+ def update_security_policy(params = {}, options = {})
1883
+ req = build_request(:update_security_policy, params)
1884
+ req.send_request(options)
1885
+ end
1886
+
1887
+ # Updates an OpenSearch Serverless-managed interface endpoint. For more
1888
+ # information, see [Access Amazon OpenSearch Serverless using an
1889
+ # interface endpoint][1].
1890
+ #
1891
+ #
1892
+ #
1893
+ # [1]: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html
1894
+ #
1895
+ # @option params [Array<String>] :add_security_group_ids
1896
+ # The unique identifiers of the security groups to add to the endpoint.
1897
+ # Security groups define the ports, protocols, and sources for inbound
1898
+ # traffic that you are authorizing into your endpoint.
1899
+ #
1900
+ # @option params [Array<String>] :add_subnet_ids
1901
+ # The ID of one or more subnets to add to the endpoint.
1902
+ #
1903
+ # @option params [String] :client_token
1904
+ # Unique, case-sensitive identifier to ensure idempotency of the
1905
+ # request.
1906
+ #
1907
+ # **A suitable default value is auto-generated.** You should normally
1908
+ # not need to pass this option.**
1909
+ #
1910
+ # @option params [required, String] :id
1911
+ # The unique identifier of the interface endpoint to update.
1912
+ #
1913
+ # @option params [Array<String>] :remove_security_group_ids
1914
+ # The unique identifiers of the security groups to remove from the
1915
+ # endpoint.
1916
+ #
1917
+ # @option params [Array<String>] :remove_subnet_ids
1918
+ # The unique identifiers of the subnets to remove from the endpoint.
1919
+ #
1920
+ # @return [Types::UpdateVpcEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1921
+ #
1922
+ # * {Types::UpdateVpcEndpointResponse#update_vpc_endpoint_detail #update_vpc_endpoint_detail} => Types::UpdateVpcEndpointDetail
1923
+ #
1924
+ # @example Request syntax with placeholder values
1925
+ #
1926
+ # resp = client.update_vpc_endpoint({
1927
+ # add_security_group_ids: ["SecurityGroupId"],
1928
+ # add_subnet_ids: ["SubnetId"],
1929
+ # client_token: "ClientToken",
1930
+ # id: "VpcEndpointId", # required
1931
+ # remove_security_group_ids: ["SecurityGroupId"],
1932
+ # remove_subnet_ids: ["SubnetId"],
1933
+ # })
1934
+ #
1935
+ # @example Response structure
1936
+ #
1937
+ # resp.update_vpc_endpoint_detail.id #=> String
1938
+ # resp.update_vpc_endpoint_detail.last_modified_date #=> Integer
1939
+ # resp.update_vpc_endpoint_detail.name #=> String
1940
+ # resp.update_vpc_endpoint_detail.security_group_ids #=> Array
1941
+ # resp.update_vpc_endpoint_detail.security_group_ids[0] #=> String
1942
+ # resp.update_vpc_endpoint_detail.status #=> String, one of "PENDING", "DELETING", "ACTIVE", "FAILED"
1943
+ # resp.update_vpc_endpoint_detail.subnet_ids #=> Array
1944
+ # resp.update_vpc_endpoint_detail.subnet_ids[0] #=> String
1945
+ #
1946
+ # @see http://docs.aws.amazon.com/goto/WebAPI/opensearchserverless-2021-11-01/UpdateVpcEndpoint AWS API Documentation
1947
+ #
1948
+ # @overload update_vpc_endpoint(params = {})
1949
+ # @param [Hash] params ({})
1950
+ def update_vpc_endpoint(params = {}, options = {})
1951
+ req = build_request(:update_vpc_endpoint, params)
1952
+ req.send_request(options)
1953
+ end
1954
+
1955
+ # @!endgroup
1956
+
1957
+ # @param params ({})
1958
+ # @api private
1959
+ def build_request(operation_name, params = {})
1960
+ handlers = @handlers.for(operation_name)
1961
+ context = Seahorse::Client::RequestContext.new(
1962
+ operation_name: operation_name,
1963
+ operation: config.api.operation(operation_name),
1964
+ client: self,
1965
+ params: params,
1966
+ config: config)
1967
+ context[:gem_name] = 'aws-sdk-opensearchserverless'
1968
+ context[:gem_version] = '1.0.0'
1969
+ Seahorse::Client::Request.new(handlers, context)
1970
+ end
1971
+
1972
+ # @api private
1973
+ # @deprecated
1974
+ def waiter_names
1975
+ []
1976
+ end
1977
+
1978
+ class << self
1979
+
1980
+ # @api private
1981
+ attr_reader :identifier
1982
+
1983
+ # @api private
1984
+ def errors_module
1985
+ Errors
1986
+ end
1987
+
1988
+ end
1989
+ end
1990
+ end