8a2810cb5eb62b18cf2a8c34c95e820d5911edf2
[scp/oam/modeling.git] / o-ran-sc-interfaces-v1.yang
1 module o-ran-sc-interfaces-v1 {
2   yang-version 1.1;
3   namespace "urn:o-ran-sc:yang:o-ran-sc-interfaces-v1";
4   prefix oif;
5
6   import o-ran-sc-root-v1 {
7     prefix root;
8   }
9   import ietf-interfaces {
10     prefix if;
11     reference
12       "RFC 8343: A YANG Data Model for Interface Management";
13   }
14
15   organization
16     "O-RAN Software Community";
17   contact
18     "www.o-ran-sc.org";
19   description
20     "This module augments the o-ran-sc-controlled-function object by adding
21      ietf-interfaces.
22
23      Copyright 2021 the O-RAN Software Community.
24
25      Licensed under the Apache License, Version 2.0 (the 'License');
26      you may not use this file except in compliance with the License.
27      You may obtain a copy of the License at
28
29      http://www.apache.org/licenses/LICENSE-2.0
30
31      Unless required by applicable law or agreed to in writing, software
32      distributed under the License is distributed on an 'AS IS' BASIS,
33      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34      See the License for the specific language governing permissions and
35      limitations under the License.";
36
37   revision 2021-03-09 {
38     description
39       "The namespace was updated according to O-RAN-SC yang guidelines.
40        The namespace must end with the full module name.";
41     reference
42       "https://jira.o-ran-sc.org/browse/OAM-168";
43   }
44   revision 2020-03-09 {
45     description
46       "initial revision";
47     reference
48       "O-RAN-OAM-Interface-Specification (O1)";
49   }
50
51   grouping interfaces-grp {
52     leaf-list interface-reference {
53       type if:interface-ref;
54       config false;
55       description
56         "A list of ietf-interfaces references using the interface name as key.";
57     }
58     description
59       "A group adding ietf-interface references.";
60   }
61
62   augment "/root:controlled-element/root:controlled-function" {
63     uses interfaces-grp;
64     description
65       "An augmentation, which adds ietf-interfaces
66        to root:controlled-function.";
67   }
68 }