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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: '08f39e4477cf65a0e88737d5103585cf7153cf57'
4
- data.tar.gz: 8f8b50e8094319487edf9b822e76047f39be16d8
3
+ metadata.gz: fbeda2dd0335afea17e75ddfd73af8d36519ea00
4
+ data.tar.gz: a1fb190ec422ca905408aedc706fe0451715f3b7
5
5
  SHA512:
6
- metadata.gz: b1dcdcaf77640c1ccd44a3f8a1c5f52382713702290009224cbd50daec0c59497a9482ccf9ece7b2738205dfbefc36bc6ac2558346381987f748fdba6a1b6d0d
7
- data.tar.gz: 96b5f3903dd5274305ac847726adc0151291701195c61ca010160578eaee7d4cd037a7a35dca6ff6c7b1cd9a17a822eb608585bc47678c48d810b245bf4b9952
6
+ metadata.gz: c915c04c36c3bd3bd812f962604601ce45a2323ffd54b8356097fc17a7ffbf2dbcc7cffb0348345229d5391a22f98f42bb72fe5f3c0bdeaff2500805a401a5ee
7
+ data.tar.gz: f920f1b44638f455b5bdf906facdf4fa87c2f2a73eded205c2b5ae7202c180984dc7d9ead448a19fcce9f4625cd36582e5ada8eba418f7f3f26f00ddeb8d7924
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-efs/customizations'
42
42
  # @service
43
43
  module Aws::EFS
44
44
 
45
- GEM_VERSION = '1.23.0'
45
+ GEM_VERSION = '1.24.0'
46
46
 
47
47
  end
@@ -254,6 +254,121 @@ module Aws::EFS
254
254
 
255
255
  # @!group API Operations
256
256
 
257
+ # Creates an EFS access point. An access point is an
258
+ # application-specific view into an EFS file system that applies an
259
+ # operating system user and group, and a file system path, to any file
260
+ # system request made through the access point. The operating system
261
+ # user and group override any identity information provided by the NFS
262
+ # client. The file system path is exposed as the access point's root
263
+ # directory. Applications using the access point can only access data in
264
+ # its own directory and below. To learn more, see [Mounting a File
265
+ # System Using EFS Access Points][1].
266
+ #
267
+ # This operation requires permissions for the
268
+ # `elasticfilesystem:CreateAccessPoint` action.
269
+ #
270
+ #
271
+ #
272
+ # [1]: https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html
273
+ #
274
+ # @option params [required, String] :client_token
275
+ # A string of up to 64 ASCII characters that Amazon EFS uses to ensure
276
+ # idempotent creation.
277
+ #
278
+ # **A suitable default value is auto-generated.** You should normally
279
+ # not need to pass this option.**
280
+ #
281
+ # @option params [Array<Types::Tag>] :tags
282
+ # Creates tags associated with the access point. Each tag is a key-value
283
+ # pair.
284
+ #
285
+ # @option params [required, String] :file_system_id
286
+ # The ID of the EFS file system that the access point provides access
287
+ # to.
288
+ #
289
+ # @option params [Types::PosixUser] :posix_user
290
+ # The operating system user and group applied to all file system
291
+ # requests made using the access point.
292
+ #
293
+ # @option params [Types::RootDirectory] :root_directory
294
+ # Specifies the directory on the Amazon EFS file system that the access
295
+ # point exposes as the root directory of your file system to NFS clients
296
+ # using the access point. The clients using the access point can only
297
+ # access the root directory and below. If the `RootDirectory` &gt;
298
+ # `Path` specified does not exist, EFS creates it and applies the
299
+ # `CreationInfo` settings when a client connects to an access point.
300
+ # When specifying a `RootDirectory`, you need to provide the `Path`, and
301
+ # the `CreationInfo` is optional.
302
+ #
303
+ # @return [Types::AccessPointDescription] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
304
+ #
305
+ # * {Types::AccessPointDescription#client_token #client_token} => String
306
+ # * {Types::AccessPointDescription#name #name} => String
307
+ # * {Types::AccessPointDescription#tags #tags} => Array&lt;Types::Tag&gt;
308
+ # * {Types::AccessPointDescription#access_point_id #access_point_id} => String
309
+ # * {Types::AccessPointDescription#access_point_arn #access_point_arn} => String
310
+ # * {Types::AccessPointDescription#file_system_id #file_system_id} => String
311
+ # * {Types::AccessPointDescription#posix_user #posix_user} => Types::PosixUser
312
+ # * {Types::AccessPointDescription#root_directory #root_directory} => Types::RootDirectory
313
+ # * {Types::AccessPointDescription#owner_id #owner_id} => String
314
+ # * {Types::AccessPointDescription#life_cycle_state #life_cycle_state} => String
315
+ #
316
+ # @example Request syntax with placeholder values
317
+ #
318
+ # resp = client.create_access_point({
319
+ # client_token: "ClientToken", # required
320
+ # tags: [
321
+ # {
322
+ # key: "TagKey", # required
323
+ # value: "TagValue", # required
324
+ # },
325
+ # ],
326
+ # file_system_id: "FileSystemId", # required
327
+ # posix_user: {
328
+ # uid: 1, # required
329
+ # gid: 1, # required
330
+ # secondary_gids: [1],
331
+ # },
332
+ # root_directory: {
333
+ # path: "Path",
334
+ # creation_info: {
335
+ # owner_uid: 1, # required
336
+ # owner_gid: 1, # required
337
+ # permissions: "Permissions", # required
338
+ # },
339
+ # },
340
+ # })
341
+ #
342
+ # @example Response structure
343
+ #
344
+ # resp.client_token #=> String
345
+ # resp.name #=> String
346
+ # resp.tags #=> Array
347
+ # resp.tags[0].key #=> String
348
+ # resp.tags[0].value #=> String
349
+ # resp.access_point_id #=> String
350
+ # resp.access_point_arn #=> String
351
+ # resp.file_system_id #=> String
352
+ # resp.posix_user.uid #=> Integer
353
+ # resp.posix_user.gid #=> Integer
354
+ # resp.posix_user.secondary_gids #=> Array
355
+ # resp.posix_user.secondary_gids[0] #=> Integer
356
+ # resp.root_directory.path #=> String
357
+ # resp.root_directory.creation_info.owner_uid #=> Integer
358
+ # resp.root_directory.creation_info.owner_gid #=> Integer
359
+ # resp.root_directory.creation_info.permissions #=> String
360
+ # resp.owner_id #=> String
361
+ # resp.life_cycle_state #=> String, one of "creating", "available", "updating", "deleting", "deleted"
362
+ #
363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateAccessPoint AWS API Documentation
364
+ #
365
+ # @overload create_access_point(params = {})
366
+ # @param [Hash] params ({})
367
+ def create_access_point(params = {}, options = {})
368
+ req = build_request(:create_access_point, params)
369
+ req.send_request(options)
370
+ end
371
+
257
372
  # Creates a new, empty file system. The operation requires a creation
