aws-sdk-efs 1.7.0 → 1.8.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: b3061fe9f3fef04546c2cbad35c4f732f40e2558
4
- data.tar.gz: dc09a847b1103c91d529c02efbf62a24bd4da5d4
3
+ metadata.gz: 4c9041e4fcf0365fca4b26c0abab4c8fde90f249
4
+ data.tar.gz: 6848635cf17b91d308b494d11e1313259670c9bf
5
5
  SHA512:
6
- metadata.gz: 3bdee6deb6db42322b3813c13e51b456e8b6c8f908d3d21c1cab533b32dbf2257fb83c1e448c24eecc67d36a86401188cfa442ca51c9396cb452dc4c7e3bcc5b
7
- data.tar.gz: 59d7ffff0a5e58f396a7ba549bd27fab1bb5700b1a6a180a798d713dc98fbadb5854aa08b7ac19c481956ff2786a3eb3d0ea400117e3184d7670e4cfc8a2fa2d
6
+ metadata.gz: 4b645ac306541d15ed294b536d703dad56da9a5b2fcb48c25fa9097aaf29a88eb951c83f4f33aa922aa6826c49f0f52246624658b394600c7ce3e371112de37d
7
+ data.tar.gz: caa5a09f81a87f99c0acfba089be875d09154c8e335d355354d8ce5c2751fd0c6352c063a7764304e389774ddb32f76ec12366fe27c47c69d5e7d7dc838d13c8
data/lib/aws-sdk-efs.rb CHANGED
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-efs/customizations'
42
42
  # @service
43
43
  module Aws::EFS
44
44
 
45
- GEM_VERSION = '1.7.0'
45
+ GEM_VERSION = '1.8.0'
46
46
 
47
47
  end
@@ -254,8 +254,8 @@ module Aws::EFS
254
254
  # state to `available`, at which point you can create one or more mount
255
255
  # targets for the file system in your VPC. For more information, see
256
256
  # CreateMountTarget. You mount your Amazon EFS file system on an EC2
257
- # instances in your VPC via the mount target. For more information, see
258
- # [Amazon EFS: How it Works][2].
257
+ # instances in your VPC by using the mount target. For more information,
258
+ # see [Amazon EFS: How it Works][2].
259
259
  #
260
260
  # This operation requires permissions for the
261
261
  # `elasticfilesystem:CreateFileSystem` action.
@@ -388,6 +388,8 @@ module Aws::EFS
388
388
  # resp.number_of_mount_targets #=> Integer
389
389
  # resp.size_in_bytes.value #=> Integer
390
390
  # resp.size_in_bytes.timestamp #=> Time
391
+ # resp.size_in_bytes.value_in_ia #=> Integer
392
+ # resp.size_in_bytes.value_in_standard #=> Integer
391
393
  # resp.performance_mode #=> String, one of "generalPurpose", "maxIO"
392
394
  # resp.encrypted #=> Boolean
393
395
  # resp.kms_key_id #=> String
@@ -404,7 +406,7 @@ module Aws::EFS
404
406
  end
405
407
 
406
408
  # Creates a mount target for a file system. You can then mount the file
407
- # system on EC2 instances via the mount target.
409
+ # system on EC2 instances by using the mount target.
408
410
  #
409
411
  # You can create one mount target in each Availability Zone in your VPC.
410
412
  # All EC2 instances in a VPC within a given Availability Zone share a
@@ -432,9 +434,9 @@ module Aws::EFS
432
434
  # includes, a `MountTargetId` and an `IpAddress`. You use this IP
433
435
  # address when mounting the file system in an EC2 instance. You can also
434
436
  # use the mount target's DNS name when mounting the file system. The
435
- # EC2 instance on which you mount the file system via the mount target
436
- # can resolve the mount target's DNS name to its IP address. For more
437
- # information, see [How it Works: Implementation Overview][2].
437
+ # EC2 instance on which you mount the file system by using the mount
438
+ # target can resolve the mount target's DNS name to its IP address. For
439
+ # more information, see [How it Works: Implementation Overview][2].
438
440
  #
439
441
  # Note that you can create mount targets for a file system in only one
440
442
  # VPC, and there can be only one mount target per Availability Zone.
@@ -487,11 +489,11 @@ module Aws::EFS
487
489
  #
488
490
  # </note>
489
491
  #
