3
3
"$schema" : " http://json-schema.org/draft-07/schema#" ,
4
4
"type" : " object" ,
5
5
"title" : " A .NET Feature Management Configuration" ,
6
- "required" : [],
7
- "patternProperties" : {
8
- "^[^:]*$" : {
9
- "description" : " Declares a feature flag." ,
10
- "anyOf" : [
11
- {
12
- "type" : " boolean" ,
13
- "title" : " On/Off Feature Flag" ,
14
- "description" : " A feature flag that always returns the same value."
15
- },
16
- {
17
- "type" : " object" ,
18
- "title" : " Conditional Feature Flag" ,
19
- "description" : " A feature flag which value is dynamic based on a set of feature filters" ,
20
- "required" : [
21
- " EnabledFor"
22
- ],
23
- "properties" : {
24
- "RequirementType" : {
25
- "type" : " string" ,
26
- "title" : " Requirement Type" ,
27
- "description" : " Determines whether any or all registered feature filters must be enabled for the feature to be considered enabled." ,
28
- "enum" : [
29
- " Any" ,
30
- " All"
31
- ],
32
- "default" : " Any"
6
+ "required" : [
7
+ " FeatureManagement"
8
+ ],
9
+ "properties" :{
10
+ "FeatureManagement" : {
11
+ "type" : " object" ,
12
+ "title" : " Feature Management" ,
13
+ "description" : " Declares feature management configuration." ,
14
+ "required" : [],
15
+ "patternProperties" : {
16
+ "^[^:]*$" : {
17
+ "description" : " Declares a feature flag." ,
18
+ "anyOf" : [
19
+ {
20
+ "type" : " boolean" ,
21
+ "title" : " On/Off Feature Flag" ,
22
+ "description" : " A feature flag that always returns the same value."
33
23
},
34
- "EnabledFor" : {
35
- "oneOf " : [
36
- {
37
- "type " : " array " ,
38
- "title " : " Feature Filter Collection " ,
39
- "description" : " Feature filters that are evaluated to conditionally enable the flag. " ,
40
- "items" : {
41
- "type " : " object " ,
42
- "title " : " Feature Filter Declaration " ,
43
- "required " : [
44
- " Name "
45
- ] ,
46
- "properties " : {
47
- "Name" : {
48
- "type" : " string " ,
49
- "title" : " Feature Filter Name " ,
50
- "description " : " The name used to refer to and require a feature filter. " ,
51
- "default" : " " ,
52
- "examples " : [
53
- " Percentage " ,
54
- " TimeWindow "
55
- ] ,
56
- "pattern " : " ^[^:]*$ "
57
- } ,
58
- "Parameters " : {
24
+ {
25
+ "type " : " object " ,
26
+ "title" : " Conditional Feature Flag " ,
27
+ "description " : " A feature flag which value is dynamic based on a set of feature filters " ,
28
+ "required " : [
29
+ " EnabledFor "
30
+ ],
31
+ "properties " : {
32
+ "RequirementType " : {
33
+ "type " : " string " ,
34
+ "title" : " Requirement Type " ,
35
+ "description" : " Determines whether any or all registered feature filters must be enabled for the feature to be considered enabled. " ,
36
+ "enum " : [
37
+ " Any " ,
38
+ " All "
39
+ ] ,
40
+ "default " : " Any "
41
+ } ,
42
+ "EnabledFor " : {
43
+ "oneOf" : [
44
+ {
45
+ "type" : " array " ,
46
+ "title " : " Feature Filter Collection " ,
47
+ "description" : " Feature filters that are evaluated to conditionally enable the flag. " ,
48
+ "items " : {
59
49
"type" : " object" ,
60
- "title" : " Feature Filter Parameters" ,
61
- "description" : " Custom parameters for a given feature filter. A feature filter can require any set of parameters of any type." ,
62
- "required" : [],
63
- "patternProperties" : {
64
- "^.*$" : {
65
- "anyOf" : [
66
- {
67
- "type" : " string"
68
- },
69
- {
70
- "type" : " null"
71
- },
72
- {
73
- "type" : " object"
74
- },
75
- {
76
- "type" : " number"
77
- },
78
- {
79
- "type" : " array"
80
- },
81
- {
82
- "type" : " boolean"
50
+ "title" : " Feature Filter Declaration" ,
51
+ "required" : [
52
+ " Name"
53
+ ],
54
+ "properties" : {
55
+ "Name" : {
56
+ "type" : " string" ,
57
+ "title" : " Feature Filter Name" ,
58
+ "description" : " The name used to refer to and require a feature filter." ,
59
+ "default" : " " ,
60
+ "examples" : [
61
+ " Percentage" ,
62
+ " TimeWindow"
63
+ ],
64
+ "pattern" : " ^[^:]*$"
65
+ },
66
+ "Parameters" : {
67
+ "type" : " object" ,
68
+ "title" : " Feature Filter Parameters" ,
69
+ "description" : " Custom parameters for a given feature filter. A feature filter can require any set of parameters of any type." ,
70
+ "required" : [],
71
+ "patternProperties" : {
72
+ "^.*$" : {
73
+ "anyOf" : [
74
+ {
75
+ "type" : " string"
76
+ },
77
+ {
78
+ "type" : " null"
79
+ },
80
+ {
81
+ "type" : " object"
82
+ },
83
+ {
84
+ "type" : " number"
85
+ },
86
+ {
87
+ "type" : " array"
88
+ },
89
+ {
90
+ "type" : " boolean"
91
+ }
92
+ ]
83
93
}
84
- ]
94
+ }
85
95
}
86
96
}
87
97
}
98
+ },
99
+ {
100
+ "type" : " boolean"
88
101
}
89
- }
102
+ ]
90
103
},
91
- {
92
- "type" : " boolean"
93
- }
94
- ]
95
- },
96
- "additionalProperties" : false
97
- }
104
+ "additionalProperties" : false
105
+ }
106
+ }
107
+ ]
98
108
}
99
- ]
109
+ }
100
110
}
101
111
}
102
- }
112
+ }
0 commit comments