aws-sdk-opensearchserverless 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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