490
- # We recommend you create a mount target in each of the Availability
491
- # Zones. There are cost considerations for using a file system in an
492
- # Availability Zone through a mount target created in another
493
- # Availability Zone. For more information, see [Amazon EFS][3]. In
494
- # addition, by always using a mount target local to the instance's
492
+ # We recommend that you create a mount target in each of the
493
+ # Availability Zones. There are cost considerations for using a file
494
+ # system in an Availability Zone through a mount target created in
495
+ # another Availability Zone. For more information, see [Amazon EFS][3].
496
+ # In addition, by always using a mount target local to the instance's
495
497
  # Availability Zone, you eliminate a partial failure scenario. If the
496
498
  # Availability Zone in which your mount target is created goes down,
497
499
  # then you won't be able to access your file system through that mount
@@ -697,15 +699,15 @@ module Aws::EFS
697
699
 
698
700
  # Deletes the specified mount target.
699
701
  #
700
- # This operation forcibly breaks any mounts of the file system via the
701
- # mount target that is being deleted, which might disrupt instances or
702
- # applications using those mounts. To avoid applications getting cut off
703
- # abruptly, you might consider unmounting any mounts of the mount
702
+ # This operation forcibly breaks any mounts of the file system by using
703
+ # the mount target that is being deleted, which might disrupt instances
704
+ # or applications using those mounts. To avoid applications getting cut
705
+ # off abruptly, you might consider unmounting any mounts of the mount
704
706
  # target, if feasible. The operation also deletes the associated network
705
- # interface. Uncommitted writes may be lost, but breaking a mount target
706
- # using this operation does not corrupt the file system itself. The file
707
- # system you created remains. You can mount an EC2 instance in your VPC
708
- # via another mount target.
707
+ # interface. Uncommitted writes might be lost, but breaking a mount
708
+ # target using this operation does not corrupt the file system itself.
709
+ # The file system you created remains. You can mount an EC2 instance in
710
+ # your VPC by using another mount target.
709
711
  #
710
712
  # This operation requires permissions for the following action on the
711
713
  # file system:
@@ -814,10 +816,11 @@ module Aws::EFS
814
816
  #
815
817
  # When retrieving all file system descriptions, you can optionally
816
818
  # specify the `MaxItems` parameter to limit the number of descriptions
817
- # in a response. If more file system descriptions remain, Amazon EFS
818
- # returns a `NextMarker`, an opaque token, in the response. In this
819
- # case, you should send a subsequent request with the `Marker` request
820
- # parameter set to the value of `NextMarker`.
819
+ # in a response. Currently, this number is automatically set to 10. If
820
+ # more file system descriptions remain, Amazon EFS returns a
821
+ # `NextMarker`, an opaque token, in the response. In this case, you
822
+ # should send a subsequent request with the `Marker` request parameter
823
+ # set to the value of `NextMarker`.
821
824
  #
822
825
  # To retrieve a list of your file system descriptions, this operation is
823
826
  # used in an iterative process, where `DescribeFileSystems` is called
@@ -825,9 +828,6 @@ module Aws::EFS
825
828
  # with the `Marker` parameter set to the value of the `NextMarker` from
826
829
  # the previous response until the response has no `NextMarker`.
827
830
  #
828
- # The implementation may return fewer than `MaxItems` file system
829
- # descriptions while still including a `NextMarker` value.
830
- #
831
831
  # The order of file systems returned in the response of one
832
832
  # `DescribeFileSystems` call and the order of file systems returned
833
833
  # across the responses of a multi-call iteration is unspecified.
@@ -837,10 +837,8 @@ module Aws::EFS
837
837
  #
838
838
  # @option params [Integer] :max_items
839
839
  # (Optional) Specifies the maximum number of file systems to return in
840
- # the response (integer). This parameter value must be greater than 0.
841
- # The number of items that Amazon EFS returns is the minimum of the
842
- # `MaxItems` parameter specified in the request and the service's
843
- # internal maximum number of items per page.
840
+ # the response (integer). Currently, this number is automatically set to
841
+ # 10.
844
842
  #
845
843
  # @option params [String] :marker
846
844
  # (Optional) Opaque pagination token returned from a previous
@@ -911,6 +909,8 @@ module Aws::EFS
911
909
  # resp.file_systems[0].number_of_mount_targets #=> Integer
