aws-sdk-efs 1.23.0 → 1.24.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,6 +10,74 @@ module Aws::EFS
10
10
 
11
11
  extend Aws::Errors::DynamicErrors
12
12
 
13
+ class AccessPointAlreadyExists < ServiceError
14
+
15
+ # @param [Seahorse::Client::RequestContext] context
16
+ # @param [String] message
17
+ # @param [Aws::EFS::Types::AccessPointAlreadyExists] data
18
+ def initialize(context, message, data = Aws::EmptyStructure.new)
19
+ super(context, message, data)
20
+ end
21
+
22
+ # @return [String]
23
+ def error_code
24
+ @data[:error_code]
25
+ end
26
+
27
+ # @return [String]
28
+ def message
29
+ @message || @data[:message]
30
+ end
31
+
32
+ # @return [String]
33
+ def access_point_id
34
+ @data[:access_point_id]
35
+ end
36
+
37
+ end
38
+
39
+ class AccessPointLimitExceeded < ServiceError
40
+
41
+ # @param [Seahorse::Client::RequestContext] context
42
+ # @param [String] message
43
+ # @param [Aws::EFS::Types::AccessPointLimitExceeded] data
44
+ def initialize(context, message, data = Aws::EmptyStructure.new)
45
+ super(context, message, data)
46
+ end
47
+
48
+ # @return [String]
49
+ def error_code
50
+ @data[:error_code]
51
+ end
52
+
53
+ # @return [String]
54
+ def message
55
+ @message || @data[:message]
56
+ end
57
+
58
+ end
59
+
60
+ class AccessPointNotFound < ServiceError
61
+
62
+ # @param [Seahorse::Client::RequestContext] context
63
+ # @param [String] message
64
+ # @param [Aws::EFS::Types::AccessPointNotFound] data
65
+ def initialize(context, message, data = Aws::EmptyStructure.new)
66
+ super(context, message, data)
67
+ end
68
+
69
+ # @return [String]
70
+ def error_code
71
+ @data[:error_code]
72
+ end
73
+
74
+ # @return [String]
75
+ def message
76
+ @message || @data[:message]
77
+ end
78
+
79
+ end
80
+
13
81
  class BadRequest < ServiceError
14
82
 
15
83
  # @param [Seahorse::Client::RequestContext] context
@@ -225,6 +293,27 @@ module Aws::EFS
225
293
 
226
294
  end
227
295
 
296
+ class InvalidPolicyException < ServiceError
297
+
298
+ # @param [Seahorse::Client::RequestContext] context
299
+ # @param [String] message
300
+ # @param [Aws::EFS::Types::InvalidPolicyException] data
301
+ def initialize(context, message, data = Aws::EmptyStructure.new)
302
+ super(context, message, data)
303
+ end
304
+
305
+ # @return [String]
306
+ def error_code
307
+ @data[:error_code]
308
+ end
309
+
310
+ # @return [String]
311
+ def message
312
+ @message || @data[:message]
313
+ end
314
+
315
+ end
316
+
228
317
  class IpAddressInUse < ServiceError
229
318
 
230
319
  # @param [Seahorse::Client::RequestContext] context
@@ -330,6 +419,27 @@ module Aws::EFS
330
419
 
331
420
  end
332
421
 
422
+ class PolicyNotFound < ServiceError
423
+
424
+ # @param [Seahorse::Client::RequestContext] context
425
+ # @param [String] message
426
+ # @param [Aws::EFS::Types::PolicyNotFound] data
427
+ def initialize(context, message, data = Aws::EmptyStructure.new)
428
+ super(context, message, data)
429
+ end
430
+
431
+ # @return [String]
432
+ def error_code
433
+ @data[:error_code]
434
+ end
435
+
436
+ # @return [String]
437
+ def message
438
+ @message || @data[:message]
439
+ end
440
+
441
+ end
442
+
333
443
  class SecurityGroupLimitExceeded < ServiceError
334
444
 
335
445
  # @param [Seahorse::Client::RequestContext] context
@@ -8,6 +8,125 @@
8
8
  module Aws::EFS
9
9
  module Types
10
10
 
