aws-sdk-efs 1.37.0 → 1.41.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.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -22,7 +22,9 @@ module Aws::EFS
22
22
  AccessPointNotFound = Shapes::StructureShape.new(name: 'AccessPointNotFound')
23
23
  AvailabilityZoneId = Shapes::StringShape.new(name: 'AvailabilityZoneId')
24
24
  AvailabilityZoneName = Shapes::StringShape.new(name: 'AvailabilityZoneName')
25
+ AvailabilityZonesMismatch = Shapes::StructureShape.new(name: 'AvailabilityZonesMismatch')
25
26
  AwsAccountId = Shapes::StringShape.new(name: 'AwsAccountId')
27
+ Backup = Shapes::BooleanShape.new(name: 'Backup')
26
28
  BackupPolicy = Shapes::StructureShape.new(name: 'BackupPolicy')
27
29
  BackupPolicyDescription = Shapes::StructureShape.new(name: 'BackupPolicyDescription')
28
30
  BadRequest = Shapes::StructureShape.new(name: 'BadRequest')
@@ -42,6 +44,8 @@ module Aws::EFS
42
44
  DependencyTimeout = Shapes::StructureShape.new(name: 'DependencyTimeout')
43
45
  DescribeAccessPointsRequest = Shapes::StructureShape.new(name: 'DescribeAccessPointsRequest')
44
46
  DescribeAccessPointsResponse = Shapes::StructureShape.new(name: 'DescribeAccessPointsResponse')
47
+ DescribeAccountPreferencesRequest = Shapes::StructureShape.new(name: 'DescribeAccountPreferencesRequest')
48
+ DescribeAccountPreferencesResponse = Shapes::StructureShape.new(name: 'DescribeAccountPreferencesResponse')
45
49
  DescribeBackupPolicyRequest = Shapes::StructureShape.new(name: 'DescribeBackupPolicyRequest')
46
50
  DescribeFileSystemPolicyRequest = Shapes::StructureShape.new(name: 'DescribeFileSystemPolicyRequest')
47
51
  DescribeFileSystemsRequest = Shapes::StructureShape.new(name: 'DescribeFileSystemsRequest')
@@ -106,10 +110,16 @@ module Aws::EFS
106
110
  PolicyNotFound = Shapes::StructureShape.new(name: 'PolicyNotFound')
107
111
  PosixUser = Shapes::StructureShape.new(name: 'PosixUser')
108
112
  ProvisionedThroughputInMibps = Shapes::FloatShape.new(name: 'ProvisionedThroughputInMibps')
113
+ PutAccountPreferencesRequest = Shapes::StructureShape.new(name: 'PutAccountPreferencesRequest')
114
+ PutAccountPreferencesResponse = Shapes::StructureShape.new(name: 'PutAccountPreferencesResponse')
109
115
  PutBackupPolicyRequest = Shapes::StructureShape.new(name: 'PutBackupPolicyRequest')
110
116
  PutFileSystemPolicyRequest = Shapes::StructureShape.new(name: 'PutFileSystemPolicyRequest')
111
117
  PutLifecycleConfigurationRequest = Shapes::StructureShape.new(name: 'PutLifecycleConfigurationRequest')
118
+ Resource = Shapes::StringShape.new(name: 'Resource')
112
119
  ResourceId = Shapes::StringShape.new(name: 'ResourceId')
120
+ ResourceIdPreference = Shapes::StructureShape.new(name: 'ResourceIdPreference')
121
+ ResourceIdType = Shapes::StringShape.new(name: 'ResourceIdType')
122
+ Resources = Shapes::ListShape.new(name: 'Resources')
113
123
  RootDirectory = Shapes::StructureShape.new(name: 'RootDirectory')
114
124
  SecondaryGids = Shapes::ListShape.new(name: 'SecondaryGids')
115
125
  SecurityGroup = Shapes::StringShape.new(name: 'SecurityGroup')
@@ -165,6 +175,10 @@ module Aws::EFS
165
175
  AccessPointNotFound.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
166
176
  AccessPointNotFound.struct_class = Types::AccessPointNotFound
167
177
 
178
+ AvailabilityZonesMismatch.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "ErrorCode"))
179
+ AvailabilityZonesMismatch.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
180
+ AvailabilityZonesMismatch.struct_class = Types::AvailabilityZonesMismatch
181
+
168
182
  BackupPolicy.add_member(:status, Shapes::ShapeRef.new(shape: Status, required: true, location_name: "Status"))
169
183
  BackupPolicy.struct_class = Types::BackupPolicy
170
184
 
@@ -188,6 +202,8 @@ module Aws::EFS
188
202
  CreateFileSystemRequest.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyId, location_name: "KmsKeyId"))
189
203
  CreateFileSystemRequest.add_member(:throughput_mode, Shapes::ShapeRef.new(shape: ThroughputMode, location_name: "ThroughputMode"))
190
204
  CreateFileSystemRequest.add_member(:provisioned_throughput_in_mibps, Shapes::ShapeRef.new(shape: ProvisionedThroughputInMibps, location_name: "ProvisionedThroughputInMibps"))
