aws-sdk-fsx 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,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 98fc588075cfb9d97717f79b72897b3046fad4de
4
+ data.tar.gz: fa95d1195ce562648235e42f16408259534059c6
5
+ SHA512:
6
+ metadata.gz: c8d19f3047235f29b156df19085d7f00bc93c70e8bf047214bf316f9bf377cd2255aea24fae1a6f523558cf04521788cdbdd9d88eee8c0b403c3ddf761d8e9f2
7
+ data.tar.gz: 46acbd8ecd8ad7844fcdf2f722f7b7dae3cd6923fa2f18e575ad9cc2aff74c066d78b01cd023b69886daffda1508585746d8d3a2ccec88bc053384de41ec3da0
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-fsx/types'
12
+ require_relative 'aws-sdk-fsx/client_api'
13
+ require_relative 'aws-sdk-fsx/client'
14
+ require_relative 'aws-sdk-fsx/errors'
15
+ require_relative 'aws-sdk-fsx/resource'
16
+ require_relative 'aws-sdk-fsx/customizations'
17
+
18
+ # This module provides support for Amazon FSx. This module is available in the
19
+ # `aws-sdk-fsx` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon FSx all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::FSx::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::FSx
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,1592 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/signature_v4.rb'
27
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
28
+
29
+ Aws::Plugins::GlobalConfiguration.add_identifier(:fsx)
30
+
31
+ module Aws::FSx
32
+ class Client < Seahorse::Client::Base
33
+
34
+ include Aws::ClientStubs
35
+
36
+ @identifier = :fsx
37
+
38
+ set_api(ClientApi::API)
39
+
40
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
41
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
42
+ add_plugin(Aws::Plugins::Logging)
43
+ add_plugin(Aws::Plugins::ParamConverter)
44
+ add_plugin(Aws::Plugins::ParamValidator)
45
+ add_plugin(Aws::Plugins::UserAgent)
46
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
47
+ add_plugin(Aws::Plugins::RetryErrors)
48
+ add_plugin(Aws::Plugins::GlobalConfiguration)
49
+ add_plugin(Aws::Plugins::RegionalEndpoint)
50
+ add_plugin(Aws::Plugins::EndpointDiscovery)
51
+ add_plugin(Aws::Plugins::EndpointPattern)
52
+ add_plugin(Aws::Plugins::ResponsePaging)
53
+ add_plugin(Aws::Plugins::StubResponses)
54
+ add_plugin(Aws::Plugins::IdempotencyToken)
55
+ add_plugin(Aws::Plugins::JsonvalueConverter)
56
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
57
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
58
+ add_plugin(Aws::Plugins::SignatureV4)
59
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
60
+
61
+ # @overload initialize(options)
62
+ # @param [Hash] options
63
+ # @option options [required, Aws::CredentialProvider] :credentials
64
+ # Your AWS credentials. This can be an instance of any one of the
65
+ # following classes:
66
+ #
67
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
68
+ # credentials.
69
+ #
70
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
71
+ # from an EC2 IMDS on an EC2 instance.
72
+ #
73
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
74
+ # shared file, such as `~/.aws/config`.
75
+ #
76
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
77
+ #
78
+ # When `:credentials` are not configured directly, the following
79
+ # locations will be searched for credentials:
80
+ #
81
+ # * `Aws.config[:credentials]`
82
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
83
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
84
+ # * `~/.aws/credentials`
85
+ # * `~/.aws/config`
86
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
87
+ # very aggressive. Construct and pass an instance of
88
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
89
+ # timeouts.
90
+ #
91
+ # @option options [required, String] :region
92
+ # The AWS region to connect to. The configured `:region` is
93
+ # used to determine the service `:endpoint`. When not passed,
94
+ # a default `:region` is search for in the following locations:
95
+ #
96
+ # * `Aws.config[:region]`
97
+ # * `ENV['AWS_REGION']`
98
+ # * `ENV['AMAZON_REGION']`
99
+ # * `ENV['AWS_DEFAULT_REGION']`
100
+ # * `~/.aws/credentials`
101
+ # * `~/.aws/config`
102
+ #
103
+ # @option options [String] :access_key_id
104
+ #
105
+ # @option options [Boolean] :active_endpoint_cache (false)
106
+ # When set to `true`, a thread polling for endpoints will be running in
107
+ # the background every 60 secs (default). Defaults to `false`.
108
+ #
109
+ # @option options [Boolean] :client_side_monitoring (false)
110
+ # When `true`, client-side metrics will be collected for all API requests from
111
+ # this client.
112
+ #
113
+ # @option options [String] :client_side_monitoring_client_id ("")
114
+ # Allows you to provide an identifier for this client which will be attached to
115
+ # all generated client side metrics. Defaults to an empty string.
116
+ #
117
+ # @option options [Integer] :client_side_monitoring_port (31000)
118
+ # Required for publishing client metrics. The port that the client side monitoring
119
+ # agent is running on, where client metrics will be published via UDP.
120
+ #
121
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
122
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
123
+ # will use the Client Side Monitoring Agent Publisher.
124
+ #
125
+ # @option options [Boolean] :convert_params (true)
126
+ # When `true`, an attempt is made to coerce request parameters into
127
+ # the required types.
128
+ #
129
+ # @option options [Boolean] :disable_host_prefix_injection (false)
130
+ # Set to true to disable SDK automatically adding host prefix
131
+ # to default service endpoint when available.
132
+ #
133
+ # @option options [String] :endpoint
134
+ # The client endpoint is normally constructed from the `:region`
135
+ # option. You should only configure an `:endpoint` when connecting
136
+ # to test endpoints. This should be avalid HTTP(S) URI.
137
+ #
138
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
139
+ # Used for the maximum size limit of the LRU cache storing endpoints data
140
+ # for endpoint discovery enabled operations. Defaults to 1000.
141
+ #
142
+ # @option options [Integer] :endpoint_cache_max_threads (10)
143
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
144
+ #
145
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
146
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
147
+ # Use this option to config the time interval in seconds for making
148
+ # requests fetching endpoints information. Defaults to 60 sec.
149
+ #
150
+ # @option options [Boolean] :endpoint_discovery (false)
151
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
152
+ #
153
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
154
+ # The log formatter.
155
+ #
156
+ # @option options [Symbol] :log_level (:info)
157
+ # The log level to send messages to the `:logger` at.
158
+ #
159
+ # @option options [Logger] :logger
160
+ # The Logger instance to send log messages to. If this option
161
+ # is not set, logging will be disabled.
162
+ #
163
+ # @option options [String] :profile ("default")
164
+ # Used when loading credentials from the shared credentials file
165
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
166
+ #
167
+ # @option options [Float] :retry_base_delay (0.3)
168
+ # The base delay in seconds used by the default backoff function.
169
+ #
170
+ # @option options [Symbol] :retry_jitter (:none)
171
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
172
+ #
173
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
174
+ #
175
+ # @option options [Integer] :retry_limit (3)
176
+ # The maximum number of times to retry failed requests. Only
177
+ # ~ 500 level server errors and certain ~ 400 level client errors
178
+ # are retried. Generally, these are throttling errors, data
179
+ # checksum errors, networking errors, timeout errors and auth
180
+ # errors from expired credentials.
181
+ #
182
+ # @option options [Integer] :retry_max_delay (0)
183
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
184
+ #
185
+ # @option options [String] :secret_access_key
186
+ #
187
+ # @option options [String] :session_token
188
+ #
189
+ # @option options [Boolean] :simple_json (false)
190
+ # Disables request parameter conversion, validation, and formatting.
191
+ # Also disable response data type conversions. This option is useful
192
+ # when you want to ensure the highest level of performance by
193
+ # avoiding overhead of walking request parameters and response data
194
+ # structures.
195
+ #
196
+ # When `:simple_json` is enabled, the request parameters hash must
197
+ # be formatted exactly as the DynamoDB API expects.
198
+ #
199
+ # @option options [Boolean] :stub_responses (false)
200
+ # Causes the client to return stubbed responses. By default
201
+ # fake responses are generated and returned. You can specify
202
+ # the response data to return or errors to raise by calling
203
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
204
+ #
205
+ # ** Please note ** When response stubbing is enabled, no HTTP
206
+ # requests are made, and retries are disabled.
207
+ #
208
+ # @option options [Boolean] :validate_params (true)
209
+ # When `true`, request parameters are validated before
210
+ # sending the request.
211
+ #
212
+ def initialize(*args)
213
+ super
214
+ end
215
+
216
+ # @!group API Operations
217
+
218
+ # Creates a backup of an existing Amazon FSx for Windows File Server
219
+ # file system. Creating regular backups for your file system is a best
220
+ # practice that complements the replication that Amazon FSx for Windows
221
+ # File Server performs for your file system. It also enables you to
222
+ # restore from user modification of data.
223
+ #
224
+ # If a backup with the specified client request token exists, and the
225
+ # parameters match, this operation returns the description of the
226
+ # existing backup. If a backup specified client request token exists,
227
+ # and the parameters don't match, this operation returns
228
+ # `IncompatibleParameterError`. If a backup with the specified client
229
+ # request token doesn't exist, `CreateBackup` does the following:
230
+ #
231
+ # * Creates a new Amazon FSx backup with an assigned ID, and an initial
232
+ # lifecycle state of `CREATING`.
233
+ #
234
+ # * Returns the description of the backup.
235
+ #
236
+ # By using the idempotent operation, you can retry a `CreateBackup`
237
+ # operation without the risk of creating an extra backup. This approach
238
+ # can be useful when an initial call fails in a way that makes it
239
+ # unclear whether a backup was created. If you use the same client
240
+ # request token and the initial call created a backup, the operation
241
+ # returns a successful result because all the parameters are the same.
242
+ #
243
+ # The `CreateFileSystem` operation returns while the backup's lifecycle
244
+ # state is still `CREATING`. You can check the file system creation
245
+ # status by calling the DescribeBackups operation, which returns the
246
+ # backup state along with other information.
247
+ #
248
+ # <note markdown="1">
249
+ #
250
+ # </note>
251
+ #
252
+ # @option params [required, String] :file_system_id
253
+ # The ID of the file system to back up.
254
+ #
255
+ # @option params [String] :client_request_token
256
+ # (Optional) A string of up to 64 ASCII characters that Amazon FSx uses
257
+ # to ensure idempotent creation. This string is automatically filled on
258
+ # your behalf when you use the AWS Command Line Interface (AWS CLI) or
259
+ # an AWS SDK.
260
+ #
261
+ # **A suitable default value is auto-generated.** You should normally
262
+ # not need to pass this option.**
263
+ #
264
+ # @option params [Array<Types::Tag>] :tags
265
+ # The tags to apply to the backup at backup creation. The key value of
266
+ # the `Name` tag appears in the console as the backup name.
267
+ #
268
+ # @return [Types::CreateBackupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
269
+ #
270
+ # * {Types::CreateBackupResponse#backup #backup} => Types::Backup
271
+ #
272
+ #
273
+ # @example Example: To create a new backup
274
+ #
275
+ # # This operation creates a new backup.
276
+ #
277
+ # resp = client.create_backup({
278
+ # file_system_id: "fs-0498eed5fe91001ec",
279
+ # tags: [
280
+ # {
281
+ # key: "Name",
282
+ # value: "MyBackup",
283
+ # },
284
+ # ],
285
+ # })
286
+ #
287
+ # resp.to_h outputs the following:
288
+ # {
289
+ # backup: {
290
+ # backup_id: "backup-03e3c82e0183b7b6b",
291
+ # creation_time: Time.parse("1481841524.0"),
292
+ # file_system: {
293
+ # file_system_id: "fs-0498eed5fe91001ec",
294
+ # owner_id: "012345678912",
295
+ # storage_capacity: 300,
296
+ # windows_configuration: {
297
+ # active_directory_id: "d-1234abcd12",
298
+ # automatic_backup_retention_days: 30,
299
+ # daily_automatic_backup_start_time: "05:00",
300
+ # weekly_maintenance_start_time: "1:05:00",
301
+ # },
302
+ # },
303
+ # lifecycle: "CREATING",
304
+ # progress_percent: 0,
305
+ # resource_arn: "arn:aws:fsx:us-east-1:012345678912:backup/backup-03e3c82e0183b7b6b",
306
+ # tags: [
307
+ # {
308
+ # key: "Name",
309
+ # value: "MyBackup",
310
+ # },
311
+ # ],
312
+ # type: "USER_INITIATED",
313
+ # },
314
+ # }
315
+ #
316
+ # @example Request syntax with placeholder values
317
+ #
318
+ # resp = client.create_backup({
319
+ # file_system_id: "FileSystemId", # required
320
+ # client_request_token: "ClientRequestToken",
321
+ # tags: [
322
+ # {
323
+ # key: "TagKey",
324
+ # value: "TagValue",
325
+ # },
326
+ # ],
327
+ # })
328
+ #
329
+ # @example Response structure
330
+ #
331
+ # resp.backup.backup_id #=> String
332
+ # resp.backup.lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETED", "FAILED"
333
+ # resp.backup.failure_details.message #=> String
334
+ # resp.backup.type #=> String, one of "AUTOMATIC", "USER_INITIATED"
335
+ # resp.backup.progress_percent #=> Integer
336
+ # resp.backup.creation_time #=> Time
337
+ # resp.backup.kms_key_id #=> String
338
+ # resp.backup.resource_arn #=> String
339
+ # resp.backup.tags #=> Array
340
+ # resp.backup.tags[0].key #=> String
341
+ # resp.backup.tags[0].value #=> String
342
+ # resp.backup.file_system.owner_id #=> String
343
+ # resp.backup.file_system.creation_time #=> Time
344
+ # resp.backup.file_system.file_system_id #=> String
345
+ # resp.backup.file_system.file_system_type #=> String, one of "WINDOWS", "LUSTRE"
346
+ # resp.backup.file_system.lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING"
347
+ # resp.backup.file_system.failure_details.message #=> String
348
+ # resp.backup.file_system.storage_capacity #=> Integer
349
+ # resp.backup.file_system.vpc_id #=> String
350
+ # resp.backup.file_system.subnet_ids #=> Array
351
+ # resp.backup.file_system.subnet_ids[0] #=> String
352
+ # resp.backup.file_system.network_interface_ids #=> Array
353
+ # resp.backup.file_system.network_interface_ids[0] #=> String
354
+ # resp.backup.file_system.dns_name #=> String
355
+ # resp.backup.file_system.kms_key_id #=> String
356
+ # resp.backup.file_system.resource_arn #=> String
357
+ # resp.backup.file_system.tags #=> Array
358
+ # resp.backup.file_system.tags[0].key #=> String
359
+ # resp.backup.file_system.tags[0].value #=> String
360
+ # resp.backup.file_system.windows_configuration.active_directory_id #=> String
361
+ # resp.backup.file_system.windows_configuration.throughput_capacity #=> Integer
362
+ # resp.backup.file_system.windows_configuration.maintenance_operations_in_progress #=> Array
363
+ # resp.backup.file_system.windows_configuration.maintenance_operations_in_progress[0] #=> String, one of "PATCHING", "BACKING_UP"
364
+ # resp.backup.file_system.windows_configuration.weekly_maintenance_start_time #=> String
365
+ # resp.backup.file_system.windows_configuration.daily_automatic_backup_start_time #=> String
366
+ # resp.backup.file_system.windows_configuration.automatic_backup_retention_days #=> Integer
367
+ # resp.backup.file_system.windows_configuration.copy_tags_to_backups #=> Boolean
368
+ # resp.backup.file_system.lustre_configuration.weekly_maintenance_start_time #=> String
369
+ # resp.backup.file_system.lustre_configuration.data_repository_configuration.import_path #=> String
370
+ # resp.backup.file_system.lustre_configuration.data_repository_configuration.export_path #=> String
371
+ # resp.backup.file_system.lustre_configuration.data_repository_configuration.imported_file_chunk_size #=> Integer
372
+ #
373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateBackup AWS API Documentation
374
+ #
375
+ # @overload create_backup(params = {})
376
+ # @param [Hash] params ({})
377
+ def create_backup(params = {}, options = {})
378
+ req = build_request(:create_backup, params)
379
+ req.send_request(options)
380
+ end
381
+
382
+ # Creates a new, empty Amazon FSx file system.
383
+ #
384
+ # If a file system with the specified client request token exists and
385
+ # the parameters match, `CreateFileSystem` returns the description of
386
+ # the existing file system. If a file system specified client request
387
+ # token exists and the parameters don't match, this call returns
388
+ # `IncompatibleParameterError`. If a file system with the specified
389
+ # client request token doesn't exist, `CreateFileSystem` does the
390
+ # following:
391
+ #
392
+ # * Creates a new, empty Amazon FSx file system with an assigned ID, and
393
+ # an initial lifecycle state of `CREATING`.
394
+ #
395
+ # * Returns the description of the file system.
396
+ #
397
+ # This operation requires a client request token in the request that
398
+ # Amazon FSx uses to ensure idempotent creation. This means that calling
399
+ # the operation multiple times with the same client request token has no
400
+ # effect. By using the idempotent operation, you can retry a
401
+ # `CreateFileSystem` operation without the risk of creating an extra
402
+ # file system. This approach can be useful when an initial call fails in
403
+ # a way that makes it unclear whether a file system was created.
404
+ # Examples are if a transport level timeout occurred, or your connection
405
+ # was reset. If you use the same client request token and the initial
406
+ # call created a file system, the client receives success as long as the
407
+ # parameters are the same.
408
+ #
409
+ # <note markdown="1"> The `CreateFileSystem` call returns while the file system's lifecycle
410
+ # state is still `CREATING`. You can check the file-system creation
411
+ # status by calling the DescribeFileSystems operation, which returns the
412
+ # file system state along with other information.
413
+ #
414
+ # </note>
415
+ #
416
+ # @option params [String] :client_request_token
417
+ # (Optional) A string of up to 64 ASCII characters that Amazon FSx uses
418
+ # to ensure idempotent creation. This string is automatically filled on
419
+ # your behalf when you use the AWS Command Line Interface (AWS CLI) or
420
+ # an AWS SDK.
421
+ #
422
+ # **A suitable default value is auto-generated.** You should normally
423
+ # not need to pass this option.**
424
+ #
425
+ # @option params [required, String] :file_system_type
426
+ # The type of file system.
427
+ #
428
+ # @option params [required, Integer] :storage_capacity
429
+ # The storage capacity of the file system.
430
+ #
431
+ # For Windows file systems, the storage capacity has a minimum of 300
432
+ # GiB, and a maximum of 65,536 GiB.
433
+ #
434
+ # For Lustre file systems, the storage capacity has a minimum of 3,600
435
+ # GiB. Storage capacity is provisioned in increments of 3,600 GiB.
436
+ #
437
+ # @option params [required, Array<String>] :subnet_ids
438
+ # A list of IDs for the subnets that the file system will be accessible
439
+ # from. File systems support only one subnet. The file server is also
440
+ # launched in that subnet's Availability Zone.
441
+ #
442
+ # @option params [Array<String>] :security_group_ids
443
+ # A list of IDs for the security groups that apply to the specified
444
+ # network interfaces created for file system access. These security
445
+ # groups will apply to all network interfaces. This list isn't returned
446
+ # in later describe requests.
447
+ #
448
+ # @option params [Array<Types::Tag>] :tags
449
+ # The tags to be applied to the file system at file system creation. The
450
+ # key value of the `Name` tag appears in the console as the file system
451
+ # name.
452
+ #
453
+ # @option params [String] :kms_key_id
454
+ # The ID of your AWS Key Management Service (AWS KMS) key. This ID is
455
+ # used to encrypt the data in your file system at rest. For more
456
+ # information, see [Encrypt][1] in the *AWS Key Management Service API
457
+ # Reference*.
458
+ #
459
+ #
460
+ #
461
+ # [1]: http://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html
462
+ #
463
+ # @option params [Types::CreateFileSystemWindowsConfiguration] :windows_configuration
464
+ # The configuration for this Microsoft Windows file system.
465
+ #
466
+ # @option params [Types::CreateFileSystemLustreConfiguration] :lustre_configuration
467
+ # The configuration object for Lustre file systems used in the
468
+ # `CreateFileSystem` operation.
469
+ #
470
+ # @return [Types::CreateFileSystemResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
471
+ #
472
+ # * {Types::CreateFileSystemResponse#file_system #file_system} => Types::FileSystem
473
+ #
474
+ #
475
+ # @example Example: To create a new file system
476
+ #
477
+ # # This operation creates a new file system.
478
+ #
479
+ # resp = client.create_file_system({
480
+ # client_request_token: "a8ca07e4-61ec-4399-99f4-19853801bcd5",
481
+ # file_system_type: "WINDOWS",
482
+ # kms_key_id: "arn:aws:kms:us-east-1:012345678912:key/0ff3ea8d-130e-4133-877f-93908b6fdbd6",
483
+ # security_group_ids: [
484
+ # "sg-edcd9784",
485
+ # ],
486
+ # storage_capacity: 300,
487
+ # subnet_ids: [
488
+ # "subnet-1234abcd",
489
+ # ],
490
+ # tags: [
491
+ # {
492
+ # key: "Name",
493
+ # value: "MyFileSystem",
494
+ # },
495
+ # ],
496
+ # windows_configuration: {
497
+ # active_directory_id: "d-1234abcd12",
498
+ # automatic_backup_retention_days: 30,
499
+ # daily_automatic_backup_start_time: "05:00",
500
+ # throughput_capacity: 8,
501
+ # weekly_maintenance_start_time: "1:05:00",
502
+ # },
503
+ # })
504
+ #
505
+ # resp.to_h outputs the following:
506
+ # {
507
+ # file_system: {
508
+ # creation_time: Time.parse("1481841524.0"),
509
+ # dns_name: "fs-0498eed5fe91001ec.fsx.com",
510
+ # file_system_id: "fs-0498eed5fe91001ec",
511
+ # kms_key_id: "arn:aws:kms:us-east-1:012345678912:key/0ff3ea8d-130e-4133-877f-93908b6fdbd6",
512
+ # lifecycle: "CREATING",
513
+ # owner_id: "012345678912",
514
+ # resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0498eed5fe91001ec",
515
+ # storage_capacity: 300,
516
+ # subnet_ids: [
517
+ # "subnet-1234abcd",
518
+ # ],
519
+ # tags: [
520
+ # {
521
+ # key: "Name",
522
+ # value: "MyFileSystem",
523
+ # },
524
+ # ],
525
+ # vpc_id: "vpc-ab1234cd",
526
+ # windows_configuration: {
527
+ # active_directory_id: "d-1234abcd12",
528
+ # automatic_backup_retention_days: 30,
529
+ # daily_automatic_backup_start_time: "05:00",
530
+ # throughput_capacity: 8,
531
+ # weekly_maintenance_start_time: "1:05:00",
532
+ # },
533
+ # },
534
+ # }
535
+ #
536
+ # @example Request syntax with placeholder values
537
+ #
538
+ # resp = client.create_file_system({
539
+ # client_request_token: "ClientRequestToken",
540
+ # file_system_type: "WINDOWS", # required, accepts WINDOWS, LUSTRE
541
+ # storage_capacity: 1, # required
542
+ # subnet_ids: ["SubnetId"], # required
543
+ # security_group_ids: ["SecurityGroupId"],
544
+ # tags: [
545
+ # {
546
+ # key: "TagKey",
547
+ # value: "TagValue",
548
+ # },
549
+ # ],
550
+ # kms_key_id: "KmsKeyId",
551
+ # windows_configuration: {
552
+ # active_directory_id: "DirectoryId",
553
+ # throughput_capacity: 1, # required
554
+ # weekly_maintenance_start_time: "WeeklyTime",
555
+ # daily_automatic_backup_start_time: "DailyTime",
556
+ # automatic_backup_retention_days: 1,
557
+ # copy_tags_to_backups: false,
558
+ # },
559
+ # lustre_configuration: {
560
+ # weekly_maintenance_start_time: "WeeklyTime",
561
+ # import_path: "ArchivePath",
562
+ # imported_file_chunk_size: 1,
563
+ # },
564
+ # })
565
+ #
566
+ # @example Response structure
567
+ #
568
+ # resp.file_system.owner_id #=> String
569
+ # resp.file_system.creation_time #=> Time
570
+ # resp.file_system.file_system_id #=> String
571
+ # resp.file_system.file_system_type #=> String, one of "WINDOWS", "LUSTRE"
572
+ # resp.file_system.lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING"
573
+ # resp.file_system.failure_details.message #=> String
574
+ # resp.file_system.storage_capacity #=> Integer
575
+ # resp.file_system.vpc_id #=> String
576
+ # resp.file_system.subnet_ids #=> Array
577
+ # resp.file_system.subnet_ids[0] #=> String
578
+ # resp.file_system.network_interface_ids #=> Array
579
+ # resp.file_system.network_interface_ids[0] #=> String
580
+ # resp.file_system.dns_name #=> String
581
+ # resp.file_system.kms_key_id #=> String
582
+ # resp.file_system.resource_arn #=> String
583
+ # resp.file_system.tags #=> Array
584
+ # resp.file_system.tags[0].key #=> String
585
+ # resp.file_system.tags[0].value #=> String
586
+ # resp.file_system.windows_configuration.active_directory_id #=> String
587
+ # resp.file_system.windows_configuration.throughput_capacity #=> Integer
588
+ # resp.file_system.windows_configuration.maintenance_operations_in_progress #=> Array
589
+ # resp.file_system.windows_configuration.maintenance_operations_in_progress[0] #=> String, one of "PATCHING", "BACKING_UP"
590
+ # resp.file_system.windows_configuration.weekly_maintenance_start_time #=> String
591
+ # resp.file_system.windows_configuration.daily_automatic_backup_start_time #=> String
592
+ # resp.file_system.windows_configuration.automatic_backup_retention_days #=> Integer
593
+ # resp.file_system.windows_configuration.copy_tags_to_backups #=> Boolean
594
+ # resp.file_system.lustre_configuration.weekly_maintenance_start_time #=> String
595
+ # resp.file_system.lustre_configuration.data_repository_configuration.import_path #=> String
596
+ # resp.file_system.lustre_configuration.data_repository_configuration.export_path #=> String
597
+ # resp.file_system.lustre_configuration.data_repository_configuration.imported_file_chunk_size #=> Integer
598
+ #
599
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystem AWS API Documentation
600
+ #
601
+ # @overload create_file_system(params = {})
602
+ # @param [Hash] params ({})
603
+ def create_file_system(params = {}, options = {})
604
+ req = build_request(:create_file_system, params)
605
+ req.send_request(options)
606
+ end
607
+
608
+ # Creates a new Amazon FSx file system from an existing Amazon FSx for
609
+ # Windows File Server backup.
610
+ #
611
+ # If a file system with the specified client request token exists and
612
+ # the parameters match, this call returns the description of the
613
+ # existing file system. If a client request token specified by the file
614
+ # system exists and the parameters don't match, this call returns
615
+ # `IncompatibleParameterError`. If a file system with the specified
616
+ # client request token doesn't exist, this operation does the
617
+ # following:
618
+ #
619
+ # * Creates a new Amazon FSx file system from backup with an assigned
620
+ # ID, and an initial lifecycle state of `CREATING`.
621
+ #
622
+ # * Returns the description of the file system.
623
+ #
624
+ # Parameters like Active Directory, default share name, automatic
625
+ # backup, and backup settings default to the parameters of the file
626
+ # system that was backed up, unless overridden. You can explicitly
627
+ # supply other settings.
628
+ #
629
+ # By using the idempotent operation, you can retry a
630
+ # `CreateFileSystemFromBackup` call without the risk of creating an
631
+ # extra file system. This approach can be useful when an initial call
632
+ # fails in a way that makes it unclear whether a file system was
633
+ # created. Examples are if a transport level timeout occurred, or your
634
+ # connection was reset. If you use the same client request token and the
635
+ # initial call created a file system, the client receives success as
636
+ # long as the parameters are the same.
637
+ #
638
+ # <note markdown="1"> The `CreateFileSystemFromBackup` call returns while the file system's
639
+ # lifecycle state is still `CREATING`. You can check the file-system
640
+ # creation status by calling the DescribeFileSystems operation, which
641
+ # returns the file system state along with other information.
642
+ #
643
+ # </note>
644
+ #
645
+ # @option params [required, String] :backup_id
646
+ # The ID of the backup.
647
+ #
648
+ # @option params [String] :client_request_token
649
+ # (Optional) A string of up to 64 ASCII characters that Amazon FSx uses
650
+ # to ensure idempotent creation. This string is automatically filled on
651
+ # your behalf when you use the AWS Command Line Interface (AWS CLI) or
652
+ # an AWS SDK.
653
+ #
654
+ # **A suitable default value is auto-generated.** You should normally
655
+ # not need to pass this option.**
656
+ #
657
+ # @option params [required, Array<String>] :subnet_ids
658
+ # A list of IDs for the subnets that the file system will be accessible
659
+ # from. Currently, you can specify only one subnet. The file server is
660
+ # also launched in that subnet's Availability Zone.
661
+ #
662
+ # @option params [Array<String>] :security_group_ids
663
+ # A list of IDs for the security groups that apply to the specified
664
+ # network interfaces created for file system access. These security
665
+ # groups apply to all network interfaces. This value isn't returned in
666
+ # later describe requests.
667
+ #
668
+ # @option params [Array<Types::Tag>] :tags
669
+ # The tags to be applied to the file system at file system creation. The
670
+ # key value of the `Name` tag appears in the console as the file system
671
+ # name.
672
+ #
673
+ # @option params [Types::CreateFileSystemWindowsConfiguration] :windows_configuration
674
+ # The configuration for this Microsoft Windows file system.
675
+ #
676
+ # @return [Types::CreateFileSystemFromBackupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
677
+ #
678
+ # * {Types::CreateFileSystemFromBackupResponse#file_system #file_system} => Types::FileSystem
679
+ #
680
+ #
681
+ # @example Example: To create a new file system from backup
682
+ #
683
+ # # This operation creates a new file system from backup.
684
+ #
685
+ # resp = client.create_file_system_from_backup({
686
+ # backup_id: "backup-03e3c82e0183b7b6b",
687
+ # client_request_token: "f4c94ed7-238d-4c46-93db-48cd62ec33b7",
688
+ # security_group_ids: [
689
+ # "sg-edcd9784",
690
+ # ],
691
+ # subnet_ids: [
692
+ # "subnet-1234abcd",
693
+ # ],
694
+ # tags: [
695
+ # {
696
+ # key: "Name",
697
+ # value: "MyFileSystem",
698
+ # },
699
+ # ],
700
+ # windows_configuration: {
701
+ # throughput_capacity: 8,
702
+ # },
703
+ # })
704
+ #
705
+ # resp.to_h outputs the following:
706
+ # {
707
+ # file_system: {
708
+ # creation_time: Time.parse("1481841524.0"),
709
+ # dns_name: "fs-0498eed5fe91001ec.fsx.com",
710
+ # file_system_id: "fs-0498eed5fe91001ec",
711
+ # kms_key_id: "arn:aws:kms:us-east-1:012345678912:key/0ff3ea8d-130e-4133-877f-93908b6fdbd6",
712
+ # lifecycle: "CREATING",
713
+ # owner_id: "012345678912",
714
+ # resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0498eed5fe91001ec",
715
+ # storage_capacity: 300,
716
+ # subnet_ids: [
717
+ # "subnet-1234abcd",
718
+ # ],
719
+ # tags: [
720
+ # {
721
+ # key: "Name",
722
+ # value: "MyFileSystem",
723
+ # },
724
+ # ],
725
+ # vpc_id: "vpc-ab1234cd",
726
+ # windows_configuration: {
727
+ # active_directory_id: "d-1234abcd12",
728
+ # automatic_backup_retention_days: 30,
729
+ # daily_automatic_backup_start_time: "05:00",
730
+ # throughput_capacity: 8,
731
+ # weekly_maintenance_start_time: "1:05:00",
732
+ # },
733
+ # },
734
+ # }
735
+ #
736
+ # @example Request syntax with placeholder values
737
+ #
738
+ # resp = client.create_file_system_from_backup({
739
+ # backup_id: "BackupId", # required
740
+ # client_request_token: "ClientRequestToken",
741
+ # subnet_ids: ["SubnetId"], # required
742
+ # security_group_ids: ["SecurityGroupId"],
743
+ # tags: [
744
+ # {
745
+ # key: "TagKey",
746
+ # value: "TagValue",
747
+ # },
748
+ # ],
749
+ # windows_configuration: {
750
+ # active_directory_id: "DirectoryId",
751
+ # throughput_capacity: 1, # required
752
+ # weekly_maintenance_start_time: "WeeklyTime",
753
+ # daily_automatic_backup_start_time: "DailyTime",
754
+ # automatic_backup_retention_days: 1,
755
+ # copy_tags_to_backups: false,
756
+ # },
757
+ # })
758
+ #
759
+ # @example Response structure
760
+ #
761
+ # resp.file_system.owner_id #=> String
762
+ # resp.file_system.creation_time #=> Time
763
+ # resp.file_system.file_system_id #=> String
764
+ # resp.file_system.file_system_type #=> String, one of "WINDOWS", "LUSTRE"
765
+ # resp.file_system.lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING"
766
+ # resp.file_system.failure_details.message #=> String
767
+ # resp.file_system.storage_capacity #=> Integer
768
+ # resp.file_system.vpc_id #=> String
769
+ # resp.file_system.subnet_ids #=> Array
770
+ # resp.file_system.subnet_ids[0] #=> String
771
+ # resp.file_system.network_interface_ids #=> Array
772
+ # resp.file_system.network_interface_ids[0] #=> String
773
+ # resp.file_system.dns_name #=> String
774
+ # resp.file_system.kms_key_id #=> String
775
+ # resp.file_system.resource_arn #=> String
776
+ # resp.file_system.tags #=> Array
777
+ # resp.file_system.tags[0].key #=> String
778
+ # resp.file_system.tags[0].value #=> String
779
+ # resp.file_system.windows_configuration.active_directory_id #=> String
780
+ # resp.file_system.windows_configuration.throughput_capacity #=> Integer
781
+ # resp.file_system.windows_configuration.maintenance_operations_in_progress #=> Array
782
+ # resp.file_system.windows_configuration.maintenance_operations_in_progress[0] #=> String, one of "PATCHING", "BACKING_UP"
783
+ # resp.file_system.windows_configuration.weekly_maintenance_start_time #=> String
784
+ # resp.file_system.windows_configuration.daily_automatic_backup_start_time #=> String
785
+ # resp.file_system.windows_configuration.automatic_backup_retention_days #=> Integer
786
+ # resp.file_system.windows_configuration.copy_tags_to_backups #=> Boolean
787
+ # resp.file_system.lustre_configuration.weekly_maintenance_start_time #=> String
788
+ # resp.file_system.lustre_configuration.data_repository_configuration.import_path #=> String
789
+ # resp.file_system.lustre_configuration.data_repository_configuration.export_path #=> String
790
+ # resp.file_system.lustre_configuration.data_repository_configuration.imported_file_chunk_size #=> Integer
791
+ #
792
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemFromBackup AWS API Documentation
793
+ #
794
+ # @overload create_file_system_from_backup(params = {})
795
+ # @param [Hash] params ({})
796
+ def create_file_system_from_backup(params = {}, options = {})
797
+ req = build_request(:create_file_system_from_backup, params)
798
+ req.send_request(options)
799
+ end
800
+
801
+ # Deletes an Amazon FSx for Windows File Server backup, deleting its
802
+ # contents. After deletion, the backup no longer exists, and its data is
803
+ # gone.
804
+ #
805
+ # The `DeleteBackup` call returns instantly. The backup will not show up
806
+ # in later `DescribeBackups` calls.
807
+ #
808
+ # The data in a deleted backup is also deleted and can't be recovered
809
+ # by any means.
810
+ #
811
+ # @option params [required, String] :backup_id
812
+ # The ID of the backup you want to delete.
813
+ #
814
+ # @option params [String] :client_request_token
815
+ # (Optional) A string of up to 64 ASCII characters that Amazon FSx uses
816
+ # to ensure idempotent deletion. This is automatically filled on your
817
+ # behalf when using the AWS CLI or SDK.
818
+ #
819
+ # **A suitable default value is auto-generated.** You should normally
820
+ # not need to pass this option.**
821
+ #
822
+ # @return [Types::DeleteBackupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
823
+ #
824
+ # * {Types::DeleteBackupResponse#backup_id #backup_id} => String
825
+ # * {Types::DeleteBackupResponse#lifecycle #lifecycle} => String
826
+ #
827
+ #
828
+ # @example Example: To delete a backup
829
+ #
830
+ # # This operation deletes an Amazon FSx file system backup.
831
+ #
832
+ # resp = client.delete_backup({
833
+ # backup_id: "backup-03e3c82e0183b7b6b",
834
+ # })
835
+ #
836
+ # resp.to_h outputs the following:
837
+ # {
838
+ # backup_id: "backup-03e3c82e0183b7b6b",
839
+ # lifecycle: "DELETED",
840
+ # }
841
+ #
842
+ # @example Request syntax with placeholder values
843
+ #
844
+ # resp = client.delete_backup({
845
+ # backup_id: "BackupId", # required
846
+ # client_request_token: "ClientRequestToken",
847
+ # })
848
+ #
849
+ # @example Response structure
850
+ #
851
+ # resp.backup_id #=> String
852
+ # resp.lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETED", "FAILED"
853
+ #
854
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteBackup AWS API Documentation
855
+ #
856
+ # @overload delete_backup(params = {})
857
+ # @param [Hash] params ({})
858
+ def delete_backup(params = {}, options = {})
859
+ req = build_request(:delete_backup, params)
860
+ req.send_request(options)
861
+ end
862
+
863
+ # Deletes a file system, deleting its contents. After deletion, the file
864
+ # system no longer exists, and its data is gone. Any existing automatic
865
+ # backups will also be deleted.
866
+ #
867
+ # By default, when you delete an Amazon FSx for Windows File Server file
868
+ # system, a final backup is created upon deletion. This final backup is
869
+ # not subject to the file system's retention policy, and must be
870
+ # manually deleted.
871
+ #
872
+ # The `DeleteFileSystem` action returns while the file system has the
873
+ # `DELETING` status. You can check the file system deletion status by
874
+ # calling the DescribeFileSystems action, which returns a list of file
875
+ # systems in your account. If you pass the file system ID for a deleted
876
+ # file system, the DescribeFileSystems returns a `FileSystemNotFound`
877
+ # error.
878
+ #
879
+ # The data in a deleted file system is also deleted and can't be
880
+ # recovered by any means.
881
+ #
882
+ # @option params [required, String] :file_system_id
883
+ # The ID of the file system you want to delete.
884
+ #
885
+ # @option params [String] :client_request_token
886
+ # (Optional) A string of up to 64 ASCII characters that Amazon FSx uses
887
+ # to ensure idempotent deletion. This is automatically filled on your
888
+ # behalf when using the AWS CLI or SDK.
889
+ #
890
+ # **A suitable default value is auto-generated.** You should normally
891
+ # not need to pass this option.**
892
+ #
893
+ # @option params [Types::DeleteFileSystemWindowsConfiguration] :windows_configuration
894
+ # The configuration object for the Microsoft Windows file system used in
895
+ # the `DeleteFileSystem` operation.
896
+ #
897
+ # @return [Types::DeleteFileSystemResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
898
+ #
899
+ # * {Types::DeleteFileSystemResponse#file_system_id #file_system_id} => String
900
+ # * {Types::DeleteFileSystemResponse#lifecycle #lifecycle} => String
901
+ # * {Types::DeleteFileSystemResponse#windows_response #windows_response} => Types::DeleteFileSystemWindowsResponse
902
+ #
903
+ #
904
+ # @example Example: To delete a file system
905
+ #
906
+ # # This operation deletes an Amazon FSx file system.
907
+ #
908
+ # resp = client.delete_file_system({
909
+ # file_system_id: "fs-0498eed5fe91001ec",
910
+ # })
911
+ #
912
+ # resp.to_h outputs the following:
913
+ # {
914
+ # file_system_id: "fs-0498eed5fe91001ec",
915
+ # lifecycle: "DELETING",
916
+ # }
917
+ #
918
+ # @example Request syntax with placeholder values
919
+ #
920
+ # resp = client.delete_file_system({
921
+ # file_system_id: "FileSystemId", # required
922
+ # client_request_token: "ClientRequestToken",
923
+ # windows_configuration: {
924
+ # skip_final_backup: false,
925
+ # final_backup_tags: [
926
+ # {
927
+ # key: "TagKey",
928
+ # value: "TagValue",
929
+ # },
930
+ # ],
931
+ # },
932
+ # })
933
+ #
934
+ # @example Response structure
935
+ #
936
+ # resp.file_system_id #=> String
937
+ # resp.lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING"
938
+ # resp.windows_response.final_backup_id #=> String
939
+ # resp.windows_response.final_backup_tags #=> Array
940
+ # resp.windows_response.final_backup_tags[0].key #=> String
941
+ # resp.windows_response.final_backup_tags[0].value #=> String
942
+ #
943
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileSystem AWS API Documentation
944
+ #
945
+ # @overload delete_file_system(params = {})
946
+ # @param [Hash] params ({})
947
+ def delete_file_system(params = {}, options = {})
948
+ req = build_request(:delete_file_system, params)
949
+ req.send_request(options)
950
+ end
951
+
952
+ # Returns the description of specific Amazon FSx for Windows File Server
953
+ # backups, if a `BackupIds` value is provided for that backup.
954
+ # Otherwise, it returns all backups owned by your AWS account in the AWS
955
+ # Region of the endpoint that you're calling.
956
+ #
957
+ # When retrieving all backups, you can optionally specify the
958
+ # `MaxResults` parameter to limit the number of backups in a response.
959
+ # If more backups remain, Amazon FSx returns a `NextToken` value in the
960
+ # response. In this case, send a later request with the `NextToken`
961
+ # request parameter set to the value of `NextToken` from the last
962
+ # response.
963
+ #
964
+ # This action is used in an iterative process to retrieve a list of your
965
+ # backups. `DescribeBackups` is called first without a `NextToken`value.
966
+ # Then the action continues to be called with the `NextToken` parameter
967
+ # set to the value of the last `NextToken` value until a response has no
968
+ # `NextToken`.
969
+ #
970
+ # When using this action, keep the following in mind:
971
+ #
972
+ # * The implementation might return fewer than `MaxResults` file system
973
+ # descriptions while still including a `NextToken` value.
974
+ #
975
+ # * The order of backups returned in the response of one
976
+ # `DescribeBackups` call and the order of backups returned across the
977
+ # responses of a multi-call iteration is unspecified.
978
+ #
979
+ # @option params [Array<String>] :backup_ids
980
+ # (Optional) IDs of the backups you want to retrieve (String). This
981
+ # overrides any filters. If any IDs are not found, BackupNotFound will
982
+ # be thrown.
983
+ #
984
+ # @option params [Array<Types::Filter>] :filters
985
+ # (Optional) Filters structure. Supported names are file-system-id and
986
+ # backup-type.
987
+ #
988
+ # @option params [Integer] :max_results
989
+ # (Optional) Maximum number of backups to return in the response
990
+ # (integer). This parameter value must be greater than 0. The number of
991
+ # items that Amazon FSx returns is the minimum of the `MaxResults`
992
+ # parameter specified in the request and the service's internal maximum
993
+ # number of items per page.
994
+ #
995
+ # @option params [String] :next_token
996
+ # (Optional) Opaque pagination token returned from a previous
997
+ # `DescribeBackups` operation (String). If a token present, the action
998
+ # continues the list from where the returning call left off.
999
+ #
1000
+ # @return [Types::DescribeBackupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1001
+ #
1002
+ # * {Types::DescribeBackupsResponse#backups #backups} => Array&lt;Types::Backup&gt;
1003
+ # * {Types::DescribeBackupsResponse#next_token #next_token} => String
1004
+ #
1005
+ #
1006
+ # @example Example: To describe Amazon FSx backups
1007
+ #
1008
+ # # This operation describes all of the Amazon FSx backups in an account.
1009
+ #
1010
+ # resp = client.describe_backups({
1011
+ # })
1012
+ #
1013
+ # resp.to_h outputs the following:
1014
+ # {
1015
+ # backups: [
1016
+ # {
1017
+ # backup_id: "backup-03e3c82e0183b7b6b",
1018
+ # creation_time: Time.parse("1481841524.0"),
1019
+ # file_system: {
1020
+ # file_system_id: "fs-0498eed5fe91001ec",
1021
+ # owner_id: "012345678912",
1022
+ # storage_capacity: 300,
1023
+ # windows_configuration: {
1024
+ # active_directory_id: "d-1234abcd12",
1025
+ # automatic_backup_retention_days: 30,
1026
+ # daily_automatic_backup_start_time: "05:00",
1027
+ # weekly_maintenance_start_time: "1:05:00",
1028
+ # },
1029
+ # },
1030
+ # lifecycle: "AVAILABLE",
1031
+ # resource_arn: "arn:aws:fsx:us-east-1:012345678912:backup/backup-03e3c82e0183b7b6b",
1032
+ # tags: [
1033
+ # {
1034
+ # key: "Name",
1035
+ # value: "MyBackup",
1036
+ # },
1037
+ # ],
1038
+ # type: "USER_INITIATED",
1039
+ # },
1040
+ # ],
1041
+ # }
1042
+ #
1043
+ # @example Request syntax with placeholder values
1044
+ #
1045
+ # resp = client.describe_backups({
1046
+ # backup_ids: ["BackupId"],
1047
+ # filters: [
1048
+ # {
1049
+ # name: "file-system-id", # accepts file-system-id, backup-type
1050
+ # values: ["FilterValue"],
1051
+ # },
1052
+ # ],
1053
+ # max_results: 1,
1054
+ # next_token: "NextToken",
1055
+ # })
1056
+ #
1057
+ # @example Response structure
1058
+ #
1059
+ # resp.backups #=> Array
1060
+ # resp.backups[0].backup_id #=> String
1061
+ # resp.backups[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETED", "FAILED"
1062
+ # resp.backups[0].failure_details.message #=> String
1063
+ # resp.backups[0].type #=> String, one of "AUTOMATIC", "USER_INITIATED"
1064
+ # resp.backups[0].progress_percent #=> Integer
1065
+ # resp.backups[0].creation_time #=> Time
1066
+ # resp.backups[0].kms_key_id #=> String
1067
+ # resp.backups[0].resource_arn #=> String
1068
+ # resp.backups[0].tags #=> Array
1069
+ # resp.backups[0].tags[0].key #=> String
1070
+ # resp.backups[0].tags[0].value #=> String
1071
+ # resp.backups[0].file_system.owner_id #=> String
1072
+ # resp.backups[0].file_system.creation_time #=> Time
1073
+ # resp.backups[0].file_system.file_system_id #=> String
1074
+ # resp.backups[0].file_system.file_system_type #=> String, one of "WINDOWS", "LUSTRE"
1075
+ # resp.backups[0].file_system.lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING"
1076
+ # resp.backups[0].file_system.failure_details.message #=> String
1077
+ # resp.backups[0].file_system.storage_capacity #=> Integer
1078
+ # resp.backups[0].file_system.vpc_id #=> String
1079
+ # resp.backups[0].file_system.subnet_ids #=> Array
1080
+ # resp.backups[0].file_system.subnet_ids[0] #=> String
1081
+ # resp.backups[0].file_system.network_interface_ids #=> Array
1082
+ # resp.backups[0].file_system.network_interface_ids[0] #=> String
1083
+ # resp.backups[0].file_system.dns_name #=> String
1084
+ # resp.backups[0].file_system.kms_key_id #=> String
1085
+ # resp.backups[0].file_system.resource_arn #=> String
1086
+ # resp.backups[0].file_system.tags #=> Array
1087
+ # resp.backups[0].file_system.tags[0].key #=> String
1088
+ # resp.backups[0].file_system.tags[0].value #=> String
1089
+ # resp.backups[0].file_system.windows_configuration.active_directory_id #=> String
1090
+ # resp.backups[0].file_system.windows_configuration.throughput_capacity #=> Integer
1091
+ # resp.backups[0].file_system.windows_configuration.maintenance_operations_in_progress #=> Array
1092
+ # resp.backups[0].file_system.windows_configuration.maintenance_operations_in_progress[0] #=> String, one of "PATCHING", "BACKING_UP"
1093
+ # resp.backups[0].file_system.windows_configuration.weekly_maintenance_start_time #=> String
1094
+ # resp.backups[0].file_system.windows_configuration.daily_automatic_backup_start_time #=> String
1095
+ # resp.backups[0].file_system.windows_configuration.automatic_backup_retention_days #=> Integer
1096
+ # resp.backups[0].file_system.windows_configuration.copy_tags_to_backups #=> Boolean
1097
+ # resp.backups[0].file_system.lustre_configuration.weekly_maintenance_start_time #=> String
1098
+ # resp.backups[0].file_system.lustre_configuration.data_repository_configuration.import_path #=> String
1099
+ # resp.backups[0].file_system.lustre_configuration.data_repository_configuration.export_path #=> String
1100
+ # resp.backups[0].file_system.lustre_configuration.data_repository_configuration.imported_file_chunk_size #=> Integer
1101
+ # resp.next_token #=> String
1102
+ #
1103
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeBackups AWS API Documentation
1104
+ #
1105
+ # @overload describe_backups(params = {})
1106
+ # @param [Hash] params ({})
1107
+ def describe_backups(params = {}, options = {})
1108
+ req = build_request(:describe_backups, params)
1109
+ req.send_request(options)
1110
+ end
1111
+
1112
+ # Returns the description of specific Amazon FSx file systems, if a
1113
+ # `FileSystemIds` value is provided for that file system. Otherwise, it
1114
+ # returns descriptions of all file systems owned by your AWS account in
1115
+ # the AWS Region of the endpoint that you're calling.
1116
+ #
1117
+ # When retrieving all file system descriptions, you can optionally
1118
+ # specify the `MaxResults` parameter to limit the number of descriptions
1119
+ # in a response. If more file system descriptions remain, Amazon FSx
1120
+ # returns a `NextToken` value in the response. In this case, send a
1121
+ # later request with the `NextToken` request parameter set to the value
1122
+ # of `NextToken` from the last response.
1123
+ #
1124
+ # This action is used in an iterative process to retrieve a list of your
1125
+ # file system descriptions. `DescribeFileSystems` is called first
1126
+ # without a `NextToken`value. Then the action continues to be called
1127
+ # with the `NextToken` parameter set to the value of the last
1128
+ # `NextToken` value until a response has no `NextToken`.
1129
+ #
1130
+ # When using this action, keep the following in mind:
1131
+ #
1132
+ # * The implementation might return fewer than `MaxResults` file system
1133
+ # descriptions while still including a `NextToken` value.
1134
+ #
1135
+ # * The order of file systems returned in the response of one
1136
+ # `DescribeFileSystems` call and the order of file systems returned
1137
+ # across the responses of a multicall iteration is unspecified.
1138
+ #
1139
+ # @option params [Array<String>] :file_system_ids
1140
+ # (Optional) IDs of the file systems whose descriptions you want to
1141
+ # retrieve (String).
1142
+ #
1143
+ # @option params [Integer] :max_results
1144
+ # (Optional) Maximum number of file systems to return in the response
1145
+ # (integer). This parameter value must be greater than 0. The number of
1146
+ # items that Amazon FSx returns is the minimum of the `MaxResults`
1147
+ # parameter specified in the request and the service's internal maximum
1148
+ # number of items per page.
1149
+ #
1150
+ # @option params [String] :next_token
1151
+ # (Optional) Opaque pagination token returned from a previous
1152
+ # `DescribeFileSystems` operation (String). If a token present, the
1153
+ # action continues the list from where the returning call left off.
1154
+ #
1155
+ # @return [Types::DescribeFileSystemsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1156
+ #
1157
+ # * {Types::DescribeFileSystemsResponse#file_systems #file_systems} => Array&lt;Types::FileSystem&gt;
1158
+ # * {Types::DescribeFileSystemsResponse#next_token #next_token} => String
1159
+ #
1160
+ #
1161
+ # @example Example: To describe an Amazon FSx file system
1162
+ #
1163
+ # # This operation describes all of the Amazon FSx file systems in an account.
1164
+ #
1165
+ # resp = client.describe_file_systems({
1166
+ # })
1167
+ #
1168
+ # resp.to_h outputs the following:
1169
+ # {
1170
+ # file_systems: [
1171
+ # {
1172
+ # creation_time: Time.parse("1481841524.0"),
1173
+ # dns_name: "fs-0498eed5fe91001ec.fsx.com",
1174
+ # file_system_id: "fs-0498eed5fe91001ec",
1175
+ # kms_key_id: "arn:aws:kms:us-east-1:012345678912:key/0ff3ea8d-130e-4133-877f-93908b6fdbd6",
1176
+ # lifecycle: "AVAILABLE",
1177
+ # network_interface_ids: [
1178
+ # "eni-abcd1234",
1179
+ # ],
1180
+ # owner_id: "012345678912",
1181
+ # resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0498eed5fe91001ec",
1182
+ # storage_capacity: 300,
1183
+ # subnet_ids: [
1184
+ # "subnet-1234abcd",
1185
+ # ],
1186
+ # tags: [
1187
+ # {
1188
+ # key: "Name",
1189
+ # value: "MyFileSystem",
1190
+ # },
1191
+ # ],
1192
+ # vpc_id: "vpc-ab1234cd",
1193
+ # windows_configuration: {
1194
+ # active_directory_id: "d-1234abcd12",
1195
+ # automatic_backup_retention_days: 30,
1196
+ # daily_automatic_backup_start_time: "05:00",
1197
+ # throughput_capacity: 8,
1198
+ # weekly_maintenance_start_time: "1:05:00",
1199
+ # },
1200
+ # },
1201
+ # ],
1202
+ # }
1203
+ #
1204
+ # @example Request syntax with placeholder values
1205
+ #
1206
+ # resp = client.describe_file_systems({
1207
+ # file_system_ids: ["FileSystemId"],
1208
+ # max_results: 1,
1209
+ # next_token: "NextToken",
1210
+ # })
1211
+ #
1212
+ # @example Response structure
1213
+ #
1214
+ # resp.file_systems #=> Array
1215
+ # resp.file_systems[0].owner_id #=> String
1216
+ # resp.file_systems[0].creation_time #=> Time
1217
+ # resp.file_systems[0].file_system_id #=> String
1218
+ # resp.file_systems[0].file_system_type #=> String, one of "WINDOWS", "LUSTRE"
1219
+ # resp.file_systems[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING"
1220
+ # resp.file_systems[0].failure_details.message #=> String
1221
+ # resp.file_systems[0].storage_capacity #=> Integer
1222
+ # resp.file_systems[0].vpc_id #=> String
1223
+ # resp.file_systems[0].subnet_ids #=> Array
1224
+ # resp.file_systems[0].subnet_ids[0] #=> String
1225
+ # resp.file_systems[0].network_interface_ids #=> Array
1226
+ # resp.file_systems[0].network_interface_ids[0] #=> String
1227
+ # resp.file_systems[0].dns_name #=> String
1228
+ # resp.file_systems[0].kms_key_id #=> String
1229
+ # resp.file_systems[0].resource_arn #=> String
1230
+ # resp.file_systems[0].tags #=> Array
1231
+ # resp.file_systems[0].tags[0].key #=> String
1232
+ # resp.file_systems[0].tags[0].value #=> String
1233
+ # resp.file_systems[0].windows_configuration.active_directory_id #=> String
1234
+ # resp.file_systems[0].windows_configuration.throughput_capacity #=> Integer
1235
+ # resp.file_systems[0].windows_configuration.maintenance_operations_in_progress #=> Array
1236
+ # resp.file_systems[0].windows_configuration.maintenance_operations_in_progress[0] #=> String, one of "PATCHING", "BACKING_UP"
1237
+ # resp.file_systems[0].windows_configuration.weekly_maintenance_start_time #=> String
1238
+ # resp.file_systems[0].windows_configuration.daily_automatic_backup_start_time #=> String
1239
+ # resp.file_systems[0].windows_configuration.automatic_backup_retention_days #=> Integer
1240
+ # resp.file_systems[0].windows_configuration.copy_tags_to_backups #=> Boolean
1241
+ # resp.file_systems[0].lustre_configuration.weekly_maintenance_start_time #=> String
1242
+ # resp.file_systems[0].lustre_configuration.data_repository_configuration.import_path #=> String
1243
+ # resp.file_systems[0].lustre_configuration.data_repository_configuration.export_path #=> String
1244
+ # resp.file_systems[0].lustre_configuration.data_repository_configuration.imported_file_chunk_size #=> Integer
1245
+ # resp.next_token #=> String
1246
+ #
1247
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileSystems AWS API Documentation
1248
+ #
1249
+ # @overload describe_file_systems(params = {})
1250
+ # @param [Hash] params ({})
1251
+ def describe_file_systems(params = {}, options = {})
1252
+ req = build_request(:describe_file_systems, params)
1253
+ req.send_request(options)
1254
+ end
1255
+
1256
+ # Lists tags for an Amazon FSx file systems and backups in the case of
1257
+ # Amazon FSx for Windows File Server.
1258
+ #
1259
+ # When retrieving all tags, you can optionally specify the `MaxResults`
1260
+ # parameter to limit the number of tags in a response. If more tags
1261
+ # remain, Amazon FSx returns a `NextToken` value in the response. In
1262
+ # this case, send a later request with the `NextToken` request parameter
1263
+ # set to the value of `NextToken` from the last response.
1264
+ #
1265
+ # This action is used in an iterative process to retrieve a list of your
1266
+ # tags. `ListTagsForResource` is called first without a
1267
+ # `NextToken`value. Then the action continues to be called with the
1268
+ # `NextToken` parameter set to the value of the last `NextToken` value
1269
+ # until a response has no `NextToken`.
1270
+ #
1271
+ # When using this action, keep the following in mind:
1272
+ #
1273
+ # * The implementation might return fewer than `MaxResults` file system
1274
+ # descriptions while still including a `NextToken` value.
1275
+ #
1276
+ # * The order of tags returned in the response of one
1277
+ # `ListTagsForResource` call and the order of tags returned across the
1278
+ # responses of a multi-call iteration is unspecified.
1279
+ #
1280
+ # @option params [required, String] :resource_arn
1281
+ # The ARN of the Amazon FSx resource that will have its tags listed.
1282
+ #
1283
+ # @option params [Integer] :max_results
1284
+ # (Optional) Maximum number of tags to return in the response (integer).
1285
+ # This parameter value must be greater than 0. The number of items that
1286
+ # Amazon FSx returns is the minimum of the `MaxResults` parameter
1287
+ # specified in the request and the service's internal maximum number of
1288
+ # items per page.
1289
+ #
1290
+ # @option params [String] :next_token
1291
+ # (Optional) Opaque pagination token returned from a previous
1292
+ # `ListTagsForResource` operation (String). If a token present, the
1293
+ # action continues the list from where the returning call left off.
1294
+ #
1295
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1296
+ #
1297
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1298
+ # * {Types::ListTagsForResourceResponse#next_token #next_token} => String
1299
+ #
1300
+ #
1301
+ # @example Example: To list tags for a resource
1302
+ #
1303
+ # # This operation lists tags for an Amazon FSx resource.
1304
+ #
1305
+ # resp = client.list_tags_for_resource({
1306
+ # resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0498eed5fe91001ec",
1307
+ # })
1308
+ #
1309
+ # resp.to_h outputs the following:
1310
+ # {
1311
+ # tags: [
1312
+ # {
1313
+ # key: "Name",
1314
+ # value: "MyFileSystem",
1315
+ # },
1316
+ # ],
1317
+ # }
1318
+ #
1319
+ # @example Request syntax with placeholder values
1320
+ #
1321
+ # resp = client.list_tags_for_resource({
1322
+ # resource_arn: "ResourceARN", # required
1323
+ # max_results: 1,
1324
+ # next_token: "NextToken",
1325
+ # })
1326
+ #
1327
+ # @example Response structure
1328
+ #
1329
+ # resp.tags #=> Array
1330
+ # resp.tags[0].key #=> String
1331
+ # resp.tags[0].value #=> String
1332
+ # resp.next_token #=> String
1333
+ #
1334
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/ListTagsForResource AWS API Documentation
1335
+ #
1336
+ # @overload list_tags_for_resource(params = {})
1337
+ # @param [Hash] params ({})
1338
+ def list_tags_for_resource(params = {}, options = {})
1339
+ req = build_request(:list_tags_for_resource, params)
1340
+ req.send_request(options)
1341
+ end
1342
+
1343
+ # Tags an Amazon FSx resource.
1344
+ #
1345
+ # @option params [required, String] :resource_arn
1346
+ # The Amazon Resource Name (ARN) of the Amazon FSx resource that you
1347
+ # want to tag.
1348
+ #
1349
+ # @option params [required, Array<Types::Tag>] :tags
1350
+ # A list of tags for the resource. If a tag with a given key already
1351
+ # exists, the value is replaced by the one specified in this parameter.
1352
+ #
1353
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1354
+ #
1355
+ #
1356
+ # @example Example: To tag a resource
1357
+ #
1358
+ # # This operation tags an Amazon FSx resource.
1359
+ #
1360
+ # resp = client.tag_resource({
1361
+ # resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0498eed5fe91001ec",
1362
+ # tags: [
1363
+ # {
1364
+ # key: "Name",
1365
+ # value: "MyFileSystem",
1366
+ # },
1367
+ # ],
1368
+ # })
1369
+ #
1370
+ # @example Request syntax with placeholder values
1371
+ #
1372
+ # resp = client.tag_resource({
1373
+ # resource_arn: "ResourceARN", # required
1374
+ # tags: [ # required
1375
+ # {
1376
+ # key: "TagKey",
1377
+ # value: "TagValue",
1378
+ # },
1379
+ # ],
1380
+ # })
1381
+ #
1382
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/TagResource AWS API Documentation
1383
+ #
1384
+ # @overload tag_resource(params = {})
1385
+ # @param [Hash] params ({})
1386
+ def tag_resource(params = {}, options = {})
1387
+ req = build_request(:tag_resource, params)
1388
+ req.send_request(options)
1389
+ end
1390
+
1391
+ # This action removes a tag from an Amazon FSx resource.
1392
+ #
1393
+ # @option params [required, String] :resource_arn
1394
+ # The ARN of the Amazon FSx resource to untag.
1395
+ #
1396
+ # @option params [required, Array<String>] :tag_keys
1397
+ # A list of keys of tags on the resource to untag. In case the tag key
1398
+ # doesn't exist, the call will still succeed to be idempotent.
1399
+ #
1400
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1401
+ #
1402
+ #
1403
+ # @example Example: To untag a resource
1404
+ #
1405
+ # # This operation untags an Amazon FSx resource.
1406
+ #
1407
+ # resp = client.untag_resource({
1408
+ # resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0498eed5fe91001ec",
1409
+ # tag_keys: [
1410
+ # "Name",
1411
+ # ],
1412
+ # })
1413
+ #
1414
+ # @example Request syntax with placeholder values
1415
+ #
1416
+ # resp = client.untag_resource({
1417
+ # resource_arn: "ResourceARN", # required
1418
+ # tag_keys: ["TagKey"], # required
1419
+ # })
1420
+ #
1421
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UntagResource AWS API Documentation
1422
+ #
1423
+ # @overload untag_resource(params = {})
1424
+ # @param [Hash] params ({})
1425
+ def untag_resource(params = {}, options = {})
1426
+ req = build_request(:untag_resource, params)
1427
+ req.send_request(options)
1428
+ end
1429
+
1430
+ # Updates a file system configuration.
1431
+ #
1432
+ # @option params [required, String] :file_system_id
1433
+ # The globally unique ID of the file system, assigned by Amazon FSx.
1434
+ #
1435
+ # @option params [String] :client_request_token
1436
+ # (Optional) A string of up to 64 ASCII characters that Amazon FSx uses
1437
+ # to ensure idempotent updates. This string is automatically filled on
1438
+ # your behalf when you use the AWS Command Line Interface (AWS CLI) or
1439
+ # an AWS SDK.
1440
+ #
1441
+ # **A suitable default value is auto-generated.** You should normally
1442
+ # not need to pass this option.**
1443
+ #
1444
+ # @option params [Types::UpdateFileSystemWindowsConfiguration] :windows_configuration
1445
+ # The configuration for this Microsoft Windows file system. The only
1446
+ # supported options are for backup and maintenance.
1447
+ #
1448
+ # @option params [Types::UpdateFileSystemLustreConfiguration] :lustre_configuration
1449
+ # The configuration object for Amazon FSx for Lustre file systems used
1450
+ # in the `UpdateFileSystem` operation.
1451
+ #
1452
+ # @return [Types::UpdateFileSystemResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1453
+ #
1454
+ # * {Types::UpdateFileSystemResponse#file_system #file_system} => Types::FileSystem
1455
+ #
1456
+ #
1457
+ # @example Example: To update an existing file system
1458
+ #
1459
+ # # This operation updates an existing file system.
1460
+ #
1461
+ # resp = client.update_file_system({
1462
+ # file_system_id: "fs-0498eed5fe91001ec",
1463
+ # windows_configuration: {
1464
+ # automatic_backup_retention_days: 10,
1465
+ # daily_automatic_backup_start_time: "06:00",
1466
+ # weekly_maintenance_start_time: "3:06:00",
1467
+ # },
1468
+ # })
1469
+ #
1470
+ # resp.to_h outputs the following:
1471
+ # {
1472
+ # file_system: {
1473
+ # creation_time: Time.parse("1481841524.0"),
1474
+ # dns_name: "fs-0498eed5fe91001ec.fsx.com",
1475
+ # file_system_id: "fs-0498eed5fe91001ec",
1476
+ # kms_key_id: "arn:aws:kms:us-east-1:012345678912:key/0ff3ea8d-130e-4133-877f-93908b6fdbd6",
1477
+ # lifecycle: "AVAILABLE",
1478
+ # owner_id: "012345678912",
1479
+ # resource_arn: "arn:aws:fsx:us-east-1:012345678912:file-system/fs-0498eed5fe91001ec",
1480
+ # storage_capacity: 300,
1481
+ # subnet_ids: [
1482
+ # "subnet-1234abcd",
1483
+ # ],
1484
+ # tags: [
1485
+ # {
1486
+ # key: "Name",
1487
+ # value: "MyFileSystem",
1488
+ # },
1489
+ # ],
1490
+ # vpc_id: "vpc-ab1234cd",
1491
+ # windows_configuration: {
1492
+ # automatic_backup_retention_days: 10,
1493
+ # daily_automatic_backup_start_time: "06:00",
1494
+ # throughput_capacity: 8,
1495
+ # weekly_maintenance_start_time: "3:06:00",
1496
+ # },
1497
+ # },
1498
+ # }
1499
+ #
1500
+ # @example Request syntax with placeholder values
1501
+ #
1502
+ # resp = client.update_file_system({
1503
+ # file_system_id: "FileSystemId", # required
1504
+ # client_request_token: "ClientRequestToken",
1505
+ # windows_configuration: {
1506
+ # weekly_maintenance_start_time: "WeeklyTime",
1507
+ # daily_automatic_backup_start_time: "DailyTime",
1508
+ # automatic_backup_retention_days: 1,
1509
+ # },
1510
+ # lustre_configuration: {
1511
+ # weekly_maintenance_start_time: "WeeklyTime",
1512
+ # },
1513
+ # })
1514
+ #
1515
+ # @example Response structure
1516
+ #
1517
+ # resp.file_system.owner_id #=> String
1518
+ # resp.file_system.creation_time #=> Time
1519
+ # resp.file_system.file_system_id #=> String
1520
+ # resp.file_system.file_system_type #=> String, one of "WINDOWS", "LUSTRE"
1521
+ # resp.file_system.lifecycle #=> String, one of "AVAILABLE", "CREATING", "FAILED", "DELETING"
1522
+ # resp.file_system.failure_details.message #=> String
1523
+ # resp.file_system.storage_capacity #=> Integer
1524
+ # resp.file_system.vpc_id #=> String
1525
+ # resp.file_system.subnet_ids #=> Array
1526
+ # resp.file_system.subnet_ids[0] #=> String
1527
+ # resp.file_system.network_interface_ids #=> Array
1528
+ # resp.file_system.network_interface_ids[0] #=> String
1529
+ # resp.file_system.dns_name #=> String
1530
+ # resp.file_system.kms_key_id #=> String
1531
+ # resp.file_system.resource_arn #=> String
1532
+ # resp.file_system.tags #=> Array
1533
+ # resp.file_system.tags[0].key #=> String
1534
+ # resp.file_system.tags[0].value #=> String
1535
+ # resp.file_system.windows_configuration.active_directory_id #=> String
1536
+ # resp.file_system.windows_configuration.throughput_capacity #=> Integer
1537
+ # resp.file_system.windows_configuration.maintenance_operations_in_progress #=> Array
1538
+ # resp.file_system.windows_configuration.maintenance_operations_in_progress[0] #=> String, one of "PATCHING", "BACKING_UP"
1539
+ # resp.file_system.windows_configuration.weekly_maintenance_start_time #=> String
1540
+ # resp.file_system.windows_configuration.daily_automatic_backup_start_time #=> String
1541
+ # resp.file_system.windows_configuration.automatic_backup_retention_days #=> Integer
1542
+ # resp.file_system.windows_configuration.copy_tags_to_backups #=> Boolean
1543
+ # resp.file_system.lustre_configuration.weekly_maintenance_start_time #=> String
1544
+ # resp.file_system.lustre_configuration.data_repository_configuration.import_path #=> String
1545
+ # resp.file_system.lustre_configuration.data_repository_configuration.export_path #=> String
1546
+ # resp.file_system.lustre_configuration.data_repository_configuration.imported_file_chunk_size #=> Integer
1547
+ #
1548
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileSystem AWS API Documentation
1549
+ #
1550
+ # @overload update_file_system(params = {})
1551
+ # @param [Hash] params ({})
1552
+ def update_file_system(params = {}, options = {})
1553
+ req = build_request(:update_file_system, params)
1554
+ req.send_request(options)
1555
+ end
1556
+
1557
+ # @!endgroup
1558
+
1559
+ # @param params ({})
1560
+ # @api private
1561
+ def build_request(operation_name, params = {})
1562
+ handlers = @handlers.for(operation_name)
1563
+ context = Seahorse::Client::RequestContext.new(
1564
+ operation_name: operation_name,
1565
+ operation: config.api.operation(operation_name),
1566
+ client: self,
1567
+ params: params,
1568
+ config: config)
1569
+ context[:gem_name] = 'aws-sdk-fsx'
1570
+ context[:gem_version] = '1.0.0'
1571
+ Seahorse::Client::Request.new(handlers, context)
1572
+ end
1573
+
1574
+ # @api private
1575
+ # @deprecated
1576
+ def waiter_names
1577
+ []
1578
+ end
1579
+
1580
+ class << self
1581
+
1582
+ # @api private
1583
+ attr_reader :identifier
1584
+
1585
+ # @api private
1586
+ def errors_module
1587
+ Errors
1588
+ end
1589
+
1590
+ end
1591
+ end
1592
+ end