createDataQualityRuleset method

Future<CreateDataQualityRulesetResponse> createDataQualityRuleset({
  1. required String name,
  2. required String ruleset,
  3. String? clientToken,
  4. String? dataQualitySecurityConfiguration,
  5. String? description,
  6. Map<String, String>? tags,
  7. DataQualityTargetTable? targetTable,
})

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.

May throw AlreadyExistsException. May throw InternalServiceException. May throw InvalidInputException. May throw OperationTimeoutException. May throw ResourceNumberLimitExceededException.

Parameter name : A unique name for the data quality ruleset.

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

Parameter clientToken : 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.

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

Parameter description : A description of the data quality ruleset.

Parameter tags : A list of tags applied to the data quality ruleset.

Parameter targetTable : A target table associated with the data quality ruleset.

Implementation

Future<CreateDataQualityRulesetResponse> createDataQualityRuleset({
  required String name,
  required String ruleset,
  String? clientToken,
  String? dataQualitySecurityConfiguration,
  String? description,
  Map<String, String>? tags,
  DataQualityTargetTable? targetTable,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSGlue.CreateDataQualityRuleset'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'Name': name,
      'Ruleset': ruleset,
      if (clientToken != null) 'ClientToken': clientToken,
      if (dataQualitySecurityConfiguration != null)
        'DataQualitySecurityConfiguration': dataQualitySecurityConfiguration,
      if (description != null) 'Description': description,
      if (tags != null) 'Tags': tags,
      if (targetTable != null) 'TargetTable': targetTable,
    },
  );

  return CreateDataQualityRulesetResponse.fromJson(jsonResponse.body);
}