Dependencies
Option value definition may have one or more dependencies on other option value definitions within the same model or across included models. The supported types of dependencies are presented below. Dependent types are addressed using a local JSONPath path.
Requirement dependency
When options are mentioned in this type of dependency, their arity is promoted
to required
.
"deps": [ { "require": [ "@.A", ... ] } ]
Disable dependency
When options are mentioned in this type of dependency, their use is disabled.
"deps": [ { "disable": [ "@.A", ... ] } ]
Value-guarded dependency
Value-guarded dependencies are activated only when the option has one of the
value specified in the when
list.
"deps": [ { "when": [ v0, v1 ], "require": [ "@.A", ... ] } ]
"deps": [ { "when": [ v0, v1 ], "disable": [ "@.A", ... ] } ]
Constraint-guarded dependency
Constraint-guarded dependencies enforce the final value of the dependent type.
"deps": [ { "require": [ "@.A", ... ], "either": [ V1, V2 ] } ]
"deps": [ { "require": [ "@.A", ... ], "range": "[ V1, V2 ]" } ]
Mixing dependencies
"deps": [
{ "require": [ "@.A", ... ] },
{ "when": [ V ], "require": [ "@.A", ... ] }
]