912
910
  # resp.file_systems[0].size_in_bytes.value #=> Integer
913
911
  # resp.file_systems[0].size_in_bytes.timestamp #=> Time
912
+ # resp.file_systems[0].size_in_bytes.value_in_ia #=> Integer
913
+ # resp.file_systems[0].size_in_bytes.value_in_standard #=> Integer
914
914
  # resp.file_systems[0].performance_mode #=> String, one of "generalPurpose", "maxIO"
915
915
  # resp.file_systems[0].encrypted #=> Boolean
916
916
  # resp.file_systems[0].kms_key_id #=> String
@@ -927,6 +927,44 @@ module Aws::EFS
927
927
  req.send_request(options)
928
928
  end
929
929
 
930
+ # Returns the current `LifecycleConfiguration` object for the specified
931
+ # Amazon EFS file system. EFS lifecycle management uses the
932
+ # `LifecycleConfiguration` to identify which files to move to the EFS
933
+ # Infrequent Access (IA) storage class. For a file system without a
934
+ # `LifecycleConfiguration`, the call returns an empty array in the
935
+ # response.
936
+ #
937
+ # This operation requires permissions for the
938
+ # `elasticfilesystem:DescribeLifecycleConfiguration` operation.
939
+ #
940
+ # @option params [required, String] :file_system_id
941
+ # The ID of the file system whose `LifecycleConfiguration` object you
942
+ # want to retrieve (String).
943
+ #
944
+ # @return [Types::LifecycleConfigurationDescription] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
945
+ #
946
+ # * {Types::LifecycleConfigurationDescription#lifecycle_policies #lifecycle_policies} => Array&lt;Types::LifecyclePolicy&gt;
947
+ #
948
+ # @example Request syntax with placeholder values
949
+ #
950
+ # resp = client.describe_lifecycle_configuration({
951
+ # file_system_id: "FileSystemId", # required
952
+ # })
953
+ #
954
+ # @example Response structure
955
+ #
956
+ # resp.lifecycle_policies #=> Array
957
+ # resp.lifecycle_policies[0].transition_to_ia #=> String, one of "AFTER_30_DAYS"
958
+ #
959
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeLifecycleConfiguration AWS API Documentation
960
+ #
961
+ # @overload describe_lifecycle_configuration(params = {})
962
+ # @param [Hash] params ({})
963
+ def describe_lifecycle_configuration(params = {}, options = {})
964
+ req = build_request(:describe_lifecycle_configuration, params)
965
+ req.send_request(options)
966
+ end
967
+
930
968
  # Returns the security groups currently in effect for a mount target.
931
969
  # This operation requires that the network interface of the mount target
932
970
  # has been created and the lifecycle state of the mount target is not
@@ -995,7 +1033,7 @@ module Aws::EFS
995
1033
  #
996
1034
  # @option params [Integer] :max_items
997
1035
  # (Optional) Maximum number of mount targets to return in the response.
998
- # It must be an integer with a value greater than zero.
1036
+ # Currently, this number is automatically set to 10.
999
1037
  #
1000
1038
  # @option params [String] :marker
1001
1039
  # (Optional) Opaque pagination token returned from a previous
@@ -1083,7 +1121,7 @@ module Aws::EFS
1083
1121
  #
1084
1122
  # @option params [Integer] :max_items
1085
1123
  # (Optional) Maximum number of file system tags to return in the
1086
- # response. It must be an integer with a value greater than zero.
1124
+ # response. Currently, this number is automatically set to 10.
1087
1125
  #
1088
1126
  # @option params [String] :marker
1089
1127
  # (Optional) Opaque pagination token returned from a previous
@@ -1197,6 +1235,81 @@ module Aws::EFS
1197
1235
  req.send_request(options)
1198
1236
  end
1199
1237
 
