putLifecycleConfiguration method
- required String fileSystemId,
- required List<
LifecyclePolicy> lifecyclePolicies,
Enables lifecycle management by creating a new
LifecycleConfiguration
object. A
LifecycleConfiguration
object defines when files in an Amazon
EFS file system are automatically transitioned to the lower-cost EFS
Infrequent Access (IA) storage class. A
LifecycleConfiguration
applies to all files in a file system.
Each Amazon EFS file system supports one lifecycle configuration, which
applies to all files in the file system. If a
LifecycleConfiguration
object already exists for the
specified file system, a PutLifecycleConfiguration
call
modifies the existing configuration. A
PutLifecycleConfiguration
call with an empty
LifecyclePolicies
array in the request body deletes any
existing LifecycleConfiguration
and disables lifecycle
management.
In the request, specify the following:
- The ID for the file system for which you are enabling, disabling, or modifying lifecycle management.
-
A
LifecyclePolicies
array ofLifecyclePolicy
objects that define when files are moved to the IA storage class. The array can contain only oneLifecyclePolicy
item.
elasticfilesystem:PutLifecycleConfiguration
operation.
To apply a LifecycleConfiguration
object to an encrypted file
system, you need the same AWS Key Management Service (AWS KMS) permissions
as when you created the encrypted file system.
May throw BadRequest. May throw InternalServerError. May throw FileSystemNotFound. May throw IncorrectFileSystemLifeCycleState.
Parameter fileSystemId
:
The ID of the file system for which you are creating the
LifecycleConfiguration
object (String).
Parameter lifecyclePolicies
:
An array of LifecyclePolicy
objects that define the file
system's LifecycleConfiguration
object. A
LifecycleConfiguration
object tells lifecycle management when
to transition files from the Standard storage class to the Infrequent
Access storage class.
Implementation
Future<LifecycleConfigurationDescription> putLifecycleConfiguration({
required String fileSystemId,
required List<LifecyclePolicy> lifecyclePolicies,
}) async {
ArgumentError.checkNotNull(fileSystemId, 'fileSystemId');
_s.validateStringLength(
'fileSystemId',
fileSystemId,
0,
128,
isRequired: true,
);
ArgumentError.checkNotNull(lifecyclePolicies, 'lifecyclePolicies');
final $payload = <String, dynamic>{
'LifecyclePolicies': lifecyclePolicies,
};
final response = await _protocol.send(
payload: $payload,
method: 'PUT',
requestUri:
'/2015-02-01/file-systems/${Uri.encodeComponent(fileSystemId)}/lifecycle-configuration',
exceptionFnMap: _exceptionFns,
);
return LifecycleConfigurationDescription.fromJson(response);
}