Skip to content

modify_lakehouse_configuration

modify_lakehouse_configuration(
    *,
    config_overrides: Optional[RedshiftClientConfig] = None,
    cluster_identifier: Optional[String] = None,
    lakehouse_registration: Optional[LakehouseRegistration] = None,
    catalog_name: Optional[CatalogNameString] = None,
    lakehouse_idc_registration: Optional[LakehouseIdcRegistration] = None,
    lakehouse_idc_application_arn: Optional[String] = None,
    dry_run: Optional[BooleanOptional] = None,
) -> LakehouseConfiguration

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.

Parameters:

  • cluster_identifier (Optional[String], default: None ) –

    The unique identifier of the cluster whose lakehouse configuration you want to modify.

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

    Specifies whether to register or deregister the cluster 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 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

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

    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.

  • lakehouse_idc_application_arn (Optional[String], 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 cluster enabled with Amazon Redshift federated permissions.

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

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

Raises:

Source code in docs_src/capo_redshift/_services/redshift.py
def modify_lakehouse_configuration(
    self,
    *,
    config_overrides: Optional[RedshiftClientConfig] = None,
    cluster_identifier: Optional["capo_redshift.types.string.String"] = None,
    lakehouse_registration: Optional[
        "capo_redshift.types.lakehouse_registration.LakehouseRegistration"
    ] = None,
    catalog_name: Optional[
        "capo_redshift.types.catalog_name_string.CatalogNameString"
    ] = None,
    lakehouse_idc_registration: Optional[
        "capo_redshift.types.lakehouse_idc_registration.LakehouseIdcRegistration"
    ] = None,
    lakehouse_idc_application_arn: Optional[
        "capo_redshift.types.string.String"
    ] = None,
    dry_run: Optional[
        "capo_redshift.types.boolean_optional.BooleanOptional"
    ] = None,
) -> "capo_redshift.types.lakehouse_configuration.LakehouseConfiguration":
    """<p>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.</p>

    Args:
        cluster_identifier: <p>The unique identifier of the cluster whose lakehouse configuration you want to modify.</p>
        lakehouse_registration: <p>Specifies whether to register or deregister the cluster 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 cluster enabled with Amazon Redshift federated permissions.</p> <p>Constraints:</p> <ul> <li> <p>Must contain at least one lowercase letter.</p> </li> <li> <p>Can only contain lowercase letters (a-z), numbers (0-9), underscores (_), and hyphens (-).</p> </li> </ul> <p>Pattern: <code>^[a-z0-9_-]*[a-z]+[a-z0-9_-]*$</code> </p> <p>Example: <code>my-catalog_01</code> </p>
        lakehouse_idc_registration: <p>Modifies the Amazon Web Services IAM Identity Center trusted identity propagation on a cluster 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 cluster enabled with Amazon Redshift federated permissions.</p>
        dry_run: <p>A boolean value that, if <code>true</code>, validates the request without actually modifying the lakehouse configuration. Use this to check for errors before making changes.</p>

    Raises:
        capo_redshift.errors.cluster_not_found_fault.ClusterNotFoundFault: <p>The <code>ClusterIdentifier</code> parameter does not refer to an existing cluster. </p>
        capo_redshift.errors.dependent_service_access_denied_fault.DependentServiceAccessDeniedFault: <p>A dependent service denied access for the integration.</p>
        capo_redshift.errors.dependent_service_unavailable_fault.DependentServiceUnavailableFault: <p>Your request cannot be completed because a dependent internal service is temporarily unavailable. Wait 30 to 60 seconds and try again.</p>
        capo_redshift.errors.invalid_cluster_state_fault.InvalidClusterStateFault: <p>The specified cluster is not in the <code>available</code> state. </p>
        capo_redshift.errors.redshift_idc_application_not_exists_fault.RedshiftIdcApplicationNotExistsFault: <p>The application you attempted to find doesn't exist.</p>
        capo_redshift.errors.unauthorized_operation.UnauthorizedOperation: <p>Your account is not authorized to perform the requested operation.</p>
        capo_redshift.errors.unsupported_operation_fault.UnsupportedOperationFault: <p>The requested operation isn't supported.</p>
        capo_redshift.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_redshift.types.modify_lakehouse_configuration_message.ModifyLakehouseConfigurationMessage]",
    ) -> OperationResponse[
        "capo_redshift.types.lakehouse_configuration.LakehouseConfiguration"
    ]:
        import capo_redshift._operations.redshift_service_version20121201.modify_lakehouse_configuration

        output, http_response = (
            capo_redshift._operations.redshift_service_version20121201.modify_lakehouse_configuration.modify_lakehouse_configuration(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ModifyLakehouseConfiguration")
    )
    input_: capo_redshift.types.modify_lakehouse_configuration_message.ModifyLakehouseConfigurationMessage = {}
    if cluster_identifier is not None:
        input_["cluster_identifier"] = cluster_identifier
    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 = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output