blob: b5f22c44ce98aeaa9f8898cc31a1ab006e6625ef [file] [log] [blame]
Scott Bakerfdbad762022-01-03 16:00:45 -08001// 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 description "The typedef for site-id";
29 }
30
31 container site {
32 description "The top level container";
33
34 list site {
35 key "id";
36 description
37 "List of site";
38
39 leaf id {
40 type site-id;
41 description "ID for this site.";
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 list small-cell {
52 key "small-cell-id";
53 leaf small-cell-id {
54 type yg:yang-identifier;
55 description
56 "Id of small cell";
57 }
58 leaf address {
59 type inet:host;
60 description
61 "Address of small cell";
62 }
63 leaf tac {
64 type at:tac;
65 mandatory true;
66 description
67 "Type Allocation Code";
68 }
69 leaf enable {
70 type boolean;
71 default true;
72 description
73 "Enable this small cell";
74 }
75 leaf display-name {
76 type string {
77 length 1..80;
78 }
79 description "display name to use in GUI or CLI";
80 }
81 description
82 "List of small cell addresses";
83 }
84
85 container monitoring {
86 leaf edge-cluster-prometheus-url {
87 type inet:uri;
88 description
89 "URL of edge cluster prometheus";
90 }
91 leaf edge-monitoring-prometheus-url {
92 type inet:uri;
93 description
94 "URL of monitoring prometheus";
95 }
96 list edge-device {
97 key "edge-device-id";
98 leaf edge-device-id {
99 type yg:yang-identifier;
100 description
101 "Id of edge monitoring device";
102 }
103 leaf display-name {
104 type string {
105 length 1..80;
106 }
107 description "display name to use in GUI or CLI";
108 }
109 leaf description {
110 type at:description;
111 description "description of this site";
112 }
113 description
114 "List of edge monitoring devices";
115 }
116 description
117 "container for monitoring";
118 }
119
120 leaf enterprise {
121 type leafref {
122 path "/ent:enterprise/ent:enterprise/ent:id";
123 }
124 mandatory true;
125 description
126 "Link to enterprise that owns this site";
127 }
128
129 container imsi-definition {
130 leaf mcc {
131 type at:mcc;
132 mandatory true;
133 description "mobile country code";
134 }
135 leaf mnc {
136 type at:mnc;
137 mandatory true;
138 description "mobile network code";
139 }
140 leaf enterprise {
141 type at:ent;
142 mandatory true;
143 description "enterprise-specific identifier";
144 }
145 leaf format {
146 type string {
147 length 15;
148 }
149 mandatory true;
150 description "IMSI format specifier, describes how fields are packed into an IMSI. Must be exactly 15 characters long. For example, CCCNNNEEESSSSSS.";
151 // Format specifiers:
152 // C = MCC
153 // N = MNC
154 // E = Enterprise
155 // 0 = Forced Zero
156 // S = Subscriber ID
157 // default is
158 // 3 digit MCC
159 // 3 digit MNC
160 // 3 digit enterprise ID
161 // 5 digit subscriber ID
162 }
163 description "container for imsi-defination";
164 }
165
166 leaf description {
167 type at:description;
168 description "description of this site";
169 }
170 }
171 }
172}