blob: e7b3fda608abc4326260aba08779ff00a07eb02b [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-site {
6 namespace "http://opennetworking.org/aether/site";
7 prefix st;
8
9 import ietf-inet-types { prefix inet; }
10 import ietf-yang-types{ prefix yg; }
11 import onf-aether-types{ prefix at; }
12 import onf-enterprise{ prefix ent; }
13
14 organization "Open Networking Foundation.";
15 contact "Scott Baker";
16 description
17 "An Aether site is a location where resources are deployed.";
18
19 revision "2021-09-10" {
20 description "An Aether Site.";
21 reference "RFC 6087";
22 }
23
24 typedef site-id {
25 type yg:yang-identifier {
26 length 1..32;
27 }
28 }
29
30 container site {
31 description "The top level container";
32
33 list site {
34 key "id";
35 description
36 "List of site";
37
38 leaf id {
39 type site-id;
40 description "ID for this site.";
41 }
42
43 leaf display-name {
44 type string {
45 length 1..80;
46 }
47 description "display name to use in GUI or CLI";
48 }
49
50 list small-cell {
51 key "name";
52 leaf name {
53 type yg:yang-identifier;
54 description
55 "Name of small cell";
56 }
57 leaf address {
58 type inet:host;
59 description
60 "Address of small cell";
61 }
62 leaf tac {
63 type at:tac;
64 mandatory true;
65 description
66 "Type Allocation Code";
67 }
68 leaf enable {
69 type boolean;
70 default true;
71 description
72 "Enable this small cell";
73 }
74 description
75 "List of small cell addresses";
Scott Bakera6929052021-10-06 08:16:03 -070076 }
77
78 container monitoring {
79 leaf edge-cluster-prometheus-url {
80 type inet:uri;
81 description
82 "URL of edge cluster prometheus";
83 }
84 leaf edge-monitoring-prometheus-url {
85 type inet:uri;
86 description
87 "URL of monitoring prometheus";
88 }
89 list edge-device {
90 key "name";
91 leaf name {
92 type string {
93 length 1..80;
94 }
95 description
96 "Name of edge monitoring device";
97 }
98 leaf display-name {
99 type string {
100 length 1..80;
101 }
102 description "display name to use in GUI or CLI";
103 }
104 leaf description {
105 type at:description;
106 description "description of this site";
107 }
108 description
109 "List of edge monitoring devices";
110 }
111 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700112
113 leaf enterprise {
114 type leafref {
115 path "/ent:enterprise/ent:enterprise/ent:id";
116 }
117 description
118 "Link to enterprise that owns this site";
119 mandatory true;
120 }
121
122 container imsi-definition {
123 leaf mcc {
124 type at:mcc;
125 description "mobile country code";
126 mandatory true;
127 }
128 leaf mnc {
129 type at:mnc;
130 description "mobile network code";
131 mandatory true;
132 }
133 leaf enterprise {
134 type at:ent;
135 description "enterprise-specific identifier";
136 mandatory true;
137 }
138 leaf format {
139 type string {
140 length 15;
141 }
142 mandatory true;
143 description "IMSI format specifier, describes how fields are packed into an IMSI. Must be exactly 15 characters long. For example, CCCNNNEEESSSSSS.";
144 // Format specifiers:
145 // C = MCC
146 // N = MNC
147 // E = Enterprise
148 // 0 = Forced Zero
149 // S = Subscriber ID
150 // default is
151 // 3 digit MCC
152 // 3 digit MNC
153 // 3 digit enterprise ID
154 // 5 digit subscriber ID
155 }
156 }
157
158 leaf description {
159 type at:description;
160 description "description of this site";
161 }
162 }
163 }
164}