-
Notifications
You must be signed in to change notification settings - Fork 2
/
template_schema.json
107 lines (107 loc) · 5.54 KB
/
template_schema.json
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Template File",
"type": "object",
"properties": {
"row_count": {
"type": ["integer", "null"],
"description": "Number of records to generate. Can be overriden by cli argument [-n ROW_COUNT]. If null, cli argument will be required."
},
"output_path": {
"type": ["string", "null"],
"description": "File name/path to output the generated synthetic CDE data under. Can be overriden by cli argument [-o OUTPUT_PATH]. If null and no cli argument is provided, a name will be automatically generated."
},
"variables": {
"type": "object",
"description": "CDE variable name (key) and associated response-generation config",
"additionalProperties": {
"type": "list",
"items": {
"frequency": {
"type": ["number", "null"],
"minimum": 0,
"maximum": 1,
"optional": false
},
"response_name": {
"type": "string",
"description": "Response name (auto-generated)",
"optional": false
},
"response_value": {
"type": "number",
"description": "Response value (auto-generated)"
},
"response_value_generator": {
"type": "object",
"description": "For special responses ('text', 'integer'), extra config is required to generate a response_value",
"properties": {
"lorem": {
"type": "object",
"description": "Generate random sentences. Only allowed for the 'text' response.",
"properties": {
"num_sentences": {
"type": "array",
"description": "Minimum/maximum number of sentences that can be generated",
"prefixItems": [
{
"type": "integer",
"description": "Minimum number of sentences that can be generated.",
"minimum": 1
},
{
"type": "integer",
"description": "Maximum number of sentences that can be generated.",
"minimum": 1
}
]
},
"sentence_length": {
"type": "array",
"description": "Minimum/maximum number of characters that a sentence can be",
"prefixItems": [
{
"type": "integer",
"description": "Minimum number of words per sentence.",
"minimum": 1
},
{
"type": "integer",
"description": "Maximum number of words per sentence.",
"minimum": 1
}
]
}
}
},
"range": {
"type": "array",
"description": "Generate a random integer in an inclusive range. Only allowed for the 'integer' response.",
"prefixItems": [
{
"type": "integer",
"description": "Minimum value.",
"minimum": 0
},
{
"type": "integer",
"description": "Maximum value.",
"minimum": 0
}
]
},
"valid_inputs": {
"type": "array",
"description": "Choose a random pregenerated response value from a list. Allowed for 'text' and 'integer' responses.",
"items": {
"type": ["string", "integer"],
"description": "A random value that can be chosen as the response value"
}
}
}
}
}
}
}
}
}