custom properties
# Copyright 2026 The Bitol Contributors
# SPDX-License-Identifier: Apache-2.0
version: 1.0.0
kind: DataContract
id: 4f7a8b9c-1d2e-4f3a-8b5c-6d7e8f9a0b1c
apiVersion: v3.2.0
status: active
name: catalog_with_custom_properties
description:
purpose: Show `customProperties` at every relevant scope — root, schema element, schema property — and demonstrate the optional root-level `contractCreatedTs`.
# Other top-level property defined by the standard.
contractCreatedTs: "2026-04-29T10:00:00Z"
# Root-level custom properties: REF ruleset, vendor-specific hints, etc.
customProperties:
- id: ref_ruleset
property: refRulesetName
value: gcsc.ruleset.name
description: Pointer to the GCSC ruleset that governs this contract.
- property: dataprocClusterName
value: ['analytics-prod', 'analytics-uat']
description: Cluster names this contract is published from.
- property: ownerEmail
value: data-platform@example.com
schema:
- name: events
physicalType: table
# Element-level customProperties.
customProperties:
- property: retentionDays
value: 365
- property: storageTier
value: hot
properties:
- name: event_id
primaryKey: true
primaryKeyPosition: 1
logicalType: string
- name: payload
logicalType: string
# Property-level customProperties.
customProperties:
- property: maxBytes
value: 1048576
- property: encoding
value: utf-8