1238
+ # Enables lifecycle management by creating a new
1239
+ # `LifecycleConfiguration` object. A `LifecycleConfiguration` defines
1240
+ # when files in an Amazon EFS file system are automatically transitioned
1241
+ # to the lower-cost EFS Infrequent Access (IA) storage class. A
1242
+ # `LifecycleConfiguration` applies to all files in a file system.
1243
+ #
1244
+ # Each Amazon EFS file system supports one lifecycle configuration,
1245
+ # which applies to all files in the file system. If a
1246
+ # `LifecycleConfiguration` already exists for the specified file system,
1247
+ # a `PutLifecycleConfiguration` call modifies the existing
1248
+ # configuration. A `PutLifecycleConfiguration` call with an empty
1249
+ # `LifecyclePolicies` array in the request body deletes any existing
1250
+ # `LifecycleConfiguration` and disables lifecycle management.
1251
+ #
1252
+ # <note markdown="1"> You can enable lifecycle management only for EFS file systems created
1253
+ # after the release of EFS infrequent access.
1254
+ #
1255
+ # </note>
1256
+ #
1257
+ # In the request, specify the following:
1258
+ #
1259
+ # * The ID for the file system for which you are creating a lifecycle
1260
+ # management configuration.
1261
+ #
1262
+ # * A `LifecyclePolicies` array of `LifecyclePolicy` objects that define
1263
+ # when files are moved to the IA storage class. The array can contain
1264
+ # only one `"TransitionToIA": "AFTER_30_DAYS"` `LifecyclePolicy`
1265
+ # object.
1266
+ #
1267
+ # This operation requires permissions for the
1268
+ # `elasticfilesystem:PutLifecycleConfiguration` operation.
1269
+ #
1270
+ # To apply a `LifecycleConfiguration` object to an encrypted file
1271
+ # system, you need the same AWS Key Management Service (AWS KMS)
1272
+ # permissions as when you created the encrypted file system.
1273
+ #
1274
+ # @option params [required, String] :file_system_id
1275
+ # The ID of the file system for which you are creating the
1276
+ # `LifecycleConfiguration` object (String).
1277
+ #
1278
+ # @option params [required, Array<Types::LifecyclePolicy>] :lifecycle_policies
1279
+ # An array of `LifecyclePolicy` objects that define the file system's
1280
+ # `LifecycleConfiguration` object. A `LifecycleConfiguration` object
1281
+ # tells lifecycle management when to transition files from the Standard
1282
+ # storage class to the Infrequent Access storage class.
1283
+ #
1284
+ # @return [Types::LifecycleConfigurationDescription] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1285
+ #
1286
+ # * {Types::LifecycleConfigurationDescription#lifecycle_policies #lifecycle_policies} => Array&lt;Types::LifecyclePolicy&gt;
1287
+ #
1288
+ # @example Request syntax with placeholder values
1289
+ #
1290
+ # resp = client.put_lifecycle_configuration({
1291
+ # file_system_id: "FileSystemId", # required
1292
+ # lifecycle_policies: [ # required
1293
+ # {
1294
+ # transition_to_ia: "AFTER_30_DAYS", # accepts AFTER_30_DAYS
1295
+ # },
1296
+ # ],
1297
+ # })
1298
+ #
1299
+ # @example Response structure
1300
+ #
1301
+ # resp.lifecycle_policies #=> Array
1302
+ # resp.lifecycle_policies[0].transition_to_ia #=> String, one of "AFTER_30_DAYS"
1303
+ #
1304
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutLifecycleConfiguration AWS API Documentation
1305
+ #
1306
+ # @overload put_lifecycle_configuration(params = {})
1307
+ # @param [Hash] params ({})
1308
+ def put_lifecycle_configuration(params = {}, options = {})
1309
+ req = build_request(:put_lifecycle_configuration, params)
1310
+ req.send_request(options)
1311
+ end
1312
+
1200
1313
  # Updates the throughput mode or the amount of provisioned throughput of
1201
1314
  # an existing file system.
1202
1315
  #
@@ -1249,6 +1362,8 @@ module Aws::EFS
1249
1362
  # resp.number_of_mount_targets #=> Integer
1250
1363
  # resp.size_in_bytes.value #=> Integer
1251
1364
  # resp.size_in_bytes.timestamp #=> Time
1365
+ # resp.size_in_bytes.value_in_ia #=> Integer
1366
+ # resp.size_in_bytes.value_in_standard #=> Integer
1252
1367
  # resp.performance_mode #=> String, one of "generalPurpose", "maxIO"
1253
1368
  # resp.encrypted #=> Boolean
1254
1369
  # resp.kms_key_id #=> String
@@ -1277,7 +1392,7 @@ module Aws::EFS
1277
1392
  params: params,
1278
1393
  config: config)
1279
1394
  context[:gem_name] = 'aws-sdk-efs'