11
+ # Returned if the access point you are trying to create already exists,
12
+ # with the creation token you provided in the request.
13
+ #
14
+ # @!attribute [rw] error_code
15
+ # @return [String]
16
+ #
17
+ # @!attribute [rw] message
18
+ # @return [String]
19
+ #
20
+ # @!attribute [rw] access_point_id
21
+ # @return [String]
22
+ #
23
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/AccessPointAlreadyExists AWS API Documentation
24
+ #
25
+ class AccessPointAlreadyExists < Struct.new(
26
+ :error_code,
27
+ :message,
28
+ :access_point_id)
29
+ include Aws::Structure
30
+ end
31
+
32
+ # Provides a description of an EFS file system access point.
33
+ #
34
+ # @!attribute [rw] client_token
35
+ # The opaque string specified in the request to ensure idempotent
36
+ # creation.
37
+ # @return [String]
38
+ #
39
+ # @!attribute [rw] name
40
+ # The name of the access point. This is the value of the `Name` tag.
41
+ # @return [String]
42
+ #
43
+ # @!attribute [rw] tags
44
+ # The tags associated with the access point, presented as an array of
45
+ # Tag objects.
46
+ # @return [Array<Types::Tag>]
47
+ #
48
+ # @!attribute [rw] access_point_id
49
+ # The ID of the access point, assigned by Amazon EFS.
50
+ # @return [String]
51
+ #
52
+ # @!attribute [rw] access_point_arn
53
+ # The unique Amazon Resource Name (ARN) associated with the access
54
+ # point.
55
+ # @return [String]
56
+ #
57
+ # @!attribute [rw] file_system_id
58
+ # The ID of the EFS file system that the access point applies to.
59
+ # @return [String]
60
+ #
61
+ # @!attribute [rw] posix_user
62
+ # The full POSIX identity, including the user ID, group ID, and
63
+ # secondary group IDs on the access point that is used for all file
64
+ # operations by NFS clients using the access point.
65
+ # @return [Types::PosixUser]
66
+ #
67
+ # @!attribute [rw] root_directory
68
+ # The directory on the Amazon EFS file system that the access point
69
+ # exposes as the root directory to NFS clients using the access point.
70
+ # @return [Types::RootDirectory]
71
+ #
72
+ # @!attribute [rw] owner_id
73
+ # Identified the AWS account that owns the access point resource.
74
+ # @return [String]
75
+ #
76
+ # @!attribute [rw] life_cycle_state
77
+ # Identifies the lifecycle phase of the access point.
78
+ # @return [String]
79
+ #
80
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/AccessPointDescription AWS API Documentation
81
+ #
82
+ class AccessPointDescription < Struct.new(
83
+ :client_token,
84
+ :name,
85
+ :tags,
86
+ :access_point_id,
87
+ :access_point_arn,
88
+ :file_system_id,
89
+ :posix_user,
90
+ :root_directory,
91
+ :owner_id,
92
+ :life_cycle_state)
93
+ include Aws::Structure
94
+ end
95
+
96
+ # Returned if the AWS account has already created the maximum number of
97
+ # access points allowed per file system.
98
+ #
99
+ # @!attribute [rw] error_code
100
+ # @return [String]
101
+ #
102
+ # @!attribute [rw] message
103
+ # @return [String]
104
+ #
105
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/AccessPointLimitExceeded AWS API Documentation
106
+ #
107
+ class AccessPointLimitExceeded < Struct.new(
108
+ :error_code,
109
+ :message)
110
+ include Aws::Structure
111
+ end
112
+
113
+ # Returned if the specified `AccessPointId` value doesn't exist in the
114
+ # requester's AWS account.
115
+ #
116
+ # @!attribute [rw] error_code
117
+ # @return [String]
118
+ #
119
+ # @!attribute [rw] message
120
+ # @return [String]
121
+ #
122
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/AccessPointNotFound AWS API Documentation
123
+ #
124
+ class AccessPointNotFound < Struct.new(
125
+ :error_code,
126
+ :message)
127
+ include Aws::Structure
128
+ end
129
+
11
130
  # Returned if the request is malformed or contains an error such as an
12
131
  # invalid parameter value or a missing required parameter.
13
132
  #
@@ -25,6 +144,78 @@ module Aws::EFS
25
144
  include Aws::Structure
26
145
  end
27
146
 
