Skip to content

Commit 215c5aa

Browse files
committed
required fields for rule definition
stub rule states
1 parent 59ace40 commit 215c5aa

1 file changed

Lines changed: 62 additions & 2 deletions

File tree

schema/templates/policy/policy.json

Lines changed: 62 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,68 @@
6060
"type": "object",
6161
"description": "An individual rule in a policy",
6262
"additionalProperties": false,
63-
"required": [],
64-
"properties": {}
63+
"required": [
64+
"name",
65+
"rule_id",
66+
"rule_type",
67+
"geographies",
68+
"states",
69+
"rule_units"
70+
],
71+
"properties": {
72+
"name": {
73+
"$id": "#/definitions/rule/properties/name",
74+
"$ref": "#/definitions/string",
75+
"description": "Name of rule"
76+
},
77+
"rule_id": {
78+
"$id": "#/definitions/rule/properties/rule_id",
79+
"$ref": "#/definitions/uuid",
80+
"description": "Unique ID of rule"
81+
},
82+
"rule_type": {
83+
"$id": "#/definitions/rule/properties/rule_type",
84+
"type": "string",
85+
"description": "The type of rule",
86+
"enum": [
87+
"count",
88+
"time",
89+
"speed",
90+
"rate",
91+
"user"
92+
]
93+
},
94+
"geographies": {
95+
"$id": "#/definitions/rule/properties/geographies",
96+
"type": "array",
97+
"description": "List of Geography UUIDs (non-overlapping) specifying the covered geography",
98+
"items": {
99+
"$id": "#/definitions/rule/properties/geographies/items",
100+
"$ref": "#/definitions/uuid"
101+
},
102+
"minItems": 1,
103+
"uniqueItems": true
104+
},
105+
"states": {
106+
"$id": "#/definitions/rule/properties/states",
107+
"type": "object"
108+
},
109+
"rule_units": {
110+
"$id": "#/definitions/rule/properties/rule_units",
111+
"type": "string",
112+
"description": "Meaured units of policy",
113+
"enum": [
114+
"seconds",
115+
"minutes",
116+
"hours",
117+
"days",
118+
"mph",
119+
"kph",
120+
"devices",
121+
"amount"
122+
]
123+
}
124+
}
65125
}
66126
},
67127
"required": [

0 commit comments

Comments
 (0)