summaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-platform-psu.yang
blob: eec4caa1a0629392c89c71ee0213dea7951d7ae8 (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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
module openconfig-platform-psu {

  yang-version "1";

  // namespace
  namespace "http://openconfig.net/yang/platform/psu";

  prefix "oc-platform-psu";

  // import some basic types
  import openconfig-extensions { prefix oc-ext; }
  import openconfig-types { prefix oc-types; }
  import openconfig-platform { prefix oc-platform; }


  // meta
  organization "OpenConfig working group";

  contact
    "OpenConfig working group
    www.openconfig.net";

  description
    "This module defines a schema for power supply components in
    the OpenConfig platform model.";

  oc-ext:openconfig-version "0.2.0";

  revision "2018-01-16" {
    description
      "Changed admin state leaf name";
    reference "0.2.0";
  }

  revision "2017-12-21" {
    description
      "Initial revision";
    reference "0.1.0";
  }

  // identity statements

  // typedef statements

  // grouping statements

  grouping psu-config {
    description
      "Configuration data for power supply components";

    leaf enabled {
      type boolean;
      default true;
      description
        "Adminsitrative control on the on/off state of the power
        supply unit.";
    }
  }

  grouping psu-state {
    description
      "Operational state data for power supply components";


    // TODO(aashaikh): May need to convert some of these to
    // interval statistics once decided on which leaves to include.
    leaf capacity {
      type oc-types:ieeefloat32;
      units watts;
      description
        "Maximum power capacity of the power supply.";
    }

    leaf input-current {
      type oc-types:ieeefloat32;
      units amps;
      description
        "The input current draw of the power supply.";
    }

    leaf input-voltage {
      type oc-types:ieeefloat32;
      units volts;
      description
        "Input voltage to the power supply.";
    }

    leaf output-current {
      type oc-types:ieeefloat32;
      units amps;
      description
        "The output current supplied by the power supply.";
    }

    leaf output-voltage {
      type oc-types:ieeefloat32;
      units volts;
      description
        "Output voltage supplied by the power supply.";
    }

    leaf output-power {
      type oc-types:ieeefloat32;
      units watts;
      description
        "Output power supplied by the power supply.";
    }
  }

  // data definition statements

  // augment statements

  augment "/oc-platform:components/oc-platform:component/" +
    "oc-platform:power-supply/oc-platform:config" {
    description
      "Adds power supply data to component operational state.";

    uses psu-config;
  }

  augment "/oc-platform:components/oc-platform:component/" +
    "oc-platform:power-supply/oc-platform:state" {
    description
      "Adds power supply data to component operational state.";

    uses psu-config;
    uses psu-state;
  }


  // rpc statements

  // notification statements
}