147
+ # @note When making an API call, you may pass CreateAccessPointRequest
148
+ # data as a hash:
149
+ #
150
+ # {
151
+ # client_token: "ClientToken", # required
152
+ # tags: [
153
+ # {
154
+ # key: "TagKey", # required
155
+ # value: "TagValue", # required
156
+ # },
157
+ # ],
158
+ # file_system_id: "FileSystemId", # required
159
+ # posix_user: {
160
+ # uid: 1, # required
161
+ # gid: 1, # required
162
+ # secondary_gids: [1],
163
+ # },
164
+ # root_directory: {
165
+ # path: "Path",
166
+ # creation_info: {
167
+ # owner_uid: 1, # required
168
+ # owner_gid: 1, # required
169
+ # permissions: "Permissions", # required
170
+ # },
171
+ # },
172
+ # }
173
+ #
174
+ # @!attribute [rw] client_token
175
+ # A string of up to 64 ASCII characters that Amazon EFS uses to ensure
176
+ # idempotent creation.
177
+ #
178
+ # **A suitable default value is auto-generated.** You should normally
179
+ # not need to pass this option.
180
+ # @return [String]
181
+ #
182
+ # @!attribute [rw] tags
183
+ # Creates tags associated with the access point. Each tag is a
184
+ # key-value pair.
185
+ # @return [Array<Types::Tag>]
186
+ #
187
+ # @!attribute [rw] file_system_id
188
+ # The ID of the EFS file system that the access point provides access
189
+ # to.
190
+ # @return [String]
191
+ #
192
+ # @!attribute [rw] posix_user
193
+ # The operating system user and group applied to all file system
194
+ # requests made using the access point.
195
+ # @return [Types::PosixUser]
196
+ #
197
+ # @!attribute [rw] root_directory
198
+ # Specifies the directory on the Amazon EFS file system that the
199
+ # access point exposes as the root directory of your file system to
200
+ # NFS clients using the access point. The clients using the access
201
+ # point can only access the root directory and below. If the
202
+ # `RootDirectory` &gt; `Path` specified does not exist, EFS creates it
203
+ # and applies the `CreationInfo` settings when a client connects to an
204
+ # access point. When specifying a `RootDirectory`, you need to provide
205
+ # the `Path`, and the `CreationInfo` is optional.
206
+ # @return [Types::RootDirectory]
207
+ #
208
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateAccessPointRequest AWS API Documentation
209
+ #
210
+ class CreateAccessPointRequest < Struct.new(
211
+ :client_token,
212
+ :tags,
213
+ :file_system_id,
214
+ :posix_user,
215
+ :root_directory)
216
+ include Aws::Structure
217
+ end
218
+
28
219
  # @note When making an API call, you may pass CreateFileSystemRequest
29
220
  # data as a hash:
30
221
  #
@@ -46,6 +237,9 @@ module Aws::EFS
46
237
  # @!attribute [rw] creation_token
47
238
  # A string of up to 64 ASCII characters. Amazon EFS uses this to
48
239
  # ensure idempotent creation.
240
+ #
241
+ # **A suitable default value is auto-generated.** You should normally
242
+ # not need to pass this option.
49
243
  # @return [String]
50
244
  #
51
245
  # @!attribute [rw] performance_mode
@@ -208,6 +402,87 @@ module Aws::EFS
208
402
  include Aws::Structure
209
403
  end
210
404
 
405
+ # Required if the `RootDirectory` &gt; `Path` specified does not exist.
406
+ # Specifies the POSIX IDs and permissions to apply to the access
407
+ # point's `RootDirectory` &gt; `Path`. If the access point root
408
+ # directory does not exist, EFS creates it with these settings when a
409
+ # client connects to the access point. When specifying `CreationInfo`,
410
+ # you must include values for all properties.
411
+ #
412
+ # If you do not provide `CreationInfo` and the specified `RootDirectory`
413
+ # does not exist, attempts to mount the file system using the access
414
+ # point will fail.
415
+ #
416
+ # @note When making an API call, you may pass CreationInfo
417
+ # data as a hash:
418
+ #
419
+ # {
420
+ # owner_uid: 1, # required
421
+ # owner_gid: 1, # required
422
+ # permissions: "Permissions", # required
423
+ # }
424
+ #
425
+ # @!attribute [rw] owner_uid
426
+ # Specifies the POSIX user ID to apply to the `RootDirectory`. Accepts
427
+ # values from 0 to 2^32 (4294967295).
428
+ # @return [Integer]
429
+ #
430
+ # @!attribute [rw] owner_gid
431
+ # Specifies the POSIX group ID to apply to the `RootDirectory`.
432
+ # Accepts values from 0 to 2^32 (4294967295).
433
+ # @return [Integer]
434
+ #
435
+ # @!attribute [rw] permissions
436
+ # Specifies the POSIX permissions to apply to the `RootDirectory`, in
437
+ # the format of an octal number representing the file's mode bits.
438
+ # @return [String]
439
+ #
440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreationInfo AWS API Documentation
441
+ #
442
+ class CreationInfo < Struct.new(
443
+ :owner_uid,
444
+ :owner_gid,
445
+ :permissions)
446
+ include Aws::Structure
447
+ end
448
+
449
+ # @note When making an API call, you may pass DeleteAccessPointRequest
450
+ # data as a hash:
451
+ #
452
+ # {
453
+ # access_point_id: "AccessPointId", # required
454
+ # }
455
+ #
456
+ # @!attribute [rw] access_point_id
457
+ # The ID of the access point that you want to delete.
458
+ # @return [String]
459
+ #
460
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteAccessPointRequest AWS API Documentation
461
+ #
462
+ class DeleteAccessPointRequest < Struct.new(
463
+ :access_point_id)
464
+ include Aws::Structure
465
+ end
466
+
467
+ # @note When making an API call, you may pass DeleteFileSystemPolicyRequest
468
+ # data as a hash:
469
+ #
470
+ # {
471
+ # file_system_id: "FileSystemId", # required
472
+ # }
473
+ #
474
+ # @!attribute [rw] file_system_id
475
+ # Specifies the EFS file system for which to delete the
476
+ # `FileSystemPolicy`.
477
+ # @return [String]
478
+ #
479
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteFileSystemPolicyRequest AWS API Documentation
480
+ #
481
+ class DeleteFileSystemPolicyRequest < Struct.new(
482
+ :file_system_id)
483
+ include Aws::Structure
484
+ end
485
+
211
486
  # @note When making an API call, you may pass DeleteFileSystemRequest