258
373
  # token in the request that Amazon EFS uses to ensure idempotent
259
374
  # creation (calling the operation with same creation token has no
@@ -318,6 +433,9 @@ module Aws::EFS
318
433
  # A string of up to 64 ASCII characters. Amazon EFS uses this to ensure
319
434
  # idempotent creation.
320
435
  #
436
+ # **A suitable default value is auto-generated.** You should normally
437
+ # not need to pass this option.**
438
+ #
321
439
  # @option params [String] :performance_mode
322
440
  # The performance mode of the file system. We recommend `generalPurpose`
323
441
  # performance mode for most file systems. File systems using the `maxIO`
@@ -627,6 +745,8 @@ module Aws::EFS
627
745
  # * {Types::MountTargetDescription#life_cycle_state #life_cycle_state} => String
628
746
  # * {Types::MountTargetDescription#ip_address #ip_address} => String
629
747
  # * {Types::MountTargetDescription#network_interface_id #network_interface_id} => String
748
+ # * {Types::MountTargetDescription#availability_zone_id #availability_zone_id} => String
749
+ # * {Types::MountTargetDescription#availability_zone_name #availability_zone_name} => String
630
750
  #
631
751
  #
632
752
  # @example Example: To create a new mount target
@@ -667,6 +787,8 @@ module Aws::EFS
667
787
  # resp.life_cycle_state #=> String, one of "creating", "available", "updating", "deleting", "deleted"
668
788
  # resp.ip_address #=> String
669
789
  # resp.network_interface_id #=> String
790
+ # resp.availability_zone_id #=> String
791
+ # resp.availability_zone_name #=> String
670
792
  #
671
793
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateMountTarget AWS API Documentation
672
794
  #