205
+ CreateFileSystemRequest.add_member(:availability_zone_name, Shapes::ShapeRef.new(shape: AvailabilityZoneName, location_name: "AvailabilityZoneName"))
206
+ CreateFileSystemRequest.add_member(:backup, Shapes::ShapeRef.new(shape: Backup, location_name: "Backup"))
191
207
  CreateFileSystemRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
192
208
  CreateFileSystemRequest.struct_class = Types::CreateFileSystemRequest
193
209
 
@@ -236,6 +252,14 @@ module Aws::EFS
236
252
  DescribeAccessPointsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
237
253
  DescribeAccessPointsResponse.struct_class = Types::DescribeAccessPointsResponse
238
254
 
255
+ DescribeAccountPreferencesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
256
+ DescribeAccountPreferencesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
257
+ DescribeAccountPreferencesRequest.struct_class = Types::DescribeAccountPreferencesRequest
258
+
259
+ DescribeAccountPreferencesResponse.add_member(:resource_id_preference, Shapes::ShapeRef.new(shape: ResourceIdPreference, location_name: "ResourceIdPreference"))
260
+ DescribeAccountPreferencesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
261
+ DescribeAccountPreferencesResponse.struct_class = Types::DescribeAccountPreferencesResponse
262
+
239
263
  DescribeBackupPolicyRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location: "uri", location_name: "FileSystemId"))
240
264
  DescribeBackupPolicyRequest.struct_class = Types::DescribeBackupPolicyRequest
241
265
 
@@ -303,6 +327,8 @@ module Aws::EFS
303
327
  FileSystemDescription.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyId, location_name: "KmsKeyId"))
304
328
  FileSystemDescription.add_member(:throughput_mode, Shapes::ShapeRef.new(shape: ThroughputMode, location_name: "ThroughputMode"))
305
329
  FileSystemDescription.add_member(:provisioned_throughput_in_mibps, Shapes::ShapeRef.new(shape: ProvisionedThroughputInMibps, location_name: "ProvisionedThroughputInMibps"))
330
+ FileSystemDescription.add_member(:availability_zone_name, Shapes::ShapeRef.new(shape: AvailabilityZoneName, location_name: "AvailabilityZoneName"))
331
+ FileSystemDescription.add_member(:availability_zone_id, Shapes::ShapeRef.new(shape: AvailabilityZoneId, location_name: "AvailabilityZoneId"))
306
332
  FileSystemDescription.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, required: true, location_name: "Tags"))
307
333
  FileSystemDescription.struct_class = Types::FileSystemDescription
308
334
 
@@ -414,6 +440,12 @@ module Aws::EFS
414
440
  PosixUser.add_member(:secondary_gids, Shapes::ShapeRef.new(shape: SecondaryGids, location_name: "SecondaryGids"))
415
441
  PosixUser.struct_class = Types::PosixUser
416
442
 
443
+ PutAccountPreferencesRequest.add_member(:resource_id_type, Shapes::ShapeRef.new(shape: ResourceIdType, required: true, location_name: "ResourceIdType"))
444
+ PutAccountPreferencesRequest.struct_class = Types::PutAccountPreferencesRequest
445
+
446
+ PutAccountPreferencesResponse.add_member(:resource_id_preference, Shapes::ShapeRef.new(shape: ResourceIdPreference, location_name: "ResourceIdPreference"))
447
+ PutAccountPreferencesResponse.struct_class = Types::PutAccountPreferencesResponse
448
+
417
449
  PutBackupPolicyRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location: "uri", location_name: "FileSystemId"))
418
450
  PutBackupPolicyRequest.add_member(:backup_policy, Shapes::ShapeRef.new(shape: BackupPolicy, required: true, location_name: "BackupPolicy"))
419
451
  PutBackupPolicyRequest.struct_class = Types::PutBackupPolicyRequest
@@ -427,6 +459,12 @@ module Aws::EFS
427
459
  PutLifecycleConfigurationRequest.add_member(:lifecycle_policies, Shapes::ShapeRef.new(shape: LifecyclePolicies, required: true, location_name: "LifecyclePolicies"))
428
460
  PutLifecycleConfigurationRequest.struct_class = Types::PutLifecycleConfigurationRequest
429
461
 
462
+ ResourceIdPreference.add_member(:resource_id_type, Shapes::ShapeRef.new(shape: ResourceIdType, location_name: "ResourceIdType"))
463
+ ResourceIdPreference.add_member(:resources, Shapes::ShapeRef.new(shape: Resources, location_name: "Resources"))
464
+ ResourceIdPreference.struct_class = Types::ResourceIdPreference
465
+
466
+ Resources.member = Shapes::ShapeRef.new(shape: Resource)
467
+
430
468
  RootDirectory.add_member(:path, Shapes::ShapeRef.new(shape: Path, location_name: "Path"))
431
469
  RootDirectory.add_member(:creation_info, Shapes::ShapeRef.new(shape: CreationInfo, location_name: "CreationInfo"))
432
470
  RootDirectory.struct_class = Types::RootDirectory
