Examples¶
Sample ODCS v3.1.0 data contracts demonstrating common contract sections.
Quick validation¶
odcs validate examples/minimal.odcs.yaml
Catalog¶
| File | Demonstrates |
|---|---|
| minimal.odcs.yaml | Minimal valid contract: schema, properties, library quality rule |
| minimal.odcs.json | Same contract in JSON |
| with-sla.yaml | Service level agreement properties |
| with-team.yaml | Team object with members (v3.1.0 form) |
| with-servers.yaml | Server definitions with type-specific fields |
| with-relationships.yaml | Schema-level foreign key relationships |
| with-schema-quality.yaml | Nested quality rules (library, SQL, text) |
| with-extensions.yaml | Root and nested customProperties |
| registry/ | Local registry index + cross-file FQN resolution (0.9.0+) |
Registry example¶
odcs registry index examples/registry/
odcs validate examples/registry/consumer.yaml --registry examples/registry/
See registry/README.md.
Validate all examples¶
for f in examples/*.{yaml,yml,json}; do
[ -f "$f" ] && odcs validate "$f" && echo "OK $f"
done
More fixtures¶
Additional valid and invalid fixtures used in integration tests live under tests/fixtures/, including:
with-roles.yaml,with-pricing.yaml,with-support.yamlwith-schema-array-items.yaml,with-custom-quality-object.yamlinvalid-kind.yaml,unsupported-version.yaml(negative cases)
Authoring tips¶
- Required root fields:
version,apiVersion,kind,id,status versionis your contract revision (e.g.1.0.0);apiVersionis the ODCS spec release (v3.1.0)- Quality rules belong under
schema[](not at the contract root) - Use
customPropertiesfor extensions; unknown fields are rejected - Library metrics must use v3.1.0 names:
nullValues,missingValues,invalidValues,duplicateValues,rowCount