@@ -733,6 +855,34 @@ module Aws::EFS
733
855
  req.send_request(options)
734
856
  end
735
857
 
858
+ # Deletes the specified access point. After deletion is complete, new
859
+ # clients can no longer connect to the access points. Clients connected
860
+ # to the access point at the time of deletion will continue to function
861
+ # until they terminate their connection.
862
+ #
863
+ # This operation requires permissions for the
864
+ # `elasticfilesystem:DeleteAccessPoint` action.
865
+ #
866
+ # @option params [required, String] :access_point_id
867
+ # The ID of the access point that you want to delete.
868
+ #
869
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
870
+ #
871
+ # @example Request syntax with placeholder values
872
+ #
873
+ # resp = client.delete_access_point({
874
+ # access_point_id: "AccessPointId", # required
875
+ # })
876
+ #
877
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteAccessPoint AWS API Documentation
878
+ #
879
+ # @overload delete_access_point(params = {})
880
+ # @param [Hash] params ({})
881
+ def delete_access_point(params = {}, options = {})
882
+ req = build_request(:delete_access_point, params)
883
+ req.send_request(options)
884
+ end
885
+
736
886
  # Deletes a file system, permanently severing access to its contents.
737
887
  # Upon return, the file system no longer exists and you can't access
738
888
  # any contents of the deleted file system.
@@ -782,6 +932,39 @@ module Aws::EFS
782
932
  req.send_request(options)
783
933
  end
784
934
 
935
+ # Deletes the `FileSystemPolicy` for the specified file system. The
936
+ # default `FileSystemPolicy` goes into effect once the existing policy
937
+ # is deleted. For more information about the default file system policy,
938
+ # see [Using Resource-based Policies with EFS][1].
939
+ #
940
+ # This operation requires permissions for the
941
+ # `elasticfilesystem:DeleteFileSystemPolicy` action.
942
+ #
943
+ #
944
+ #
945
+ # [1]: https://docs.aws.amazon.com/efs/latest/ug/res-based-policies-efs.html
946
+ #
947
+ # @option params [required, String] :file_system_id
948
+ # Specifies the EFS file system for which to delete the
949
+ # `FileSystemPolicy`.
950
+ #
951
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
952
+ #
953
+ # @example Request syntax with placeholder values
954
+ #
955
+ # resp = client.delete_file_system_policy({
956
+ # file_system_id: "FileSystemId", # required
957
+ # })
958
+ #
959
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteFileSystemPolicy AWS API Documentation
960
+ #
961
+ # @overload delete_file_system_policy(params = {})
962
+ # @param [Hash] params ({})
963
+ def delete_file_system_policy(params = {}, options = {})
964
+ req = build_request(:delete_file_system_policy, params)
965
+ req.send_request(options)
966
+ end
967
+
785
968
  # Deletes the specified mount target.
786
969
  #
787
970
  # This operation forcibly breaks any mounts of the file system by using
@@ -893,6 +1076,113 @@ module Aws::EFS
893
1076
  req.send_request(options)
894
1077
  end
895
1078
 
