Skip to main content

Variable: DetectionRuleItemSchema

const DetectionRuleItemSchema: ZodObject<{
detection_technique: ZodEnum<["edm", "document_fingerprint", "trainable_classifier", "ml_document", "regex", "weighted_regex", "ml", "titus_tag", "wildfire", "file_property", "dictionary", "pab", "document_classifier"]>;
id: ZodOptional<ZodNullable<ZodString>>;
name: ZodOptional<ZodNullable<ZodString>>;
description: ZodOptional<ZodNullable<ZodString>>;
version: ZodOptional<ZodNullable<ZodNumber>>;
match_type: ZodOptional<ZodNullable<ZodEnum<["include", "exclude"]>>>;
by_unique_count: ZodOptional<ZodNullable<ZodBoolean>>;
confidence_level: ZodOptional<ZodNullable<ZodEnum<["low", "medium", "high"]>>>;
supported_confidence_levels: ZodOptional<ZodNullable<ZodArray<ZodEnum<["low", "medium", "high"]>, "many">>>;
occurrence_count: ZodOptional<ZodNullable<ZodNumber>>;
occurrence_high: ZodOptional<ZodNullable<ZodNumber>>;
occurrence_low: ZodOptional<ZodNullable<ZodNumber>>;
occurrence_operator_type: ZodOptional<ZodNullable<ZodEnum<["any", "less_than_equal_to", "more_than_equal_to", "between"]>>>;
score: ZodOptional<ZodNullable<ZodNumber>>;
score_high: ZodOptional<ZodNullable<ZodNumber>>;
score_low: ZodOptional<ZodNullable<ZodNumber>>;
edm_dataset_id: ZodOptional<ZodNullable<ZodString>>;
primary_fields: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>;
primary_match_criteria: ZodOptional<ZodNullable<ZodEnum<["any", "all"]>>>;
primary_match_any_count: ZodOptional<ZodNullable<ZodNumber>>;
secondary_fields: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>;
secondary_match_criteria: ZodOptional<ZodNullable<ZodEnum<["any", "all"]>>>;
secondary_match_any_count: ZodOptional<ZodNullable<ZodNumber>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
detection_technique: ZodEnum<["edm", "document_fingerprint", "trainable_classifier", "ml_document", "regex", "weighted_regex", "ml", "titus_tag", "wildfire", "file_property", "dictionary", "pab", "document_classifier"]>;
id: ZodOptional<ZodNullable<ZodString>>;
name: ZodOptional<ZodNullable<ZodString>>;
description: ZodOptional<ZodNullable<ZodString>>;
version: ZodOptional<ZodNullable<ZodNumber>>;
match_type: ZodOptional<ZodNullable<ZodEnum<["include", "exclude"]>>>;
by_unique_count: ZodOptional<ZodNullable<ZodBoolean>>;
confidence_level: ZodOptional<ZodNullable<ZodEnum<["low", "medium", "high"]>>>;
supported_confidence_levels: ZodOptional<ZodNullable<ZodArray<ZodEnum<["low", "medium", "high"]>, "many">>>;
occurrence_count: ZodOptional<ZodNullable<ZodNumber>>;
occurrence_high: ZodOptional<ZodNullable<ZodNumber>>;
occurrence_low: ZodOptional<ZodNullable<ZodNumber>>;
occurrence_operator_type: ZodOptional<ZodNullable<ZodEnum<["any", "less_than_equal_to", "more_than_equal_to", "between"]>>>;
score: ZodOptional<ZodNullable<ZodNumber>>;
score_high: ZodOptional<ZodNullable<ZodNumber>>;
score_low: ZodOptional<ZodNullable<ZodNumber>>;
edm_dataset_id: ZodOptional<ZodNullable<ZodString>>;
primary_fields: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>;
primary_match_criteria: ZodOptional<ZodNullable<ZodEnum<["any", "all"]>>>;
primary_match_any_count: ZodOptional<ZodNullable<ZodNumber>>;
secondary_fields: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>;
secondary_match_criteria: ZodOptional<ZodNullable<ZodEnum<["any", "all"]>>>;
secondary_match_any_count: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">, objectInputType<{
detection_technique: ZodEnum<["edm", "document_fingerprint", "trainable_classifier", "ml_document", "regex", "weighted_regex", "ml", "titus_tag", "wildfire", "file_property", "dictionary", "pab", "document_classifier"]>;
id: ZodOptional<ZodNullable<ZodString>>;
name: ZodOptional<ZodNullable<ZodString>>;
description: ZodOptional<ZodNullable<ZodString>>;
version: ZodOptional<ZodNullable<ZodNumber>>;
match_type: ZodOptional<ZodNullable<ZodEnum<["include", "exclude"]>>>;
by_unique_count: ZodOptional<ZodNullable<ZodBoolean>>;
confidence_level: ZodOptional<ZodNullable<ZodEnum<["low", "medium", "high"]>>>;
supported_confidence_levels: ZodOptional<ZodNullable<ZodArray<ZodEnum<["low", "medium", "high"]>, "many">>>;
occurrence_count: ZodOptional<ZodNullable<ZodNumber>>;
occurrence_high: ZodOptional<ZodNullable<ZodNumber>>;
occurrence_low: ZodOptional<ZodNullable<ZodNumber>>;
occurrence_operator_type: ZodOptional<ZodNullable<ZodEnum<["any", "less_than_equal_to", "more_than_equal_to", "between"]>>>;
score: ZodOptional<ZodNullable<ZodNumber>>;
score_high: ZodOptional<ZodNullable<ZodNumber>>;
score_low: ZodOptional<ZodNullable<ZodNumber>>;
edm_dataset_id: ZodOptional<ZodNullable<ZodString>>;
primary_fields: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>;
primary_match_criteria: ZodOptional<ZodNullable<ZodEnum<["any", "all"]>>>;
primary_match_any_count: ZodOptional<ZodNullable<ZodNumber>>;
secondary_fields: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>;
secondary_match_criteria: ZodOptional<ZodNullable<ZodEnum<["any", "all"]>>>;
secondary_match_any_count: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/models/dlp-data-profile.ts:75

Combined detection-rule item — covers all four OpenAPI subtypes (DataPattern, Dictionary, DocumentType, EDM) as a single schema with each subtype's fields optional.

The spec marks detection_technique as a discriminator, but every subtype's enum lists all 13 technique values — there is no real partition. We therefore model the union as a single passthrough object: required detection_technique, everything else optional. Set whatever combination of fields the chosen technique demands.