212
487
  # data as a hash:
213
488
  #
@@ -285,6 +560,86 @@ module Aws::EFS
285
560
  include Aws::Structure
286
561
  end
287
562
 
563
+ # @note When making an API call, you may pass DescribeAccessPointsRequest
564
+ # data as a hash:
565
+ #
566
+ # {
567
+ # max_results: 1,
568
+ # next_token: "Token",
569
+ # access_point_id: "AccessPointId",
570
+ # file_system_id: "FileSystemId",
571
+ # }
572
+ #
573
+ # @!attribute [rw] max_results
574
+ # (Optional) When retrieving all access points for a file system, you
575
+ # can optionally specify the `MaxItems` parameter to limit the number
576
+ # of objects returned in a response. The default value is 100.
577
+ # @return [Integer]
578
+ #
579
+ # @!attribute [rw] next_token
580
+ # `NextToken` is present if the response is paginated. You can use
581
+ # `NextMarker` in the subsequent request to fetch the next page of
582
+ # access point descriptions.
583
+ # @return [String]
584
+ #
585
+ # @!attribute [rw] access_point_id
586
+ # (Optional) Specifies an EFS access point to describe in the
587
+ # response; mutually exclusive with `FileSystemId`.
588
+ # @return [String]
589
+ #
590
+ # @!attribute [rw] file_system_id
591
+ # (Optional) If you provide a `FileSystemId`, EFS returns all access
592
+ # points for that file system; mutually exclusive with
593
+ # `AccessPointId`.
594
+ # @return [String]
595
+ #
596
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeAccessPointsRequest AWS API Documentation
597
+ #
598
+ class DescribeAccessPointsRequest < Struct.new(
599
+ :max_results,
600
+ :next_token,
601
+ :access_point_id,
602
+ :file_system_id)
603
+ include Aws::Structure
604
+ end
605
+
606
+ # @!attribute [rw] access_points
607
+ # An array of access point descriptions.
608
+ # @return [Array<Types::AccessPointDescription>]
609
+ #
610
+ # @!attribute [rw] next_token
611
+ # Present if there are more access points than returned in the
612
+ # response. You can use the NextMarker in the subsequent request to
613
+ # fetch the additional descriptions.
614
+ # @return [String]
615
+ #
616
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeAccessPointsResponse AWS API Documentation
617
+ #
618
+ class DescribeAccessPointsResponse < Struct.new(
619
+ :access_points,
620
+ :next_token)
621
+ include Aws::Structure
622
+ end
623
+
624
+ # @note When making an API call, you may pass DescribeFileSystemPolicyRequest
625
+ # data as a hash:
626
+ #
627
+ # {
628
+ # file_system_id: "FileSystemId", # required
629
+ # }
630
+ #
631
+ # @!attribute [rw] file_system_id
632
+ # Specifies which EFS file system to retrieve the `FileSystemPolicy`
633
+ # for.
634
+ # @return [String]
635
+ #
636
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeFileSystemPolicyRequest AWS API Documentation
637
+ #
638
+ class DescribeFileSystemPolicyRequest < Struct.new(
639
+ :file_system_id)
640
+ include Aws::Structure
641
+ end
642
+
288
643
  # @note When making an API call, you may pass DescribeFileSystemsRequest
289
644
  # data as a hash:
290
645
  #
@@ -297,9 +652,9 @@ module Aws::EFS
297
652
  #
298
653
  # @!attribute [rw] max_items