1079
+ # Returns the description of a specific Amazon EFS access point if the
1080
+ # `AccessPointId` is provided. If you provide an EFS `FileSystemId`, it
1081
+ # returns descriptions of all access points for that file system. You
1082
+ # can provide either an `AccessPointId` or a `FileSystemId` in the
1083
+ # request, but not both.
1084
+ #
1085
+ # This operation requires permissions for the
1086
+ # `elasticfilesystem:DescribeAccessPoints` action.
1087
+ #
1088
+ # @option params [Integer] :max_results
1089
+ # (Optional) When retrieving all access points for a file system, you
1090
+ # can optionally specify the `MaxItems` parameter to limit the number of
1091
+ # objects returned in a response. The default value is 100.
1092
+ #
1093
+ # @option params [String] :next_token
1094
+ # `NextToken` is present if the response is paginated. You can use
1095
+ # `NextMarker` in the subsequent request to fetch the next page of
1096
+ # access point descriptions.
1097
+ #
1098
+ # @option params [String] :access_point_id
1099
+ # (Optional) Specifies an EFS access point to describe in the response;
1100
+ # mutually exclusive with `FileSystemId`.
1101
+ #
1102
+ # @option params [String] :file_system_id
1103
+ # (Optional) If you provide a `FileSystemId`, EFS returns all access
1104
+ # points for that file system; mutually exclusive with `AccessPointId`.
1105
+ #
1106
+ # @return [Types::DescribeAccessPointsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1107
+ #
1108
+ # * {Types::DescribeAccessPointsResponse#access_points #access_points} => Array&lt;Types::AccessPointDescription&gt;
1109
+ # * {Types::DescribeAccessPointsResponse#next_token #next_token} => String
1110
+ #
1111
+ # @example Request syntax with placeholder values
1112
+ #
1113
+ # resp = client.describe_access_points({
1114
+ # max_results: 1,
1115
+ # next_token: "Token",
1116
+ # access_point_id: "AccessPointId",
1117
+ # file_system_id: "FileSystemId",
1118
+ # })
1119
+ #
1120
+ # @example Response structure
1121
+ #
1122
+ # resp.access_points #=> Array
1123
+ # resp.access_points[0].client_token #=> String
1124
+ # resp.access_points[0].name #=> String
1125
+ # resp.access_points[0].tags #=> Array
1126
+ # resp.access_points[0].tags[0].key #=> String
1127
+ # resp.access_points[0].tags[0].value #=> String
1128
+ # resp.access_points[0].access_point_id #=> String
1129
+ # resp.access_points[0].access_point_arn #=> String
1130
+ # resp.access_points[0].file_system_id #=> String
1131
+ # resp.access_points[0].posix_user.uid #=> Integer
1132
+ # resp.access_points[0].posix_user.gid #=> Integer
1133
+ # resp.access_points[0].posix_user.secondary_gids #=> Array
1134
+ # resp.access_points[0].posix_user.secondary_gids[0] #=> Integer
1135
+ # resp.access_points[0].root_directory.path #=> String
1136
+ # resp.access_points[0].root_directory.creation_info.owner_uid #=> Integer
1137
+ # resp.access_points[0].root_directory.creation_info.owner_gid #=> Integer
1138
+ # resp.access_points[0].root_directory.creation_info.permissions #=> String
1139
+ # resp.access_points[0].owner_id #=> String
1140
+ # resp.access_points[0].life_cycle_state #=> String, one of "creating", "available", "updating", "deleting", "deleted"
1141
+ # resp.next_token #=> String
1142
+ #
1143
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeAccessPoints AWS API Documentation
1144
+ #
1145
+ # @overload describe_access_points(params = {})
1146
+ # @param [Hash] params ({})
1147
+ def describe_access_points(params = {}, options = {})
1148
+ req = build_request(:describe_access_points, params)
1149
+ req.send_request(options)
1150
+ end
1151
+
1152
+ # Returns the `FileSystemPolicy` for the specified EFS file system.
1153
+ #
1154
+ # This operation requires permissions for the
1155
+ # `elasticfilesystem:DescribeFileSystemPolicy` action.
1156
+ #
1157
+ # @option params [required, String] :file_system_id
1158
+ # Specifies which EFS file system to retrieve the `FileSystemPolicy`
1159
+ # for.
1160
+ #
1161
+ # @return [Types::FileSystemPolicyDescription] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1162
+ #
1163
+ # * {Types::FileSystemPolicyDescription#file_system_id #file_system_id} => String
1164
+ # * {Types::FileSystemPolicyDescription#policy #policy} => String
1165
+ #
1166
+ # @example Request syntax with placeholder values
1167
+ #
1168
+ # resp = client.describe_file_system_policy({
1169
+ # file_system_id: "FileSystemId", # required
1170
+ # })
1171
+ #
1172
+ # @example Response structure
1173
+ #
1174
+ # resp.file_system_id #=> String
1175
+ # resp.policy #=> String
1176
+ #
1177
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeFileSystemPolicy AWS API Documentation
1178
+ #
1179
+ # @overload describe_file_system_policy(params = {})
1180
+ # @param [Hash] params ({})
1181
+ def describe_file_system_policy(params = {}, options = {})
1182
+ req = build_request(:describe_file_system_policy, params)
1183
+ req.send_request(options)
1184
+ end
1185
+
896
1186
  # Returns the description of a specific Amazon EFS file system if either
897
1187
  # the file system `CreationToken` or the `FileSystemId` is provided.
898
1188
  # Otherwise, it returns descriptions of all file systems owned by the
@@ -922,9 +1212,9 @@ module Aws::EFS
922
1212
  #
923
1213
  # @option params [Integer] :max_items
