updateLakehouseConfiguration method
Modifies the lakehouse configuration for a namespace. This operation allows you to manage Amazon Redshift federated permissions and Amazon Web Services IAM Identity Center trusted identity propagation.
May throw ConflictException.
May throw DryRunException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ValidationException.
Parameter namespaceName :
The name of the namespace whose lakehouse configuration you want to
modify.
Parameter catalogName :
The name of the Glue Data Catalog that will be associated with the
namespace enabled with Amazon Redshift federated permissions.
Pattern: ^[a-z0-9_-][a-z]+[a-z0-9_-]$
Parameter dryRun :
A boolean value that, if true, validates the request without
actually updating the lakehouse configuration. Use this to check for
errors before making changes.
Parameter lakehouseIdcApplicationArn :
The Amazon Resource Name (ARN) of the IAM Identity Center application used
for enabling Amazon Web Services IAM Identity Center trusted identity
propagation on a namespace enabled with Amazon Redshift federated
permissions.
Parameter lakehouseIdcRegistration :
Modifies the Amazon Web Services IAM Identity Center trusted identity
propagation on a namespace enabled with Amazon Redshift federated
permissions. Valid values are Associate or
Disassociate.
Parameter lakehouseRegistration :
Specifies whether to register or deregister the namespace with Amazon
Redshift federated permissions. Valid values are Register or
Deregister.
Implementation
Future<UpdateLakehouseConfigurationResponse> updateLakehouseConfiguration({
required String namespaceName,
String? catalogName,
bool? dryRun,
String? lakehouseIdcApplicationArn,
LakehouseIdcRegistration? lakehouseIdcRegistration,
LakehouseRegistration? lakehouseRegistration,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'RedshiftServerless.UpdateLakehouseConfiguration'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'namespaceName': namespaceName,
if (catalogName != null) 'catalogName': catalogName,
if (dryRun != null) 'dryRun': dryRun,
if (lakehouseIdcApplicationArn != null)
'lakehouseIdcApplicationArn': lakehouseIdcApplicationArn,
if (lakehouseIdcRegistration != null)
'lakehouseIdcRegistration': lakehouseIdcRegistration.value,
if (lakehouseRegistration != null)
'lakehouseRegistration': lakehouseRegistration.value,
},
);
return UpdateLakehouseConfigurationResponse.fromJson(jsonResponse.body);
}