{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/sifflet/main/json-schema/sifflet-as-code-monitor-dto-schema.json", "title": "AsCodeMonitorDto", "x-generated": "2026-10-14", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/sifflet-backend-api-openapi.yml#/components/schemas/AsCodeMonitorDto", "required": [ "incident", "joins", "name", "parameters", "version" ], "type": "object", "properties": { "connection": { "$ref": "#/$defs/AsCodeConnectionParamsOverrideDto" }, "customMetadataEntries": { "type": "array", "items": { "$ref": "#/$defs/AsCodeCustomMetadataEntryReferenceDto" } }, "datasets": { "type": "array", "items": { "$ref": "#/$defs/AsCodeDatasetReferenceDto" } }, "description": { "type": "string" }, "friendlyId": { "type": "string" }, "id": { "type": "string", "format": "uuid" }, "incident": { "$ref": "#/$defs/AsCodeIncidentDto" }, "joins": { "type": "array", "items": { "$ref": "#/$defs/AsCodeJoinDto" } }, "kind": { "type": "string", "enum": [ "Workspace", "Monitor", "Asset", "Source", "Lineage" ] }, "name": { "type": "string" }, "notifications": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/AsCodeAlertingHookNotificationDto" }, { "$ref": "#/$defs/AsCodeJiraNotificationDto" }, { "$ref": "#/$defs/AsCodeServiceNowNotificationDto" } ] } }, "overrideNotificationRules": { "type": "boolean" }, "parameters": { "oneOf": [ { "$ref": "#/$defs/AsCodeCompletenessMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeConditionalMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeCorrelatedMetricsMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeCustomMetricsMonitorParamsDtoV1" }, { "$ref": "#/$defs/AsCodeCustomMetricsMonitorParamsDtoV2" }, { "$ref": "#/$defs/AsCodeDistributionMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeDuplicatesMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeDynamicFieldProfilingMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeDynamicMetricMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeFieldDuplicatesMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeFieldFormatMonitorParamsDtoV1" }, { "$ref": "#/$defs/AsCodeFieldFormatMonitorParamsDtoV2" }, { "$ref": "#/$defs/AsCodeFieldInListConstraintMonitorParamsDtoV1" }, { "$ref": "#/$defs/AsCodeFieldInListConstraintMonitorParamsDtoV2" }, { "$ref": "#/$defs/AsCodeFieldNullsMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeFieldUniquenessMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeFreshnessMonitorParamsDtoV1" }, { "$ref": "#/$defs/AsCodeFreshnessMonitorParamsDtoV2" }, { "$ref": "#/$defs/AsCodeMetadataFreshnessMonitorParamsDtoV1" }, { "$ref": "#/$defs/AsCodeMetadataFreshnessMonitorParamsDtoV2" }, { "$ref": "#/$defs/AsCodeMetricsMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeReferentialIntegrityMonitorParamsDtoV1" }, { "$ref": "#/$defs/AsCodeReferentialIntegrityMonitorParamsDtoV2" }, { "$ref": "#/$defs/AsCodeRowDuplicatesMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeSchemaChangeMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeSqlConditionMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeSqlMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeStaticCompletenessMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeStaticFieldProfilingMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeStaticMetricMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeValueRangeMonitorParamsDto" }, { "$ref": "#/$defs/AsCodeVolumeMonitorParamsDto" } ] }, "schedule": { "type": "string" }, "scheduleTimezone": { "type": "string" }, "tags": { "type": "array", "items": { "$ref": "#/$defs/AsCodeTagReferenceDto" } }, "terms": { "type": "array", "items": { "$ref": "#/$defs/AsCodeReferenceByIdOrNameDtoImpl" } }, "version": { "type": "integer", "format": "int32" } }, "$defs": { "AsCodeAggregationClauseDtoV1": { "required": [ "kind" ], "type": "object", "properties": { "kind": { "type": "string", "enum": [ "Average", "NormalizedAverage", "Count", "DistinctCount", "Sum", "Max", "Min", "Quantile", "Range", "StandardDeviation", "Variance" ] } } }, "AsCodeAggregationClauseDtoV2": { "required": [ "kind" ], "type": "object", "properties": { "kind": { "type": "string", "enum": [ "Average", "NormalizedAverage", "Count", "CountAllRows", "DistinctCount", "Sum", "Max", "Min", "Quantile", "StandardDeviation", "Variance", "CustomAggregation" ] } } }, "AsCodeAlertingHookNotificationDto": { "required": [ "kind" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeNotificationReferenceDto" }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string" } } } ] }, "AsCodeCalendarReferenceDto": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string" }, "standardCalendar": { "type": "string", "enum": [ "US_PUBLIC_HOLIDAYS", "FRANCE_PUBLIC_HOLIDAYS", "UK_PUBLIC_HOLIDAYS", "BELGIUM_PUBLIC_HOLIDAYS", "SPAIN_PUBLIC_HOLIDAYS", "GERMANY_PUBLIC_HOLIDAYS", "NETHERLANDS_PUBLIC_HOLIDAYS", "SUNDAYS", "WEEKENDS" ] } } }, "AsCodeCompletenessMonitorParamsDto": { "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "threshold": { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV1" }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowWithOffsetFrequencyAndRollingClauseDto" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeConditionDto": { "required": [ "kind" ], "type": "object", "properties": { "kind": { "type": "string", "enum": [ "andGroup", "orGroup", "equals", "notEquals", "greaterThan", "greaterThanOrEquals", "lessThan", "lessThanOrEquals", "isNull", "isNotNull", "contains", "notContains", "dateOlderThan", "dateYoungerThan", "isTrue", "isFalse" ] } } }, "AsCodeConditionGroupDto": { "required": [ "conditions", "kind" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeConditionDto" }, { "type": "object", "properties": { "conditions": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/AsCodeConditionGroupDto" }, { "$ref": "#/$defs/AsCodeDateConditionDto" }, { "$ref": "#/$defs/AsCodeNumericComparisonConditionDto" }, { "$ref": "#/$defs/AsCodeStringConditionDto" }, { "$ref": "#/$defs/AsCodeUnaryConditionDto" } ] } } } } ] }, "AsCodeConditionalMonitorParamsDto": { "required": [ "condition", "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "condition": { "oneOf": [ { "$ref": "#/$defs/AsCodeConditionGroupDto" }, { "$ref": "#/$defs/AsCodeDateConditionDto" }, { "$ref": "#/$defs/AsCodeNumericComparisonConditionDto" }, { "$ref": "#/$defs/AsCodeStringConditionDto" }, { "$ref": "#/$defs/AsCodeUnaryConditionDto" } ] }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV2" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeConnectionParamsOverrideDto": { "required": [ "credentials" ], "type": "object", "properties": { "credentials": { "type": "string" } } }, "AsCodeCorrelatedMetricsMonitorParamsDto": { "required": [ "metrics", "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "metadataBased": { "type": "boolean" }, "metrics": { "type": "array", "items": { "$ref": "#/$defs/AsCodeMetricClauseDto" } }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseWithoutFieldDtoV2" } } } ] }, "AsCodeCustomAggregationClauseDtoV2": { "required": [ "kind", "sql" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeAggregationClauseDtoV2" }, { "type": "object", "properties": { "sql": { "type": "string" } } } ] }, "AsCodeCustomMetadataEntryLabelValueReferenceDto": { "required": [ "kind" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeCustomMetadataEntryValueReferenceDto" }, { "type": "object", "properties": { "labelValue": { "type": "string" } } } ] }, "AsCodeCustomMetadataEntryReferenceDto": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "value": { "oneOf": [ { "$ref": "#/$defs/AsCodeCustomMetadataEntryLabelValueReferenceDto" }, { "$ref": "#/$defs/AsCodeCustomMetadataEntryStringValueReferenceDto" }, { "$ref": "#/$defs/AsCodeCustomMetadataEntryTeamValueReferenceDto" }, { "$ref": "#/$defs/AsCodeCustomMetadataEntryUserValueReferenceDto" } ] } } }, "AsCodeCustomMetadataEntryStringValueReferenceDto": { "required": [ "kind" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeCustomMetadataEntryValueReferenceDto" }, { "type": "object", "properties": { "stringValue": { "type": "string" } } } ] }, "AsCodeCustomMetadataEntryTeamValueReferenceDto": { "required": [ "kind" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeCustomMetadataEntryValueReferenceDto" }, { "type": "object", "properties": { "name": { "type": "string" } } } ] }, "AsCodeCustomMetadataEntryUserValueReferenceDto": { "required": [ "kind" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeCustomMetadataEntryValueReferenceDto" }, { "type": "object", "properties": { "email": { "type": "string" } } } ] }, "AsCodeCustomMetadataEntryValueReferenceDto": { "required": [ "kind" ], "type": "object", "properties": { "customMetadataName": { "type": "string" }, "kind": { "type": "string", "enum": [ "Label", "String", "User", "Team" ] } } }, "AsCodeCustomMetricsMonitorParamsDtoV1": { "required": [ "sql" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "sql": { "type": "string" }, "threshold": { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV1" }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowOffsetClauseDto" } } } ] }, "AsCodeCustomMetricsMonitorParamsDtoV2": { "required": [ "sql", "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "emptyMeansZero": { "type": "boolean" }, "sql": { "type": "string" }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeCustomMetricsTimeWindowDto" } } } ] }, "AsCodeCustomMetricsTimeWindowDto": { "type": "object", "properties": { "offset": { "$ref": "#/$defs/SimpleDuration" }, "offsetPeriods": { "type": "integer", "format": "int32" } } }, "AsCodeDatasetReferenceDto": { "type": "object", "properties": { "datasource": { "$ref": "#/$defs/AsCodeReferenceByIdOrNameDtoImpl" }, "id": { "type": "string", "format": "uuid" }, "name": { "type": "string" }, "uri": { "type": "string" } } }, "AsCodeDateConditionDto": { "required": [ "dateExpression", "duration", "kind" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeConditionDto" }, { "type": "object", "properties": { "dateExpression": { "$ref": "#/$defs/AsCodeFieldExpressionDto" }, "duration": { "$ref": "#/$defs/AsCodeDurationDto" } } } ] }, "AsCodeDistributionChangeTimeWindowClauseDtoV2": { "required": [ "field" ], "type": "object", "properties": { "deltaQuerying": { "$ref": "#/$defs/SimpleDuration" }, "duration": { "$ref": "#/$defs/SimpleDuration" }, "field": { "$ref": "#/$defs/AsCodeFieldReferenceDto" }, "firstRun": { "$ref": "#/$defs/SimpleDuration" }, "frequency": { "$ref": "#/$defs/SimpleDuration" }, "offset": { "$ref": "#/$defs/SimpleDuration" }, "offsetPeriods": { "type": "integer", "format": "int32" }, "rollingTimeWindow": { "$ref": "#/$defs/SimpleDuration" } } }, "AsCodeDistributionMonitorParamsDto": { "required": [ "field", "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "field": { "type": "array", "items": { "$ref": "#/$defs/AsCodeFieldReferenceDto" } }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "onAddedCategory": { "type": "boolean" }, "onRemovedCategory": { "type": "boolean" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "reference": { "oneOf": [ { "$ref": "#/$defs/AsCodeFixedDistributionReferenceDto" }, { "$ref": "#/$defs/AsCodeRollingDistributionReferenceDto" } ] }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeDistributionChangeTimeWindowClauseDtoV2" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeDistributionReferenceDto": { "required": [ "kind" ], "type": "object", "properties": { "kind": { "type": "string", "enum": [ "Rolling", "Fixed" ] } } }, "AsCodeDuplicatesMonitorParamsDto": { "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "threshold": { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV1" }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowWithOffsetAndFrequencyClauseDto" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeDurationDto": { "required": [ "timeUnit", "value" ], "type": "object", "properties": { "timeUnit": { "type": "string", "enum": [ "days", "hours", "minutes" ] }, "value": { "type": "integer", "format": "int32" } } }, "AsCodeDynamicFieldProfilingMonitorParamsDto": { "required": [ "field", "profiling" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "field": { "type": "array", "items": { "type": "string" } }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "profiling": { "oneOf": [ { "$ref": "#/$defs/AsCodeFieldProfilingClauseDto" }, { "$ref": "#/$defs/AsCodeNullFieldProfilingClauseDto" } ] }, "threshold": { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV1" }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowWithOffsetFrequencyAndRollingClauseDto" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeDynamicFreshnessThresholdDto": { "required": [ "kind" ], "type": "object", "properties": { "excludedDates": { "type": "array", "items": { "$ref": "#/$defs/AsCodeCalendarReferenceDto" } }, "kind": { "type": "string", "enum": [ "Dynamic", "Static" ] }, "sensitivity": { "type": "integer", "format": "int32" } } }, "AsCodeDynamicMetricMonitorParamsDto": { "required": [ "aggregation", "field" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "aggregation": { "oneOf": [ { "$ref": "#/$defs/AsCodeAggregationClauseDtoV1" }, { "$ref": "#/$defs/AsCodeQuantileAggregationClauseDtoV1" } ] }, "field": { "type": "string" }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "threshold": { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV1" }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowWithOffsetFrequencyAndRollingClauseDto" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeDynamicThresholdDtoV1": { "type": "object", "properties": { "bounds": { "type": "string", "enum": [ "MinAndMax", "Min", "Max" ] }, "excludedDates": { "type": "array", "items": { "$ref": "#/$defs/AsCodeCalendarReferenceDto" } }, "sensitivity": { "type": "integer", "format": "int32" } } }, "AsCodeDynamicThresholdDtoV2": { "required": [ "kind", "sensitivity" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeThresholdBaseDto" }, { "type": "object", "properties": { "bounds": { "type": "string", "enum": [ "MinAndMax", "Min", "Max" ] }, "sensitivity": { "type": "integer", "format": "int32" } } } ] }, "AsCodeEqualityJoinConditionDto": { "required": [ "kind" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeJoinConditionDto" }, { "type": "object", "properties": { "fieldPairs": { "type": "array", "items": { "$ref": "#/$defs/AsCodeJoinFieldPairDto" } } } } ] }, "AsCodeExpressionDto": { "required": [ "kind" ], "type": "object", "properties": { "kind": { "type": "string", "enum": [ "field", "value" ] } } }, "AsCodeFieldDuplicatesMonitorParamsDto": { "required": [ "field", "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "field": { "type": "array", "items": { "$ref": "#/$defs/AsCodeFieldReferenceDto" } }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV2" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeFieldExpressionDto": { "required": [ "field", "kind" ], "type": "object", "properties": { "field": { "$ref": "#/$defs/AsCodeFieldReferenceDto" }, "kind": { "type": "string", "enum": [ "field", "value" ] } } }, "AsCodeFieldFormatMonitorParamsDtoV1": { "required": [ "field", "format" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "field": { "type": "string" }, "format": { "oneOf": [ { "$ref": "#/$defs/AsCodeFieldFormatValidationClauseDto" }, { "$ref": "#/$defs/AsCodeRegexFieldFormatValidationClauseDto" } ] }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV1" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeFieldFormatMonitorParamsDtoV2": { "required": [ "field", "format", "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "field": { "$ref": "#/$defs/AsCodeFieldReferenceDto" }, "format": { "oneOf": [ { "$ref": "#/$defs/AsCodeFieldFormatValidationClauseDto" }, { "$ref": "#/$defs/AsCodeRegexFieldFormatValidationClauseDto" } ] }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV2" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeFieldFormatValidationClauseDto": { "required": [ "kind" ], "type": "object", "properties": { "kind": { "type": "string", "enum": [ "Email", "Phone", "UUID", "Regex" ] } } }, "AsCodeFieldInListConstraintMonitorParamsDtoV1": { "required": [ "field", "values" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "field": { "type": "string" }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV1" }, "values": { "type": "array", "items": { "type": "string" } }, "whereStatement": { "type": "string" } } } ] }, "AsCodeFieldInListConstraintMonitorParamsDtoV2": { "required": [ "field", "threshold", "values" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "field": { "$ref": "#/$defs/AsCodeFieldReferenceDto" }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV2" }, "values": { "type": "array", "items": { "type": "string" } }, "whereStatement": { "type": "string" } } } ] }, "AsCodeFieldNullsMonitorParamsDto": { "required": [ "field", "nullValues", "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "field": { "$ref": "#/$defs/AsCodeFieldReferenceDto" }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "nullValues": { "type": "string", "enum": [ "Null", "NullAndEmpty", "NullEmptyAndWhitespaces" ] }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV2" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeFieldProfilingClauseDto": { "required": [ "kind" ], "type": "object", "properties": { "kind": { "type": "string", "enum": [ "DuplicatePercentage", "DuplicateCount", "NullPercentage", "NullCount" ] } } }, "AsCodeFieldReferenceDto": { "required": [ "name" ], "type": "object", "properties": { "dataset": { "$ref": "#/$defs/AsCodeDatasetReferenceDto" }, "name": { "type": "string" } } }, "AsCodeFieldUniquenessMonitorParamsDto": { "required": [ "field" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "field": { "type": "array", "items": { "type": "string" } }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV1" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeFixedDistributionReferenceDto": { "required": [ "kind", "timestamp" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeDistributionReferenceDto" }, { "type": "object", "properties": { "timestamp": { "type": "string" } } } ] }, "AsCodeFreshnessMonitorParamsDtoV1": { "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeFreshnessThresholdDto" }, { "$ref": "#/$defs/AsCodeDynamicFreshnessThresholdDto" }, { "$ref": "#/$defs/AsCodeStaticFreshnessThresholdDto" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowWithOffsetFrequencyAndRollingClauseDto" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeFreshnessMonitorParamsDtoV2": { "required": [ "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV2" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeFreshnessThresholdDto": { "required": [ "kind" ], "type": "object", "properties": { "excludedDates": { "type": "array", "items": { "$ref": "#/$defs/AsCodeCalendarReferenceDto" } }, "kind": { "type": "string", "enum": [ "Dynamic", "Static" ] } } }, "AsCodeGroupByClauseDto": { "required": [ "field" ], "type": "object", "properties": { "field": { "type": "array", "items": { "$ref": "#/$defs/AsCodeFieldReferenceDto" } } } }, "AsCodeIncidentDto": { "required": [ "severity" ], "type": "object", "properties": { "createOnFailure": { "type": "boolean" }, "customEmailSubject": { "type": "string" }, "message": { "type": "string" }, "severity": { "type": "string", "enum": [ "Low", "Moderate", "High", "Critical" ] } } }, "AsCodeIngestionTimePartitionClauseDto": { "required": [ "interval" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodePartitionClauseDto" }, { "type": "object", "properties": { "interval": { "$ref": "#/$defs/SimpleDuration" } } } ] }, "AsCodeIntegerRangePartitionClauseDto": { "required": [ "field", "max", "min" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodePartitionClauseDto" }, { "type": "object", "properties": { "field": { "$ref": "#/$defs/AsCodeFieldReferenceDto" }, "max": { "type": "integer", "format": "int32" }, "min": { "type": "integer", "format": "int32" } } } ] }, "AsCodeJiraNotificationDto": { "required": [ "kind" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeNotificationReferenceDto" }, { "type": "object", "properties": { "issueTypeId": { "type": "integer", "format": "int64" }, "projectKey": { "type": "string" }, "templateName": { "type": "string" } } } ] }, "AsCodeJoinConditionDto": { "required": [ "kind" ], "type": "object", "properties": { "kind": { "type": "string", "enum": [ "Equality" ] } } }, "AsCodeJoinDto": { "required": [ "dataset", "joinCondition", "joinType" ], "type": "object", "properties": { "dataset": { "$ref": "#/$defs/AsCodeDatasetReferenceDto" }, "joinCondition": { "oneOf": [ { "$ref": "#/$defs/AsCodeEqualityJoinConditionDto" } ] }, "joinType": { "type": "string", "enum": [ "Inner", "Left", "Right", "Outer" ] } } }, "AsCodeJoinFieldPairDto": { "required": [ "leftField", "rightField" ], "type": "object", "properties": { "leftField": { "$ref": "#/$defs/AsCodeFieldReferenceDto" }, "rightField": { "$ref": "#/$defs/AsCodeFieldReferenceDto" } } }, "AsCodeMetadataFreshnessMonitorParamsDtoV1": { "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "threshold": { "$ref": "#/$defs/AsCodeDynamicFreshnessThresholdDto" } } } ] }, "AsCodeMetadataFreshnessMonitorParamsDtoV2": { "required": [ "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] } } } ] }, "AsCodeMetricClauseDto": { "required": [ "aggregation", "name" ], "type": "object", "properties": { "aggregation": { "oneOf": [ { "$ref": "#/$defs/AsCodeAggregationClauseDtoV2" }, { "$ref": "#/$defs/AsCodeCustomAggregationClauseDtoV2" }, { "$ref": "#/$defs/AsCodeQuantileAggregationClauseDtoV2" } ] }, "field": { "type": "string" }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "name": { "type": "string" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "timeWindowField": { "type": "string" }, "whereStatement": { "type": "string" } } }, "AsCodeMetricsMonitorParamsDto": { "required": [ "aggregation", "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "aggregation": { "oneOf": [ { "$ref": "#/$defs/AsCodeAggregationClauseDtoV2" }, { "$ref": "#/$defs/AsCodeCustomAggregationClauseDtoV2" }, { "$ref": "#/$defs/AsCodeQuantileAggregationClauseDtoV2" } ] }, "field": { "$ref": "#/$defs/AsCodeFieldReferenceDto" }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV2" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeMonitorParamsDto": { "type": "object", "properties": { "kind": { "type": "string", "enum": [ "Metrics", "Freshness", "RowDuplicates", "FieldUniqueness", "SchemaChange", "Sql", "Conditional", "SqlCondition", "CorrelatedMetrics", "Distribution", "CustomMetrics", "FieldFormat", "FieldInList", "MetadataFreshness", "ReferentialIntegrity", "Volume", "ValueRange", "FieldDuplicates", "FieldNulls", "StaticFieldProfiling", "DynamicFieldProfiling", "StaticMetrics", "DynamicMetrics", "Completeness", "StaticCompleteness", "Duplicates" ] } } }, "AsCodeNotificationReferenceDto": { "required": [ "kind" ], "type": "object", "properties": { "kind": { "type": "string", "enum": [ "Slack", "Email", "MicrosoftTeams", "Jira", "ServiceNow", "Webhook" ] } } }, "AsCodeNullFieldProfilingClauseDto": { "required": [ "kind" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeFieldProfilingClauseDto" }, { "type": "object", "properties": { "nullValues": { "type": "string", "enum": [ "Null", "NullAndEmpty", "NullEmptyAndWhitespaces" ] } } } ] }, "AsCodeNumericComparisonConditionDto": { "required": [ "kind", "leftExpression", "rightExpression" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeConditionDto" }, { "type": "object", "properties": { "leftExpression": { "$ref": "#/$defs/AsCodeFieldExpressionDto" }, "rightExpression": { "oneOf": [ { "$ref": "#/$defs/AsCodeFieldExpressionDto" }, { "$ref": "#/$defs/AsCodeValueExpressionDto" } ] } } } ] }, "AsCodePartitionClauseDto": { "type": "object", "properties": { "kind": { "type": "string", "enum": [ "IngestionTime", "IntegerRange", "TimeUnitColumn" ] } } }, "AsCodeQuantileAggregationClauseDtoV1": { "required": [ "kind", "quantile" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeAggregationClauseDtoV1" }, { "type": "object", "properties": { "quantile": { "type": "number", "format": "float" } } } ] }, "AsCodeQuantileAggregationClauseDtoV2": { "required": [ "kind", "quantile" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeAggregationClauseDtoV2" }, { "type": "object", "properties": { "quantile": { "type": "number", "format": "float" } } } ] }, "AsCodeRangeDto": { "type": "object", "properties": { "isMaxInclusive": { "type": "boolean" }, "isMinInclusive": { "type": "boolean" }, "max": { "$ref": "#/$defs/NumberDto" }, "min": { "$ref": "#/$defs/NumberDto" } } }, "AsCodeReferenceByIdOrNameDtoImpl": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string" } } }, "AsCodeReferentialIntegrityLeftDtoV1": { "required": [ "field" ], "type": "object", "properties": { "field": { "type": "array", "items": { "type": "string" } }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowWithOffsetAndFrequencyClauseDto" }, "whereStatement": { "type": "string" } } }, "AsCodeReferentialIntegrityLeftDtoV2": { "required": [ "field" ], "type": "object", "properties": { "field": { "type": "array", "items": { "type": "string" } }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV2" }, "whereStatement": { "type": "string" } } }, "AsCodeReferentialIntegrityMonitorParamsDtoV1": { "required": [ "left", "matchType", "right" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "left": { "$ref": "#/$defs/AsCodeReferentialIntegrityLeftDtoV1" }, "matchType": { "type": "string", "enum": [ "Full", "LeftOnRight", "RightOnLeft" ] }, "right": { "$ref": "#/$defs/AsCodeReferentialIntegrityRightDto" } } } ] }, "AsCodeReferentialIntegrityMonitorParamsDtoV2": { "required": [ "left", "matchType", "right", "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "left": { "$ref": "#/$defs/AsCodeReferentialIntegrityLeftDtoV2" }, "matchType": { "type": "string", "enum": [ "Full", "LeftOnRight", "RightOnLeft" ] }, "right": { "$ref": "#/$defs/AsCodeReferentialIntegrityRightDto" }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] } } } ] }, "AsCodeReferentialIntegrityRightDto": { "required": [ "field" ], "type": "object", "properties": { "field": { "type": "array", "items": { "type": "string" } }, "whereStatement": { "type": "string" } } }, "AsCodeRegexFieldFormatValidationClauseDto": { "required": [ "kind", "regex" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeFieldFormatValidationClauseDto" }, { "type": "object", "properties": { "regex": { "type": "string" } } } ] }, "AsCodeRollingDistributionReferenceDto": { "required": [ "kind" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeDistributionReferenceDto" }, { "type": "object", "properties": { "delay": { "$ref": "#/$defs/SimpleDuration" } } } ] }, "AsCodeRowDuplicatesMonitorParamsDto": { "required": [ "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV2" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeSchemaChangeMonitorParamsDto": { "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" } ] }, "AsCodeServiceNowNotificationDto": { "required": [ "kind" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeNotificationReferenceDto" }, { "type": "object", "properties": { "templateName": { "type": "string" } } } ] }, "AsCodeSqlConditionMonitorParamsDto": { "required": [ "sql", "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "sql": { "type": "string" }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV2" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeSqlMonitorParamsDto": { "required": [ "sql", "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "sql": { "type": "string" }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] } } } ] }, "AsCodeStaticCompletenessMonitorParamsDto": { "required": [ "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "threshold": { "$ref": "#/$defs/AsCodeStaticThresholdWithComparisonModeDto" }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV1" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeStaticFieldProfilingMonitorParamsDto": { "required": [ "field", "profiling" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "field": { "type": "array", "items": { "type": "string" } }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "profiling": { "oneOf": [ { "$ref": "#/$defs/AsCodeFieldProfilingClauseDto" }, { "$ref": "#/$defs/AsCodeNullFieldProfilingClauseDto" } ] }, "threshold": { "$ref": "#/$defs/AsCodeStaticFieldProfilingThresholdDto" }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV1" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeStaticFieldProfilingThresholdDto": { "required": [ "max" ], "type": "object", "properties": { "excludedDates": { "type": "array", "items": { "$ref": "#/$defs/AsCodeCalendarReferenceDto" } }, "max": { "$ref": "#/$defs/NumberOrPercentageDto" } } }, "AsCodeStaticFreshnessThresholdDto": { "required": [ "kind" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeFreshnessThresholdDto" } ] }, "AsCodeStaticMetricMonitorParamsDto": { "required": [ "aggregation", "field", "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "aggregation": { "oneOf": [ { "$ref": "#/$defs/AsCodeAggregationClauseDtoV1" }, { "$ref": "#/$defs/AsCodeQuantileAggregationClauseDtoV1" } ] }, "field": { "type": "string" }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "threshold": { "$ref": "#/$defs/AsCodeStaticThresholdDtoV1" }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV1" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeStaticThresholdDtoV1": { "type": "object", "properties": { "excludedDates": { "type": "array", "items": { "$ref": "#/$defs/AsCodeCalendarReferenceDto" } }, "isMaxInclusive": { "type": "boolean" }, "isMinInclusive": { "type": "boolean" }, "max": { "$ref": "#/$defs/NumberOrPercentageDto" }, "min": { "$ref": "#/$defs/NumberOrPercentageDto" } } }, "AsCodeStaticThresholdDtoV2": { "required": [ "kind" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeThresholdBaseDto" }, { "type": "object", "properties": { "comparisonMode": { "type": "string", "enum": [ "Absolute", "Relative", "RelativePercentage" ] }, "isMaxInclusive": { "type": "boolean" }, "isMinInclusive": { "type": "boolean" }, "max": { "$ref": "#/$defs/NumberOrPercentageDto" }, "min": { "$ref": "#/$defs/NumberOrPercentageDto" } } } ] }, "AsCodeStaticThresholdWithComparisonModeDto": { "type": "object", "properties": { "comparisonMode": { "type": "string", "enum": [ "Absolute", "Difference", "PercentageDifference" ] }, "excludedDates": { "type": "array", "items": { "$ref": "#/$defs/AsCodeCalendarReferenceDto" } }, "isMaxInclusive": { "type": "boolean" }, "isMinInclusive": { "type": "boolean" }, "max": { "$ref": "#/$defs/NumberOrPercentageDto" }, "min": { "$ref": "#/$defs/NumberOrPercentageDto" } } }, "AsCodeStringConditionDto": { "required": [ "kind", "leftExpression", "rightExpression" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeConditionDto" }, { "type": "object", "properties": { "leftExpression": { "$ref": "#/$defs/AsCodeFieldExpressionDto" }, "rightExpression": { "oneOf": [ { "$ref": "#/$defs/AsCodeFieldExpressionDto" }, { "$ref": "#/$defs/AsCodeValueExpressionDto" } ] } } } ] }, "AsCodeTagReferenceDto": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "kind": { "type": "string", "enum": [ "Tag", "Classification" ] }, "name": { "type": "string" } } }, "AsCodeThresholdBaseDto": { "required": [ "kind" ], "type": "object", "properties": { "excludedDates": { "type": "array", "items": { "$ref": "#/$defs/AsCodeCalendarReferenceDto" } }, "kind": { "type": "string", "enum": [ "Static", "Dynamic" ] }, "valueMode": { "type": "string", "enum": [ "Count", "Percentage" ] } } }, "AsCodeTimeUnitColumnPartitionClauseDto": { "required": [ "field", "interval" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodePartitionClauseDto" }, { "type": "object", "properties": { "field": { "$ref": "#/$defs/AsCodeFieldReferenceDto" }, "interval": { "$ref": "#/$defs/SimpleDuration" } } } ] }, "AsCodeTimeWindowClauseDtoV1": { "required": [ "duration", "field" ], "type": "object", "properties": { "duration": { "$ref": "#/$defs/SimpleDuration" }, "field": { "type": "string" } } }, "AsCodeTimeWindowClauseDtoV2": { "required": [ "field" ], "type": "object", "properties": { "deltaQuerying": { "$ref": "#/$defs/SimpleDuration" }, "field": { "$ref": "#/$defs/AsCodeFieldReferenceDto" }, "firstRun": { "$ref": "#/$defs/SimpleDuration" }, "frequency": { "$ref": "#/$defs/SimpleDuration" }, "offset": { "$ref": "#/$defs/SimpleDuration" }, "offsetPeriods": { "type": "integer", "format": "int32" }, "rollingTimeWindow": { "$ref": "#/$defs/SimpleDuration" } } }, "AsCodeTimeWindowClauseWithoutFieldDtoV2": { "type": "object", "properties": { "deltaQuerying": { "$ref": "#/$defs/SimpleDuration" }, "firstRun": { "$ref": "#/$defs/SimpleDuration" }, "frequency": { "$ref": "#/$defs/SimpleDuration" }, "offset": { "$ref": "#/$defs/SimpleDuration" }, "offsetPeriods": { "type": "integer", "format": "int32" }, "rollingTimeWindow": { "$ref": "#/$defs/SimpleDuration" } } }, "AsCodeTimeWindowOffsetClauseDto": { "type": "object", "properties": { "offset": { "$ref": "#/$defs/SimpleDuration" } } }, "AsCodeTimeWindowWithOffsetAndFrequencyClauseDto": { "required": [ "duration", "field" ], "type": "object", "properties": { "deltaQuerying": { "$ref": "#/$defs/SimpleDuration" }, "disableDeltaQuerying": { "type": "boolean" }, "duration": { "$ref": "#/$defs/SimpleDuration" }, "field": { "type": "string" }, "frequency": { "$ref": "#/$defs/SimpleDuration" }, "offset": { "$ref": "#/$defs/SimpleDuration" } } }, "AsCodeTimeWindowWithOffsetFrequencyAndRollingClauseDto": { "required": [ "duration", "field" ], "type": "object", "properties": { "deltaQuerying": { "$ref": "#/$defs/SimpleDuration" }, "disableDeltaQuerying": { "type": "boolean" }, "duration": { "$ref": "#/$defs/SimpleDuration" }, "field": { "type": "string" }, "frequency": { "$ref": "#/$defs/SimpleDuration" }, "offset": { "$ref": "#/$defs/SimpleDuration" }, "rollingTimeWindow": { "$ref": "#/$defs/SimpleDuration" } } }, "AsCodeUnaryConditionDto": { "required": [ "expression", "kind" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeConditionDto" }, { "type": "object", "properties": { "expression": { "$ref": "#/$defs/AsCodeFieldExpressionDto" } } } ] }, "AsCodeValueExpressionDto": { "required": [ "kind", "value" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeExpressionDto" }, { "type": "object", "properties": { "value": { "type": "string" } } } ] }, "AsCodeValueRangeMonitorParamsDto": { "required": [ "field", "range", "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "field": { "$ref": "#/$defs/AsCodeFieldReferenceDto" }, "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "range": { "$ref": "#/$defs/AsCodeRangeDto" }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV2" }, "whereStatement": { "type": "string" } } } ] }, "AsCodeVolumeMonitorParamsDto": { "required": [ "threshold" ], "type": "object", "allOf": [ { "$ref": "#/$defs/AsCodeMonitorParamsDto" }, { "type": "object", "properties": { "groupBy": { "$ref": "#/$defs/AsCodeGroupByClauseDto" }, "metadataBased": { "type": "boolean" }, "partition": { "oneOf": [ { "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto" }, { "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto" } ] }, "threshold": { "oneOf": [ { "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2" }, { "$ref": "#/$defs/AsCodeStaticThresholdDtoV2" } ] }, "timeWindow": { "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV2" }, "whereStatement": { "type": "string" } } } ] }, "NumberDto": { "type": "object", "properties": { "floatValue": { "type": "number", "format": "float" }, "integer": { "type": "boolean" }, "integerValue": { "type": "integer", "format": "int32" }, "zero": { "type": "boolean" } } }, "NumberOrPercentageDto": { "type": "object", "properties": { "floatValue": { "type": "number", "format": "float" }, "integer": { "type": "boolean" }, "integerValue": { "type": "integer", "format": "int32" }, "percentage": { "type": "boolean" }, "zero": { "type": "boolean" } } }, "SimpleDuration": { "type": "object", "properties": { "unit": { "type": "string", "enum": [ "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS" ] }, "value": { "type": "integer", "format": "int32" } } } } }