updateDataLake method
You can use UpdateDataLake to specify where to store your
security data, how it should be encrypted at rest and for how long. You
can add a Rollup
Region to consolidate data from multiple Amazon Web Services Regions,
replace default encryption (SSE-S3) with Customer
Manged Key, or specify transition and expiration actions through
storage Lifecycle
management. The UpdateDataLake API works as an "upsert"
operation that performs an insert if the specified item or record does not
exist, or an update if it already exists. Security Lake securely stores
your data at rest using Amazon Web Services encryption solutions. For more
details, see Data
protection in Amazon Security Lake.
For example, omitting the key encryptionConfiguration from a
Region that is included in an update call that currently uses KMS will
leave that Region's KMS key in place, but specifying
encryptionConfiguration: {kmsKeyId: 'S3_MANAGED_KEY'} for
that same Region will reset the key to S3-managed.
For more details about lifecycle management and how to update retention settings for one or more Regions after enabling Security Lake, see the Amazon Security Lake User Guide.
May throw AccessDeniedException.
May throw BadRequestException.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ThrottlingException.
Parameter configurations :
Specifies the Region or Regions that will contribute data to the rollup
region.
Parameter metaStoreManagerRoleArn :
The Amazon Resource Name (ARN) used to create and update the Glue table.
This table contains partitions generated by the ingestion and
normalization of Amazon Web Services log sources and custom sources.
Implementation
Future<UpdateDataLakeResponse> updateDataLake({
required List<DataLakeConfiguration> configurations,
String? metaStoreManagerRoleArn,
}) async {
final $payload = <String, dynamic>{
'configurations': configurations,
if (metaStoreManagerRoleArn != null)
'metaStoreManagerRoleArn': metaStoreManagerRoleArn,
};
final response = await _protocol.send(
payload: $payload,
method: 'PUT',
requestUri: '/v1/datalake',
exceptionFnMap: _exceptionFns,
);
return UpdateDataLakeResponse.fromJson(response);
}