modifyLakehouseConfiguration method
Modifies the lakehouse configuration for a cluster. This operation allows you to manage Amazon Redshift federated permissions and Amazon Web Services IAM Identity Center trusted identity propagation.
May throw ClusterNotFoundFault.
May throw DependentServiceAccessDeniedFault.
May throw DependentServiceUnavailableFault.
May throw InvalidClusterStateFault.
May throw RedshiftIdcApplicationNotExistsFault.
May throw UnauthorizedOperation.
May throw UnsupportedOperationFault.
Parameter clusterIdentifier :
The unique identifier of the cluster whose lakehouse configuration you
want to modify.
Parameter catalogName :
The name of the Glue data catalog that will be associated with the cluster
enabled with Amazon Redshift federated permissions.
Constraints:
- Must contain at least one lowercase letter.
- Can only contain lowercase letters (a-z), numbers (0-9), underscores (_), and hyphens (-).
^\[a-z0-9_-\]*\[a-z\]+\[a-z0-9_-\]*$
Example: my-catalog_01
Parameter dryRun :
A boolean value that, if true, validates the request without
actually modifying 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 cluster enabled with Amazon Redshift federated
permissions.
Parameter lakehouseIdcRegistration :
Modifies the Amazon Web Services IAM Identity Center trusted identity
propagation on a cluster enabled with Amazon Redshift federated
permissions. Valid values are Associate or
Disassociate.
Parameter lakehouseRegistration :
Specifies whether to register or deregister the cluster with Amazon
Redshift federated permissions. Valid values are Register or
Deregister.
Implementation
Future<LakehouseConfiguration> modifyLakehouseConfiguration({
required String clusterIdentifier,
String? catalogName,
bool? dryRun,
String? lakehouseIdcApplicationArn,
LakehouseIdcRegistration? lakehouseIdcRegistration,
LakehouseRegistration? lakehouseRegistration,
}) async {
final $request = <String, String>{
'ClusterIdentifier': clusterIdentifier,
if (catalogName != null) 'CatalogName': catalogName,
if (dryRun != null) 'DryRun': dryRun.toString(),
if (lakehouseIdcApplicationArn != null)
'LakehouseIdcApplicationArn': lakehouseIdcApplicationArn,
if (lakehouseIdcRegistration != null)
'LakehouseIdcRegistration': lakehouseIdcRegistration.value,
if (lakehouseRegistration != null)
'LakehouseRegistration': lakehouseRegistration.value,
};
final $result = await _protocol.send(
$request,
action: 'ModifyLakehouseConfiguration',
version: '2012-12-01',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
resultWrapper: 'ModifyLakehouseConfigurationResult',
);
return LakehouseConfiguration.fromXml($result);
}