blob: 96b99a74e821d3375f4703a1217f863dd08971fe [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; }
Scott Bakerebb99ae2021-11-01 15:34:51 -070010 import ietf-yang-types{ prefix yg; }
Scott Bakerc9d3d842021-09-17 11:32:53 -070011 import onf-aether-types{ prefix at; }
Scott Bakerebb99ae2021-11-01 15:34:51 -070012 import onf-enterprise{ prefix ent; }
Scott Bakerc9d3d842021-09-17 11:32:53 -070013
14 organization "Open Networking Foundation.";
15 contact "Scott Baker";
Scott Bakerebb99ae2021-11-01 15:34:51 -070016 description
Scott Bakerc9d3d842021-09-17 11:32:53 -070017 "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 {
Scott Bakerebb99ae2021-11-01 15:34:51 -070051 key "id";
52 leaf id {
Scott Bakerc9d3d842021-09-17 11:32:53 -070053 type yg:yang-identifier;
54 description
Scott Bakerebb99ae2021-11-01 15:34:51 -070055 "Id of small cell";
56 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070057 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";
Scott Bakerebb99ae2021-11-01 15:34:51 -070067 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070068 leaf enable {
69 type boolean;
70 default true;
71 description
72 "Enable this small cell";
73 }
Scott Bakerebb99ae2021-11-01 15:34:51 -070074 leaf display-name {
75 type string {
76 length 1..80;
77 }
78 description "display name to use in GUI or CLI";
79 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070080 description
81 "List of small cell addresses";
Scott Bakerebb99ae2021-11-01 15:34:51 -070082 }
Scott Bakera6929052021-10-06 08:16:03 -070083
84 container monitoring {
85 leaf edge-cluster-prometheus-url {
86 type inet:uri;
87 description
88 "URL of edge cluster prometheus";
89 }
90 leaf edge-monitoring-prometheus-url {
91 type inet:uri;
92 description
93 "URL of monitoring prometheus";
Scott Bakerebb99ae2021-11-01 15:34:51 -070094 }
Scott Bakera6929052021-10-06 08:16:03 -070095 list edge-device {
Scott Bakerebb99ae2021-11-01 15:34:51 -070096 key "id";
97 leaf id {
98 type yg:yang-identifier;
Scott Bakera6929052021-10-06 08:16:03 -070099 description
Scott Bakerebb99ae2021-11-01 15:34:51 -0700100 "Id of edge monitoring device";
Scott Bakera6929052021-10-06 08:16:03 -0700101 }
102 leaf display-name {
103 type string {
104 length 1..80;
105 }
Scott Bakerebb99ae2021-11-01 15:34:51 -0700106 description "display name to use in GUI or CLI";
Scott Bakera6929052021-10-06 08:16:03 -0700107 }
108 leaf description {
109 type at:description;
110 description "description of this site";
111 }
112 description
113 "List of edge monitoring devices";
114 }
115 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700116
117 leaf enterprise {
118 type leafref {
119 path "/ent:enterprise/ent:enterprise/ent:id";
Scott Bakerebb99ae2021-11-01 15:34:51 -0700120 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700121 description
122 "Link to enterprise that owns this site";
Scott Bakerebb99ae2021-11-01 15:34:51 -0700123 mandatory true;
Scott Bakerc9d3d842021-09-17 11:32:53 -0700124 }
125
126 container imsi-definition {
127 leaf mcc {
128 type at:mcc;
129 description "mobile country code";
130 mandatory true;
131 }
132 leaf mnc {
133 type at:mnc;
134 description "mobile network code";
135 mandatory true;
136 }
137 leaf enterprise {
138 type at:ent;
139 description "enterprise-specific identifier";
140 mandatory true;
141 }
142 leaf format {
143 type string {
144 length 15;
145 }
146 mandatory true;
147 description "IMSI format specifier, describes how fields are packed into an IMSI. Must be exactly 15 characters long. For example, CCCNNNEEESSSSSS.";
148 // Format specifiers:
149 // C = MCC
150 // N = MNC
151 // E = Enterprise
152 // 0 = Forced Zero
153 // S = Subscriber ID
154 // default is
155 // 3 digit MCC
156 // 3 digit MNC
157 // 3 digit enterprise ID
158 // 5 digit subscriber ID
159 }
160 }
161
162 leaf description {
163 type at:description;
164 description "description of this site";
Scott Bakerebb99ae2021-11-01 15:34:51 -0700165 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700166 }
Scott Bakerebb99ae2021-11-01 15:34:51 -0700167 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700168}