@@ -527,6 +565,7 @@ module Aws::EFS
527
565
  o.errors << Shapes::ShapeRef.new(shape: FileSystemLimitExceeded)
528
566
  o.errors << Shapes::ShapeRef.new(shape: InsufficientThroughputCapacity)
529
567
  o.errors << Shapes::ShapeRef.new(shape: ThroughputLimitExceeded)
568
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedAvailabilityZone)
530
569
  end)
531
570
 
532
571
  api.add_operation(:create_mount_target, Seahorse::Model::Operation.new.tap do |o|
@@ -547,6 +586,7 @@ module Aws::EFS
547
586
  o.errors << Shapes::ShapeRef.new(shape: SecurityGroupLimitExceeded)
548
587
  o.errors << Shapes::ShapeRef.new(shape: SecurityGroupNotFound)
549
588
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedAvailabilityZone)
589
+ o.errors << Shapes::ShapeRef.new(shape: AvailabilityZonesMismatch)
550
590
  end)
551
591
 
552
592
  api.add_operation(:create_tags, Seahorse::Model::Operation.new.tap do |o|
@@ -637,6 +677,15 @@ module Aws::EFS
637
677
  )
638
678
  end)
639
679
 
680
+ api.add_operation(:describe_account_preferences, Seahorse::Model::Operation.new.tap do |o|
681
+ o.name = "DescribeAccountPreferences"
682
+ o.http_method = "GET"
683
+ o.http_request_uri = "/2015-02-01/account-preferences"
684
+ o.input = Shapes::ShapeRef.new(shape: DescribeAccountPreferencesRequest)
685
+ o.output = Shapes::ShapeRef.new(shape: DescribeAccountPreferencesResponse)
686
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
687
+ end)
688
+
640
689
  api.add_operation(:describe_backup_policy, Seahorse::Model::Operation.new.tap do |o|
641
690
  o.name = "DescribeBackupPolicy"
642
691
  o.http_method = "GET"
@@ -764,6 +813,15 @@ module Aws::EFS
764
813
  o.errors << Shapes::ShapeRef.new(shape: SecurityGroupNotFound)
765
814
  end)
766
815
 