924
1214
  # (Optional) Specifies the maximum number of file systems to return in
925
- # the response (integer). Currently, this number is automatically set to
926
- # 10, and other values are ignored. The response is paginated at 10 per
927
- # page if you have more than 10 file systems.
1215
+ # the response (integer). This number is automatically set to 100. The
1216
+ # response is paginated at 100 per page if you have more than 100 file
1217
+ # systems.
928
1218
  #
929
1219
  # @option params [String] :marker
930
1220
  # (Optional) Opaque pagination token returned from a previous
@@ -1148,8 +1438,8 @@ module Aws::EFS
1148
1438
  # @option params [Integer] :max_items
1149
1439
  # (Optional) Maximum number of mount targets to return in the response.
1150
1440
  # Currently, this number is automatically set to 10, and other values
1151
- # are ignored. The response is paginated at 10 per page if you have more
1152
- # than 10 mount targets.
1441
+ # are ignored. The response is paginated at 100 per page if you have
1442
+ # more than 100 mount targets.
1153
1443
  #
1154
1444
  # @option params [String] :marker
1155
1445
  # (Optional) Opaque pagination token returned from a previous
@@ -1158,13 +1448,20 @@ module Aws::EFS
1158
1448
  #
1159
1449
  # @option params [String] :file_system_id
1160
1450
  # (Optional) ID of the file system whose mount targets you want to list
1161
- # (String). It must be included in your request if `MountTargetId` is
1162
- # not included.
1451
+ # (String). It must be included in your request if an `AccessPointId` or
1452
+ # `MountTargetId` is not included. Accepts either a file system ID or
1453
+ # ARN as input.
1163
1454
  #
1164
1455
  # @option params [String] :mount_target_id
1165
1456
  # (Optional) ID of the mount target that you want to have described
1166
1457
  # (String). It must be included in your request if `FileSystemId` is not
1167
- # included.
1458
+ # included. Accepts either a mount target ID or ARN as input.
1459
+ #
1460
+ # @option params [String] :access_point_id
1461
+ # (Optional) The ID of the access point whose mount targets that you
1462
+ # want to list. It must be included in your request if a `FileSystemId`
1463
+ # or `MountTargetId` is not included in your request. Accepts either an
1464
+ # access point ID or ARN as input.
1168
1465
  #
1169
1466
  # @return [Types::DescribeMountTargetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1170
1467
  #
@@ -1203,6 +1500,7 @@ module Aws::EFS
1203
1500
  # marker: "Marker",
1204
1501
  # file_system_id: "FileSystemId",
1205
1502
  # mount_target_id: "MountTargetId",
1503
+ # access_point_id: "AccessPointId",
1206
1504
  # })
1207
1505
  #
1208
1506
  # @example Response structure
@@ -1216,6 +1514,8 @@ module Aws::EFS
1216
1514
  # resp.mount_targets[0].life_cycle_state #=> String, one of "creating", "available", "updating", "deleting", "deleted"
1217
1515
  # resp.mount_targets[0].ip_address #=> String
1218
1516
  # resp.mount_targets[0].network_interface_id #=> String
1517
+ # resp.mount_targets[0].availability_zone_id #=> String
1518
+ # resp.mount_targets[0].availability_zone_name #=> String
1219
1519
  # resp.next_marker #=> String
1220
1520
  #
1221
1521
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeMountTargets AWS API Documentation
@@ -1237,9 +1537,9 @@ module Aws::EFS
1237
1537
  #
1238
1538
  # @option params [Integer] :max_items
1239
1539
  # (Optional) The maximum number of file system tags to return in the
1240
- # response. Currently, this number is automatically set to 10, and other
1241
- # values are ignored. The response is paginated at 10 per page if you
1242
- # have more than 10 tags.
1540
+ # response. Currently, this number is automatically set to 100, and
1541
+ # other values are ignored. The response is paginated at 100 per page if
1542
+ # you have more than 100 tags.
1243
1543
  #
1244
1544
  # @option params [String] :marker
1245
1545
  # (Optional) An opaque pagination token returned from a previous
@@ -1299,6 +1599,54 @@ module Aws::EFS
1299
1599
  req.send_request(options)
1300
1600
  end
1301
1601
 
