-
Notifications
You must be signed in to change notification settings - Fork 20
/
beaconConfigurationSchema.yaml
61 lines (61 loc) · 2.34 KB
/
beaconConfigurationSchema.yaml
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
$schema: https://json-schema.org/draft/2020-12/schema
title: Beacon Configuration
description: Files complaint with this schema are the configuration ones. The details
returned in `service-info` are mirroring the ones in this configuration file.
type: object
properties:
$schema:
$ref: ../common/beaconCommonComponents.yaml#/definitions/$schema
maturityAttributes:
description: Declares the level of maturity of the Beacon instance.
type: object
properties:
productionStatus:
description: "`DEV`= 'Service potentially unstable, not real data', which\
\ availability and data should not be used in production setups. `TEST`=\
\ 'Service stable, not real data'. 'PROD'= 'Service stable, actual data'."
type: string
enum:
- DEV
- TEST
- PROD
securityAttributes:
description: Configuration of the security aspects of the Beacon. By default,
a Beacon that does not declare the configuration settings would return `boolean`
(true/false) responses, and only if the user is authenticated and explicitly
authorized to access the Beacon resources. Although this is the safest set of
settings, it is not recommended unless the Beacon shares very sensitive information.
Non sensitive Beacons should preferably opt for a `record` and `PUBLIC` combination.
type: object
properties:
defaultGranularity:
description: Default granularity. Some responses could return higher detail,
but this would be the granularity by default.
$ref: ../common/beaconCommonComponents.yaml#/definitions/Granularity
securityLevels:
description: All access levels supported by the Beacon. Any combination is
valid, as every option would apply to different parts of the Beacon.
type: array
items:
enum:
- PUBLIC
- REGISTERED
- CONTROLLED
default:
- CONTROLLED
entryTypes:
$ref: '#/definitions/EntryTypes'
definitions:
EntryTypes:
description: This is a dictionary of the entry types implemented in this Beacon
instance.
type: object
additionalProperties:
type: object
$ref: ./entryTypeDefinition.yaml
minProperties: 1
required:
- $schema
- maturityAttributes
- entryTypes
additionalProperties: true