aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-extensions.yang
blob: f39ecf662f67ca3889d40bfc69b9898500e202f4 (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
module openconfig-extensions {

  yang-version "1";

  // namespace
  namespace "http://openconfig.net/yang/openconfig-ext";

  prefix "oc-ext";

  // meta
  organization "OpenConfig working group";

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

  description
    "This module provides extensions to the YANG language to allow
    OpenConfig specific functionality and meta-data to be defined.";

  revision "2017-04-11" {
    description
      "rename password type to 'hashed' and clarify description";
    reference "0.3.0";
  }

  revision "2017-01-29" {
    description
      "Added extension for annotating encrypted values.";
    reference "0.2.0";
  }

  revision "2015-10-09" {
    description
      "Initial OpenConfig public release";
    reference "0.1.0";
  }


  // extension statements
  extension openconfig-version {
    argument "semver" {
      yin-element false;
    }
    description
      "The OpenConfig version number for the module. This is
      expressed as a semantic version number of the form:
        x.y.z
      where:
        * x corresponds to the major version,
        * y corresponds to a minor version,
        * z corresponds to a patch version.
      This version corresponds to the model file within which it is
      defined, and does not cover the whole set of OpenConfig models.
      Where several modules are used to build up a single block of
      functionality, the same module version is specified across each
      file that makes up the module.

      A major version number of 0 indicates that this model is still
      in development (whether within OpenConfig or with industry
      partners), and is potentially subject to change.

      Following a release of major version 1, all modules will
      increment major revision number where backwards incompatible
      changes to the model are made.

      The minor version is changed when features are added to the
      model that do not impact current clients use of the model.

      The patch-level version is incremented when non-feature changes
      (such as bugfixes or clarifications to human-readable
      descriptions that do not impact model functionality) are made
      that maintain backwards compatibility.

      The version number is stored in the module meta-data.";
  }

  extension openconfig-hashed-value {
    description
      "This extension provides an annotation on schema nodes to
      indicate that the corresponding value should be stored and
      reported in hashed form.

      Hash algorithms are by definition not reversible. Clients
      reading the configuration or applied configuration for the node
      should expect to receive only the hashed value. Values written
      in cleartext will be hashed. This annotation may be used on
      nodes such as secure passwords in which the device never reports
      a cleartext value, even if the input is provided as cleartext.";
  }
}