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
LifecyclePoliciesarray ofLifecyclePolicyobjects that define when files are moved to the IA storage class. The array can contain only oneLifecyclePolicyitem.
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);
}