blob: 5c4a31c69a783379a3d5a86e33ee00f7a2877d2d [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 site {
6 namespace "http://opennetworking.org/aether/site";
7 prefix st;
8
9 import aether-types{ prefix at; }
10 import enterprise{ prefix ent; }
11 import ietf-yang-types{ prefix yg; }
12
13 organization "Open Networking Foundation.";
14 contact "Scott Baker";
PUSHP RAJba2e32f2021-11-02 10:39:24 +000015 description
Scott Bakerc9d3d842021-09-17 11:32:53 -070016 "An Aether site is a location where resources are deployed.";
17
18 revision "2021-06-02" {
19 description "An Aether Site.";
20 reference "RFC 6087";
21 }
22
23 typedef site-id {
24 type yg:yang-identifier {
25 length 1..32;
26 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000027 description "The typedef for site-id";
Scott Bakerc9d3d842021-09-17 11:32:53 -070028 }
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 leaf enterprise {
51 type leafref {
52 path "/ent:enterprise/ent:enterprise/ent:id";
PUSHP RAJba2e32f2021-11-02 10:39:24 +000053 }
54 mandatory true;
Scott Bakerc9d3d842021-09-17 11:32:53 -070055 description
56 "Link to enterprise that owns this site";
Scott Bakerc9d3d842021-09-17 11:32:53 -070057 }
58
59 container imsi-definition {
60 leaf mcc {
61 type at:mcc;
PUSHP RAJba2e32f2021-11-02 10:39:24 +000062 mandatory true;
Scott Bakerc9d3d842021-09-17 11:32:53 -070063 description "mobile country code";
Scott Bakerc9d3d842021-09-17 11:32:53 -070064 }
65 leaf mnc {
66 type at:mnc;
PUSHP RAJba2e32f2021-11-02 10:39:24 +000067 mandatory true;
Scott Bakerc9d3d842021-09-17 11:32:53 -070068 description "mobile network code";
Scott Bakerc9d3d842021-09-17 11:32:53 -070069 }
70 leaf enterprise {
71 type at:ent;
PUSHP RAJba2e32f2021-11-02 10:39:24 +000072 mandatory true;
Scott Bakerc9d3d842021-09-17 11:32:53 -070073 description "enterprise-specific identifier";
Scott Bakerc9d3d842021-09-17 11:32:53 -070074 }
75 leaf format {
76 type string {
77 length 15;
78 }
79 mandatory true;
80 description "IMSI format specifier, describes how fields are packed into an IMSI. Must be exactly 15 characters long. For example, CCCNNNEEESSSSSS.";
81 // Format specifiers:
82 // C = MCC
83 // N = MNC
84 // E = Enterprise
85 // 0 = Forced Zero
86 // S = Subscriber ID
87 // default is
88 // 3 digit MCC
89 // 3 digit MNC
90 // 3 digit enterprise ID
91 // 5 digit subscriber ID
92 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000093 description "The container for imsi-definition";
Scott Bakerc9d3d842021-09-17 11:32:53 -070094 }
95
96 leaf description {
97 type at:description;
98 description "description of this site";
PUSHP RAJba2e32f2021-11-02 10:39:24 +000099 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700100 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000101 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700102}