-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstoragearea.cue
49 lines (46 loc) · 1.25 KB
/
storagearea.cue
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
name!: string
fullyQualifiedName?: null | string
description!: string
kind!: "storage"
version!: string & =~"^[0-9]+\\.[0-9]+\\..+$"
infrastructureTemplateId!: string
useCaseTemplateId!: string
dependsOn: [...string]
platform!: "Snowflake"
technology!: "Snowflake"
storageType!: "Database"
tags: [...#OM_Tag]
readsFrom: [...string]
specific: {
database!: string
schema!: string
tables!: [#TablesDefinition, ...#TablesDefinition]
}
#OM_Tag: {
tagFQN!: string
description?: string | null
source!: string & =~"(?i)^(Tag|Glossary)$"
labelType!: string & =~"(?i)^(Manual|Propagated|Automated|Derived)$"
state!: string & =~"(?i)^(Suggested|Confirmed)$"
href?: string | null
...
}
#SchemaDefinition: {
name!: string
dataType!: string & =~"(?i)^(TEXT|NUMBER|DATE|BOOLEAN)$"
constraint?: string & =~"(?i)^(PRIMARY_KEY|NOT_NULL|UNIQUE)$" | null
if dataType =~ "(?i)^TEXT$" {
dataLength!: int & >0 & <=16777216
}
if dataType =~ "(?i)^NUMBER" {
precision!: int & >0 & <=38
scale!: int & >=0 & <=(precision - 1)
}
tags?: [...#OM_Tag]
...
}
#TablesDefinition: {
tableName!: string
schema!: [#SchemaDefinition, ...#SchemaDefinition]
...
}