modifyLakehouseConfiguration method

Future<LakehouseConfiguration> modifyLakehouseConfiguration({
  1. required String clusterIdentifier,
  2. String? catalogName,
  3. bool? dryRun,
  4. String? lakehouseIdcApplicationArn,
  5. LakehouseIdcRegistration? lakehouseIdcRegistration,
  6. LakehouseRegistration? lakehouseRegistration,
})

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 (-).
Pattern: ^\[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);
}