1280
- context[:gem_version] = '1.7.0'
1395
+ context[:gem_version] = '1.8.0'
1281
1396
  Seahorse::Client::Request.new(handlers, context)
1282
1397
  end
1283
1398
 
@@ -23,6 +23,7 @@ module Aws::EFS
23
23
  DependencyTimeout = Shapes::StructureShape.new(name: 'DependencyTimeout')
24
24
  DescribeFileSystemsRequest = Shapes::StructureShape.new(name: 'DescribeFileSystemsRequest')
25
25
  DescribeFileSystemsResponse = Shapes::StructureShape.new(name: 'DescribeFileSystemsResponse')
26
+ DescribeLifecycleConfigurationRequest = Shapes::StructureShape.new(name: 'DescribeLifecycleConfigurationRequest')
26
27
  DescribeMountTargetSecurityGroupsRequest = Shapes::StructureShape.new(name: 'DescribeMountTargetSecurityGroupsRequest')
27
28
  DescribeMountTargetSecurityGroupsResponse = Shapes::StructureShape.new(name: 'DescribeMountTargetSecurityGroupsResponse')
28
29
  DescribeMountTargetsRequest = Shapes::StructureShape.new(name: 'DescribeMountTargetsRequest')
@@ -39,6 +40,7 @@ module Aws::EFS
39
40
  FileSystemInUse = Shapes::StructureShape.new(name: 'FileSystemInUse')
40
41
  FileSystemLimitExceeded = Shapes::StructureShape.new(name: 'FileSystemLimitExceeded')
41
42
  FileSystemNotFound = Shapes::StructureShape.new(name: 'FileSystemNotFound')
43
+ FileSystemNullableSizeValue = Shapes::IntegerShape.new(name: 'FileSystemNullableSizeValue')
42
44
  FileSystemSize = Shapes::StructureShape.new(name: 'FileSystemSize')
43
45
  FileSystemSizeValue = Shapes::IntegerShape.new(name: 'FileSystemSizeValue')
44
46
  IncorrectFileSystemLifeCycleState = Shapes::StructureShape.new(name: 'IncorrectFileSystemLifeCycleState')
@@ -49,6 +51,9 @@ module Aws::EFS
49
51
  IpAddressInUse = Shapes::StructureShape.new(name: 'IpAddressInUse')
50
52
  KmsKeyId = Shapes::StringShape.new(name: 'KmsKeyId')
51
53
  LifeCycleState = Shapes::StringShape.new(name: 'LifeCycleState')
54
+ LifecycleConfigurationDescription = Shapes::StructureShape.new(name: 'LifecycleConfigurationDescription')
55
+ LifecyclePolicies = Shapes::ListShape.new(name: 'LifecyclePolicies')
56
+ LifecyclePolicy = Shapes::StructureShape.new(name: 'LifecyclePolicy')
52
57
  Marker = Shapes::StringShape.new(name: 'Marker')
53
58
  MaxItems = Shapes::IntegerShape.new(name: 'MaxItems')
54
59
  ModifyMountTargetSecurityGroupsRequest = Shapes::StructureShape.new(name: 'ModifyMountTargetSecurityGroupsRequest')
@@ -63,6 +68,7 @@ module Aws::EFS
63
68
  NoFreeAddressesInSubnet = Shapes::StructureShape.new(name: 'NoFreeAddressesInSubnet')
64
69
  PerformanceMode = Shapes::StringShape.new(name: 'PerformanceMode')
65
70
  ProvisionedThroughputInMibps = Shapes::FloatShape.new(name: 'ProvisionedThroughputInMibps')
71
+ PutLifecycleConfigurationRequest = Shapes::StructureShape.new(name: 'PutLifecycleConfigurationRequest')
66
72
  SecurityGroup = Shapes::StringShape.new(name: 'SecurityGroup')
67
73
  SecurityGroupLimitExceeded = Shapes::StructureShape.new(name: 'SecurityGroupLimitExceeded')
68
74
  SecurityGroupNotFound = Shapes::StructureShape.new(name: 'SecurityGroupNotFound')
@@ -78,6 +84,7 @@ module Aws::EFS
78
84
  ThroughputMode = Shapes::StringShape.new(name: 'ThroughputMode')
79
85
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
80
86
  TooManyRequests = Shapes::StructureShape.new(name: 'TooManyRequests')
