completed REST/JSON interface generation integration with yang-js and yang-express. now supports complete CRUD operations against the subscriber model. need to update documentation to reflect latest changes
diff --git a/schema/cord-core.yang b/schema/cord-core.yang
index 25d3d3a..b399362 100644
--- a/schema/cord-core.yang
+++ b/schema/cord-core.yang
@@ -33,27 +33,26 @@
/*** primary configuration tree for this module ***/
- container cord {
- list subscriber {
- uses csub:subscriber-controller;
- key "id";
+ list subscriber {
+ uses csub:subscriber-controller;
+ key "id";
- description
- "Authorative list of all subscriber instances";
+ description
+ "Authorative list of all subscriber instances";
- leaf humanReadableName {
- config false;
- type string {
- pattern '^cordSubscriber-\w+$';
- }
+ leaf humanReadableName {
+ config false;
+ type string {
+ pattern '^cordSubscriber-\w+$';
}
- action delete;
+ }
+ action delete;
+ }
+
+ // here we augment the /api/tenant API configuration tree in 'xos' module
+ augment "/xos:api/xos:tenant" {
+ container cord {
+ node:link subscriber { path "/cord:subscriber"; }
}
}
-
- // here we augment the /api/tenant/cord API configuration tree in 'xos' module
- augment "/xos:api/xos:tenant" {
- container cord { node:map "/cord:cord"; }
- }
-
}
diff --git a/schema/cord-subscriber.yang b/schema/cord-subscriber.yang
index 8f3dae5..7fa098e 100644
--- a/schema/cord-subscriber.yang
+++ b/schema/cord-subscriber.yang
@@ -119,11 +119,11 @@
node:view "features identity related";
container features {
- leaf cdn { node:link "../../services/cdn/enabled"; }
- leaf uplink-speed { node:link "../../uplink-speed"; }
- leaf downlink-speed { node:link "../../downlink-speed"; }
- leaf uverse { node:link "../../services/uverse/enabled"; }
- leaf status { node:link "../../status"; }
+ node:link cdn { path "../services/cdn/enabled"; }
+ node:link uplink-speed { path "../uplink-speed"; }
+ node:link downlink-speed { path "../downlink-speed"; }
+ node:link uverse { path "../services/uverse/enabled"; }
+ node:link status { path "../status"; }
action update {
description "when invoked, updates the features container (PUT)";
@@ -131,8 +131,8 @@
}
container identity {
- leaf account-num { node:link "../../service-specific-id"; }
- leaf name { node:link "../../name"; }
+ node:link account-num { path "../service-specific-id"; }
+ node:link name { path "../name"; }
action update {
description "when invoked, updates the identity container (PUT)";
diff --git a/schema/corenova-node.yang b/schema/corenova-node.yang
index 104c2e4..e0873e0 100644
--- a/schema/corenova-node.yang
+++ b/schema/corenova-node.yang
@@ -15,29 +15,18 @@
feature corenova-node {
description
"this is to indicate the agent supports dynamic schema node
- link/map/view.";
+ link and view constraints.";
}
extension link {
description
- "Links the current leaf (or leaf-list) to an alternate leaf in the
- schema data tree. The current leaf becomes a 'mirror' instance
- of the target node.";
- argument target-node-path {
- yin-element true;
- }
- }
-
- extension map {
- description
- "Maps the current container (or list entry) to an alternate container
- in the schema data tree. The target-node-path must not map to
- leaf or leaf-list nodes. The current container will map to
- additional data nodes found inside the alternate container. The
- mapped data nodes behave similarly to the 'link' extension
- case. It can be defined one or more times within the same
- container to map across modules and other subtrees.";
- argument target-node-path {
+ "Links a new 'link-name' element to an alternate data node element in
+ the schema data tree referenced by the 'path' sub statement. It
+ can be used within 'container' or 'list' type data element to
+ hold one or more such 'links' as part of its configuration data
+ tree. The new link element becomes a 'mirror' instance of the
+ target node found in the path expression.";
+ argument link-name {
yin-element true;
}
}
diff --git a/schema/xos-core.yang b/schema/xos-core.yang
index 82d1a7e..3de5ba3 100644
--- a/schema/xos-core.yang
+++ b/schema/xos-core.yang
@@ -41,9 +41,9 @@
typedef unique-identifier {
description "defines valid formats for external reference id";
type union {
+ type uint32 { range 1..max; }
type yang:uuid;
type inet:uri;
- type uint32 { range 1..max; }
}
}