This repository has been archived on 2026-03-20. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
datavaultgenerator-1.1.5/DataVaultGenerator/schema/config.yaml

286 lines
8.1 KiB
YAML

type: config
name: Configuration
displayname: Configuration
namespace: model
schema:
# ------------------------------------------------------------------------------------------------
# Model
# ------------------------------------------------------------------------------------------------
model:
type: dict
schema:
name:
type: string
paths:
type: dict
schema:
log:
type: string
required: True
entities:
type: string
required: True
mappings:
type: string
required: True
templates:
type: string
required: True
output:
type: string
required: True
ignore_file_prefix:
type: string
# ------------------------------------------------------------------------------------------------
# Variables
# ------------------------------------------------------------------------------------------------
vars:
type: dict
# ------------------------------------------------------------------------------------------------
# Hooks
# ------------------------------------------------------------------------------------------------
pre_hooks:
type: dict
valuesrules:
type: list
post_hooks:
type: dict
valuesrules:
type: list
# ------------------------------------------------------------------------------------------------
# Key Definition
# ------------------------------------------------------------------------------------------------
keyattribute:
type: dict
required: True
schema:
type:
type: string
required: True
role:
type: string
required: True
mandatory:
type: boolean
ghost:
type: string
zerokey:
type: string
# ------------------------------------------------------------------------------------------------
# Modelling Constraints
# ------------------------------------------------------------------------------------------------
constraints:
type: dict
schema:
enforce_bk_type:
type: [string, list]
# ------------------------------------------------------------------------------------------------
# HASH Definition
# ------------------------------------------------------------------------------------------------
hash_algorithm:
type: string
required: true
hash_separator:
type: string
required: true
hash_case:
type: string
required: True
allowed: ['upper', 'lower', 'keep']
# ------------------------------------------------------------------------------------------------
# Business Key Treatment
# ------------------------------------------------------------------------------------------------
business_key_treatment:
type: dict
required: True
schema:
trim:
type: string
required: True
allowed: ['left', 'right', 'both']
case:
type: string
required: True
allowed: ['upper', 'lower', 'keep']
# ------------------------------------------------------------------------------------------------
# Hashdiff Attribute Treatment
# ------------------------------------------------------------------------------------------------
hashdiff_attribute_treatment:
type: dict
required: True
schema:
trim:
type: string
required: True
allowed: ['left', 'right', 'both']
case:
type: string
required: True
allowed: ['upper', 'lower', 'keep']
# ------------------------------------------------------------------------------------------------
# Common Attributes
# ------------------------------------------------------------------------------------------------
commonattributes:
type: dict
valuesrules:
type: dict
schema:
name:
type: string
required: True
type:
type: string
required: True
mandatory:
type: boolean
ghost:
type: string
# ------------------------------------------------------------------------------------------------
# Ghost-records
# ------------------------------------------------------------------------------------------------
ghostrecord:
type: dict
valuesrules:
type: string
# ------------------------------------------------------------------------------------------------
# Layer
# ------------------------------------------------------------------------------------------------
layer:
type: dict
valuesrules:
type: dict
schema:
name:
type: string
required: True
description:
type: string
connectionname:
type: string
sys_specification:
type: string
defaultdatabaseobject:
type: dict
schema:
database:
type: string
schema:
type: string
filegroup:
type: string
properties:
type: dict
# ------------------------------------------------------------------------------------------------
# Entity Defaults
# ------------------------------------------------------------------------------------------------
entitydefaults:
type: dict
valuesrules:
type: dict
schema:
layer:
type: string
required: True
attributes:
type: list
schema:
type: string
attribute_role:
type: string
map_implicit_roles:
type: list
schema:
type: string
extra:
type: dict
# ------------------------------------------------------------------------------------------------
# Generator config
# ------------------------------------------------------------------------------------------------
generator:
type: dict
valuesrules:
type: dict
schema:
templates:
type: list
schema:
type: dict
schema:
subtype:
type: [string,list]
template:
type: string
required: True
targetfolder:
type: string
required: True
filename:
type: string
required: True
lang:
type: string
required: True
synchtarget:
type: string
# ------------------------------------------------------------------------------------------------
# Base templates
# ------------------------------------------------------------------------------------------------
templates:
type: dict
schema:
column_ddl:
type: string
required: True
table_qualifier:
type: string
required: True
attribute_expression:
type: string
required: True
entity_key_name:
type: string
required: True
query_entity_alias:
type: string
required: True
# ------------------------------------------------------------------------------------------------
# Template Engine
# ------------------------------------------------------------------------------------------------
jinja:
type: dict
# ------------------------------------------------------------------------------------------------
# sys_specifications
# ------------------------------------------------------------------------------------------------
sys_specification:
type: dict