299
654
  # (Optional) Specifies the maximum number of file systems to return in
300
- # the response (integer). Currently, this number is automatically set
301
- # to 10, and other values are ignored. The response is paginated at 10
302
- # per page if you have more than 10 file systems.
655
+ # the response (integer). This number is automatically set to 100. The
656
+ # response is paginated at 100 per page if you have more than 100 file
657
+ # systems.
303
658
  # @return [Integer]
304
659
  #
305
660
  # @!attribute [rw] marker
@@ -409,13 +764,14 @@ module Aws::EFS
409
764
  # marker: "Marker",
410
765
  # file_system_id: "FileSystemId",
411
766
  # mount_target_id: "MountTargetId",
767
+ # access_point_id: "AccessPointId",
412
768
  # }
413
769
  #
414
770
  # @!attribute [rw] max_items
415
771
  # (Optional) Maximum number of mount targets to return in the
416
772
  # response. Currently, this number is automatically set to 10, and
417
- # other values are ignored. The response is paginated at 10 per page
418
- # if you have more than 10 mount targets.
773
+ # other values are ignored. The response is paginated at 100 per page
774
+ # if you have more than 100 mount targets.
419
775
  # @return [Integer]
420
776
  #
421
777
  # @!attribute [rw] marker
@@ -427,14 +783,22 @@ module Aws::EFS
427
783
  #
428
784
  # @!attribute [rw] file_system_id
429
785
  # (Optional) ID of the file system whose mount targets you want to
430
- # list (String). It must be included in your request if
431
- # `MountTargetId` is not included.
786
+ # list (String). It must be included in your request if an
787
+ # `AccessPointId` or `MountTargetId` is not included. Accepts either a
788
+ # file system ID or ARN as input.
432
789
  # @return [String]
433
790
  #
434
791
  # @!attribute [rw] mount_target_id
435
792
  # (Optional) ID of the mount target that you want to have described
436
793
  # (String). It must be included in your request if `FileSystemId` is
437
- # not included.
794
+ # not included. Accepts either a mount target ID or ARN as input.
795
+ # @return [String]
796
+ #
797
+ # @!attribute [rw] access_point_id
798
+ # (Optional) The ID of the access point whose mount targets that you
799
+ # want to list. It must be included in your request if a
800
+ # `FileSystemId` or `MountTargetId` is not included in your request.
801
+ # Accepts either an access point ID or ARN as input.
438
802
  # @return [String]
439
803
  #
440
804
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeMountTargetsRequest AWS API Documentation
@@ -443,7 +807,8 @@ module Aws::EFS
443
807
  :max_items,
444
808
  :marker,
445
809
  :file_system_id,
446
- :mount_target_id)
810
+ :mount_target_id,
811
+ :access_point_id)
447
812
  include Aws::Structure
448
813
  end
449
814
 
@@ -483,9 +848,9 @@ module Aws::EFS
483
848
  #
484
849
  # @!attribute [rw] max_items
485
850
  # (Optional) The maximum number of file system tags to return in the
486
- # response. Currently, this number is automatically set to 10, and
487
- # other values are ignored. The response is paginated at 10 per page
488
- # if you have more than 10 tags.
851
+ # response. Currently, this number is automatically set to 100, and
852
+ # other values are ignored. The response is paginated at 100 per page
853
+ # if you have more than 100 tags.
489
854
  # @return [Integer]
490
855
  #
491
856
  # @!attribute [rw] marker
@@ -716,6 +1081,23 @@ module Aws::EFS
716
1081
  include Aws::Structure
717
1082
  end
718
1083
 
1084
+ # @!attribute [rw] file_system_id
1085
+ # Specifies the EFS file system to which the `FileSystemPolicy`
1086
+ # applies.
1087
+ # @return [String]
1088
+ #
1089
+ # @!attribute [rw] policy
1090
+ # The JSON formatted `FileSystemPolicy` for the EFS file system.
1091
+ # @return [String]
1092
+ #
1093
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/FileSystemPolicyDescription AWS API Documentation
1094
+ #
1095
+ class FileSystemPolicyDescription < Struct.new(
1096
+ :file_system_id,
1097
+ :policy)
1098
+ include Aws::Structure
1099
+ end
1100
+
719
1101
  # The latest known metered size (in bytes) of data stored in the file
720
1102
  # system, in its `Value` field, and the time at which that size was
721
1103
  # determined in its `Timestamp` field. The value doesn't represent the
@@ -827,6 +1209,25 @@ module Aws::EFS
827
1209
  include Aws::Structure
828
1210
  end
829
1211
 
