aws-sdk-efs 1.23.0 → 1.24.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.
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