816
+ api.add_operation(:put_account_preferences, Seahorse::Model::Operation.new.tap do |o|
817
+ o.name = "PutAccountPreferences"
818
+ o.http_method = "PUT"
819
+ o.http_request_uri = "/2015-02-01/account-preferences"
820
+ o.input = Shapes::ShapeRef.new(shape: PutAccountPreferencesRequest)
821
+ o.output = Shapes::ShapeRef.new(shape: PutAccountPreferencesResponse)
822
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
823
+ end)
824
+
767
825
  api.add_operation(:put_backup_policy, Seahorse::Model::Operation.new.tap do |o|
768
826
  o.name = "PutBackupPolicy"
769
827
  o.http_method = "PUT"
@@ -2,7 +2,7 @@
2
2
  # WARNING ABOUT GENERATED CODE
3
3
  #
4
4
  # This file is generated. See the contributing for info on making contributions:
5
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
6
6
  #
7
7
  # WARNING ABOUT GENERATED CODE
8
8
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -30,6 +30,7 @@ module Aws::EFS
30
30
  # * {AccessPointAlreadyExists}
31
31
  # * {AccessPointLimitExceeded}
32
32
  # * {AccessPointNotFound}
33
+ # * {AvailabilityZonesMismatch}
33
34
  # * {BadRequest}
34
35
  # * {DependencyTimeout}
35
36
  # * {FileSystemAlreadyExists}
@@ -126,6 +127,26 @@ module Aws::EFS
126
127
  end
127
128
  end
128
129
 
130
+ class AvailabilityZonesMismatch < ServiceError
131
+
132
+ # @param [Seahorse::Client::RequestContext] context
133
+ # @param [String] message
134
+ # @param [Aws::EFS::Types::AvailabilityZonesMismatch] data
135
+ def initialize(context, message, data = Aws::EmptyStructure.new)
136
+ super(context, message, data)
137
+ end
138
+
139
+ # @return [String]
140
+ def error_code
141
+ @data[:error_code]
142
+ end
143
+
144
+ # @return [String]
145
+ def message
146
+ @message || @data[:message]
147
+ end
148
+ end
149
+
129
150
  class BadRequest < ServiceError
130
151
 
131
152
  # @param [Seahorse::Client::RequestContext] context
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -133,8 +133,38 @@ module Aws::EFS
133
133
  include Aws::Structure
134
134
  end
135
135
 
136
- # The backup policy for the file system, showing the curent status. If
137
- # `ENABLED`, the file system is being backed up.
136
+ # Returned if the Availability Zone that was specified for a mount
137
+ # target is different from the Availability Zone that was specified for
138
+ # One Zone storage classes. For more information, see [Regional and One
139
+ # Zone storage redundancy][1].
140
+ #
141
+ #
142
+ #
143
+ # [1]: https://docs.aws.amazon.com/efs/latest/ug/availability-durability.html
144
+ #
145
+ # @!attribute [rw] error_code
146
+ # @return [String]
147
+ #
148
+ # @!attribute [rw] message
149
+ # @return [String]
150
+ #
151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/AvailabilityZonesMismatch AWS API Documentation
152
+ #
153
+ class AvailabilityZonesMismatch < Struct.new(
154
+ :error_code,
155
+ :message)
156
+ SENSITIVE = []
157
+ include Aws::Structure
158
+ end
159
+
160
+ # The backup policy for the file system used to create automatic daily
161
+ # backups. If status has a value of `ENABLED`, the file system is being
162
+ # automatically backed up. For more information, see [Automatic
163
+ # backups][1].
164
+ #
165
+ #
166
+ #
167
+ # [1]: https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html#automatic-backups
138
168
  #
139
169
  # @note When making an API call, you may pass BackupPolicy
140
170
  # data as a hash:
@@ -146,17 +176,17 @@ module Aws::EFS
146
176
  # @!attribute [rw] status
147
177
  # Describes the status of the file system's backup policy.
148
178
  #
149
- # * <i> <code>ENABLED</code> - EFS is automatically backing up the
150
- # file system.</i>
179
+ # * <b> <code>ENABLED</code> </b> - EFS is automatically backing up
180
+ # the file system.
151
181
  #
152
- # * <i> <code>ENABLING</code> - EFS is turning on automatic backups
153
- # for the file system.</i>
182
+ # * <b> <code>ENABLING</code> </b> - EFS is turning on automatic
183
+ # backups for the file system.
154
184
  #
155
- # * <i> <code>DISABLED</code> - automatic back ups are turned off for
156
- # the file system.</i>
185
+ # * <b> <code>DISABLED</code> </b> - automatic back ups are turned off
186
+ # for the file system.
157
187
  #
158
- # * <i> <code>DISABLED</code> - EFS is turning off automatic backups
159
- # for the file system.</i>
188
+ # * <b> <code>DISABLING</code> </b> - EFS is turning off automatic
189
+ # backups for the file system.
160
190
  # @return [String]
161
191
  #
162
192
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/BackupPolicy AWS API Documentation
@@ -256,7 +286,13 @@ module Aws::EFS
256
286
  # `RootDirectory` &gt; `Path` specified does not exist, EFS creates it
257
287
  # and applies the `CreationInfo` settings when a client connects to an
258
288
  # access point. When specifying a `RootDirectory`, you need to provide
259
- # the `Path`, and the `CreationInfo` is optional.
289
+ # the `Path`, and the `CreationInfo`.
290
+ #
291
+ # Amazon EFS creates a root directory only if you have provided the
292
+ # CreationInfo: OwnUid, OwnGID, and permissions for the directory. If
293
+ # you do not provide this information, Amazon EFS does not create the
294
+ # root directory. If the root directory does not exist, attempts to
295
+ # mount using the access point will fail.
260
296
  # @return [Types::RootDirectory]
261
297
  #
262
298
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateAccessPointRequest AWS API Documentation
@@ -281,6 +317,8 @@ module Aws::EFS
281
317
  # kms_key_id: "KmsKeyId",
282
318
  # throughput_mode: "bursting", # accepts bursting, provisioned
283
319
  # provisioned_throughput_in_mibps: 1.0,
320
+ # availability_zone_name: "AvailabilityZoneName",
321
+ # backup: false,
284
322
  # tags: [
285
323
  # {
286
324
  # key: "TagKey", # required
@@ -305,6 +343,11 @@ module Aws::EFS
305
343
  # tradeoff of slightly higher latencies for most file operations. The
306
344
  # performance mode can't be changed after the file system has been
307
345
  # created.
346
+ #
347
+ # <note markdown="1"> The `maxIO` mode is not supported on file systems using One Zone
348
+ # storage classes.
349
+ #
350
+ # </note>
308
351
  # @return [String]
309
352
  #
310
353
  # @!attribute [rw] encrypted
@@ -318,11 +361,11 @@ module Aws::EFS
318
361
  # @return [Boolean]
319
362
  #
320
363
  # @!attribute [rw] kms_key_id
321
- # The ID of the AWS KMS CMK to be used to protect the encrypted file
322
- # system. This parameter is only required if you want to use a
323
- # nondefault CMK. If this parameter is not specified, the default CMK
324
- # for Amazon EFS is used. This ID can be in one of the following
325
- # formats:
364
+ # The ID of the AWS KMS CMK that you want to use to protect the
365
+ # encrypted file system. This parameter is only required if you want
366
+ # to use a non-default KMS key. If this parameter is not specified,
367
+ # the default CMK for Amazon EFS is used. This ID can be in one of the
368
+ # following formats:
326
369
  #
327
370
  # * Key ID - A unique identifier of the key, for example
328
371
  # `1234abcd-12ab-34cd-56ef-1234567890ab`.
@@ -339,20 +382,22 @@ module Aws::EFS
339
382
  # If `KmsKeyId` is specified, the CreateFileSystemRequest$Encrypted
340
383
  # parameter must be set to true.
341
384
  #
342
- # EFS accepts only symmetric CMKs. You cannot use asymmetric CMKs with
343
- # EFS file systems.
385
+ # EFS accepts only symmetric KMS keys. You cannot use asymmetric KMS
386
+ # keys with EFS file systems.
344
387
  # @return [String]
345
388
  #
346
389
  # @!attribute [rw] throughput_mode
347
- # The throughput mode for the file system to be created. There are two
348
- # throughput modes to choose from for your file system: `bursting` and
349
- # `provisioned`. If you set `ThroughputMode` to `provisioned`, you
350
- # must also set a value for `ProvisionedThroughPutInMibps`. You can
351
- # decrease your file system's throughput in Provisioned Throughput
352
- # mode or change between the throughput modes as long as it’s been
353
- # more than 24 hours since the last decrease or throughput mode
354
- # change. For more, see [Specifying Throughput with Provisioned
355
- # Mode][1] in the *Amazon EFS User Guide.*
390
+ # Specifies the throughput mode for the file system, either `bursting`
391
+ # or `provisioned`. If you set `ThroughputMode` to `provisioned`, you
392
+ # must also set a value for `ProvisionedThroughputInMibps`. After you
393
+ # create the file system, you can decrease your file system's
394
+ # throughput in Provisioned Throughput mode or change between the
395
+ # throughput modes, as long as it’s been more than 24 hours since the
396
+ # last decrease or throughput mode change. For more information, see
397
+ # [Specifying throughput with provisioned mode][1] in the *Amazon EFS
398
+ # User Guide*.
399
+ #
400
+ # Default is `bursting`.
356
401
  #
357
402
  #
358
403
  #
@@ -363,15 +408,53 @@ module Aws::EFS
363
408
  # The throughput, measured in MiB/s, that you want to provision for a
364
409
  # file system that you're creating. Valid values are 1-1024. Required
365
410
  # if `ThroughputMode` is set to `provisioned`. The upper limit for
366
- # throughput is 1024 MiB/s. You can get this limit increased by
367
- # contacting AWS Support. For more information, see [Amazon EFS Limits
368
- # That You Can Increase][1] in the *Amazon EFS User Guide.*
411
+ # throughput is 1024 MiB/s. To increase this limit, contact AWS
412
+ # Support. For more information, see [Amazon EFS quotas that you can
413
+ # increase][1] in the *Amazon EFS User Guide*.
369
414
  #
370
415
  #
371
416
  #
372
417
  # [1]: https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits
373
418
  # @return [Float]
374
419
  #
420
+ # @!attribute [rw] availability_zone_name
421
+ # Used to create a file system that uses One Zone storage classes. It
422
+ # specifies the AWS Availability Zone in which to create the file
423
+ # system. Use the format `us-east-1a` to specify the Availability
424
+ # Zone. For more information about One Zone storage classes, see
425
+ # [Using EFS storage classes][1] in the *Amazon EFS User Guide*.
426
+ #
427
+ # <note markdown="1"> One Zone storage classes are not available in all Availability Zones
428
+ # in AWS Regions where Amazon EFS is available.
429
+ #
430
+ # </note>
431
+ #
432
+ #
433
+ #
434
+ # [1]: https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html
435
+ # @return [String]
436
+ #
437
+ # @!attribute [rw] backup
438
+ # Specifies whether automatic backups are enabled on the file system
439
+ # that you are creating. Set the value to `true` to enable automatic
440
+ # backups. If you are creating a file system that uses One Zone
441
+ # storage classes, automatic backups are enabled by default. For more
442
+ # information, see [Automatic backups][1] in the *Amazon EFS User
443
+ # Guide*.
444
+ #
445
+ # Default is `false`. However, if you specify an
446
+ # `AvailabilityZoneName`, the default is `true`.
447
+ #
448
+ # <note markdown="1"> AWS Backup is not available in all AWS Regions where Amazon EFS is
449
+ # available.
450
+ #
451
+ # </note>
452
+ #
453
+ #
454
+ #
455
+ # [1]: https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html#automatic-backups
456
+ # @return [Boolean]
457
+ #
375
458
  # @!attribute [rw] tags
376
459
  # A value that specifies to create one or more tags associated with
377
460
  # the file system. Each tag is a user-defined key-value pair. Name
@@ -388,6 +471,8 @@ module Aws::EFS
388
471
  :kms_key_id,
389
472
  :throughput_mode,
390
473
  :provisioned_throughput_in_mibps,
474
+ :availability_zone_name,
475
+ :backup,
391
476
  :tags)