87
+ TransitionToIARules = Shapes::StringShape.new(name: 'TransitionToIARules')
81
88
  UnsupportedAvailabilityZone = Shapes::StructureShape.new(name: 'UnsupportedAvailabilityZone')
82
89
  UpdateFileSystemRequest = Shapes::StructureShape.new(name: 'UpdateFileSystemRequest')
83
90
 
@@ -120,6 +127,9 @@ module Aws::EFS
120
127
  DescribeFileSystemsResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: Marker, location_name: "NextMarker"))
121
128
  DescribeFileSystemsResponse.struct_class = Types::DescribeFileSystemsResponse
122
129
 
130
+ DescribeLifecycleConfigurationRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location: "uri", location_name: "FileSystemId"))
131
+ DescribeLifecycleConfigurationRequest.struct_class = Types::DescribeLifecycleConfigurationRequest
132
+
123
133
  DescribeMountTargetSecurityGroupsRequest.add_member(:mount_target_id, Shapes::ShapeRef.new(shape: MountTargetId, required: true, location: "uri", location_name: "MountTargetId"))
124
134
  DescribeMountTargetSecurityGroupsRequest.struct_class = Types::DescribeMountTargetSecurityGroupsRequest
125
135
 
@@ -166,8 +176,18 @@ module Aws::EFS
166
176
 
167
177
  FileSystemSize.add_member(:value, Shapes::ShapeRef.new(shape: FileSystemSizeValue, required: true, location_name: "Value"))
168
178
  FileSystemSize.add_member(:timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "Timestamp"))
179
+ FileSystemSize.add_member(:value_in_ia, Shapes::ShapeRef.new(shape: FileSystemNullableSizeValue, location_name: "ValueInIA"))
180
+ FileSystemSize.add_member(:value_in_standard, Shapes::ShapeRef.new(shape: FileSystemNullableSizeValue, location_name: "ValueInStandard"))
169
181
  FileSystemSize.struct_class = Types::FileSystemSize
170
182
 
183
+ LifecycleConfigurationDescription.add_member(:lifecycle_policies, Shapes::ShapeRef.new(shape: LifecyclePolicies, location_name: "LifecyclePolicies"))
184
+ LifecycleConfigurationDescription.struct_class = Types::LifecycleConfigurationDescription
185
+
186
+ LifecyclePolicies.member = Shapes::ShapeRef.new(shape: LifecyclePolicy)
187
+
188
+ LifecyclePolicy.add_member(:transition_to_ia, Shapes::ShapeRef.new(shape: TransitionToIARules, location_name: "TransitionToIA"))
189
+ LifecyclePolicy.struct_class = Types::LifecyclePolicy
190
+
171
191
  ModifyMountTargetSecurityGroupsRequest.add_member(:mount_target_id, Shapes::ShapeRef.new(shape: MountTargetId, required: true, location: "uri", location_name: "MountTargetId"))
172
192
  ModifyMountTargetSecurityGroupsRequest.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroups, location_name: "SecurityGroups"))
173
193
  ModifyMountTargetSecurityGroupsRequest.struct_class = Types::ModifyMountTargetSecurityGroupsRequest
@@ -183,6 +203,10 @@ module Aws::EFS
183
203
 
184
204
  MountTargetDescriptions.member = Shapes::ShapeRef.new(shape: MountTargetDescription)
185
205
 
206
+ PutLifecycleConfigurationRequest.add_member(:file_system_id, Shapes::ShapeRef.new(shape: FileSystemId, required: true, location: "uri", location_name: "FileSystemId"))
207
+ PutLifecycleConfigurationRequest.add_member(:lifecycle_policies, Shapes::ShapeRef.new(shape: LifecyclePolicies, required: true, location_name: "LifecyclePolicies"))
208
+ PutLifecycleConfigurationRequest.struct_class = Types::PutLifecycleConfigurationRequest
209
+
186
210
  SecurityGroups.member = Shapes::ShapeRef.new(shape: SecurityGroup)
187
211
 
188
212
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
@@ -306,6 +330,17 @@ module Aws::EFS
306
330
  o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
307
331
  end)
308
332
 
