Skip to content

delete_rule async

delete_rule(
    domain_identifier: DomainId,
    identifier: RuleId,
    *,
    config_overrides: Optional[AsyncDataZoneClientConfig] = None,
) -> DeleteRuleOutput

Deletes a rule in Amazon DataZone. A rule is a formal agreement that enforces specific requirements across user workflows (e.g., publishing assets to the catalog, requesting subscriptions, creating projects) within the Amazon DataZone data portal. These rules help maintain consistency, ensure compliance, and uphold governance standards in data management processes. For instance, a metadata enforcement rule can specify the required information for creating a subscription request or publishing a data asset to the catalog, ensuring alignment with organizational standards.

Parameters:

  • domain_identifier (DomainId) –

    The ID of the domain that where the rule is to be deleted.

  • identifier (RuleId) –

    The ID of the rule that is to be deleted.

Raises:

Source code in docs_src/capo_datazone/_services/async_data_zone.py
async def delete_rule(
    self,
    domain_identifier: "capo_datazone.types.domain_id.DomainId",
    identifier: "capo_datazone.types.rule_id.RuleId",
    *,
    config_overrides: Optional[AsyncDataZoneClientConfig] = None,
) -> "capo_datazone.types.delete_rule_output.DeleteRuleOutput":
    """<p>Deletes a rule in Amazon DataZone. A rule is a formal agreement that enforces specific requirements across user workflows (e.g., publishing assets to the catalog, requesting subscriptions, creating projects) within the Amazon DataZone data portal. These rules help maintain consistency, ensure compliance, and uphold governance standards in data management processes. For instance, a metadata enforcement rule can specify the required information for creating a subscription request or publishing a data asset to the catalog, ensuring alignment with organizational standards.</p>

    Args:
        domain_identifier: <p>The ID of the domain that where the rule is to be deleted.</p>
        identifier: <p>The ID of the rule that is to be deleted.</p>

    Raises:
        capo_datazone.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_datazone.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
        capo_datazone.errors.unauthorized_exception.UnauthorizedException: <p>You do not have permission to perform this action.</p>
        capo_datazone.errors.conflict_exception.ConflictException: <p>There is a conflict while performing this action.</p>
        capo_datazone.errors.internal_server_exception.InternalServerException: <p>The request has failed because of an unknown error, exception or failure.</p>
        capo_datazone.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource cannot be found.</p>
        capo_datazone.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by the Amazon Web Services service.</p>
        capo_datazone.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_datazone.types.delete_rule_input.DeleteRuleInput]",
    ) -> AsyncOperationResponse[
        "capo_datazone.types.delete_rule_output.DeleteRuleOutput"
    ]:
        import capo_datazone._operations.data_zone.delete_rule

        (
            output,
            http_response,
        ) = await capo_datazone._operations.data_zone.delete_rule.async_delete_rule(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("DeleteRule")
    )
    input_: capo_datazone.types.delete_rule_input.DeleteRuleInput = {
        "domain_identifier": domain_identifier,
        "identifier": identifier,
    }

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