blob: 7d05600b52e021f26dcf64060ceae5e1d07679fa [file] [log] [blame]
Scott Bakerc9d3d842021-09-17 11:32:53 -07001// SPDX-FileCopyrightText: 2021 Open Networking Foundation
2//
3// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
4
5module onf-template {
6 namespace "http://opennetworking.org/aether/template";
7 prefix tp;
8
9 import ietf-yang-types{ prefix yg; }
10 import onf-aether-types{ prefix at; }
11 import onf-traffic-class{ prefix tc; }
12
13 organization "Open Networking Foundation.";
14 contact "Scott Baker";
15 description
16 "The aether vcs-template holds common parameters used
17 by a virtual connectivity service. Templates are used to
18 populate a VCS.";
19
20 revision "2021-06-02" {
21 description "An Aether Virtual Cellular Service Template";
22 reference "RFC 6087";
23 }
24
25 typedef template-id {
26 type yg:yang-identifier {
27 length 1..32;
28 }
29 }
30
31 container template {
32 description "The top level container";
33
34 list template {
35 key "id";
36 description
37 "List of vcs templates";
38
39 leaf id {
40 type template-id;
41 description "ID for this vcs template.";
42 }
43
44 leaf display-name {
45 type string {
46 length 1..80;
47 }
48 description "display name to use in GUI or CLI";
49 }
50
51 leaf sst {
52 type at:sst;
53 description "Slice/Service type";
54 }
55
56 leaf sd {
57 type at:sd;
58 description "Slice differentiator";
59 }
60
61 container device {
62 description "Per-device QOS Settings";
63 container mbr {
64 description "Maximum bitrate";
65 leaf uplink {
66 type at:bitrate;
67 units bps;
68 description "Per-device mbr uplink data rate in mbps";
69 }
70
71 leaf downlink {
72 type at:bitrate;
73 units bps;
74 description "Per-device mbr downlink data rate in mbps";
75 }
76 }
77 }
78
79 container slice {
80 description "Per-Slice QOS Settings";
81 container mbr {
82 description "Maximum bitrate";
83 leaf uplink {
84 type at:bitrate;
85 units bps;
86 description "Per-Slice mbr uplink data rate in mbps";
87 }
88
89 leaf downlink {
90 type at:bitrate;
91 units bps;
92 description "Per-Slice mbr downlink data rate in mbps";
93 }
94 }
95 }
96
97 leaf traffic-class {
98 type leafref {
99 path "/tc:traffic-class/tc:traffic-class/tc:id";
100 }
101 description
102 "Link to traffic class";
103 }
104
105 leaf description {
106 type at:description;
107 description "description of this vcs template";
108 }
109 }
110 }
111}