1602
+ # Lists all tags for a top-level EFS resource. You must provide the ID
1603
+ # of the resource that you want to retrieve the tags for.
1604
+ #
1605
+ # This operation requires permissions for the
1606
+ # `elasticfilesystem:DescribeAccessPoints` action.
1607
+ #
1608
+ # @option params [required, String] :resource_id
1609
+ # Specifies the EFS resource you want to retrieve tags for. You can
1610
+ # retrieve tags for EFS file systems and access points using this API
1611
+ # endpoint.
1612
+ #
1613
+ # @option params [Integer] :max_results
1614
+ # (Optional) Specifies the maximum number of tag objects to return in
1615
+ # the response. The default value is 100.
1616
+ #
1617
+ # @option params [String] :next_token
1618
+ # You can use `NextToken` in a subsequent request to fetch the next page
1619
+ # of access point descriptions if the response payload was paginated.
1620
+ #
1621
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1622
+ #
1623
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1624
+ # * {Types::ListTagsForResourceResponse#next_token #next_token} => String
1625
+ #
1626
+ # @example Request syntax with placeholder values
1627
+ #
1628
+ # resp = client.list_tags_for_resource({
1629
+ # resource_id: "ResourceId", # required
1630
+ # max_results: 1,
1631
+ # next_token: "Token",
1632
+ # })
1633
+ #
1634
+ # @example Response structure
1635
+ #
1636
+ # resp.tags #=> Array
1637
+ # resp.tags[0].key #=> String
1638
+ # resp.tags[0].value #=> String
1639
+ # resp.next_token #=> String
1640
+ #
1641
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/ListTagsForResource AWS API Documentation
1642
+ #
1643
+ # @overload list_tags_for_resource(params = {})
1644
+ # @param [Hash] params ({})
1645
+ def list_tags_for_resource(params = {}, options = {})
1646
+ req = build_request(:list_tags_for_resource, params)
1647
+ req.send_request(options)
1648
+ end
1649
+
1302
1650
  # Modifies the set of security groups in effect for a mount target.
1303
1651
  #
1304
1652
  # When you create a mount target, Amazon EFS also creates a new network
@@ -1353,6 +1701,73 @@ module Aws::EFS
1353
1701
  req.send_request(options)
1354
1702
  end
1355
1703
 
1704
+ # Applies an Amazon EFS `FileSystemPolicy` to an Amazon EFS file system.
1705
+ # A file system policy is an IAM resource-based policy and can contain
1706
+ # multiple policy statements. A file system always has exactly one file
1707
+ # system policy, which can be the default policy or an explicit policy
1708
+ # set or updated using this API operation. When an explicit policy is
1709
+ # set, it overrides the default policy. For more information about the
1710
+ # default file system policy, see [Using Resource-based Policies with
1711
+ # EFS][1].
1712
+ #
1713
+ # This operation requires permissions for the
1714
+ # `elasticfilesystem:PutFileSystemPolicy` action.
1715
+ #
1716
+ #
1717
+ #
1718
+ # [1]: https://docs.aws.amazon.com/efs/latest/ug/res-based-policies-efs.html
1719
+ #
1720
+ # @option params [required, String] :file_system_id
1721
+ # The ID of the EFS file system that you want to create or update the
1722
+ # `FileSystemPolicy` for.
1723
+ #
1724
+ # @option params [required, String] :policy
1725
+ # The `FileSystemPolicy` that you're creating. Accepts a JSON formatted
1726
+ # policy definition. To find out more about the elements that make up a
1727
+ # file system policy, see [EFS Resource-based Policies][1].
1728
+ #
1729
+ #
1730
+ #
1731
+ # [1]: https://docs.aws.amazon.com/efs/latest/ug/access-control-overview.html#access-control-manage-access-intro-resource-policies
1732
+ #
1733
+ # @option params [Boolean] :bypass_policy_lockout_safety_check
1734
+ # (Optional) A flag to indicate whether to bypass the `FileSystemPolicy`
1735
+ # lockout safety check. The policy lockout safety check determines
1736
+ # whether the policy in the request will prevent the principal making
1737
+ # the request will be locked out from making future
1738
+ # `PutFileSystemPolicy` requests on the file system. Set
1739
+ # `BypassPolicyLockoutSafetyCheck` to `True` only when you intend to
1740
+ # prevent the principal that is making the request from making a
1741
+ # subsequent `PutFileSystemPolicy` request on the file system. The
1742
+ # default value is False.
1743
+ #
1744
+ # @return [Types::FileSystemPolicyDescription] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1745
+ #
1746
+ # * {Types::FileSystemPolicyDescription#file_system_id #file_system_id} => String
1747
+ # * {Types::FileSystemPolicyDescription#policy #policy} => String
1748
+ #
1749
+ # @example Request syntax with placeholder values
1750
+ #
1751
+ # resp = client.put_file_system_policy({
1752
+ # file_system_id: "FileSystemId", # required
1753
+ # policy: "Policy", # required
1754
+ # bypass_policy_lockout_safety_check: false,
1755
+ # })
1756
+ #
1757
+ # @example Response structure
1758
+ #
1759
+ # resp.file_system_id #=> String
1760
+ # resp.policy #=> String
1761
+ #
1762
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutFileSystemPolicy AWS API Documentation
1763
+ #
1764
+ # @overload put_file_system_policy(params = {})
1765
+ # @param [Hash] params ({})
1766
+ def put_file_system_policy(params = {}, options = {})
1767
+ req = build_request(:put_file_system_policy, params)
1768
+ req.send_request(options)
1769
+ end
1770
+
1356
1771
  # Enables lifecycle management by creating a new