1212
+ # Returned if the `FileSystemPolicy` is is malformed or contains an
1213
+ # error such as an invalid parameter value or a missing required
1214
+ # parameter. Returned in the case of a policy lockout safety check
1215
+ # error.
1216
+ #
1217
+ # @!attribute [rw] error_code
1218
+ # @return [String]
1219
+ #
1220
+ # @!attribute [rw] message
1221
+ # @return [String]
1222
+ #
1223
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/InvalidPolicyException AWS API Documentation
1224
+ #
1225
+ class InvalidPolicyException < Struct.new(
1226
+ :error_code,
1227
+ :message)
1228
+ include Aws::Structure
1229
+ end
1230
+
830
1231
  # Returned if the request specified an `IpAddress` that is already in
831
1232
  # use in the subnet.
832
1233
  #
@@ -880,6 +1281,59 @@ module Aws::EFS
880
1281
  include Aws::Structure
881
1282
  end
882
1283
 
1284
+ # @note When making an API call, you may pass ListTagsForResourceRequest
1285
+ # data as a hash:
1286
+ #
1287
+ # {
1288
+ # resource_id: "ResourceId", # required
1289
+ # max_results: 1,
1290
+ # next_token: "Token",
1291
+ # }
1292
+ #
1293
+ # @!attribute [rw] resource_id
1294
+ # Specifies the EFS resource you want to retrieve tags for. You can
1295
+ # retrieve tags for EFS file systems and access points using this API
1296
+ # endpoint.
1297
+ # @return [String]
1298
+ #
1299
+ # @!attribute [rw] max_results
1300
+ # (Optional) Specifies the maximum number of tag objects to return in
1301
+ # the response. The default value is 100.
1302
+ # @return [Integer]
1303
+ #
1304
+ # @!attribute [rw] next_token
1305
+ # You can use `NextToken` in a subsequent request to fetch the next
1306
+ # page of access point descriptions if the response payload was
1307
+ # paginated.
1308
+ # @return [String]
1309
+ #
1310
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/ListTagsForResourceRequest AWS API Documentation
1311
+ #
1312
+ class ListTagsForResourceRequest < Struct.new(
1313
+ :resource_id,
1314
+ :max_results,
1315
+ :next_token)
1316
+ include Aws::Structure
1317
+ end
1318
+
1319
+ # @!attribute [rw] tags
1320
+ # An array of the tags for the specified EFS resource.
1321
+ # @return [Array<Types::Tag>]
1322
+ #
1323
+ # @!attribute [rw] next_token
1324
+ # `NextToken` is present if the response payload is paginated. You can
1325
+ # use `NextToken` in a subsequent request to fetch the next page of
1326
+ # access point descriptions.
1327
+ # @return [String]
1328
+ #
1329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/ListTagsForResourceResponse AWS API Documentation
1330
+ #
1331
+ class ListTagsForResourceResponse < Struct.new(
1332
+ :tags,
1333
+ :next_token)
1334
+ include Aws::Structure
1335
+ end
1336
+
883
1337
  # @note When making an API call, you may pass ModifyMountTargetSecurityGroupsRequest
884
1338
  # data as a hash:
885
1339
  #
@@ -953,6 +1407,21 @@ module Aws::EFS
953
1407
  # created the mount target.
954
1408
  # @return [String]
955
1409
  #
1410
+ # @!attribute [rw] availability_zone_id
1411
+ # The unique and consistent identifier of the Availability Zone (AZ)
1412
+ # that the mount target resides in. For example, `use1-az1` is an AZ
1413
+ # ID for the us-east-1 Region and it has the same location in every
1414
+ # AWS account.
1415
+ # @return [String]
1416
+ #
1417
+ # @!attribute [rw] availability_zone_name
1418
+ # The name of the Availability Zone (AZ) that the mount target resides
1419
+ # in. AZs are independently mapped to names for each AWS account. For
1420
+ # example, the Availability Zone `us-east-1a` for your AWS account
1421
+ # might not be the same location as `us-east-1a` for another AWS
1422
+ # account.
1423
+ # @return [String]
1424
+ #
956
1425
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/MountTargetDescription AWS API Documentation
957
1426
  #
958
1427
  class MountTargetDescription < Struct.new(
@@ -962,7 +1431,9 @@ module Aws::EFS
962
1431
  :subnet_id,
963
1432
  :life_cycle_state,
964
1433
  :ip_address,
965
- :network_interface_id)
1434
+ :network_interface_id,
1435
+ :availability_zone_id,
1436
+ :availability_zone_name)
966
1437
  include Aws::Structure
967
1438
  end
968
1439
 
