aws-sdk-fsx 1.0.0

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