blob: ea040e73dd240f9b8eea784e893616c31edda100 [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 template {
6 namespace "http://opennetworking.org/aether/template";
7 prefix tp;
8
9 import aether-types{ prefix at; }
10 import traffic-class{ prefix tc; }
11 import ietf-yang-types{ prefix yg; }
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 leaf uplink {
62 type uint32;
63 description "Uplink data rate in mbps";
64 }
65
66 leaf downlink {
67 type uint32;
68 description "Downlink data rate in mbps";
69 }
70
71 leaf traffic-class {
72 type leafref {
73 path "/tc:traffic-class/tc:traffic-class/tc:id";
74 }
75 description
76 "Link to traffic class";
77 }
78
79 leaf description {
80 type at:description;
81 description "description of this vcs template";
82 }
83 }
84 }
85}