1357
1772
  # `LifecycleConfiguration` object. A `LifecycleConfiguration` object
1358
1773
  # defines when files in an Amazon EFS file system are automatically
@@ -1448,6 +1863,71 @@ module Aws::EFS
1448
1863
  req.send_request(options)
1449
1864
  end
1450
1865
 
1866
+ # Creates a tag for an EFS resource. You can create tags for EFS file
1867
+ # systems and access points using this API operation.
1868
+ #
1869
+ # This operation requires permissions for the
1870
+ # `elasticfilesystem:TagResource` action.
1871
+ #
1872
+ # @option params [required, String] :resource_id
1873
+ # The ID specifying the EFS resource that you want to create a tag for.
1874
+ #
1875
+ # @option params [required, Array<Types::Tag>] :tags
1876
+ #
1877
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1878
+ #
1879
+ # @example Request syntax with placeholder values
1880
+ #
1881
+ # resp = client.tag_resource({
1882
+ # resource_id: "ResourceId", # required
1883
+ # tags: [ # required
1884
+ # {
1885
+ # key: "TagKey", # required
1886
+ # value: "TagValue", # required
1887
+ # },
1888
+ # ],
1889
+ # })
1890
+ #
1891
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/TagResource AWS API Documentation
1892
+ #
1893
+ # @overload tag_resource(params = {})
1894
+ # @param [Hash] params ({})
1895
+ def tag_resource(params = {}, options = {})
1896
+ req = build_request(:tag_resource, params)
1897
+ req.send_request(options)
1898
+ end
1899
+
1900
+ # Removes tags from an EFS resource. You can remove tags from EFS file
1901
+ # systems and access points using this API operation.
1902
+ #
1903
+ # This operation requires permissions for the
1904
+ # `elasticfilesystem:UntagResource` action.
1905
+ #
1906
+ # @option params [required, String] :resource_id
1907
+ # Specifies the EFS resource that you want to remove tags from.
1908
+ #
1909
+ # @option params [Array<String>] :tag_keys
1910
+ # The keys of the key:value tag pairs that you want to remove from the
1911
+ # specified EFS resource.
1912
+ #
1913
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1914
+ #
1915
+ # @example Request syntax with placeholder values
1916
+ #
1917
+ # resp = client.untag_resource({
1918
+ # resource_id: "ResourceId", # required
1919
+ # tag_keys: ["TagKey"],
1920
+ # })
1921
+ #
1922
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/UntagResource AWS API Documentation
1923
+ #
1924
+ # @overload untag_resource(params = {})
1925
+ # @param [Hash] params ({})
1926
+ def untag_resource(params = {}, options = {})
1927
+ req = build_request(:untag_resource, params)
1928
+ req.send_request(options)
1929
+ end
1930
+
1451
1931
  # Updates the throughput mode or the amount of provisioned throughput of
1452
1932
  # an existing file system.
1453
1933
  #
@@ -1537,7 +2017,7 @@ module Aws::EFS
1537
2017
  params: params,
1538
2018
  config: config)
1539
2019
  context[:gem_name] = 'aws-sdk-efs'
1540
- context[:gem_version] = '1.23.0'
2020
+ context[:gem_version] = '1.24.0'
1541
2021
  Seahorse::Client::Request.new(handlers, context)
1542
2022
  end
1543
2023