333
+ api.add_operation(:describe_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
334
+ o.name = "DescribeLifecycleConfiguration"
335
+ o.http_method = "GET"
336
+ o.http_request_uri = "/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration"
337
+ o.input = Shapes::ShapeRef.new(shape: DescribeLifecycleConfigurationRequest)
338
+ o.output = Shapes::ShapeRef.new(shape: LifecycleConfigurationDescription)
339
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
340
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
341
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
342
+ end)
343
+
309
344
  api.add_operation(:describe_mount_target_security_groups, Seahorse::Model::Operation.new.tap do |o|
310
345
  o.name = "DescribeMountTargetSecurityGroups"
311
346
  o.http_method = "GET"
@@ -355,6 +390,18 @@ module Aws::EFS
355
390
  o.errors << Shapes::ShapeRef.new(shape: SecurityGroupNotFound)
356
391
  end)
357
392
 
393
+ api.add_operation(:put_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
394
+ o.name = "PutLifecycleConfiguration"
395
+ o.http_method = "PUT"
396
+ o.http_request_uri = "/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration"
397
+ o.input = Shapes::ShapeRef.new(shape: PutLifecycleConfigurationRequest)
398
+ o.output = Shapes::ShapeRef.new(shape: LifecycleConfigurationDescription)
399
+ o.errors << Shapes::ShapeRef.new(shape: BadRequest)
400
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
401
+ o.errors << Shapes::ShapeRef.new(shape: FileSystemNotFound)
402
+ o.errors << Shapes::ShapeRef.new(shape: IncorrectFileSystemLifeCycleState)
403
+ end)
404
+
358
405
  api.add_operation(:update_file_system, Seahorse::Model::Operation.new.tap do |o|
359
406
  o.name = "UpdateFileSystem"
360
407
  o.http_method = "PUT"
@@ -240,10 +240,8 @@ module Aws::EFS
240
240
  #
241
241
  # @!attribute [rw] max_items
242
242
  # (Optional) Specifies the maximum number of file systems to return in
243
- # the response (integer). This parameter value must be greater than 0.
244
- # The number of items that Amazon EFS returns is the minimum of the
245
- # `MaxItems` parameter specified in the request and the service's
246
- # internal maximum number of items per page.
243
+ # the response (integer). Currently, this number is automatically set
244
+ # to 10.
247
245
  # @return [Integer]
248
246
  #
249
247
  # @!attribute [rw] marker
@@ -296,6 +294,25 @@ module Aws::EFS
296
294
  include Aws::Structure
297
295
  end
298
296
 
297
+ # @note When making an API call, you may pass DescribeLifecycleConfigurationRequest
298
+ # data as a hash:
299
+ #
300
+ # {
301
+ # file_system_id: "FileSystemId", # required
302
+ # }
303
+ #
304
+ # @!attribute [rw] file_system_id
305
+ # The ID of the file system whose `LifecycleConfiguration` object you
306
+ # want to retrieve (String).
307
+ # @return [String]
308
+ #
309
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeLifecycleConfigurationRequest AWS API Documentation
310
+ #
311
+ class DescribeLifecycleConfigurationRequest < Struct.new(
312
+ :file_system_id)
313
+ include Aws::Structure
314
+ end
315
+
299
316
  # @note When making an API call, you may pass DescribeMountTargetSecurityGroupsRequest
300
317
  # data as a hash:
301
318
  #
@@ -337,7 +354,7 @@ module Aws::EFS
337
354
  #
338
355
  # @!attribute [rw] max_items
339
356
  # (Optional) Maximum number of mount targets to return in the
340
- # response. It must be an integer with a value greater than zero.
357
+ # response. Currently, this number is automatically set to 10.
341
358
  # @return [Integer]
342
359
  #
343
360
  # @!attribute [rw] marker
@@ -405,7 +422,7 @@ module Aws::EFS
405
422
  #
406
423
  # @!attribute [rw] max_items
407
424
  # (Optional) Maximum number of file system tags to return in the
408
- # response. It must be an integer with a value greater than zero.
425
+ # response. Currently, this number is automatically set to 10.
409
426
  # @return [Integer]
410
427
  #
411
428
  # @!attribute [rw] marker
@@ -577,11 +594,63 @@ module Aws::EFS
577
594
  # 1970-01-01T00:00:00Z.
578
595
  # @return [Time]
579
596
  #
597
+ # @!attribute [rw] value_in_ia
598
+ # The latest known metered size (in bytes) of data stored in the
599
+ # Infrequent Access storage class.
600
+ # @return [Integer]
601
+ #
602
+ # @!attribute [rw] value_in_standard
603
+ # The latest known metered size (in bytes) of data stored in the
604
+ # Standard storage class.
605
+ # @return [Integer]
606
+ #
580
607
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/FileSystemSize AWS API Documentation
581
608
  #
582
609
  class FileSystemSize < Struct.new(
583
610
  :value,
584
- :timestamp)
611
+ :timestamp,
612
+ :value_in_ia,
613
+ :value_in_standard)
614
+ include Aws::Structure
615
+ end
616
+
617
+ # @!attribute [rw] lifecycle_policies
618
+ # An array of lifecycle management policies. Currently, EFS supports a
619
+ # maximum of one policy per file system.
620
+ # @return [Array<Types::LifecyclePolicy>]
621
+ #
622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/LifecycleConfigurationDescription AWS API Documentation
623
+ #
624
+ class LifecycleConfigurationDescription < Struct.new(
625
+ :lifecycle_policies)
626
+ include Aws::Structure
627
+ end
628
+
629
+ # Describes a policy used by EFS lifecycle management to transition
630
+ # files to the Infrequent Access (IA) storage class.
631
+ #
632
+ # @note When making an API call, you may pass LifecyclePolicy
633
+ # data as a hash:
634
+ #
635
+ # {
636
+ # transition_to_ia: "AFTER_30_DAYS", # accepts AFTER_30_DAYS
637
+ # }
638
+ #
639
+ # @!attribute [rw] transition_to_ia
640
+ # A value that indicates how long it takes to transition to the IA
641
+ # storage class. Currently, the only possible value is
642
+ # `AFTER_30_DAYS`.
643
+ #
644
+ # `AFTER_30_DAYS` indicates files that have not been read from or
645
+ # written to for 30 days are transitioned from the Standard storage
646
+ # class to the IA storage class. Metadata operations such as listing
647
+ # the contents of a directory don't count as a file access event.
648
+ # @return [String]
649
+ #
650
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/LifecyclePolicy AWS API Documentation
651
+ #
652
+ class LifecyclePolicy < Struct.new(
653
+ :transition_to_ia)
585
654
  include Aws::Structure