@@ -1025,6 +1496,106 @@ module Aws::EFS
1025
1496
  include Aws::Structure
1026
1497
  end
1027
1498
 
1499
+ # Returned if the default file system policy is in effect for the EFS
1500
+ # file system specified.
1501
+ #
1502
+ # @!attribute [rw] error_code
1503
+ # @return [String]
1504
+ #
1505
+ # @!attribute [rw] message
1506
+ # @return [String]
1507
+ #
1508
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PolicyNotFound AWS API Documentation
1509
+ #
1510
+ class PolicyNotFound < Struct.new(
1511
+ :error_code,
1512
+ :message)
1513
+ include Aws::Structure
1514
+ end
1515
+
1516
+ # The full POSIX identity, including the user ID, group ID, and any
1517
+ # secondary group IDs, on the access point that is used for all file
1518
+ # system operations performed by NFS clients using the access point.
1519
+ #
1520
+ # @note When making an API call, you may pass PosixUser
1521
+ # data as a hash:
1522
+ #
1523
+ # {
1524
+ # uid: 1, # required
1525
+ # gid: 1, # required
1526
+ # secondary_gids: [1],
1527
+ # }
1528
+ #
1529
+ # @!attribute [rw] uid
1530
+ # The POSIX user ID used for all file system operations using this
1531
+ # access point.
1532
+ # @return [Integer]
1533
+ #
1534
+ # @!attribute [rw] gid
1535
+ # The POSIX group ID used for all file system operations using this
1536
+ # access point.
1537
+ # @return [Integer]
1538
+ #
1539
+ # @!attribute [rw] secondary_gids
1540
+ # Secondary POSIX group IDs used for all file system operations using
1541
+ # this access point.
1542
+ # @return [Array<Integer>]
1543
+ #
1544
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PosixUser AWS API Documentation
1545
+ #
1546
+ class PosixUser < Struct.new(
1547
+ :uid,
1548
+ :gid,
1549
+ :secondary_gids)
1550
+ include Aws::Structure
1551
+ end
1552
+
1553
+ # @note When making an API call, you may pass PutFileSystemPolicyRequest
1554
+ # data as a hash:
1555
+ #
1556
+ # {
1557
+ # file_system_id: "FileSystemId", # required
1558
+ # policy: "Policy", # required
1559
+ # bypass_policy_lockout_safety_check: false,
1560
+ # }
1561
+ #
1562
+ # @!attribute [rw] file_system_id
1563
+ # The ID of the EFS file system that you want to create or update the
1564
+ # `FileSystemPolicy` for.
1565
+ # @return [String]
1566
+ #
1567
+ # @!attribute [rw] policy
1568
+ # The `FileSystemPolicy` that you're creating. Accepts a JSON
1569
+ # formatted policy definition. To find out more about the elements
1570
+ # that make up a file system policy, see [EFS Resource-based
1571
+ # Policies][1].
1572
+ #
1573
+ #
1574
+ #
1575
+ # [1]: https://docs.aws.amazon.com/efs/latest/ug/access-control-overview.html#access-control-manage-access-intro-resource-policies
1576
+ # @return [String]
1577
+ #
1578
+ # @!attribute [rw] bypass_policy_lockout_safety_check
1579
+ # (Optional) A flag to indicate whether to bypass the
1580
+ # `FileSystemPolicy` lockout safety check. The policy lockout safety
1581
+ # check determines whether the policy in the request will prevent the
1582
+ # principal making the request will be locked out from making future
1583
+ # `PutFileSystemPolicy` requests on the file system. Set
1584
+ # `BypassPolicyLockoutSafetyCheck` to `True` only when you intend to
1585
+ # prevent the principal that is making the request from making a
1586
+ # subsequent `PutFileSystemPolicy` request on the file system. The
1587
+ # default value is False.
1588
+ # @return [Boolean]
1589
+ #
1590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutFileSystemPolicyRequest AWS API Documentation
1591
+ #
1592
+ class PutFileSystemPolicyRequest < Struct.new(
1593
+ :file_system_id,
1594
+ :policy,
1595
+ :bypass_policy_lockout_safety_check)
1596
+ include Aws::Structure
1597
+ end
1598
+
1028
1599
  # @note When making an API call, you may pass PutLifecycleConfigurationRequest
1029
1600
  # data as a hash:
1030
1601
  #
@@ -1057,6 +1628,54 @@ module Aws::EFS
1057
1628
  include Aws::Structure
1058
1629
  end
1059
1630
 
