aws-sdk-s3files 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,1564 @@
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'
11
+ require 'aws-sdk-core/plugins/credentials_configuration'
12
+ require 'aws-sdk-core/plugins/logging'
13
+ require 'aws-sdk-core/plugins/param_converter'
14
+ require 'aws-sdk-core/plugins/param_validator'
15
+ require 'aws-sdk-core/plugins/user_agent'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors'
17
+ require 'aws-sdk-core/plugins/retry_errors'
18
+ require 'aws-sdk-core/plugins/global_configuration'
19
+ require 'aws-sdk-core/plugins/regional_endpoint'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern'
22
+ require 'aws-sdk-core/plugins/response_paging'
23
+ require 'aws-sdk-core/plugins/stub_responses'
24
+ require 'aws-sdk-core/plugins/idempotency_token'
25
+ require 'aws-sdk-core/plugins/invocation_id'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin'
29
+ require 'aws-sdk-core/plugins/transfer_encoding'
30
+ require 'aws-sdk-core/plugins/http_checksum'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm'
32
+ require 'aws-sdk-core/plugins/request_compression'
33
+ require 'aws-sdk-core/plugins/defaults_mode'
34
+ require 'aws-sdk-core/plugins/recursion_detection'
35
+ require 'aws-sdk-core/plugins/telemetry'
36
+ require 'aws-sdk-core/plugins/sign'
37
+ require 'aws-sdk-core/plugins/protocols/rest_json'
38
+
39
+ module Aws::S3Files
40
+ # An API client for S3Files. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::S3Files::Client.new(
43
+ # region: region_name,
44
+ # credentials: credentials,
45
+ # # ...
46
+ # )
47
+ #
48
+ # For details on configuring region and credentials see
49
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
50
+ #
51
+ # See {#initialize} for a full list of supported configuration options.
52
+ class Client < Seahorse::Client::Base
53
+
54
+ include Aws::ClientStubs
55
+
56
+ @identifier = :s3files
57
+
58
+ set_api(ClientApi::API)
59
+
60
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
61
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
62
+ add_plugin(Aws::Plugins::Logging)
63
+ add_plugin(Aws::Plugins::ParamConverter)
64
+ add_plugin(Aws::Plugins::ParamValidator)
65
+ add_plugin(Aws::Plugins::UserAgent)
66
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
67
+ add_plugin(Aws::Plugins::RetryErrors)
68
+ add_plugin(Aws::Plugins::GlobalConfiguration)
69
+ add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
72
+ add_plugin(Aws::Plugins::ResponsePaging)
73
+ add_plugin(Aws::Plugins::StubResponses)
74
+ add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::InvocationId)
76
+ add_plugin(Aws::Plugins::JsonvalueConverter)
77
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
78
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
79
+ add_plugin(Aws::Plugins::TransferEncoding)
80
+ add_plugin(Aws::Plugins::HttpChecksum)
81
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
82
+ add_plugin(Aws::Plugins::RequestCompression)
83
+ add_plugin(Aws::Plugins::DefaultsMode)
84
+ add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Telemetry)
86
+ add_plugin(Aws::Plugins::Sign)
87
+ add_plugin(Aws::Plugins::Protocols::RestJson)
88
+ add_plugin(Aws::S3Files::Plugins::Endpoints)
89
+
90
+ # @overload initialize(options)
91
+ # @param [Hash] options
92
+ #
93
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
94
+ # A list of plugins to apply to the client. Each plugin is either a
95
+ # class name or an instance of a plugin class.
96
+ #
97
+ # @option options [required, Aws::CredentialProvider] :credentials
98
+ # Your AWS credentials used for authentication. This can be any class that includes and implements
99
+ # `Aws::CredentialProvider`, or instance of any one of the following classes:
100
+ #
101
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
102
+ # credentials.
103
+ #
104
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
105
+ # shared file, such as `~/.aws/config`.
106
+ #
107
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ #
109
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
110
+ # assume a role after providing credentials via the web.
111
+ #
112
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
113
+ # access token generated from `aws login`.
114
+ #
115
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
116
+ # process that outputs to stdout.
117
+ #
118
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
119
+ # from an EC2 IMDS on an EC2 instance.
120
+ #
121
+ # * `Aws::ECSCredentials` - Used for loading credentials from
122
+ # instances running in ECS.
123
+ #
124
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
125
+ # from the Cognito Identity service.
126
+ #
127
+ # When `:credentials` are not configured directly, the following locations will be searched for credentials:
128
+ #
129
+ # * `Aws.config[:credentials]`
130
+ #
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ #
134
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
135
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
136
+ #
137
+ # * `~/.aws/credentials`
138
+ #
139
+ # * `~/.aws/config`
140
+ #
141
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive.
142
+ # Construct and pass an instance of `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
143
+ # enable retries and extended timeouts. Instance profile credential fetching can be disabled by
144
+ # setting `ENV['AWS_EC2_METADATA_DISABLED']` to `true`.
145
+ #
146
+ # @option options [required, String] :region
147
+ # The AWS region to connect to. The configured `:region` is
148
+ # used to determine the service `:endpoint`. When not passed,
149
+ # a default `:region` is searched for in the following locations:
150
+ #
151
+ # * `Aws.config[:region]`
152
+ # * `ENV['AWS_REGION']`
153
+ # * `ENV['AMAZON_REGION']`
154
+ # * `ENV['AWS_DEFAULT_REGION']`
155
+ # * `~/.aws/credentials`
156
+ # * `~/.aws/config`
157
+ #
158
+ # @option options [String] :access_key_id
159
+ #
160
+ # @option options [String] :account_id
161
+ #
162
+ # @option options [Boolean] :active_endpoint_cache (false)
163
+ # When set to `true`, a thread polling for endpoints will be running in
164
+ # the background every 60 secs (default). Defaults to `false`.
165
+ #
166
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
167
+ # Used only in `adaptive` retry mode. When true, the request will sleep
168
+ # until there is sufficent client side capacity to retry the request.
169
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
170
+ # not retry instead of sleeping.
171
+ #
172
+ # @option options [Array<String>] :auth_scheme_preference
173
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
174
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
175
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
176
+ #
177
+ # @option options [Boolean] :client_side_monitoring (false)
178
+ # When `true`, client-side metrics will be collected for all API requests from
179
+ # this client.
180
+ #
181
+ # @option options [String] :client_side_monitoring_client_id ("")
182
+ # Allows you to provide an identifier for this client which will be attached to
183
+ # all generated client side metrics. Defaults to an empty string.
184
+ #
185
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
186
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
187
+ # side monitoring agent is running on, where client metrics will be published via UDP.
188
+ #
189
+ # @option options [Integer] :client_side_monitoring_port (31000)
190
+ # Required for publishing client metrics. The port that the client side monitoring
191
+ # agent is running on, where client metrics will be published via UDP.
192
+ #
193
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
194
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
195
+ # will use the Client Side Monitoring Agent Publisher.
196
+ #
197
+ # @option options [Boolean] :convert_params (true)
198
+ # When `true`, an attempt is made to coerce request parameters into
199
+ # the required types.
200
+ #
201
+ # @option options [Boolean] :correct_clock_skew (true)
202
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
203
+ # a clock skew correction and retry requests with skewed client clocks.
204
+ #
205
+ # @option options [String] :defaults_mode ("legacy")
206
+ # See {Aws::DefaultsModeConfiguration} for a list of the
207
+ # accepted modes and the configuration defaults that are included.
208
+ #
209
+ # @option options [Boolean] :disable_host_prefix_injection (false)
210
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
211
+ #
212
+ # @option options [Boolean] :disable_request_compression (false)
213
+ # When set to 'true' the request body will not be compressed
214
+ # for supported operations.
215
+ #
216
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
217
+ # Normally you should not configure the `:endpoint` option
218
+ # directly. This is normally constructed from the `:region`
219
+ # option. Configuring `:endpoint` is normally reserved for
220
+ # connecting to test or custom endpoints. The endpoint should
221
+ # be a URI formatted like:
222
+ #
223
+ # 'http://example.com'
224
+ # 'https://example.com'
225
+ # 'http://example.com:123'
226
+ #
227
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
228
+ # Used for the maximum size limit of the LRU cache storing endpoints data
229
+ # for endpoint discovery enabled operations. Defaults to 1000.
230
+ #
231
+ # @option options [Integer] :endpoint_cache_max_threads (10)
232
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
233
+ #
234
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
235
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
236
+ # Use this option to config the time interval in seconds for making
237
+ # requests fetching endpoints information. Defaults to 60 sec.
238
+ #
239
+ # @option options [Boolean] :endpoint_discovery (false)
240
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
241
+ #
242
+ # @option options [Boolean] :ignore_configured_endpoint_urls
243
+ # Setting to true disables use of endpoint URLs provided via environment
244
+ # variables and the shared configuration file.
245
+ #
246
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
247
+ # The log formatter.
248
+ #
249
+ # @option options [Symbol] :log_level (:info)
250
+ # The log level to send messages to the `:logger` at.
251
+ #
252
+ # @option options [Logger] :logger
253
+ # The Logger instance to send log messages to. If this option
254
+ # is not set, logging will be disabled.
255
+ #
256
+ # @option options [Integer] :max_attempts (3)
257
+ # An integer representing the maximum number attempts that will be made for
258
+ # a single request, including the initial attempt. For example,
259
+ # setting this value to 5 will result in a request being retried up to
260
+ # 4 times. Used in `standard` and `adaptive` retry modes.
261
+ #
262
+ # @option options [String] :profile ("default")
263
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
264
+ # When not specified, 'default' is used.
265
+ #
266
+ # @option options [String] :request_checksum_calculation ("when_supported")
267
+ # Determines when a checksum will be calculated for request payloads. Values are:
268
+ #
269
+ # * `when_supported` - (default) When set, a checksum will be
270
+ # calculated for all request payloads of operations modeled with the
271
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
272
+ # `requestAlgorithmMember` is modeled.
273
+ # * `when_required` - When set, a checksum will only be calculated for
274
+ # request payloads of operations modeled with the `httpChecksum` trait where
275
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
276
+ # is modeled and supplied.
277
+ #
278
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
279
+ # The minimum size in bytes that triggers compression for request
280
+ # bodies. The value must be non-negative integer value between 0
281
+ # and 10485780 bytes inclusive.
282
+ #
283
+ # @option options [String] :response_checksum_validation ("when_supported")
284
+ # Determines when checksum validation will be performed on response payloads. Values are:
285
+ #
286
+ # * `when_supported` - (default) When set, checksum validation is performed on all
287
+ # response payloads of operations modeled with the `httpChecksum` trait where
288
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
289
+ # are supported.
290
+ # * `when_required` - When set, checksum validation is not performed on
291
+ # response payloads of operations unless the checksum algorithm is supported and
292
+ # the `requestValidationModeMember` member is set to `ENABLED`.
293
+ #
294
+ # @option options [Proc] :retry_backoff
295
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
296
+ # This option is only used in the `legacy` retry mode.
297
+ #
298
+ # @option options [Float] :retry_base_delay (0.3)
299
+ # The base delay in seconds used by the default backoff function. This option
300
+ # is only used in the `legacy` retry mode.
301
+ #
302
+ # @option options [Symbol] :retry_jitter (:none)
303
+ # A delay randomiser function used by the default backoff function.
304
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
305
+ # otherwise a Proc that takes and returns a number. This option is only used
306
+ # in the `legacy` retry mode.
307
+ #
308
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
309
+ #
310
+ # @option options [Integer] :retry_limit (3)
311
+ # The maximum number of times to retry failed requests. Only
312
+ # ~ 500 level server errors and certain ~ 400 level client errors
313
+ # are retried. Generally, these are throttling errors, data
314
+ # checksum errors, networking errors, timeout errors, auth errors,
315
+ # endpoint discovery, and errors from expired credentials.
316
+ # This option is only used in the `legacy` retry mode.
317
+ #
318
+ # @option options [Integer] :retry_max_delay (0)
319
+ # The maximum number of seconds to delay between retries (0 for no limit)
320
+ # used by the default backoff function. This option is only used in the
321
+ # `legacy` retry mode.
322
+ #
323
+ # @option options [String] :retry_mode ("legacy")
324
+ # Specifies which retry algorithm to use. Values are:
325
+ #
326
+ # * `legacy` - The pre-existing retry behavior. This is default value if
327
+ # no retry mode is provided.
328
+ #
329
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
330
+ # This includes support for retry quotas, which limit the number of
331
+ # unsuccessful retries a client can make.
332
+ #
333
+ # * `adaptive` - An experimental retry mode that includes all the
334
+ # functionality of `standard` mode along with automatic client side
335
+ # throttling. This is a provisional mode that may change behavior
336
+ # in the future.
337
+ #
338
+ # @option options [String] :sdk_ua_app_id
339
+ # A unique and opaque application ID that is appended to the
340
+ # User-Agent header as app/sdk_ua_app_id. It should have a
341
+ # maximum length of 50. This variable is sourced from environment
342
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
343
+ #
344
+ # @option options [String] :secret_access_key
345
+ #
346
+ # @option options [String] :session_token
347
+ #
348
+ # @option options [Array] :sigv4a_signing_region_set
349
+ # A list of regions that should be signed with SigV4a signing. When
350
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
351
+ # in the following locations:
352
+ #
353
+ # * `Aws.config[:sigv4a_signing_region_set]`
354
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
355
+ # * `~/.aws/config`
356
+ #
357
+ # @option options [Boolean] :stub_responses (false)
358
+ # Causes the client to return stubbed responses. By default
359
+ # fake responses are generated and returned. You can specify
360
+ # the response data to return or errors to raise by calling
361
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
362
+ #
363
+ # ** Please note ** When response stubbing is enabled, no HTTP
364
+ # requests are made, and retries are disabled.
365
+ #
366
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
367
+ # Allows you to provide a telemetry provider, which is used to
368
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
369
+ # will not record or emit any telemetry data. The SDK supports the
370
+ # following telemetry providers:
371
+ #
372
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
373
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
374
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
375
+ #
376
+ # @option options [Aws::TokenProvider] :token_provider
377
+ # Your Bearer token used for authentication. This can be any class that includes and implements
378
+ # `Aws::TokenProvider`, or instance of any one of the following classes:
379
+ #
380
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
381
+ # tokens.
382
+ #
383
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
384
+ # access token generated from `aws login`.
385
+ #
386
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
387
+ # will be used to search for tokens configured for your profile in shared configuration files.
388
+ #
389
+ # @option options [Boolean] :use_dualstack_endpoint
390
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
391
+ # will be used if available.
392
+ #
393
+ # @option options [Boolean] :use_fips_endpoint
394
+ # When set to `true`, fips compatible endpoints will be used if available.
395
+ # When a `fips` region is used, the region is normalized and this config
396
+ # is set to `true`.
397
+ #
398
+ # @option options [Boolean] :validate_params (true)
399
+ # When `true`, request parameters are validated before
400
+ # sending the request.
401
+ #
402
+ # @option options [Aws::S3Files::EndpointProvider] :endpoint_provider
403
+ # The endpoint provider used to resolve endpoints. Any object that responds to
404
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
405
+ # `Aws::S3Files::EndpointParameters`.
406
+ #
407
+ # @option options [Float] :http_continue_timeout (1)
408
+ # The number of seconds to wait for a 100-continue response before sending the
409
+ # request body. This option has no effect unless the request has "Expect"
410
+ # header set to "100-continue". Defaults to `nil` which disables this
411
+ # behaviour. This value can safely be set per request on the session.
412
+ #
413
+ # @option options [Float] :http_idle_timeout (5)
414
+ # The number of seconds a connection is allowed to sit idle before it
415
+ # is considered stale. Stale connections are closed and removed from the
416
+ # pool before making a request.
417
+ #
418
+ # @option options [Float] :http_open_timeout (15)
419
+ # The default number of seconds to wait for response data.
420
+ # This value can safely be set per-request on the session.
421
+ #
422
+ # @option options [URI::HTTP,String] :http_proxy
423
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
424
+ #
425
+ # @option options [Float] :http_read_timeout (60)
426
+ # The default number of seconds to wait for response data.
427
+ # This value can safely be set per-request on the session.
428
+ #
429
+ # @option options [Boolean] :http_wire_trace (false)
430
+ # When `true`, HTTP debug output will be sent to the `:logger`.
431
+ #
432
+ # @option options [Proc] :on_chunk_received
433
+ # When a Proc object is provided, it will be used as callback when each chunk
434
+ # of the response body is received. It provides three arguments: the chunk,
435
+ # the number of bytes received, and the total number of
436
+ # bytes in the response (or nil if the server did not send a `content-length`).
437
+ #
438
+ # @option options [Proc] :on_chunk_sent
439
+ # When a Proc object is provided, it will be used as callback when each chunk
440
+ # of the request body is sent. It provides three arguments: the chunk,
441
+ # the number of bytes read from the body, and the total number of
442
+ # bytes in the body.
443
+ #
444
+ # @option options [Boolean] :raise_response_errors (true)
445
+ # When `true`, response errors are raised.
446
+ #
447
+ # @option options [String] :ssl_ca_bundle
448
+ # Full path to the SSL certificate authority bundle file that should be used when
449
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
450
+ # `:ssl_ca_directory` the the system default will be used if available.
451
+ #
452
+ # @option options [String] :ssl_ca_directory
453
+ # Full path of the directory that contains the unbundled SSL certificate
454
+ # authority files for verifying peer certificates. If you do
455
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
456
+ # default will be used if available.
457
+ #
458
+ # @option options [String] :ssl_ca_store
459
+ # Sets the X509::Store to verify peer certificate.
460
+ #
461
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
462
+ # Sets a client certificate when creating http connections.
463
+ #
464
+ # @option options [OpenSSL::PKey] :ssl_key
465
+ # Sets a client key when creating http connections.
466
+ #
467
+ # @option options [Float] :ssl_timeout
468
+ # Sets the SSL timeout in seconds
469
+ #
470
+ # @option options [Boolean] :ssl_verify_peer (true)
471
+ # When `true`, SSL peer certificates are verified when establishing a connection.
472
+ #
473
+ def initialize(*args)
474
+ super
475
+ end
476
+
477
+ # @!group API Operations
478
+
479
+ # Creates an S3 File System Access Point for application-specific access
480
+ # with POSIX user identity and root directory enforcement. Access points
481
+ # provide a way to manage access to shared datasets in multi-tenant
482
+ # scenarios.
483
+ #
484
+ # @option params [String] :client_token
485
+ # A unique, case-sensitive identifier to ensure that the operation
486
+ # completes no more than one time. If this token matches a previous
487
+ # request, Amazon Web Services ignores the request, but does not return
488
+ # an error.
489
+ #
490
+ # **A suitable default value is auto-generated.** You should normally
491
+ # not need to pass this option.**
492
+ #
493
+ # @option params [Array<Types::Tag>] :tags
494
+ # An array of key-value pairs to apply to the access point for resource
495
+ # tagging.
496
+ #
497
+ # @option params [required, String] :file_system_id
498
+ # The ID or Amazon Resource Name (ARN) of the S3 File System.
499
+ #
500
+ # @option params [Types::PosixUser] :posix_user
501
+ # The POSIX identity with uid, gid, and secondary group IDs for user
502
+ # enforcement when accessing the file system through this access point.
503
+ #
504
+ # @option params [Types::RootDirectory] :root_directory
505
+ # The root directory path for the access point, with optional creation
506
+ # permissions for newly created directories.
507
+ #
508
+ # @return [Types::CreateAccessPointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
509
+ #
510
+ # * {Types::CreateAccessPointResponse#access_point_arn #access_point_arn} => String
511
+ # * {Types::CreateAccessPointResponse#access_point_id #access_point_id} => String
512
+ # * {Types::CreateAccessPointResponse#client_token #client_token} => String
513
+ # * {Types::CreateAccessPointResponse#file_system_id #file_system_id} => String
514
+ # * {Types::CreateAccessPointResponse#status #status} => String
515
+ # * {Types::CreateAccessPointResponse#owner_id #owner_id} => String
516
+ # * {Types::CreateAccessPointResponse#posix_user #posix_user} => Types::PosixUser
517
+ # * {Types::CreateAccessPointResponse#root_directory #root_directory} => Types::RootDirectory
518
+ # * {Types::CreateAccessPointResponse#tags #tags} => Array&lt;Types::Tag&gt;
519
+ # * {Types::CreateAccessPointResponse#name #name} => String
520
+ #
521
+ # @example Request syntax with placeholder values
522
+ #
523
+ # resp = client.create_access_point({
524
+ # client_token: "ClientToken",
525
+ # tags: [
526
+ # {
527
+ # key: "TagKey", # required
528
+ # value: "TagValue", # required
529
+ # },
530
+ # ],
531
+ # file_system_id: "FileSystemId", # required
532
+ # posix_user: {
533
+ # uid: 1, # required
534
+ # gid: 1, # required
535
+ # secondary_gids: [1],
536
+ # },
537
+ # root_directory: {
538
+ # path: "Path",
539
+ # creation_permissions: {
540
+ # owner_uid: 1, # required
541
+ # owner_gid: 1, # required
542
+ # permissions: "Permissions", # required
543
+ # },
544
+ # },
545
+ # })
546
+ #
547
+ # @example Response structure
548
+ #
549
+ # resp.access_point_arn #=> String
550
+ # resp.access_point_id #=> String
551
+ # resp.client_token #=> String
552
+ # resp.file_system_id #=> String
553
+ # resp.status #=> String, one of "available", "creating", "deleting", "deleted", "error", "updating"
554
+ # resp.owner_id #=> String
555
+ # resp.posix_user.uid #=> Integer
556
+ # resp.posix_user.gid #=> Integer
557
+ # resp.posix_user.secondary_gids #=> Array
558
+ # resp.posix_user.secondary_gids[0] #=> Integer
559
+ # resp.root_directory.path #=> String
560
+ # resp.root_directory.creation_permissions.owner_uid #=> Integer
561
+ # resp.root_directory.creation_permissions.owner_gid #=> Integer
562
+ # resp.root_directory.creation_permissions.permissions #=> String
563
+ # resp.tags #=> Array
564
+ # resp.tags[0].key #=> String
565
+ # resp.tags[0].value #=> String
566
+ # resp.name #=> String
567
+ #
568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/CreateAccessPoint AWS API Documentation
569
+ #
570
+ # @overload create_access_point(params = {})
571
+ # @param [Hash] params ({})
572
+ def create_access_point(params = {}, options = {})
573
+ req = build_request(:create_access_point, params)
574
+ req.send_request(options)
575
+ end
576
+
577
+ # Creates an S3 File System resource scoped to a bucket or prefix within
578
+ # a bucket, enabling file system access to S3 data. To create a file
579
+ # system, you need an S3 bucket and an IAM role that grants the service
580
+ # permission to access the bucket.
581
+ #
582
+ # @option params [required, String] :bucket
583
+ # The Amazon Resource Name (ARN) of the S3 bucket that will be
584
+ # accessible through the file system. The bucket must exist and be in
585
+ # the same Amazon Web Services Region as the file system.
586
+ #
587
+ # @option params [String] :prefix
588
+ # An optional prefix within the S3 bucket to scope the file system
589
+ # access. If specified, the file system provides access only to objects
590
+ # with keys that begin with this prefix. If not specified, the file
591
+ # system provides access to the entire bucket.
592
+ #
593
+ # @option params [String] :client_token
594
+ # A unique, case-sensitive identifier that you provide to ensure
595
+ # idempotent creation. Up to 64 ASCII characters are allowed. If you
596
+ # don't specify a client token, the Amazon Web Services SDK
597
+ # automatically generates one.
598
+ #
599
+ # **A suitable default value is auto-generated.** You should normally
600
+ # not need to pass this option.**
601
+ #
602
+ # @option params [String] :kms_key_id
603
+ # The ARN, key ID, or alias of the KMS key to use for encryption. If not
604
+ # specified, the service uses a service-owned key for encryption. You
605
+ # can specify a KMS key using the following formats: key ID, ARN, key
606
+ # alias, or key alias ARN. If you use `KmsKeyId`, the file system will
607
+ # be encrypted.
608
+ #
609
+ # @option params [required, String] :role_arn
610
+ # The ARN of the IAM role that grants the S3 Files service permission to
611
+ # read and write data between the file system and the S3 bucket. This
612
+ # role must have the necessary permissions to access the specified
613
+ # bucket and prefix.
614
+ #
615
+ # @option params [Array<Types::Tag>] :tags
616
+ # An array of key-value pairs to apply as tags to the file system
617
+ # resource. Each tag is a user-defined key-value pair. You can use tags
618
+ # to categorize and manage your file systems. Each key must be unique
619
+ # for the resource.
620
+ #
621
+ # @option params [Boolean] :accept_bucket_warning
622
+ # Set to true to acknowledge and accept any warnings about the bucket
623
+ # configuration. If not specified, the operation may fail if there are
624
+ # bucket configuration warnings.
625
+ #
626
+ # @return [Types::CreateFileSystemResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
627
+ #
628
+ # * {Types::CreateFileSystemResponse#creation_time #creation_time} => Time
629
+ # * {Types::CreateFileSystemResponse#file_system_arn #file_system_arn} => String
630
+ # * {Types::CreateFileSystemResponse#file_system_id #file_system_id} => String
631
+ # * {Types::CreateFileSystemResponse#bucket #bucket} => String
632
+ # * {Types::CreateFileSystemResponse#prefix #prefix} => String
633
+ # * {Types::CreateFileSystemResponse#client_token #client_token} => String
634
+ # * {Types::CreateFileSystemResponse#kms_key_id #kms_key_id} => String
635
+ # * {Types::CreateFileSystemResponse#status #status} => String
636
+ # * {Types::CreateFileSystemResponse#status_message #status_message} => String
637
+ # * {Types::CreateFileSystemResponse#role_arn #role_arn} => String
638
+ # * {Types::CreateFileSystemResponse#owner_id #owner_id} => String
639
+ # * {Types::CreateFileSystemResponse#tags #tags} => Array&lt;Types::Tag&gt;
640
+ # * {Types::CreateFileSystemResponse#name #name} => String
641
+ #
642
+ # @example Request syntax with placeholder values
643
+ #
644
+ # resp = client.create_file_system({
645
+ # bucket: "BucketArn", # required
646
+ # prefix: "CreateFileSystemRequestPrefixString",
647
+ # client_token: "CreationToken",
648
+ # kms_key_id: "KmsKeyId",
649
+ # role_arn: "RoleArn", # required
650
+ # tags: [
651
+ # {
652
+ # key: "TagKey", # required
653
+ # value: "TagValue", # required
654
+ # },
655
+ # ],
656
+ # accept_bucket_warning: false,
657
+ # })
658
+ #
659
+ # @example Response structure
660
+ #
661
+ # resp.creation_time #=> Time
662
+ # resp.file_system_arn #=> String
663
+ # resp.file_system_id #=> String
664
+ # resp.bucket #=> String
665
+ # resp.prefix #=> String
666
+ # resp.client_token #=> String
667
+ # resp.kms_key_id #=> String
668
+ # resp.status #=> String, one of "available", "creating", "deleting", "deleted", "error", "updating"
669
+ # resp.status_message #=> String
670
+ # resp.role_arn #=> String
671
+ # resp.owner_id #=> String
672
+ # resp.tags #=> Array
673
+ # resp.tags[0].key #=> String
674
+ # resp.tags[0].value #=> String
675
+ # resp.name #=> String
676
+ #
677
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/CreateFileSystem AWS API Documentation
678
+ #
679
+ # @overload create_file_system(params = {})
680
+ # @param [Hash] params ({})
681
+ def create_file_system(params = {}, options = {})
682
+ req = build_request(:create_file_system, params)
683
+ req.send_request(options)
684
+ end
685
+
686
+ # Creates a mount target resource as an endpoint for mounting the S3
687
+ # File System from compute resources in a specific Availability Zone and
688
+ # VPC. Mount targets provide network access to the file system.
689
+ #
690
+ # @option params [required, String] :file_system_id
691
+ # The ID or Amazon Resource Name (ARN) of the S3 File System to create
692
+ # the mount target for.
693
+ #
694
+ # @option params [required, String] :subnet_id
695
+ # The ID of the subnet where the mount target will be created. The
696
+ # subnet must be in the same Amazon Web Services Region as the file
697
+ # system. For file systems with regional availability, you can create
698
+ # mount targets in any subnet within the Region. The subnet determines
699
+ # the Availability Zone where the mount target will be located.
700
+ #
701
+ # @option params [String] :ipv4_address
702
+ # A specific IPv4 address to assign to the mount target. If not
703
+ # specified and the IP address type supports IPv4, an address is
704
+ # automatically assigned from the subnet's available IPv4 address
705
+ # range. The address must be within the subnet's CIDR block and not
706
+ # already in use.
707
+ #
708
+ # @option params [String] :ipv6_address
709
+ # A specific IPv6 address to assign to the mount target. If not
710
+ # specified and the IP address type supports IPv6, an address is
711
+ # automatically assigned from the subnet's available IPv6 address
712
+ # range. The address must be within the subnet's IPv6 CIDR block and
713
+ # not already in use.
714
+ #
715
+ # @option params [String] :ip_address_type
716
+ # The IP address type for the mount target. If not specified,
717
+ # `IPV4_ONLY` is used. The IP address type must match the IP
718
+ # configuration of the specified subnet.
719
+ #
720
+ # @option params [Array<String>] :security_groups
721
+ # An array of VPC security group IDs to associate with the mount
722
+ # target's network interface. These security groups control network
723
+ # access to the mount target. If not specified, the default security
724
+ # group for the subnet's VPC is used. All security groups must belong
725
+ # to the same VPC as the subnet.
726
+ #
727
+ # @return [Types::CreateMountTargetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
728
+ #
729
+ # * {Types::CreateMountTargetResponse#availability_zone_id #availability_zone_id} => String
730
+ # * {Types::CreateMountTargetResponse#owner_id #owner_id} => String
731
+ # * {Types::CreateMountTargetResponse#mount_target_id #mount_target_id} => String
732
+ # * {Types::CreateMountTargetResponse#file_system_id #file_system_id} => String
733
+ # * {Types::CreateMountTargetResponse#subnet_id #subnet_id} => String
734
+ # * {Types::CreateMountTargetResponse#ipv4_address #ipv4_address} => String
735
+ # * {Types::CreateMountTargetResponse#ipv6_address #ipv6_address} => String
736
+ # * {Types::CreateMountTargetResponse#network_interface_id #network_interface_id} => String
737
+ # * {Types::CreateMountTargetResponse#vpc_id #vpc_id} => String
738
+ # * {Types::CreateMountTargetResponse#security_groups #security_groups} => Array&lt;String&gt;
739
+ # * {Types::CreateMountTargetResponse#status #status} => String
740
+ # * {Types::CreateMountTargetResponse#status_message #status_message} => String
741
+ #
742
+ # @example Request syntax with placeholder values
743
+ #
744
+ # resp = client.create_mount_target({
745
+ # file_system_id: "FileSystemId", # required
746
+ # subnet_id: "SubnetId", # required
747
+ # ipv4_address: "Ipv4Address",
748
+ # ipv6_address: "Ipv6Address",
749
+ # ip_address_type: "IPV4_ONLY", # accepts IPV4_ONLY, IPV6_ONLY, DUAL_STACK
750
+ # security_groups: ["SecurityGroup"],
751
+ # })
752
+ #
753
+ # @example Response structure
754
+ #
755
+ # resp.availability_zone_id #=> String
756
+ # resp.owner_id #=> String
757
+ # resp.mount_target_id #=> String
758
+ # resp.file_system_id #=> String
759
+ # resp.subnet_id #=> String
760
+ # resp.ipv4_address #=> String
761
+ # resp.ipv6_address #=> String
762
+ # resp.network_interface_id #=> String
763
+ # resp.vpc_id #=> String
764
+ # resp.security_groups #=> Array
765
+ # resp.security_groups[0] #=> String
766
+ # resp.status #=> String, one of "available", "creating", "deleting", "deleted", "error", "updating"
767
+ # resp.status_message #=> String
768
+ #
769
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/CreateMountTarget AWS API Documentation
770
+ #
771
+ # @overload create_mount_target(params = {})
772
+ # @param [Hash] params ({})
773
+ def create_mount_target(params = {}, options = {})
774
+ req = build_request(:create_mount_target, params)
775
+ req.send_request(options)
776
+ end
777
+
778
+ # Deletes an S3 File System Access Point. This operation is
779
+ # irreversible.
780
+ #
781
+ # @option params [required, String] :access_point_id
782
+ # The ID or Amazon Resource Name (ARN) of the access point to delete.
783
+ #
784
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
785
+ #
786
+ # @example Request syntax with placeholder values
787
+ #
788
+ # resp = client.delete_access_point({
789
+ # access_point_id: "AccessPointId", # required
790
+ # })
791
+ #
792
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/DeleteAccessPoint AWS API Documentation
793
+ #
794
+ # @overload delete_access_point(params = {})
795
+ # @param [Hash] params ({})
796
+ def delete_access_point(params = {}, options = {})
797
+ req = build_request(:delete_access_point, params)
798
+ req.send_request(options)
799
+ end
800
+
801
+ # Deletes an S3 File System. You can optionally force deletion of a file
802
+ # system that has pending export data.
803
+ #
804
+ # @option params [required, String] :file_system_id
805
+ # The ID or Amazon Resource Name (ARN) of the S3 File System to delete.
806
+ #
807
+ # @option params [Boolean] :force_delete
808
+ # If true, allows deletion of a file system that contains data pending
809
+ # export to S3. If false (the default), the deletion will fail if there
810
+ # is data that has not yet been exported to the S3 bucket. Use this
811
+ # parameter with caution as it may result in data loss.
812
+ #
813
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
814
+ #
815
+ # @example Request syntax with placeholder values
816
+ #
817
+ # resp = client.delete_file_system({
818
+ # file_system_id: "FileSystemId", # required
819
+ # force_delete: false,
820
+ # })
821
+ #
822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/DeleteFileSystem AWS API Documentation
823
+ #
824
+ # @overload delete_file_system(params = {})
825
+ # @param [Hash] params ({})
826
+ def delete_file_system(params = {}, options = {})
827
+ req = build_request(:delete_file_system, params)
828
+ req.send_request(options)
829
+ end
830
+
831
+ # Deletes the IAM resource policy of an S3 File System.
832
+ #
833
+ # @option params [required, String] :file_system_id
834
+ # The ID or Amazon Resource Name (ARN) of the S3 File System whose
835
+ # resource policy to delete.
836
+ #
837
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
838
+ #
839
+ # @example Request syntax with placeholder values
840
+ #
841
+ # resp = client.delete_file_system_policy({
842
+ # file_system_id: "FileSystemId", # required
843
+ # })
844
+ #
845
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/DeleteFileSystemPolicy AWS API Documentation
846
+ #
847
+ # @overload delete_file_system_policy(params = {})
848
+ # @param [Hash] params ({})
849
+ def delete_file_system_policy(params = {}, options = {})
850
+ req = build_request(:delete_file_system_policy, params)
851
+ req.send_request(options)
852
+ end
853
+
854
+ # Deletes the specified mount target. This operation is irreversible.
855
+ #
856
+ # @option params [required, String] :mount_target_id
857
+ # The ID of the mount target to delete.
858
+ #
859
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
860
+ #
861
+ # @example Request syntax with placeholder values
862
+ #
863
+ # resp = client.delete_mount_target({
864
+ # mount_target_id: "MountTargetId", # required
865
+ # })
866
+ #
867
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/DeleteMountTarget AWS API Documentation
868
+ #
869
+ # @overload delete_mount_target(params = {})
870
+ # @param [Hash] params ({})
871
+ def delete_mount_target(params = {}, options = {})
872
+ req = build_request(:delete_mount_target, params)
873
+ req.send_request(options)
874
+ end
875
+
876
+ # Returns resource information for an S3 File System Access Point.
877
+ #
878
+ # @option params [required, String] :access_point_id
879
+ # The ID or Amazon Resource Name (ARN) of the access point to retrieve
880
+ # information for.
881
+ #
882
+ # @return [Types::GetAccessPointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
883
+ #
884
+ # * {Types::GetAccessPointResponse#access_point_arn #access_point_arn} => String
885
+ # * {Types::GetAccessPointResponse#access_point_id #access_point_id} => String
886
+ # * {Types::GetAccessPointResponse#client_token #client_token} => String
887
+ # * {Types::GetAccessPointResponse#file_system_id #file_system_id} => String
888
+ # * {Types::GetAccessPointResponse#status #status} => String
889
+ # * {Types::GetAccessPointResponse#owner_id #owner_id} => String
890
+ # * {Types::GetAccessPointResponse#posix_user #posix_user} => Types::PosixUser
891
+ # * {Types::GetAccessPointResponse#root_directory #root_directory} => Types::RootDirectory
892
+ # * {Types::GetAccessPointResponse#tags #tags} => Array&lt;Types::Tag&gt;
893
+ # * {Types::GetAccessPointResponse#name #name} => String
894
+ #
895
+ # @example Request syntax with placeholder values
896
+ #
897
+ # resp = client.get_access_point({
898
+ # access_point_id: "AccessPointId", # required
899
+ # })
900
+ #
901
+ # @example Response structure
902
+ #
903
+ # resp.access_point_arn #=> String
904
+ # resp.access_point_id #=> String
905
+ # resp.client_token #=> String
906
+ # resp.file_system_id #=> String
907
+ # resp.status #=> String, one of "available", "creating", "deleting", "deleted", "error", "updating"
908
+ # resp.owner_id #=> String
909
+ # resp.posix_user.uid #=> Integer
910
+ # resp.posix_user.gid #=> Integer
911
+ # resp.posix_user.secondary_gids #=> Array
912
+ # resp.posix_user.secondary_gids[0] #=> Integer
913
+ # resp.root_directory.path #=> String
914
+ # resp.root_directory.creation_permissions.owner_uid #=> Integer
915
+ # resp.root_directory.creation_permissions.owner_gid #=> Integer
916
+ # resp.root_directory.creation_permissions.permissions #=> String
917
+ # resp.tags #=> Array
918
+ # resp.tags[0].key #=> String
919
+ # resp.tags[0].value #=> String
920
+ # resp.name #=> String
921
+ #
922
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/GetAccessPoint AWS API Documentation
923
+ #
924
+ # @overload get_access_point(params = {})
925
+ # @param [Hash] params ({})
926
+ def get_access_point(params = {}, options = {})
927
+ req = build_request(:get_access_point, params)
928
+ req.send_request(options)
929
+ end
930
+
931
+ # Returns resource information for the specified S3 File System
932
+ # including status, configuration, and metadata.
933
+ #
934
+ # @option params [required, String] :file_system_id
935
+ # The ID or Amazon Resource Name (ARN) of the S3 File System to retrieve
936
+ # information for.
937
+ #
938
+ # @return [Types::GetFileSystemResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
939
+ #
940
+ # * {Types::GetFileSystemResponse#creation_time #creation_time} => Time
941
+ # * {Types::GetFileSystemResponse#file_system_arn #file_system_arn} => String
942
+ # * {Types::GetFileSystemResponse#file_system_id #file_system_id} => String
943
+ # * {Types::GetFileSystemResponse#bucket #bucket} => String
944
+ # * {Types::GetFileSystemResponse#prefix #prefix} => String
945
+ # * {Types::GetFileSystemResponse#client_token #client_token} => String
946
+ # * {Types::GetFileSystemResponse#kms_key_id #kms_key_id} => String
947
+ # * {Types::GetFileSystemResponse#status #status} => String
948
+ # * {Types::GetFileSystemResponse#status_message #status_message} => String
949
+ # * {Types::GetFileSystemResponse#role_arn #role_arn} => String
950
+ # * {Types::GetFileSystemResponse#owner_id #owner_id} => String
951
+ # * {Types::GetFileSystemResponse#tags #tags} => Array&lt;Types::Tag&gt;
952
+ # * {Types::GetFileSystemResponse#name #name} => String
953
+ #
954
+ # @example Request syntax with placeholder values
955
+ #
956
+ # resp = client.get_file_system({
957
+ # file_system_id: "FileSystemId", # required
958
+ # })
959
+ #
960
+ # @example Response structure
961
+ #
962
+ # resp.creation_time #=> Time
963
+ # resp.file_system_arn #=> String
964
+ # resp.file_system_id #=> String
965
+ # resp.bucket #=> String
966
+ # resp.prefix #=> String
967
+ # resp.client_token #=> String
968
+ # resp.kms_key_id #=> String
969
+ # resp.status #=> String, one of "available", "creating", "deleting", "deleted", "error", "updating"
970
+ # resp.status_message #=> String
971
+ # resp.role_arn #=> String
972
+ # resp.owner_id #=> String
973
+ # resp.tags #=> Array
974
+ # resp.tags[0].key #=> String
975
+ # resp.tags[0].value #=> String
976
+ # resp.name #=> String
977
+ #
978
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/GetFileSystem AWS API Documentation
979
+ #
980
+ # @overload get_file_system(params = {})
981
+ # @param [Hash] params ({})
982
+ def get_file_system(params = {}, options = {})
983
+ req = build_request(:get_file_system, params)
984
+ req.send_request(options)
985
+ end
986
+
987
+ # Returns the IAM resource policy of an S3 File System.
988
+ #
989
+ # @option params [required, String] :file_system_id
990
+ # The ID or Amazon Resource Name (ARN) of the S3 File System whose
991
+ # resource policy to retrieve.
992
+ #
993
+ # @return [Types::GetFileSystemPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
994
+ #
995
+ # * {Types::GetFileSystemPolicyResponse#file_system_id #file_system_id} => String
996
+ # * {Types::GetFileSystemPolicyResponse#policy #policy} => String
997
+ #
998
+ # @example Request syntax with placeholder values
999
+ #
1000
+ # resp = client.get_file_system_policy({
1001
+ # file_system_id: "FileSystemId", # required
1002
+ # })
1003
+ #
1004
+ # @example Response structure
1005
+ #
1006
+ # resp.file_system_id #=> String
1007
+ # resp.policy #=> String
1008
+ #
1009
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/GetFileSystemPolicy AWS API Documentation
1010
+ #
1011
+ # @overload get_file_system_policy(params = {})
1012
+ # @param [Hash] params ({})
1013
+ def get_file_system_policy(params = {}, options = {})
1014
+ req = build_request(:get_file_system_policy, params)
1015
+ req.send_request(options)
1016
+ end
1017
+
1018
+ # Returns detailed resource information for the specified mount target
1019
+ # including network configuration.
1020
+ #
1021
+ # @option params [required, String] :mount_target_id
1022
+ # The ID of the mount target to retrieve information for.
1023
+ #
1024
+ # @return [Types::GetMountTargetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1025
+ #
1026
+ # * {Types::GetMountTargetResponse#availability_zone_id #availability_zone_id} => String
1027
+ # * {Types::GetMountTargetResponse#owner_id #owner_id} => String
1028
+ # * {Types::GetMountTargetResponse#mount_target_id #mount_target_id} => String
1029
+ # * {Types::GetMountTargetResponse#file_system_id #file_system_id} => String
1030
+ # * {Types::GetMountTargetResponse#subnet_id #subnet_id} => String
1031
+ # * {Types::GetMountTargetResponse#ipv4_address #ipv4_address} => String
1032
+ # * {Types::GetMountTargetResponse#ipv6_address #ipv6_address} => String
1033
+ # * {Types::GetMountTargetResponse#network_interface_id #network_interface_id} => String
1034
+ # * {Types::GetMountTargetResponse#vpc_id #vpc_id} => String
1035
+ # * {Types::GetMountTargetResponse#security_groups #security_groups} => Array&lt;String&gt;
1036
+ # * {Types::GetMountTargetResponse#status #status} => String
1037
+ # * {Types::GetMountTargetResponse#status_message #status_message} => String
1038
+ #
1039
+ # @example Request syntax with placeholder values
1040
+ #
1041
+ # resp = client.get_mount_target({
1042
+ # mount_target_id: "MountTargetId", # required
1043
+ # })
1044
+ #
1045
+ # @example Response structure
1046
+ #
1047
+ # resp.availability_zone_id #=> String
1048
+ # resp.owner_id #=> String
1049
+ # resp.mount_target_id #=> String
1050
+ # resp.file_system_id #=> String
1051
+ # resp.subnet_id #=> String
1052
+ # resp.ipv4_address #=> String
1053
+ # resp.ipv6_address #=> String
1054
+ # resp.network_interface_id #=> String
1055
+ # resp.vpc_id #=> String
1056
+ # resp.security_groups #=> Array
1057
+ # resp.security_groups[0] #=> String
1058
+ # resp.status #=> String, one of "available", "creating", "deleting", "deleted", "error", "updating"
1059
+ # resp.status_message #=> String
1060
+ #
1061
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/GetMountTarget AWS API Documentation
1062
+ #
1063
+ # @overload get_mount_target(params = {})
1064
+ # @param [Hash] params ({})
1065
+ def get_mount_target(params = {}, options = {})
1066
+ req = build_request(:get_mount_target, params)
1067
+ req.send_request(options)
1068
+ end
1069
+
1070
+ # Returns the synchronization configuration for the specified S3 File
1071
+ # System, including import data rules and expiration data rules.
1072
+ #
1073
+ # @option params [required, String] :file_system_id
1074
+ # The ID or Amazon Resource Name (ARN) of the S3 File System to retrieve
1075
+ # the synchronization configuration for.
1076
+ #
1077
+ # @return [Types::GetSynchronizationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1078
+ #
1079
+ # * {Types::GetSynchronizationConfigurationResponse#latest_version_number #latest_version_number} => Integer
1080
+ # * {Types::GetSynchronizationConfigurationResponse#import_data_rules #import_data_rules} => Array&lt;Types::ImportDataRule&gt;
1081
+ # * {Types::GetSynchronizationConfigurationResponse#expiration_data_rules #expiration_data_rules} => Array&lt;Types::ExpirationDataRule&gt;
1082
+ #
1083
+ # @example Request syntax with placeholder values
1084
+ #
1085
+ # resp = client.get_synchronization_configuration({
1086
+ # file_system_id: "FileSystemId", # required
1087
+ # })
1088
+ #
1089
+ # @example Response structure
1090
+ #
1091
+ # resp.latest_version_number #=> Integer
1092
+ # resp.import_data_rules #=> Array
1093
+ # resp.import_data_rules[0].prefix #=> String
1094
+ # resp.import_data_rules[0].trigger #=> String, one of "ON_DIRECTORY_FIRST_ACCESS", "ON_FILE_ACCESS"
1095
+ # resp.import_data_rules[0].size_less_than #=> Integer
1096
+ # resp.expiration_data_rules #=> Array
1097
+ # resp.expiration_data_rules[0].days_after_last_access #=> Integer
1098
+ #
1099
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/GetSynchronizationConfiguration AWS API Documentation
1100
+ #
1101
+ # @overload get_synchronization_configuration(params = {})
1102
+ # @param [Hash] params ({})
1103
+ def get_synchronization_configuration(params = {}, options = {})
1104
+ req = build_request(:get_synchronization_configuration, params)
1105
+ req.send_request(options)
1106
+ end
1107
+
1108
+ # Returns resource information for all S3 File System Access Points
1109
+ # associated with the specified S3 File System.
1110
+ #
1111
+ # @option params [required, String] :file_system_id
1112
+ # The ID or Amazon Resource Name (ARN) of the S3 File System to list
1113
+ # access points for.
1114
+ #
1115
+ # @option params [Integer] :max_results
1116
+ # The maximum number of access points to return in a single response.
1117
+ #
1118
+ # @option params [String] :next_token
1119
+ # A pagination token returned from a previous call to continue listing
1120
+ # access points.
1121
+ #
1122
+ # @return [Types::ListAccessPointsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1123
+ #
1124
+ # * {Types::ListAccessPointsResponse#next_token #next_token} => String
1125
+ # * {Types::ListAccessPointsResponse#access_points #access_points} => Array&lt;Types::ListAccessPointsDescription&gt;
1126
+ #
1127
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1128
+ #
1129
+ # @example Request syntax with placeholder values
1130
+ #
1131
+ # resp = client.list_access_points({
1132
+ # file_system_id: "FileSystemId", # required
1133
+ # max_results: 1,
1134
+ # next_token: "String",
1135
+ # })
1136
+ #
1137
+ # @example Response structure
1138
+ #
1139
+ # resp.next_token #=> String
1140
+ # resp.access_points #=> Array
1141
+ # resp.access_points[0].access_point_arn #=> String
1142
+ # resp.access_points[0].access_point_id #=> String
1143
+ # resp.access_points[0].file_system_id #=> String
1144
+ # resp.access_points[0].status #=> String, one of "available", "creating", "deleting", "deleted", "error", "updating"
1145
+ # resp.access_points[0].owner_id #=> String
1146
+ # resp.access_points[0].posix_user.uid #=> Integer
1147
+ # resp.access_points[0].posix_user.gid #=> Integer
1148
+ # resp.access_points[0].posix_user.secondary_gids #=> Array
1149
+ # resp.access_points[0].posix_user.secondary_gids[0] #=> Integer
1150
+ # resp.access_points[0].root_directory.path #=> String
1151
+ # resp.access_points[0].root_directory.creation_permissions.owner_uid #=> Integer
1152
+ # resp.access_points[0].root_directory.creation_permissions.owner_gid #=> Integer
1153
+ # resp.access_points[0].root_directory.creation_permissions.permissions #=> String
1154
+ # resp.access_points[0].name #=> String
1155
+ #
1156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/ListAccessPoints AWS API Documentation
1157
+ #
1158
+ # @overload list_access_points(params = {})
1159
+ # @param [Hash] params ({})
1160
+ def list_access_points(params = {}, options = {})
1161
+ req = build_request(:list_access_points, params)
1162
+ req.send_request(options)
1163
+ end
1164
+
1165
+ # Returns a list of all S3 File Systems owned by the account with
1166
+ # optional filtering by bucket.
1167
+ #
1168
+ # @option params [String] :bucket
1169
+ # Optional filter to list only file systems associated with the
1170
+ # specified S3 bucket Amazon Resource Name (ARN). If provided, only file
1171
+ # systems that provide access to this bucket will be returned in the
1172
+ # response.
1173
+ #
1174
+ # @option params [Integer] :max_results
1175
+ # The maximum number of file systems to return in a single response. If
1176
+ # not specified, up to 100 file systems are returned.
1177
+ #
1178
+ # @option params [String] :next_token
1179
+ # A pagination token returned from a previous call to continue listing
1180
+ # file systems.
1181
+ #
1182
+ # @return [Types::ListFileSystemsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1183
+ #
1184
+ # * {Types::ListFileSystemsResponse#next_token #next_token} => String
1185
+ # * {Types::ListFileSystemsResponse#file_systems #file_systems} => Array&lt;Types::ListFileSystemsDescription&gt;
1186
+ #
1187
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1188
+ #
1189
+ # @example Request syntax with placeholder values
1190
+ #
1191
+ # resp = client.list_file_systems({
1192
+ # bucket: "BucketArn",
1193
+ # max_results: 1,
1194
+ # next_token: "String",
1195
+ # })
1196
+ #
1197
+ # @example Response structure
1198
+ #
1199
+ # resp.next_token #=> String
1200
+ # resp.file_systems #=> Array
1201
+ # resp.file_systems[0].creation_time #=> Time
1202
+ # resp.file_systems[0].file_system_arn #=> String
1203
+ # resp.file_systems[0].file_system_id #=> String
1204
+ # resp.file_systems[0].name #=> String
1205
+ # resp.file_systems[0].bucket #=> String
1206
+ # resp.file_systems[0].status #=> String, one of "available", "creating", "deleting", "deleted", "error", "updating"
1207
+ # resp.file_systems[0].status_message #=> String
1208
+ # resp.file_systems[0].role_arn #=> String
1209
+ # resp.file_systems[0].owner_id #=> String
1210
+ #
1211
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/ListFileSystems AWS API Documentation
1212
+ #
1213
+ # @overload list_file_systems(params = {})
1214
+ # @param [Hash] params ({})
1215
+ def list_file_systems(params = {}, options = {})
1216
+ req = build_request(:list_file_systems, params)
1217
+ req.send_request(options)
1218
+ end
1219
+
1220
+ # Returns resource information for all mount targets with optional
1221
+ # filtering by file system, access point, and VPC.
1222
+ #
1223
+ # @option params [String] :file_system_id
1224
+ # Optional filter to list only mount targets associated with the
1225
+ # specified S3 File System ID or Amazon Resource Name (ARN). If
1226
+ # provided, only mount targets for this file system will be returned in
1227
+ # the response.
1228
+ #
1229
+ # @option params [String] :access_point_id
1230
+ # Optional filter to list only mount targets associated with the
1231
+ # specified access point ID or Amazon Resource Name (ARN).
1232
+ #
1233
+ # @option params [Integer] :max_results
1234
+ # The maximum number of mount targets to return in a single response.
1235
+ #
1236
+ # @option params [String] :next_token
1237
+ # A pagination token returned from a previous call to continue listing
1238
+ # mount targets.
1239
+ #
1240
+ # @return [Types::ListMountTargetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1241
+ #
1242
+ # * {Types::ListMountTargetsResponse#next_token #next_token} => String
1243
+ # * {Types::ListMountTargetsResponse#mount_targets #mount_targets} => Array&lt;Types::ListMountTargetsDescription&gt;
1244
+ #
1245
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1246
+ #
1247
+ # @example Request syntax with placeholder values
1248
+ #
1249
+ # resp = client.list_mount_targets({
1250
+ # file_system_id: "FileSystemId",
1251
+ # access_point_id: "AccessPointId",
1252
+ # max_results: 1,
1253
+ # next_token: "String",
1254
+ # })
1255
+ #
1256
+ # @example Response structure
1257
+ #
1258
+ # resp.next_token #=> String
1259
+ # resp.mount_targets #=> Array
1260
+ # resp.mount_targets[0].availability_zone_id #=> String
1261
+ # resp.mount_targets[0].file_system_id #=> String
1262
+ # resp.mount_targets[0].ipv4_address #=> String
1263
+ # resp.mount_targets[0].ipv6_address #=> String
1264
+ # resp.mount_targets[0].status #=> String, one of "available", "creating", "deleting", "deleted", "error", "updating"
1265
+ # resp.mount_targets[0].status_message #=> String
1266
+ # resp.mount_targets[0].mount_target_id #=> String
1267
+ # resp.mount_targets[0].network_interface_id #=> String
1268
+ # resp.mount_targets[0].owner_id #=> String
1269
+ # resp.mount_targets[0].subnet_id #=> String
1270
+ # resp.mount_targets[0].vpc_id #=> String
1271
+ #
1272
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/ListMountTargets AWS API Documentation
1273
+ #
1274
+ # @overload list_mount_targets(params = {})
1275
+ # @param [Hash] params ({})
1276
+ def list_mount_targets(params = {}, options = {})
1277
+ req = build_request(:list_mount_targets, params)
1278
+ req.send_request(options)
1279
+ end
1280
+
1281
+ # Lists all tags for S3 Files resources.
1282
+ #
1283
+ # @option params [required, String] :resource_id
1284
+ # The ID or Amazon Resource Name (ARN) of the resource to list tags for.
1285
+ #
1286
+ # @option params [Integer] :max_results
1287
+ # The maximum number of tags to return in a single response.
1288
+ #
1289
+ # @option params [String] :next_token
1290
+ # A pagination token returned from a previous call to continue listing
1291
+ # tags.
1292
+ #
1293
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1294
+ #
1295
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1296
+ # * {Types::ListTagsForResourceResponse#next_token #next_token} => String
1297
+ #
1298
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1299
+ #
1300
+ # @example Request syntax with placeholder values
1301
+ #
1302
+ # resp = client.list_tags_for_resource({
1303
+ # resource_id: "ResourceId", # required
1304
+ # max_results: 1,
1305
+ # next_token: "String",
1306
+ # })
1307
+ #
1308
+ # @example Response structure
1309
+ #
1310
+ # resp.tags #=> Array
1311
+ # resp.tags[0].key #=> String
1312
+ # resp.tags[0].value #=> String
1313
+ # resp.next_token #=> String
1314
+ #
1315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/ListTagsForResource AWS API Documentation
1316
+ #
1317
+ # @overload list_tags_for_resource(params = {})
1318
+ # @param [Hash] params ({})
1319
+ def list_tags_for_resource(params = {}, options = {})
1320
+ req = build_request(:list_tags_for_resource, params)
1321
+ req.send_request(options)
1322
+ end
1323
+
1324
+ # Creates or replaces the IAM resource policy for an S3 File System to
1325
+ # control access permissions.
1326
+ #
1327
+ # @option params [required, String] :file_system_id
1328
+ # The ID or Amazon Resource Name (ARN) of the S3 File System to apply
1329
+ # the resource policy to.
1330
+ #
1331
+ # @option params [required, String] :policy
1332
+ # The JSON-formatted resource policy to apply to the file system. The
1333
+ # policy defines the permissions for accessing the file system. The
1334
+ # policy must be a valid JSON document that follows IAM policy syntax.
1335
+ #
1336
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1337
+ #
1338
+ # @example Request syntax with placeholder values
1339
+ #
1340
+ # resp = client.put_file_system_policy({
1341
+ # file_system_id: "FileSystemId", # required
1342
+ # policy: "String", # required
1343
+ # })
1344
+ #
1345
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/PutFileSystemPolicy AWS API Documentation
1346
+ #
1347
+ # @overload put_file_system_policy(params = {})
1348
+ # @param [Hash] params ({})
1349
+ def put_file_system_policy(params = {}, options = {})
1350
+ req = build_request(:put_file_system_policy, params)
1351
+ req.send_request(options)
1352
+ end
1353
+
1354
+ # Creates or updates the synchronization configuration for the specified
1355
+ # S3 File System, including import data rules and expiration data rules.
1356
+ #
1357
+ # @option params [required, String] :file_system_id
1358
+ # The ID or Amazon Resource Name (ARN) of the S3 File System to
1359
+ # configure synchronization for.
1360
+ #
1361
+ # @option params [Integer] :latest_version_number
1362
+ # The version number of the current synchronization configuration. Omit
1363
+ # this value when creating a synchronization configuration for the first
1364
+ # time. For subsequent updates, provide this value for optimistic
1365
+ # concurrency control. If the version number does not match the current
1366
+ # configuration, the request fails with a `ConflictException`.
1367
+ #
1368
+ # @option params [required, Array<Types::ImportDataRule>] :import_data_rules
1369
+ # An array of import data rules that control how data is imported from
1370
+ # S3 into the file system.
1371
+ #
1372
+ # @option params [required, Array<Types::ExpirationDataRule>] :expiration_data_rules
1373
+ # An array of expiration data rules that control when cached data
1374
+ # expires from the file system.
1375
+ #
1376
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1377
+ #
1378
+ # @example Request syntax with placeholder values
1379
+ #
1380
+ # resp = client.put_synchronization_configuration({
1381
+ # file_system_id: "FileSystemId", # required
1382
+ # latest_version_number: 1,
1383
+ # import_data_rules: [ # required
1384
+ # {
1385
+ # prefix: "ImportDataRulePrefixString", # required
1386
+ # trigger: "ON_DIRECTORY_FIRST_ACCESS", # required, accepts ON_DIRECTORY_FIRST_ACCESS, ON_FILE_ACCESS
1387
+ # size_less_than: 1, # required
1388
+ # },
1389
+ # ],
1390
+ # expiration_data_rules: [ # required
1391
+ # {
1392
+ # days_after_last_access: 1, # required
1393
+ # },
1394
+ # ],
1395
+ # })
1396
+ #
1397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/PutSynchronizationConfiguration AWS API Documentation
1398
+ #
1399
+ # @overload put_synchronization_configuration(params = {})
1400
+ # @param [Hash] params ({})
1401
+ def put_synchronization_configuration(params = {}, options = {})
1402
+ req = build_request(:put_synchronization_configuration, params)
1403
+ req.send_request(options)
1404
+ end
1405
+
1406
+ # Creates tags for S3 Files resources using standard Amazon Web Services
1407
+ # tagging APIs.
1408
+ #
1409
+ # @option params [required, String] :resource_id
1410
+ # The ID or Amazon Resource Name (ARN) of the resource to add tags to.
1411
+ #
1412
+ # @option params [required, Array<Types::Tag>] :tags
1413
+ # An array of key-value pairs to add as tags to the resource.
1414
+ #
1415
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1416
+ #
1417
+ # @example Request syntax with placeholder values
1418
+ #
1419
+ # resp = client.tag_resource({
1420
+ # resource_id: "ResourceId", # required
1421
+ # tags: [ # required
1422
+ # {
1423
+ # key: "TagKey", # required
1424
+ # value: "TagValue", # required
1425
+ # },
1426
+ # ],
1427
+ # })
1428
+ #
1429
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/TagResource AWS API Documentation
1430
+ #
1431
+ # @overload tag_resource(params = {})
1432
+ # @param [Hash] params ({})
1433
+ def tag_resource(params = {}, options = {})
1434
+ req = build_request(:tag_resource, params)
1435
+ req.send_request(options)
1436
+ end
1437
+
1438
+ # Removes tags from S3 Files resources.
1439
+ #
1440
+ # @option params [required, String] :resource_id
1441
+ # The ID or Amazon Resource Name (ARN) of the resource to remove tags
1442
+ # from.
1443
+ #
1444
+ # @option params [required, Array<String>] :tag_keys
1445
+ # An array of tag keys to remove from the resource.
1446
+ #
1447
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1448
+ #
1449
+ # @example Request syntax with placeholder values
1450
+ #
1451
+ # resp = client.untag_resource({
1452
+ # resource_id: "ResourceId", # required
1453
+ # tag_keys: ["TagKey"], # required
1454
+ # })
1455
+ #
1456
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/UntagResource AWS API Documentation
1457
+ #
1458
+ # @overload untag_resource(params = {})
1459
+ # @param [Hash] params ({})
1460
+ def untag_resource(params = {}, options = {})
1461
+ req = build_request(:untag_resource, params)
1462
+ req.send_request(options)
1463
+ end
1464
+
1465
+ # Updates the mount target resource, specifically security group
1466
+ # configurations.
1467
+ #
1468
+ # @option params [required, String] :mount_target_id
1469
+ # The ID of the mount target to update.
1470
+ #
1471
+ # @option params [required, Array<String>] :security_groups
1472
+ # An array of VPC security group IDs to associate with the mount
1473
+ # target's network interface. This replaces the existing security
1474
+ # groups. All security groups must belong to the same VPC as the mount
1475
+ # target's subnet.
1476
+ #
1477
+ # @return [Types::UpdateMountTargetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1478
+ #
1479
+ # * {Types::UpdateMountTargetResponse#availability_zone_id #availability_zone_id} => String
1480
+ # * {Types::UpdateMountTargetResponse#owner_id #owner_id} => String
1481
+ # * {Types::UpdateMountTargetResponse#mount_target_id #mount_target_id} => String
1482
+ # * {Types::UpdateMountTargetResponse#file_system_id #file_system_id} => String
1483
+ # * {Types::UpdateMountTargetResponse#subnet_id #subnet_id} => String
1484
+ # * {Types::UpdateMountTargetResponse#ipv4_address #ipv4_address} => String
1485
+ # * {Types::UpdateMountTargetResponse#ipv6_address #ipv6_address} => String
1486
+ # * {Types::UpdateMountTargetResponse#network_interface_id #network_interface_id} => String
1487
+ # * {Types::UpdateMountTargetResponse#vpc_id #vpc_id} => String
1488
+ # * {Types::UpdateMountTargetResponse#security_groups #security_groups} => Array&lt;String&gt;
1489
+ # * {Types::UpdateMountTargetResponse#status #status} => String
1490
+ # * {Types::UpdateMountTargetResponse#status_message #status_message} => String
1491
+ #
1492
+ # @example Request syntax with placeholder values
1493
+ #
1494
+ # resp = client.update_mount_target({
1495
+ # mount_target_id: "MountTargetId", # required
1496
+ # security_groups: ["SecurityGroup"], # required
1497
+ # })
1498
+ #
1499
+ # @example Response structure
1500
+ #
1501
+ # resp.availability_zone_id #=> String
1502
+ # resp.owner_id #=> String
1503
+ # resp.mount_target_id #=> String
1504
+ # resp.file_system_id #=> String
1505
+ # resp.subnet_id #=> String
1506
+ # resp.ipv4_address #=> String
1507
+ # resp.ipv6_address #=> String
1508
+ # resp.network_interface_id #=> String
1509
+ # resp.vpc_id #=> String
1510
+ # resp.security_groups #=> Array
1511
+ # resp.security_groups[0] #=> String
1512
+ # resp.status #=> String, one of "available", "creating", "deleting", "deleted", "error", "updating"
1513
+ # resp.status_message #=> String
1514
+ #
1515
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3files-2025-05-05/UpdateMountTarget AWS API Documentation
1516
+ #
1517
+ # @overload update_mount_target(params = {})
1518
+ # @param [Hash] params ({})
1519
+ def update_mount_target(params = {}, options = {})
1520
+ req = build_request(:update_mount_target, params)
1521
+ req.send_request(options)
1522
+ end
1523
+
1524
+ # @!endgroup
1525
+
1526
+ # @param params ({})
1527
+ # @api private
1528
+ def build_request(operation_name, params = {})
1529
+ handlers = @handlers.for(operation_name)
1530
+ tracer = config.telemetry_provider.tracer_provider.tracer(
1531
+ Aws::Telemetry.module_to_tracer_name('Aws::S3Files')
1532
+ )
1533
+ context = Seahorse::Client::RequestContext.new(
1534
+ operation_name: operation_name,
1535
+ operation: config.api.operation(operation_name),
1536
+ client: self,
1537
+ params: params,
1538
+ config: config,
1539
+ tracer: tracer
1540
+ )
1541
+ context[:gem_name] = 'aws-sdk-s3files'
1542
+ context[:gem_version] = '1.0.0'
1543
+ Seahorse::Client::Request.new(handlers, context)
1544
+ end
1545
+
1546
+ # @api private
1547
+ # @deprecated
1548
+ def waiter_names
1549
+ []
1550
+ end
1551
+
1552
+ class << self
1553
+
1554
+ # @api private
1555
+ attr_reader :identifier
1556
+
1557
+ # @api private
1558
+ def errors_module
1559
+ Errors
1560
+ end
1561
+
1562
+ end
1563
+ end
1564
+ end