392
477
  SENSITIVE = []
393
478
  include Aws::Structure
@@ -408,7 +493,9 @@ module Aws::EFS
408
493
  # @return [String]
409
494
  #
410
495
  # @!attribute [rw] subnet_id
411
- # The ID of the subnet to add the mount target in.
496
+ # The ID of the subnet to add the mount target in. For file systems
497
+ # that use One Zone storage classes, use the subnet that is associated
498
+ # with the file system's Availability Zone.
412
499
  # @return [String]
413
500
  #
414
501
  # @!attribute [rw] ip_address
@@ -470,6 +557,12 @@ module Aws::EFS
470
557
  # client connects to the access point. When specifying `CreationInfo`,
471
558
  # you must include values for all properties.
472
559
  #
560
+ # Amazon EFS creates a root directory only if you have provided the
561
+ # CreationInfo: OwnUid, OwnGID, and permissions for the directory. If
562
+ # you do not provide this information, Amazon EFS does not create the
563
+ # root directory. If the root directory does not exist, attempts to
564
+ # mount using the access point will fail.
565
+ #
473
566
  # If you do not provide `CreationInfo` and the specified `RootDirectory`
474
567
  # does not exist, attempts to mount the file system using the access
475
568
  # point will fail.
@@ -691,6 +784,47 @@ module Aws::EFS
691
784
  include Aws::Structure