1631
+ # Specifies the directory on the Amazon EFS file system that the access
1632
+ # point provides access to. The access point exposes the specified file
1633
+ # system path as the root directory of your file system to applications
1634
+ # using the access point. NFS clients using the access point can only
1635
+ # access data in the access point's `RootDirectory` and it's
1636
+ # subdirectories.
1637
+ #
1638
+ # @note When making an API call, you may pass RootDirectory
1639
+ # data as a hash:
1640
+ #
1641
+ # {
1642
+ # path: "Path",
1643
+ # creation_info: {
1644
+ # owner_uid: 1, # required
1645
+ # owner_gid: 1, # required
1646
+ # permissions: "Permissions", # required
1647
+ # },
1648
+ # }
1649
+ #
1650
+ # @!attribute [rw] path
1651
+ # Specifies the path on the EFS file system to expose as the root
1652
+ # directory to NFS clients using the access point to access the EFS
1653
+ # file system. A path can have up to four subdirectories. If the
1654
+ # specified path does not exist, you are required to provide the
1655
+ # `CreationInfo`.
1656
+ # @return [String]
1657
+ #
1658
+ # @!attribute [rw] creation_info
1659
+ # (Optional) Specifies the POSIX IDs and permissions to apply to the
1660
+ # access point's `RootDirectory`. If the `RootDirectory` &gt; `Path`
1661
+ # specified does not exist, EFS creates the root directory using the
1662
+ # `CreationInfo` settings when a client connects to an access point.
1663
+ # When specifying the `CreationInfo`, you must provide values for all
1664
+ # properties.
1665
+ #
1666
+ # If you do not provide `CreationInfo` and the specified
1667
+ # `RootDirectory` &gt; `Path` does not exist, attempts to mount the
1668
+ # file system using the access point will fail.
1669
+ # @return [Types::CreationInfo]
1670
+ #
1671
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/RootDirectory AWS API Documentation
1672
+ #
1673
+ class RootDirectory < Struct.new(
1674
+ :path,
1675
+ :creation_info)
1676
+ include Aws::Structure
1677
+ end
1678
+
1060
1679
  # Returned if the size of `SecurityGroups` specified in the request is
1061
1680
  # greater than five.
1062
1681
  #
@@ -1136,6 +1755,35 @@ module Aws::EFS
1136
1755
  include Aws::Structure
1137
1756
  end
1138
1757
 
1758
+ # @note When making an API call, you may pass TagResourceRequest
1759
+ # data as a hash:
1760
+ #
1761
+ # {
1762
+ # resource_id: "ResourceId", # required
1763
+ # tags: [ # required
1764
+ # {
1765
+ # key: "TagKey", # required
1766
+ # value: "TagValue", # required
1767
+ # },
1768
+ # ],
1769
+ # }
1770
+ #
1771
+ # @!attribute [rw] resource_id
1772
+ # The ID specifying the EFS resource that you want to create a tag
1773
+ # for.
1774
+ # @return [String]
1775
+ #
1776
+ # @!attribute [rw] tags
1777
+ # @return [Array<Types::Tag>]
1778
+ #
1779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/TagResourceRequest AWS API Documentation
1780
+ #
1781
+ class TagResourceRequest < Struct.new(
1782
+ :resource_id,
1783
+ :tags)
1784
+ include Aws::Structure
1785
+ end
1786
+
1139
1787
  # Returned if the throughput mode or amount of provisioned throughput
1140
1788
  # can't be changed because the throughput limit of 1024 MiB/s has been
1141
1789
  # reached.
@@ -1185,6 +1833,31 @@ module Aws::EFS
1185
1833
  include Aws::Structure
1186
1834
  end
1187
1835
 
1836
+ # @note When making an API call, you may pass UntagResourceRequest
1837
+ # data as a hash:
1838
+ #
1839
+ # {
1840
+ # resource_id: "ResourceId", # required
1841
+ # tag_keys: ["TagKey"],
1842
+ # }
1843
+ #
1844
+ # @!attribute [rw] resource_id
1845
+ # Specifies the EFS resource that you want to remove tags from.
1846
+ # @return [String]
1847
+ #
1848
+ # @!attribute [rw] tag_keys
1849
+ # The keys of the key:value tag pairs that you want to remove from the
1850
+ # specified EFS resource.
1851
+ # @return [Array<String>]
1852
+ #
1853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/UntagResourceRequest AWS API Documentation
1854
+ #
1855
+ class UntagResourceRequest < Struct.new(
1856
+ :resource_id,
1857
+ :tag_keys)
1858
+ include Aws::Structure
1859
+ end
1860
+
1188
1861
  # @note When making an API call, you may pass UpdateFileSystemRequest
1189
1862
  # data as a hash:
1190
1863
  #