Skip to content

update_lakehouse_configuration async

update_lakehouse_configuration(
    namespace_name: NamespaceName,
    *,
    config_overrides: Optional[AsyncRedshiftServerlessClientConfig] = None,
    lakehouse_registration: Optional[LakehouseRegistration] = None,
    catalog_name: Optional[CatalogNameString] = None,
    lakehouse_idc_registration: Optional[LakehouseIdcRegistration] = None,
    lakehouse_idc_application_arn: Optional[str] = None,
    dry_run: Optional[bool] = None,
) -> UpdateLakehouseConfigurationResponse

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.

Parameters:

  • namespace_name (NamespaceName) –

    The name of the namespace whose lakehouse configuration you want to modify.

  • lakehouse_registration (Optional[LakehouseRegistration], default: None ) –

    Specifies whether to register or deregister the namespace with Amazon Redshift federated permissions. Valid values are Register or Deregister.

  • catalog_name (Optional[CatalogNameString], default: None ) –

    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_-]*$

  • lakehouse_idc_registration (Optional[LakehouseIdcRegistration], default: None ) –

    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.

  • lakehouse_idc_application_arn (Optional[str], default: None ) –

    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.

  • dry_run (Optional[bool], default: None ) –

    A boolean value that, if true, validates the request without actually updating the lakehouse configuration. Use this to check for errors before making changes.

Raises:

Source code in docs_src/capo_redshift_serverless/_services/async_redshift_serverless.py
async def update_lakehouse_configuration(
    self,
    namespace_name: "capo_redshift_serverless.types.namespace_name.NamespaceName",
    *,
    config_overrides: Optional[AsyncRedshiftServerlessClientConfig] = None,
    lakehouse_registration: Optional[
        "capo_redshift_serverless.types.lakehouse_registration.LakehouseRegistration"
    ] = None,
    catalog_name: Optional[
        "capo_redshift_serverless.types.catalog_name_string.CatalogNameString"
    ] = None,
    lakehouse_idc_registration: Optional[
        "capo_redshift_serverless.types.lakehouse_idc_registration.LakehouseIdcRegistration"
    ] = None,
    lakehouse_idc_application_arn: Optional[str] = None,
    dry_run: Optional[bool] = None,
) -> "capo_redshift_serverless.types.update_lakehouse_configuration_response.UpdateLakehouseConfigurationResponse":
    """<p>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.</p>

    Args:
        namespace_name: <p>The name of the namespace whose lakehouse configuration you want to modify.</p>
        lakehouse_registration: <p>Specifies whether to register or deregister the namespace with Amazon Redshift federated permissions. Valid values are <code>Register</code> or <code>Deregister</code>.</p>
        catalog_name: <p>The name of the Glue Data Catalog that will be associated with the namespace enabled with Amazon Redshift federated permissions.</p> <p>Pattern: <code>^[a-z0-9_-]*[a-z]+[a-z0-9_-]*$</code> </p>
        lakehouse_idc_registration: <p>Modifies the Amazon Web Services IAM Identity Center trusted identity propagation on a namespace enabled with Amazon Redshift federated permissions. Valid values are <code>Associate</code> or <code>Disassociate</code>.</p>
        lakehouse_idc_application_arn: <p>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.</p>
        dry_run: <p>A boolean value that, if <code>true</code>, validates the request without actually updating the lakehouse configuration. Use this to check for errors before making changes.</p>

    Raises:
        capo_redshift_serverless.errors.conflict_exception.ConflictException: <p>The submitted action has conflicts.</p>
        capo_redshift_serverless.errors.dry_run_exception.DryRunException: <p>This exception is thrown when the request was successful, but dry run was enabled so no action was taken.</p>
        capo_redshift_serverless.errors.internal_server_exception.InternalServerException: <p>The request processing has failed because of an unknown error, exception or failure.</p>
        capo_redshift_serverless.errors.resource_not_found_exception.ResourceNotFoundException: <p>The resource could not be found.</p>
        capo_redshift_serverless.errors.validation_exception.ValidationException: <p>The input failed to satisfy the constraints specified by an Amazon Web Services service.</p>
        capo_redshift_serverless.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_redshift_serverless.types.update_lakehouse_configuration_request.UpdateLakehouseConfigurationRequest]",
    ) -> AsyncOperationResponse[
        "capo_redshift_serverless.types.update_lakehouse_configuration_response.UpdateLakehouseConfigurationResponse"
    ]:
        import capo_redshift_serverless._operations.redshift_serverless.update_lakehouse_configuration

        (
            output,
            http_response,
        ) = await capo_redshift_serverless._operations.redshift_serverless.update_lakehouse_configuration.async_update_lakehouse_configuration(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateLakehouseConfiguration")
    )
    input_: capo_redshift_serverless.types.update_lakehouse_configuration_request.UpdateLakehouseConfigurationRequest = {
        "namespace_name": namespace_name
    }
    if lakehouse_registration is not None:
        input_["lakehouse_registration"] = lakehouse_registration
    if catalog_name is not None:
        input_["catalog_name"] = catalog_name
    if lakehouse_idc_registration is not None:
        input_["lakehouse_idc_registration"] = lakehouse_idc_registration
    if lakehouse_idc_application_arn is not None:
        input_["lakehouse_idc_application_arn"] = lakehouse_idc_application_arn
    if dry_run is not None:
        input_["dry_run"] = dry_run

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output