forked from ApamaCommunity/apama-vscode-extensions
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.schema.json
150 lines (145 loc) · 6.14 KB
/
test.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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
{
"title": "Schema for correlator YAML configuration.",
"$id": "ApamaCorrelatorConfigSchema",
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"connectivityPlugins": {
"description": "An array of connectivity plugins for the correlator to start.",
"type": "object",
"additionalProperties": {
"$comment": "Both schemas contain class. If class is the first specified property then VSC will attenmpt to validate to the first schema in the array below",
"anyOf": [
{"$ref": "#/definitions/C++Plugin"},
{"$ref": "#/definitions/JavaPlugin"}
]
}
},
"dynamicChainManagers": {
"description": "A map where each key is a manager name, that is, a string naming an instance of a dynamic chain manager plug-in class.",
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"transport": {
"type": "string",
"description": "Specifies the transport plug-in associated with this dynamic chain manager."
},
"managerConfig": {
"type": "object",
"description": "Specifies the configuration map that will be passed to the chain manager constructor when it is created at startup. The available configuration options are defined by the plug-in author, therefore, see the plug-in's documentation for details.",
"anyOf": [
{"$ref": "#/definitions/HTTPServerTransportConfig"}
]
}
},
"required": [ "transport", "managerConfig" ],
"additionalProperties": false
}
}
},
"definitions": {
"HTTPServerTransportConfig": {
"type": "object",
"properties": {
"port": {
"type": [ "integer", "string" ],
"description": "The user-defined port on which the server is accessible.",
"minimum": 0,
"maximum": 65535
},
"bindAddress": {
"type": "string",
"description": "Binds to specific interfaces, potentially on multiple ports. Each entry is either a host, or a host:port combination.",
"$comment": "We could add a pattern to match."
},
"tls": {
"type": "boolean",
"description": "Set this to true to enable TLS (https)."
},
"tlsCertificateFile": {
"type": "string",
"description": "The server certificate file in PEM format. Required if TLS is enabled."
},
"tlsKeyFile": {
"type": "string",
"description": "The private key for the certificate in PEM format. Required if TLS is enabled."
},
"connectionTimeoutSecs": {
"type": "integer",
"description": "Maximum time to handle a single request before returning a timeout (in seconds).",
"minimum": 0
},
"maxConnections": {
"type": "integer",
"description": "Maximum number of simultaneous connections which can be handled.",
"minimum": 1
},
"staticFiles": {
"description": "Map of static files.",
"propertyNames": {
"pattern": "^[/]"
},
"additionalProperties": {
"type": "object",
"properties": {
"file": { "type": "string" },
"contentType": { "type": "string" },
"charset": { "type": "string" }
},
"required": [ "file", "contentType" ],
"additionalProperties": false
}
}
},
"required": [ "port" ],
"additionalProperties": false
},
"C++Plugin": {
"type":"object",
"properties": {
"libraryName": {
"type": "string",
"description": "The base filename name of the library, excluding the operating system-specific prefixes and suffixes (that is, excluding the \"lib\" prefix and \".so\" suffix for UNIX, and the \".dll\" suffix for Windows)."
},
"class": {
"type": "string",
"description": "The base name of the class, without a package. The plug-in's documentation specifies the class name to be used."
},
"directory": {
"type": "string",
"description": "Specifies a directory where where the library will be found."
}
},
"required": [ "libraryName", "class" ],
"additionalProperties": false
},
"JavaPlugin": {
"type": "object",
"properties": {
"class": {
"type": "string",
"description": "The name of the plug-in class, which must include the package. The plug-in's documentation specifies the class name to be used."
},
"classpath": {
"anyOf": [
{
"type": "array",
"items": { "type": "string" },
"minItems": 1
},
{
"type": "string"
}
]
},
"directory": {
"type": "string",
"description": "Specifies a directory where the jar files will be found (unless an absolute path is specified for a classpath element)."
}
},
"required": [ "class", "classpath" ],
"additionalProperties": false
}
}
}