blob: 95e691e6242178550feb9469ac643a77ce78115a [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
Scott Bakerfdbad762022-01-03 16:00:45 -08005module onf-enterprise {
Scott Bakerc9d3d842021-09-17 11:32:53 -07006 namespace "http://opennetworking.org/aether/enterprise";
7 prefix ent;
8
Scott Bakerfdbad762022-01-03 16:00:45 -08009 import ietf-yang-types{ prefix yg; }
10 import onf-aether-types { prefix at; }
11 import onf-connectivity-service { prefix cs; }
Scott Bakerc9d3d842021-09-17 11:32:53 -070012
Sean Condon11d6f422022-01-14 13:02:03 +000013 include onf-site;
14 include onf-upf;
15 include onf-vcs;
16 include onf-device-group;
17 include onf-ip-domain;
18 include onf-application;
19 include onf-traffic-class;
20 include onf-template;
21
Scott Bakerc9d3d842021-09-17 11:32:53 -070022 organization "Open Networking Foundation.";
23 contact "Scott Baker";
Scott Bakerfdbad762022-01-03 16:00:45 -080024 description
25 "An Aether Enterprise is an administration entity that
26 has ownership of resrouces.";
Scott Bakerc9d3d842021-09-17 11:32:53 -070027
Sean Condon11d6f422022-01-14 13:02:03 +000028 revision "2022-01-14" {
29 description "Refactored to work with submodules";
30 reference "RFC 6020";
31 }
32
Scott Bakerfdbad762022-01-03 16:00:45 -080033 revision "2021-06-02" {
Scott Bakerc9d3d842021-09-17 11:32:53 -070034 description "An Aether Enterprise. Used to distinguish ownership of devices and other resources as well as a domain of configuration.";
35 reference "RFC 6087";
36 }
37
38 typedef enterprise-id {
Scott Bakerfdbad762022-01-03 16:00:45 -080039 type yg:yang-identifier {
Scott Bakerc9d3d842021-09-17 11:32:53 -070040 length 1..32;
41 }
Scott Bakerfdbad762022-01-03 16:00:45 -080042 description "The typedef for enterprise-id";
Scott Bakerc9d3d842021-09-17 11:32:53 -070043 }
44
Sean Condon11d6f422022-01-14 13:02:03 +000045 container enterprises {
46 description "The top level enterprises container";
Scott Bakerc9d3d842021-09-17 11:32:53 -070047
48 list enterprise {
Sean Condon11d6f422022-01-14 13:02:03 +000049 key "ent-id";
Scott Bakerc9d3d842021-09-17 11:32:53 -070050 description
51 "List of enterprises";
52
Sean Condon11d6f422022-01-14 13:02:03 +000053 leaf ent-id {
Scott Bakerc9d3d842021-09-17 11:32:53 -070054 type enterprise-id;
55 description "ID for this enterprise.";
56 }
57
58 leaf display-name {
59 type string {
60 length 1..80;
61 }
62 description "display name to use in GUI or CLI";
PUSHP RAJba2e32f2021-11-02 10:39:24 +000063 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070064
65 leaf description {
Scott Bakerfdbad762022-01-03 16:00:45 -080066 type at:description;
Scott Bakerc9d3d842021-09-17 11:32:53 -070067 description "description of this enterprise";
68 }
69
70 list connectivity-service {
71 key "connectivity-service";
72 leaf connectivity-service {
73 type leafref {
Sean Condon11d6f422022-01-14 13:02:03 +000074 path "/cs:connectivity-services/cs:connectivity-service/cs:id";
PUSHP RAJba2e32f2021-11-02 10:39:24 +000075 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070076 description
77 "Link to connectivity services where configuration should be pushed for this enterprise's devices";
78 }
79 leaf enabled {
80 type boolean;
81 default true;
82 description
83 "Allow or disallow pushes to this connectivity service";
84 }
Scott Bakerfdbad762022-01-03 16:00:45 -080085 description "The list for connectivity-service";
PUSHP RAJba2e32f2021-11-02 10:39:24 +000086 }
Sean Condon11d6f422022-01-14 13:02:03 +000087
88 uses application;
89
90 uses traffic-class;
91
92 uses template;
93
94 uses site;
Scott Bakerc9d3d842021-09-17 11:32:53 -070095 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000096 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070097}