Assumptions
# | Description |
---|---|
1 | Yang namespaces are globally unique (except for multiple revisions) |
Open Issues/Decisions
API definitions
Group | # | Operation | Payload | Description |
---|---|---|---|---|
Modelling storage | 1 | PUT /module/{dataspace} | File | Create/Update (and validate) a module set. (upload a model file) |
2 | GET /module/ | Read all modules in the store. | ||
3 | GET /module/{namespace} (see assumption #1 and issue #1) | Read all modules in the store for the given namespace | ||
4 | GET /module/{namespace}/{revision} | Read all modules in the store for the given namespace and revision | ||
5 | GET /module/{dataspace} (see issue #1) | Read all modules in the store for the given dataspace | ||
Anchor Points persistence | 6 | PUT /anchor-point/ | Json Object | Create an anchor point given a name and a dataspace and module (namespace and revision) |
7 | GET /anchor-point/{dataspace}/{name}/ | Read an anchor point and the associated attributes given a name and a dataspace. | ||
8 | DELETE /anchor-point/{dataspace}/{name} | Delete an anchor point given a name and a dataspace. (will delete whole tree) | ||
9 | GET /anchor-point/{dataspace} (see isue#1) | Read all anchor points in the system given a dataspace. | ||
10 | GET /module/{dataspace}/{anchor-point}/ | Get a module (reference), given an anchor point | ||
11 | GET /anchor-point/fragment/{dataspace}/{xpath}/ | Get the anchor point of a fragment given a fragments xpath | ||
Fragment persistence | 12 | PUT /fragment/{dataspace}/{name}/ | File | Create a (root) fragment for a given anchor point, the fragment can have children. |
13 | PUT /fragment/{parent-fragment-id}/ | File | Create a fragment given an ID relative to the parent | |
14 | GET /fragment/{dataspace}/{name}/ | Get a fragment given a anchor point (return just one level with just xpath references to its children) | ||
15 | GET /fragment/{dataspace}/{xpath}/ (see isue#2) | Get a fragment given a Xpath expression | ||
16 | GET /fragments/{dataspace}/{anchor-point}/ | Get all the fragments under an anchor point given a anchor point (notice similarity with /fragment/{dataspace}/{anchor-point}/ (just one letter!) | ||
17 | GET /fragment/{dataspace}/schema-node-identifier/{schema-node-identifier}/ | Get all the relevant fragments given a schema node identifier (not need to specify dataspace is schema-node-identifier is globally unique) |