Skip to content

create_data_quality_ruleset

create_data_quality_ruleset(
    name: NameString,
    ruleset: DataQualityRulesetString,
    *,
    config_overrides: Optional[GlueClientConfig] = None,
    description: Optional[DescriptionString] = None,
    tags: Optional[TagsMap] = None,
    target_table: Optional[DataQualityTargetTable] = None,
    data_quality_security_configuration: Optional[NameString] = None,
    client_token: Optional[HashString] = None,
) -> CreateDataQualityRulesetResponse

Creates a data quality ruleset with DQDL rules applied to a specified Glue table.

You create the ruleset using the Data Quality Definition Language (DQDL). For more information, see the Glue developer guide.

Parameters:

  • name (NameString) –

    A unique name for the data quality ruleset.

  • description (Optional[DescriptionString], default: None ) –

    A description of the data quality ruleset.

  • ruleset (DataQualityRulesetString) –

    A Data Quality Definition Language (DQDL) ruleset. For more information, see the Glue developer guide.

  • tags (Optional[TagsMap], default: None ) –

    A list of tags applied to the data quality ruleset.

  • target_table (Optional[DataQualityTargetTable], default: None ) –

    A target table associated with the data quality ruleset.

  • data_quality_security_configuration (Optional[NameString], default: None ) –

    The name of the security configuration created with the data quality encryption option.

  • client_token (Optional[HashString], default: None ) –

    Used for idempotency and is recommended to be set to a random ID (such as a UUID) to avoid creating or starting multiple instances of the same resource.

Raises:

Source code in docs_src/capo_glue/_services/glue.py
def create_data_quality_ruleset(
    self,
    name: "capo_glue.types.name_string.NameString",
    ruleset: "capo_glue.types.data_quality_ruleset_string.DataQualityRulesetString",
    *,
    config_overrides: Optional[GlueClientConfig] = None,
    description: Optional[
        "capo_glue.types.description_string.DescriptionString"
    ] = None,
    tags: Optional["capo_glue.types.tags_map.TagsMap"] = None,
    target_table: Optional[
        "capo_glue.types.data_quality_target_table.DataQualityTargetTable"
    ] = None,
    data_quality_security_configuration: Optional[
        "capo_glue.types.name_string.NameString"
    ] = None,
    client_token: Optional["capo_glue.types.hash_string.HashString"] = None,
) -> "capo_glue.types.create_data_quality_ruleset_response.CreateDataQualityRulesetResponse":
    """<p>Creates a data quality ruleset with DQDL rules applied to a specified Glue table.</p> <p>You create the ruleset using the Data Quality Definition Language (DQDL). For more information, see the Glue developer guide.</p>

    Args:
        name: <p>A unique name for the data quality ruleset.</p>
        description: <p>A description of the data quality ruleset.</p>
        ruleset: <p>A Data Quality Definition Language (DQDL) ruleset. For more information, see the Glue developer guide.</p>
        tags: <p>A list of tags applied to the data quality ruleset.</p>
        target_table: <p>A target table associated with the data quality ruleset.</p>
        data_quality_security_configuration: <p>The name of the security configuration created with the data quality encryption option.</p>
        client_token: <p>Used for idempotency and is recommended to be set to a random ID (such as a UUID) to avoid creating or starting multiple instances of the same resource.</p>

    Raises:
        capo_glue.errors.already_exists_exception.AlreadyExistsException: <p>A resource to be created or added already exists.</p>
        capo_glue.errors.internal_service_exception.InternalServiceException: <p>An internal service error occurred.</p>
        capo_glue.errors.invalid_input_exception.InvalidInputException: <p>The input provided was not valid.</p>
        capo_glue.errors.operation_timeout_exception.OperationTimeoutException: <p>The operation timed out.</p>
        capo_glue.errors.resource_number_limit_exceeded_exception.ResourceNumberLimitExceededException: <p>A resource numerical limit was exceeded.</p>
        capo_glue.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_glue.types.create_data_quality_ruleset_request.CreateDataQualityRulesetRequest]",
    ) -> OperationResponse[
        "capo_glue.types.create_data_quality_ruleset_response.CreateDataQualityRulesetResponse"
    ]:
        import capo_glue._operations.aws_glue.create_data_quality_ruleset

        output, http_response = (
            capo_glue._operations.aws_glue.create_data_quality_ruleset.create_data_quality_ruleset(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateDataQualityRuleset")
    )
    input_: capo_glue.types.create_data_quality_ruleset_request.CreateDataQualityRulesetRequest = {
        "name": name,
        "ruleset": ruleset,
    }
    if description is not None:
        input_["description"] = description
    if tags is not None:
        input_["tags"] = tags
    if target_table is not None:
        input_["target_table"] = target_table
    if data_quality_security_configuration is not None:
        input_["data_quality_security_configuration"] = (
            data_quality_security_configuration
        )
    if client_token is not None:
        input_["client_token"] = client_token

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