Skip to content

get_rule

get_rule(
    domain_identifier: DomainId,
    identifier: RuleId,
    *,
    config_overrides: Optional[DataZoneClientConfig] = None,
    revision: Optional[Revision] = None,
) -> GetRuleOutput

Gets the details of 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 where the GetRule action is to be invoked.

  • identifier (RuleId) –

    The ID of the rule.

  • revision (Optional[Revision], default: None ) –

    The revision of the rule.

Raises:

Source code in docs_src/capo_datazone/_services/data_zone.py
def get_rule(
    self,
    domain_identifier: "capo_datazone.types.domain_id.DomainId",
    identifier: "capo_datazone.types.rule_id.RuleId",
    *,
    config_overrides: Optional[DataZoneClientConfig] = None,
    revision: Optional["capo_datazone.types.revision.Revision"] = None,
) -> "capo_datazone.types.get_rule_output.GetRuleOutput":
    """<p>Gets the details of 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 where the <code>GetRule</code> action is to be invoked.</p>
        identifier: <p>The ID of the rule.</p>
        revision: <p>The revision of the rule.</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.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.
    """

    def _handler(
        req: "OperationRequest[capo_datazone.types.get_rule_input.GetRuleInput]",
    ) -> OperationResponse["capo_datazone.types.get_rule_output.GetRuleOutput"]:
        import capo_datazone._operations.data_zone.get_rule

        output, http_response = (
            capo_datazone._operations.data_zone.get_rule.get_rule(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_output(
        output: "capo_datazone.types.get_rule_output.GetRuleOutput",
    ) -> dict[str, Any]:
        import capo_datazone.types.get_rule_output

        return capo_datazone.types.get_rule_output.redact_sensitive(output)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("GetRule", redact_output=_redact_output)
    )
    input_: capo_datazone.types.get_rule_input.GetRuleInput = {
        "domain_identifier": domain_identifier,
        "identifier": identifier,
    }
    if revision is not None:
        input_["revision"] = revision

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output