692
785
  end
693
786
 
787
+ # @note When making an API call, you may pass DescribeAccountPreferencesRequest
788
+ # data as a hash:
789
+ #
790
+ # {
791
+ # next_token: "Token",
792
+ # max_results: 1,
793
+ # }
794
+ #
795
+ # @!attribute [rw] next_token
796
+ # Token used for pagination.
797
+ # @return [String]
798
+ #
799
+ # @!attribute [rw] max_results
800
+ # Max results used for pagination.
801
+ # @return [Integer]
802
+ #
803
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeAccountPreferencesRequest AWS API Documentation
804
+ #
805
+ class DescribeAccountPreferencesRequest < Struct.new(
806
+ :next_token,
807
+ :max_results)
808
+ SENSITIVE = []
809
+ include Aws::Structure
810
+ end
811
+
812
+ # @!attribute [rw] resource_id_preference
813
+ # @return [Types::ResourceIdPreference]
814
+ #
815
+ # @!attribute [rw] next_token
816
+ # Token used for pagination.
817
+ # @return [String]
818
+ #
819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeAccountPreferencesResponse AWS API Documentation
820
+ #
821
+ class DescribeAccountPreferencesResponse < Struct.new(
822
+ :resource_id_preference,
823
+ :next_token)
824
+ SENSITIVE = []
825
+ include Aws::Structure
826
+ end
827
+
694
828
  # @note When making an API call, you may pass DescribeBackupPolicyRequest
695
829
  # data as a hash:
696
830
  #
@@ -1091,28 +1225,37 @@ module Aws::EFS
1091
1225
  # @return [String]
1092
1226
  #
1093
1227
  # @!attribute [rw] throughput_mode
1094
- # The throughput mode for a file system. There are two throughput
1095
- # modes to choose from for your file system: `bursting` and
1096
- # `provisioned`. If you set `ThroughputMode` to `provisioned`, you
1097
- # must also set a value for `ProvisionedThroughPutInMibps`. You can
1098
- # decrease your file system's throughput in Provisioned Throughput
1099
- # mode or change between the throughput modes as long as it’s been
1100
- # more than 24 hours since the last decrease or throughput mode
1101
- # change.
1228
+ # Displays the file system's throughput mode. For more information,
1229
+ # see [Throughput modes][1] in the *Amazon EFS User Guide*.
1230
+ #
1231
+ #
1232
+ #
1233
+ # [1]: https://docs.aws.amazon.com/efs/latest/ug/performance.html#throughput-modes
1102
1234
  # @return [String]
1103
1235
  #
1104
1236
  # @!attribute [rw] provisioned_throughput_in_mibps
1105
- # The throughput, measured in MiB/s, that you want to provision for a
1106
- # file system. Valid values are 1-1024. Required if `ThroughputMode`
1107
- # is set to `provisioned`. The limit on throughput is 1024 MiB/s. You
1108
- # can get these limits increased by contacting AWS Support. For more
1109
- # information, see [Amazon EFS Limits That You Can Increase][1] in the
1110
- # *Amazon EFS User Guide.*
1237
+ # The amount of provisioned throughput, measured in MiB/s, for the
1238
+ # file system. Valid for file systems using `ThroughputMode` set to
1239
+ # `provisioned`.
1240
+ # @return [Float]
1111
1241
  #
1242
+ # @!attribute [rw] availability_zone_name
1243
+ # Describes the AWS Availability Zone in which the file system is
1244
+ # located, and is valid only for file systems using One Zone storage
1245
+ # classes. For more information, see [Using EFS storage classes][1] in
1246
+ # the *Amazon EFS User Guide*.
1112
1247
  #
1113
1248
  #
1114
- # [1]: https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits
1115
- # @return [Float]
1249
+ #
1250
+ # [1]: https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html
1251
+ # @return [String]
1252
+ #
1253
+ # @!attribute [rw] availability_zone_id
1254
+ # The unique and consistent identifier of the Availability Zone in
1255
+ # which the file system's One Zone storage classes exist. For
1256
+ # example, `use1-az1` is an Availability Zone ID for the us-east-1 AWS
1257
+ # Region, and it has the same location in every AWS account.
1258
+ # @return [String]
1116
1259
  #
1117
1260
  # @!attribute [rw] tags
1118
1261
  # The tags associated with the file system, presented as an array of
@@ -1136,6 +1279,8 @@ module Aws::EFS
1136
1279
  :kms_key_id,
