A comprehensive, production-ready schema for FLUID data product contracts. This version adds stricter validation patterns for identifiers and other key fields to ensure contract integrity.
No Additional PropertiesVersion of the FLUID spec this contract adheres to.
Must match regular expression:^\d+\.\d+(\.\d+)?$
"2.3.0"
The type of data product definition.
"DataProduct"
"VirtualDataProduct"
"EgressFlow"
"IngestFlow"
"MLModelProduct"
"FeatureStoreProduct"
Globally-unique, versioned data product identifier. Should be machine-friendly.
Must match regular expression:^[a-zA-Z0-9_.-]+$
Must be at least 1 characters long
Human-readable product name.
A brief, business-focused description of the product's purpose.
The owning business domain (e.g., 'Marketing', 'Finance').
Must match regular expression:^[a-zA-Z0-9_.-]+$
The architectural layer of the data product.
The team or individual responsible for the data product.
A contact email address for the owner.
An optional list of input data sources required to build the product.
No Additional ItemsA local alias for the consumed data source.
Must match regular expression:^[a-zA-Z0-9_.-]+$
A reference to another data product (e.g., URN).
Describes the logical transformation process and its operational details.
The transformation engine used. Provided examples cover common cloud services, but any string is valid.
"bigquery"
"redshift-sql"
"athena-sql"
"snowflake-sql"
"dbt"
"spark-sql"
"spark-python"
"databricks-sql"
"databricks-python"
"emr-spark"
"glue-spark"
"dataflow-python"
"custom-python"
A reference to the specific model or script (e.g., dbt model path, git URI to a SQL file).
Engine-specific configuration key-value pairs.
Additional Properties of any type are allowed.
Type: objectDefines how the build is initiated.
"schedule"
A standard cron expression.
Must match regular expression:^((?:\*|\d+(?:-\d+)?(?:,\d+(?:-\d+)?)*)(?:/\d+)?\s+){4,5}(?:\*|\d+(?:-\d+)?(?:,\d+(?:-\d+)?)*)(?:/\d+)?$
"event"
"manual"
The runtime platform. Provided examples cover common cloud orchestrators, but any string is valid.
"composer"
"mwaa"
"airflow"
"dbt-cloud"
"databricks"
"emr-serverless"
"glue-jobs"
"kubernetes-engine"
"cloud-run"
"aws-lambda"
Value must be greater or equal to 0
Value must be greater or equal to 0
The public output interfaces (ports) of the data product.
Must contain a minimum of 1 items
A single output port of the data product.
The unique identifier for this output port.
Must match regular expression:^[a-zA-Z0-9_.-]+$
The physical type of the output. Provided examples cover common cloud services, but any string is valid.
"bigquery_table"
"bigquery_view"
"bigquery_materialized_view"
"gcs_delta_table"
"gcs_iceberg_table"
"gcs_parquet_files"
"pubsub_topic"
"redshift_table"
"redshift_view"
"redshift_materialized_view"
"s3_delta_table"
"s3_iceberg_table"
"s3_parquet_files"
"kinesis_stream"
"kafka_topic"
"snowflake_table"
"api_endpoint"
"parquet"
"delta"
"iceberg"
"json"
"csv"
"avro"
Technology-specific properties. E.g., for BigQuery: { 'project': '...', 'dataset': '...', 'table': '...' }. For S3: { 'bucket': '...', 'path': '...' }.
^[a-zA-Z0-9_]+$
The physical data type.
Reference to an ontology term or glossary ID.
Declarative transformation logic that separates lineage from rules.
No Additional ItemsDefines the transformation for a single target column, explicitly separating source columns for lineage from the transformation rule.
The name of the target column in the output schema.
Must match regular expression:^[a-zA-Z0-9_]+$
An array of input columns used, for automated lineage generation.
No Additional ItemsThe transformation logic or function to compute the target column.
A list of quality rules specific to this port.
No Additional ItemsThe rule to be enforced (e.g., 'not_null', 'unique', or a SQL predicate).
A list of privacy treatments applied to columns in this port.
No Additional ItemsEach additional property must conform to the following schema
Type: stringDefines the Service Level Objectives for the entire data product.
Maximum query latency in milliseconds.
Value must be greater or equal to 0
Maximum data latency in minutes.
Value must be greater or equal to 0
Expected uptime percentage.
Value must be greater or equal to 0 and lesser or equal to 100
e.g., group:analysts, user:name@company.com, gcpserviceaccount:..., awsiamrole:...
Must match regular expression:^(group|user|gcp_service_account|aws_iam_role):.+$
Defines the Service Level Objectives for the entire data product.
Same definition as sloValue must be greater or equal to 0
Method of at-rest encryption. Examples provided for cloud KMS services.
"AES256"
"GCP_CMEK"
"AWS_KMS"
Method of in-transit encryption.
"TLS1.2+"
"mTLS"