-
Notifications
You must be signed in to change notification settings - Fork 75
/
Copy pathmanifest.spec.yml
216 lines (216 loc) · 5.92 KB
/
manifest.spec.yml
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
##
## Describes the specification for a data stream's manifest.yml file
##
spec:
# Everything under here follows JSON schema (https://json-schema.org/), written as YAML for readability
type: object
additionalProperties: false
definitions:
# Would like to use `null` type for an empty array which is a valid value
# Need to use `"null"` to workaround a bug in the YAML parser implementation (`[]interface(nil)` is just `nil`)
# For reference: https://github.com/xeipuuv/gojsonschema/issues/141
input_variable_value:
anyOf:
- type:
- string
- integer
- boolean
- "null"
- type: array
items:
$ref: "#/definitions/input_variable_value"
examples:
- "null"
- ""
- some string
- 1234
- true
- - 3
- mixed
- true
- - - array
- 1
- - array
- 2
vars:
description: Input variables.
type: array
items:
type: object
additionalProperties: false
properties:
name:
description: Variable name.
type: string
examples:
- hosts
type:
description: Data type of variable.
type: string
enum:
- bool
- email
- integer
- password
- text
- time_zone
- url
- yaml
examples:
- text
title:
description: Title of variable.
type: string
examples:
- Hosts
description:
description: Short description of variable.
type: string
examples:
- "Hosts of integration service to connect to"
multi:
description: Can variable contain multiple values?
type: boolean
default: false
examples:
- true
required:
description: Is variable required?
type: boolean
default: false
examples:
- true
show_user:
description: Should this variable be shown to the user by default?
type: boolean
default: true
examples:
- false
url_allowed_schemes:
description: >
List of allowed URL schemes for the url type. If empty, any scheme is allowed.
An empty string can be used to indicate that the scheme is not mandatory.
type: array
items:
type: string
default: []
examples:
- ['http', 'https']
- ['redis', 'rediss']
- ['', 'mysql']
default:
description: Default value(s) for variable
$ref: "#/definitions/input_variable_value"
required:
- name
- type
properties:
dataset:
description: Name of data set.
type: string
title:
description: Title of data stream.
type: string
examples:
- AWS billing metrics
release:
description: Stability of data stream.
type: string
enum:
- experimental
- beta
examples:
- beta
ilm_policy:
description: The name of an existing ILM (Index Lifecycle Management) policy
type: string
examples:
- diagnostics
dataset_is_prefix:
description: if true, the index pattern in the ES template will contain the dataset as a prefix only
type: boolean
default: false
type:
description: Type of data stream
type: string
enum:
- metrics
- logs
- synthetics
- traces
examples:
- metrics
hidden:
description: Specifies if a data stream is hidden
type: boolean
streams:
description: Streams offered by data stream.
type: array
items:
type: object
additionalProperties: false
properties:
input:
type: string
examples:
- aws/metrics
- s3
- file
title:
type: string
examples:
- AWS Billing metrics
description:
type: string
examples:
- Collect AWS billing metrics
template_path:
description: "Path to Elasticsearch index template for stream."
type: string
vars:
$ref: "#/definitions/vars"
enabled:
description: Is stream enabled?
type: boolean
required:
- title
- description
- input
elasticsearch:
description: Elasticsearch asset definitions
type: object
additionalProperties: false
properties:
index_template:
description: Index template definition
type: object
additionalProperties: false
properties:
settings:
description: Settings section of index template
type: object
mappings:
description: Mappings section of index template
type: object
ingest_pipeline:
description: Elasticsearch ingest pipeline settings
type: object
additionalProperties: false
properties:
name:
description: Ingest pipeline name
type: string
required:
- name
privileges:
description: Elasticsearch privilege requirements
type: object
additionalProperties: false
properties:
indices:
description: Elasticsearch index privilege requirements
type: array
items:
type: string
required:
- title