586
655
  end
587
656
 
@@ -632,7 +701,7 @@ module Aws::EFS
632
701
  # @return [String]
633
702
  #
634
703
  # @!attribute [rw] ip_address
635
- # Address at which the file system may be mounted via the mount
704
+ # Address at which the file system can be mounted by using the mount
636
705
  # target.
637
706
  # @return [String]
638
707
  #
@@ -654,7 +723,39 @@ module Aws::EFS
654
723
  include Aws::Structure
655
724
  end
656
725
 
657
- # A tag is a key-value pair. Allowed characters: letters, whitespace,
726
+ # @note When making an API call, you may pass PutLifecycleConfigurationRequest
727
+ # data as a hash:
728
+ #
729
+ # {
730
+ # file_system_id: "FileSystemId", # required
731
+ # lifecycle_policies: [ # required
732
+ # {
733
+ # transition_to_ia: "AFTER_30_DAYS", # accepts AFTER_30_DAYS
734
+ # },
735
+ # ],
736
+ # }
737
+ #
738
+ # @!attribute [rw] file_system_id
739
+ # The ID of the file system for which you are creating the
740
+ # `LifecycleConfiguration` object (String).
741
+ # @return [String]
742
+ #
743
+ # @!attribute [rw] lifecycle_policies
744
+ # An array of `LifecyclePolicy` objects that define the file system's
745
+ # `LifecycleConfiguration` object. A `LifecycleConfiguration` object
746
+ # tells lifecycle management when to transition files from the
747
+ # Standard storage class to the Infrequent Access storage class.
748
+ # @return [Array<Types::LifecyclePolicy>]
749
+ #
750
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutLifecycleConfigurationRequest AWS API Documentation
751
+ #
752
+ class PutLifecycleConfigurationRequest < Struct.new(
753
+ :file_system_id,
754
+ :lifecycle_policies)
755
+ include Aws::Structure
756
+ end
757
+
758
+ # A tag is a key-value pair. Allowed characters: letters, white space,
658
759
  # and numbers, representable in UTF-8, and the following characters:` +
659
760
  # - = . _ : /`
660
761
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-efs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-20 00:00:00.000000000 Z
11
+ date: 2019-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core