1137
1280
  :throughput_mode,
1138
1281
  :provisioned_throughput_in_mibps,
1282
+ :availability_zone_name,
1283
+ :availability_zone_id,
1139
1284
  :tags)
1140
1285
  SENSITIVE = []
1141
1286
  include Aws::Structure
@@ -1294,7 +1439,7 @@ module Aws::EFS
1294
1439
  # system in provisioned throughput mode, when you attempt to increase
1295
1440
  # the provisioned throughput of an existing file system, or when you
1296
1441
  # attempt to change an existing file system from bursting to provisioned
1297
- # throughput mode.
1442
+ # throughput mode. Try again later.
1298
1443
  #
1299
1444
  # @!attribute [rw] error_code
1300
1445
  # @return [String]
@@ -1425,9 +1570,9 @@ module Aws::EFS
1425
1570
  # @return [Integer]
1426
1571
  #
1427
1572
  # @!attribute [rw] next_token
1428
- # You can use `NextToken` in a subsequent request to fetch the next
1429
- # page of access point descriptions if the response payload was
1430
- # paginated.
1573
+ # (Optional) You can use `NextToken` in a subsequent request to fetch
1574
+ # the next page of access point descriptions if the response payload
1575
+ # was paginated.
1431
1576
  # @return [String]
1432
1577
  #
1433
1578
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/ListTagsForResourceRequest AWS API Documentation
@@ -1535,22 +1680,22 @@ module Aws::EFS
1535
1680
  # @return [String]
1536
1681
  #
1537
1682
  # @!attribute [rw] availability_zone_id
1538
- # The unique and consistent identifier of the Availability Zone (AZ)
1539
- # that the mount target resides in. For example, `use1-az1` is an AZ
1540
- # ID for the us-east-1 Region and it has the same location in every
1541
- # AWS account.
1683
+ # The unique and consistent identifier of the Availability Zone that
1684
+ # the mount target resides in. For example, `use1-az1` is an AZ ID for
1685
+ # the us-east-1 Region and it has the same location in every AWS
1686
+ # account.
1542
1687
  # @return [String]
1543
1688
  #
1544
1689
  # @!attribute [rw] availability_zone_name
1545
- # The name of the Availability Zone (AZ) that the mount target resides
1546
- # in. AZs are independently mapped to names for each AWS account. For
1547
- # example, the Availability Zone `us-east-1a` for your AWS account
1548
- # might not be the same location as `us-east-1a` for another AWS
1549
- # account.
1690
+ # The name of the Availability Zone in which the mount target is
1691
+ # located. Availability Zones are independently mapped to names for
1692
+ # each AWS account. For example, the Availability Zone `us-east-1a`
1693
+ # for your AWS account might not be the same location as `us-east-1a`
1694
+ # for another AWS account.
1550
1695
  # @return [String]
1551
1696
  #
1552
1697
  # @!attribute [rw] vpc_id
1553
- # The Virtual Private Cloud (VPC) ID that the mount target is
1698
+ # The virtual private cloud (VPC) ID that the mount target is
1554
1699
  # configured in.
1555
1700
  # @return [String]
1556
1701
  #
@@ -1689,6 +1834,37 @@ module Aws::EFS
1689
1834
  include Aws::Structure
1690
1835
  end
1691
1836
 
1837
+ # @note When making an API call, you may pass PutAccountPreferencesRequest
1838
+ # data as a hash:
1839
+ #
1840
+ # {
1841
+ # resource_id_type: "LONG_ID", # required, accepts LONG_ID, SHORT_ID
1842
+ # }
1843
+ #
1844
+ # @!attribute [rw] resource_id_type
1845
+ # A preference indicating a choice to use 63bit/32bit IDs for all
1846
+ # applicable resources.
1847
+ # @return [String]
1848
+ #
1849
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutAccountPreferencesRequest AWS API Documentation
1850
+ #
1851
+ class PutAccountPreferencesRequest < Struct.new(
1852
+ :resource_id_type)
1853
+ SENSITIVE = []
1854
+ include Aws::Structure
1855
+ end
1856
+
1857
+ # @!attribute [rw] resource_id_preference
1858
+ # @return [Types::ResourceIdPreference]
1859
+ #
1860
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutAccountPreferencesResponse AWS API Documentation
1861
+ #
1862
+ class PutAccountPreferencesResponse < Struct.new(
1863
+ :resource_id_preference)
1864
+ SENSITIVE = []
1865
+ include Aws::Structure
1866
+ end
1867
+
1692
1868
  # @note When making an API call, you may pass PutBackupPolicyRequest
1693
1869
  # data as a hash:
1694
1870
  #
@@ -1732,9 +1908,9 @@ module Aws::EFS
1732
1908
  #
1733
1909
  # @!attribute [rw] policy
1734
1910
  # The `FileSystemPolicy` that you're creating. Accepts a JSON
1735
- # formatted policy definition. To find out more about the elements
1736
- # that make up a file system policy, see [EFS Resource-based
1737
- # Policies][1].
1911
+ # formatted policy definition. EFS file system policies have a 20,000
1912
+ # character limit. To find out more about the elements that make up a
1913
+ # file system policy, see [EFS Resource-based Policies][1].
1738
1914
  #
