blob: d174502ecd5795779ae089d4329229fdc903c66f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
module interface-role {
yang-version 1;
namespace "urn:opendaylight:params:xml:ns:yang:interface:role";
prefix "if-role";
import ietf-interfaces {
prefix "if";
}
import yang-ext {
prefix "ext";
}
revision "2017-06-15" {
description "Basic specification of interface roles";
}
identity network-role-base {
description "Base identity for network interface roles";
}
identity virtual-domain-interface {
base network-role-base;
description "Tenant network interface. Interface must be enabled and have ip assigned";
}
identity public-interface {
base network-role-base;
description "Public interface for external access. Interface must be enabled and have ip assigned";
}
typedef network-role {
type identityref {
base network-role-base;
}
description "Base type for network interface roles";
}
grouping interface-role-grouping {
container roles {
list role {
key role-name;
leaf role-name {
type string;
description "Unique name for role";
mandatory true;
}
leaf role-type {
type network-role;
description "Specifies type of network role";
mandatory true;
}
leaf description {
type string;
description "Any additional metadata for this assignment of network role";
}
}
}
}
augment /if:interfaces/if:interface {
ext:augment-identifier "interface-role-augmentation";
uses interface-role-grouping;
}
}
|