blob: 939341d6489d2c44f59f5120b879df4da20b9c4a [file] [log] [blame]
Thomas Vachuska6655bee2017-08-24 16:12:59 -07001module openconfig-platform-linecard {
2
3 yang-version "1";
4
5 // namespace
6 namespace "http://openconfig.net/yang/platform/linecard";
7
8 prefix "oc-linecard";
9
10 import openconfig-platform { prefix oc-platform; }
11 import openconfig-platform-types { prefix oc-platform-types; }
12 import openconfig-extensions { prefix oc-ext; }
13
14
15 // meta
16 organization "OpenConfig working group";
17
18 contact
19 "OpenConfig working group
20 www.openconfig.net";
21
22 description
23 "This module defines data related to LINECARD components in the openconfig-platform model";
24
25 oc-ext:openconfig-version "0.1.0";
26
27 revision "2017-08-03" {
28 description
29 "Initial revision";
30 reference "0.1.0";
31 }
32
33 // extension statements
34
35 // feature statements
36
37 // identity statements
38
39 // typedef statements
40
41 // grouping statements
42
43 grouping linecard-config {
44 description
45 "Configuration data for linecard components";
46
47 leaf power {
48 type oc-platform-types:component-power-type;
49 default POWER_ENABLED;
50 description
51 "Enable or disable power to the linecard";
52 }
53 }
54
55 grouping linecard-state {
56 description
57 "Operational state data for linecard components";
58
59 leaf slot-id {
60 type string;
61 description
62 "Identifier for the slot or chassis position in which the
63 linecard is installed";
64 }
65 }
66
67 grouping linecard-top {
68 description
69 "Top-level grouping for linecard data";
70
71 container linecard {
72 description
73 "Top-level container for linecard data";
74
75 container config {
76 description
77 "Configuration data for linecards";
78
79 uses linecard-config;
80 }
81
82 container state {
83
84 config false;
85
86 description
87 "Operational state data for linecards";
88
89 uses linecard-config;
90 uses linecard-state;
91 }
92 }
93 }
94
95 // data definition statements
96
97 // augment statements
98
99 augment "/oc-platform:components/oc-platform:component" {
100 description
101 "Adding linecard data to physical inventory";
102
103 uses linecard-top {
104 when "current()/oc-platform:state/" +
105 "oc-platform:type = 'LINECARD'" {
106 description
107 "Augment is active when component is of type LINECARD";
108 }
109 }
110 }
111
112 // rpc statements
113
114 // notification statements
115
116}
117