This module defines the Tail-f Web UI data model
Version: 2013-03-07
module tailf-webui { yang-version 1; namespace "http://tail-f.com/ns/webui"; prefix webui; import ietf-netconf-acm { prefix nacm; } import tailf-common { prefix tailf; } organization "Tail-f Systems"; description "This module defines the Tail-f Web UI data model"; revision "2013-03-07" { description "Initial release containing graphical panel and data storage support"; } container webui { tailf:info "Web UI specific configuration"; container schematics { tailf:info "Diagrams and reusable assets for the same"; container panels { tailf:info "For drawing diagrams"; list panel { tailf:info "Diagrams containing images and other components"; key "name"; leaf name { tailf:info "A unique name for the panel"; type string; } container properties { tailf:info "Optional panel properties"; leaf title { tailf:info "The panel heading"; type string; } leaf description { tailf:info "What this panel is about"; type string; } leaf width { tailf:info "Width in pixels"; type uint16; } leaf height { tailf:info "Height in pixels"; type uint16; } } // container properties container components { tailf:info ""; list component { key "id"; leaf id { tailf:info "Identifies this component uniquely."; type string; } container properties { leaf top { tailf:info "Top-to-bottom coordinate in pixels"; type uint16; } leaf left { tailf:info "Left-to-right coordinate in pixels"; type uint16; } leaf width { tailf:info "Width in pixels"; type uint16; } leaf height { tailf:info "Height in pixels"; type uint16; } leaf z-index { tailf:info "How the components are stacked on the z-axis"; type int16; } choice component-type { mandatory true; container image { leaf image { tailf:info "The image to display"; type leafref { path "/webui/schematics/assets/asset/name"; } mandatory true; } } // container image container link { leaf text { tailf:info "The link text"; type string; } leaf link { tailf:info "The link itself"; type string; mandatory true; } } // container link } // choice component-type } // container properties } // list component } // container components } // list panel } // container panels container assets { tailf:info "Sharable assets such as images and movies"; list asset { key "name"; leaf name { tailf:info "A unique name for the asset"; type string; } choice asset-type { case image { leaf base-64-image { tailf:info "Base64 encoded image"; type string; mandatory true; } leaf type { tailf:info "Image file format"; type enumeration { enum "jpeg" { value 0; } enum "png" { value 1; } enum "gif" { value 2; } } mandatory true; } } // case image } // choice asset-type } // list asset } // container assets } // container schematics container data-stores { tailf:info "Persistent data-stores used by the Web UI"; list user-profile { nacm:default-deny-all; tailf:info "Stores profiles for specific users in JSON format"; key "username"; leaf username { tailf:info "Who the configuration belongs to"; type string; } list profile { tailf:info "User profile settings"; key "key"; uses base-key-value-store; } // list profile list saved-query { tailf:info "Saved search queries"; key "list-path name"; uses base-saved-query-store; } // list saved-query } // list user-profile list data-store { tailf:info "Stores ad-hoc configuration"; key "key"; uses base-key-value-store; } // list data-store list saved-query { tailf:info "Queries that have been saved globally"; key "list-path name"; uses base-saved-query-store; } // list saved-query } // container data-stores } // container webui grouping base-key-value-store { leaf key { tailf:info "Identifies a unique entry in the store"; type string; } leaf value { tailf:info "String based blob, for example JSON or base64 encoded string"; type string; } } // grouping base-key-value-store grouping base-saved-query-store { leaf list-path { tailf:info "Identifies a unique list instance"; type string; } leaf name { tailf:info "The name of the saved query"; type string; } leaf serialized-query { tailf:info "Web UI query serialized as JSON"; type string; mandatory true; } } // grouping base-saved-query-store } // module tailf-webui
© 2023 YumaWorks, Inc. All rights reserved.