Update vnfc-relations
[osm/IM.git] / models / augments / interface.yang
1 /*
2   Copyright 2020 Whitestack LLC
3
4   Licensed under the Apache License, Version 2.0 (the "License");
5   you may not use this file except in compliance with the License.
6   You may obtain a copy of the License at
7
8     http://www.apache.org/licenses/LICENSE-2.0
9
10   Unless required by applicable law or agreed to in writing, software
11   distributed under the License is distributed on an "AS IS" BASIS,
12   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13   implied.
14   See the License for the specific language governing permissions and
15   limitations under the License.
16 */
17
18 module interface {
19     yang-version 1.1;
20     namespace "urn:etsi:osm:yang:augments:interface";
21     prefix "interface";
22
23     import etsi-nfv-vnfd {
24         prefix vnfd;
25     }
26
27     import ietf-inet-types {
28         prefix inet;
29     }
30
31     import common-augments {
32         prefix common;
33     }
34
35     grouping extended-interface {
36         description
37           "List of Interfaces (external and internal) for the VNF";
38
39         leaf position {
40             description
41               "Explicit Position of the interface within the list";
42             type uint32;
43         }
44
45         leaf ip-address {
46             description
47               "IP address of the internal connection point";
48             type inet:ip-address;
49           }
50
51         leaf mac-address {
52             description
53               "MAC address of the interface.
54                Some VNFs require a specific MAC address to be configured
55                in the interface. While this is not recommended at all in
56                NFV environments, this parameter exists to allow those
57                scenarios.
58                This parameter will be likely deprecated in the future.";
59             type string;
60         }
61
62         uses common:virtual-interface;
63     }
64
65     augment "/vnfd:vnfd/vnfd:vdu/vnfd:int-cpd/vnfd:virtual-network-interface-requirement" {
66         uses extended-interface;
67     }
68 }