blob: b5f22c44ce98aeaa9f8898cc31a1ab006e6625ef [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 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000028 description "The typedef for site-id";
Scott Bakerc9d3d842021-09-17 11:32:53 -070029 }
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 {
Scott Bakerc4b3e272021-11-01 17:13:48 -070052 key "small-cell-id";
53 leaf small-cell-id {
Scott Bakerc9d3d842021-09-17 11:32:53 -070054 type yg:yang-identifier;
55 description
Scott Bakerebb99ae2021-11-01 15:34:51 -070056 "Id of small cell";
57 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070058 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";
Scott Bakerebb99ae2021-11-01 15:34:51 -070068 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070069 leaf enable {
70 type boolean;
71 default true;
72 description
73 "Enable this small cell";
74 }
Scott Bakerebb99ae2021-11-01 15:34:51 -070075 leaf display-name {
76 type string {
77 length 1..80;
78 }
79 description "display name to use in GUI or CLI";
80 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070081 description
82 "List of small cell addresses";
Scott Bakerebb99ae2021-11-01 15:34:51 -070083 }
Scott Bakera6929052021-10-06 08:16:03 -070084
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";
Scott Bakerebb99ae2021-11-01 15:34:51 -070095 }
Scott Bakera6929052021-10-06 08:16:03 -070096 list edge-device {
Scott Bakerc4b3e272021-11-01 17:13:48 -070097 key "edge-device-id";
98 leaf edge-device-id {
Scott Bakerebb99ae2021-11-01 15:34:51 -070099 type yg:yang-identifier;
Scott Bakera6929052021-10-06 08:16:03 -0700100 description
Scott Bakerebb99ae2021-11-01 15:34:51 -0700101 "Id of edge monitoring device";
Scott Bakera6929052021-10-06 08:16:03 -0700102 }
103 leaf display-name {
104 type string {
105 length 1..80;
106 }
Scott Bakerebb99ae2021-11-01 15:34:51 -0700107 description "display name to use in GUI or CLI";
Scott Bakera6929052021-10-06 08:16:03 -0700108 }
109 leaf description {
110 type at:description;
111 description "description of this site";
112 }
113 description
114 "List of edge monitoring devices";
115 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000116 description
117 "container for monitoring";
Scott Bakera6929052021-10-06 08:16:03 -0700118 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700119
120 leaf enterprise {
121 type leafref {
122 path "/ent:enterprise/ent:enterprise/ent:id";
Scott Bakerebb99ae2021-11-01 15:34:51 -0700123 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000124 mandatory true;
Scott Bakerc9d3d842021-09-17 11:32:53 -0700125 description
126 "Link to enterprise that owns this site";
Scott Bakerc9d3d842021-09-17 11:32:53 -0700127 }
128
129 container imsi-definition {
130 leaf mcc {
131 type at:mcc;
Scott Bakerc9d3d842021-09-17 11:32:53 -0700132 mandatory true;
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000133 description "mobile country code";
Scott Bakerc9d3d842021-09-17 11:32:53 -0700134 }
135 leaf mnc {
136 type at:mnc;
Scott Bakerc9d3d842021-09-17 11:32:53 -0700137 mandatory true;
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000138 description "mobile network code";
Scott Bakerc9d3d842021-09-17 11:32:53 -0700139 }
140 leaf enterprise {
141 type at:ent;
Scott Bakerc9d3d842021-09-17 11:32:53 -0700142 mandatory true;
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000143 description "enterprise-specific identifier";
Scott Bakerc9d3d842021-09-17 11:32:53 -0700144 }
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 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000163 description "container for imsi-defination";
Scott Bakerc9d3d842021-09-17 11:32:53 -0700164 }
165
166 leaf description {
167 type at:description;
168 description "description of this site";
Scott Bakerebb99ae2021-11-01 15:34:51 -0700169 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700170 }
Scott Bakerebb99ae2021-11-01 15:34:51 -0700171 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700172}