1739
1915
  #
1740
1916
  #
@@ -1796,6 +1972,24 @@ module Aws::EFS
1796
1972
  include Aws::Structure
1797
1973
  end
1798
1974
 
1975
+ # @!attribute [rw] resource_id_type
1976
+ # A preference indicating a choice to use 63bit/32bit IDs for all
1977
+ # applicable resources.
1978
+ # @return [String]
1979
+ #
1980
+ # @!attribute [rw] resources
1981
+ # EFS resources to which a preference applies to.
1982
+ # @return [Array<String>]
1983
+ #
1984
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/ResourceIdPreference AWS API Documentation
1985
+ #
1986
+ class ResourceIdPreference < Struct.new(
1987
+ :resource_id_type,
1988
+ :resources)
1989
+ SENSITIVE = []
1990
+ include Aws::Structure
1991
+ end
1992
+
1799
1993
  # Specifies the directory on the Amazon EFS file system that the access
1800
1994
  # point provides access to. The access point exposes the specified file
1801
1995
  # system path as the root directory of your file system to applications
@@ -1901,7 +2095,7 @@ module Aws::EFS
1901
2095
 
1902
2096
  # A tag is a key-value pair. Allowed characters are letters, white
1903
2097
  # space, and numbers that can be represented in UTF-8, and the following
1904
- # characters:` + - = . _ : /`
2098
+ # characters:` + - = . _ : /`.
1905
2099
  #
1906
2100
  # @note When making an API call, you may pass Tag
1907
2101
  # data as a hash:
@@ -1947,6 +2141,8 @@ module Aws::EFS
1947
2141
  # @return [String]
1948
2142
  #
1949
2143
  # @!attribute [rw] tags
2144
+ # An array of `Tag` objects to add. Each `Tag` object is a key-value
2145
+ # pair.
1950
2146
  # @return [Array<Types::Tag>]
1951
2147
  #
1952
2148
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/TagResourceRequest AWS API Documentation
@@ -1995,6 +2191,9 @@ module Aws::EFS
1995
2191
  include Aws::Structure
1996
2192
  end
1997
2193
 
2194
+ # Returned if the requested Amazon EFS functionality is not available in
2195
+ # the specified Availability Zone.
2196
+ #
1998
2197
  # @!attribute [rw] error_code
1999
2198
  # @return [String]
2000
2199
  #
@@ -2023,7 +2222,7 @@ module Aws::EFS
2023
2222
  # @return [String]
2024
2223
  #
2025
2224
  # @!attribute [rw] tag_keys
2026
- # The keys of the key:value tag pairs that you want to remove from the
2225
+ # The keys of the key-value tag pairs that you want to remove from the
2027
2226
  # specified EFS resource.
2028
2227
  # @return [Array<String>]
2029
2228
  #
@@ -2050,19 +2249,19 @@ module Aws::EFS
2050
2249
  # @return [String]
2051
2250
  #
2052
2251
  # @!attribute [rw] throughput_mode
2053
- # (Optional) The throughput mode that you want your file system to
2054
- # use. If you're not updating your throughput mode, you don't need
2055
- # to provide this value in your request. If you are changing the
2056
- # `ThroughputMode` to `provisioned`, you must also set a value for
2252
+ # (Optional) Updates the file system's throughput mode. If you're
2253
+ # not updating your throughput mode, you don't need to provide this
2254
+ # value in your request. If you are changing the `ThroughputMode` to
2255
+ # `provisioned`, you must also set a value for
2057
2256
  # `ProvisionedThroughputInMibps`.
2058
2257
  # @return [String]
2059
2258
  #
2060
2259
  # @!attribute [rw] provisioned_throughput_in_mibps
2061
- # (Optional) The amount of throughput, in MiB/s, that you want to
2062
- # provision for your file system. Valid values are 1-1024. Required if
2063
- # `ThroughputMode` is changed to `provisioned` on update. If you're
2064
- # not updating the amount of provisioned throughput for your file
2065
- # system, you don't need to provide this value in your request.
2260
+ # (Optional) Sets the amount of provisioned throughput, in MiB/s, for
2261
+ # the file system. Valid values are 1-1024. If you are changing the
2262
+ # throughput mode to provisioned, you must also provide the amount of
2263
+ # provisioned throughput. Required if `ThroughputMode` is changed to
2264
+ # `provisioned` on update.
2066
2265
  # @return [Float]
2067
2266
  #
2068
2267
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/UpdateFileSystemRequest AWS API Documentation
@@ -2075,8 +2274,8 @@ module Aws::EFS
2075
2274
  include Aws::Structure
2076
2275
  end
2077
2276
 
2078
- # Returned if the AWS Backup service is not available in the region that
2079
- # the request was made.
2277
+ # Returned if the AWS Backup service is not available in the Region in
2278
+ # which the request was made.
2080
2279
  #
2081
2280
  # @!attribute [rw] error_code
2082
2281
  # @return [String]