| module bbf-yang-types { |
| yang-version 1.1; |
| namespace "urn:bbf:yang:bbf-yang-types"; |
| prefix bbf-yang; |
| |
| organization |
| "Broadband Forum <https://www.broadband-forum.org> |
| Common YANG Work Area"; |
| contact |
| "Comments or questions about this Broadband Forum YANG module |
| should be directed to <mailto:help@broadband-forum.org>. |
| |
| Editor: Nick Hancock, ADTRAN |
| |
| Editor: Ludwig Pauwels, Nokia |
| |
| PS Leader: Joey Boyd, ADTRAN |
| |
| WA Director: Joey Boyd, ADTRAN |
| |
| WA Director: Sven Ooghe, Nokia"; |
| description |
| "This module contains a collection of YANG definitions for |
| supporting the Broadband Forum requirements on reusable data |
| types as applicable to access network equipment. As such, this |
| module is specific to access network equipment (e.g., |
| BBF-specified Access Nodes and FTTdp DPUs). |
| |
| Specifically, this module defines common types used throughout |
| BBF data models. |
| |
| Copyright (c) 2017-2022, Broadband Forum |
| |
| Redistribution and use in source and binary forms, with or |
| without modification, are permitted provided that the following |
| conditions are met: |
| |
| 1. Redistributions of source code must retain the above copyright |
| notice, this list of conditions and the following disclaimer. |
| |
| 2. Redistributions in binary form must reproduce the above |
| copyright notice, this list of conditions and the following |
| disclaimer in the documentation and/or other materials |
| provided with the distribution. |
| |
| 3. Neither the name of the copyright holder nor the names of its |
| contributors may be used to endorse or promote products |
| derived from this software without specific prior written |
| permission. |
| |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND |
| CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, |
| INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
| MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR |
| CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
| NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
| LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
| CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
| STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF |
| ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| |
| The above license is used as a license under copyright only. |
| Please reference the Forum IPR Policy for patent licensing terms |
| <https://www.broadband-forum.org/ipr-policy>. |
| |
| Any moral rights which are necessary to exercise under the above |
| license grant are also deemed granted under this license. |
| |
| This version of this YANG module is part of TR-383a5; see |
| the TR itself for full legal notices."; |
| |
| revision 2022-03-01 { |
| description |
| "Amendment 5. |
| * Approval Date: 2022-03-01. |
| * Publication Date: 2022-03-01."; |
| reference |
| "TR-383a5: Common YANG Modules |
| <https://www.broadband-forum.org/technical/download/ |
| TR-383_Amendment-5.pdf>"; |
| } |
| revision 2021-06-02 { |
| description |
| "Amendment 4. |
| * Approval Date: 2021-06-02. |
| * Publication Date: 2021-06-02."; |
| reference |
| "TR-383a4: Common YANG Modules |
| <https://www.broadband-forum.org/technical/download/ |
| TR-383_Amendment-4.pdf>"; |
| } |
| revision 2020-10-13 { |
| description |
| "Amendment 3. |
| * Approval Date: 2020-10-13. |
| * Publication Date: 2020-10-13."; |
| reference |
| "TR-383a3: Common YANG Modules |
| <https://www.broadband-forum.org/technical/download/ |
| TR-383_Amendment-3.pdf>"; |
| } |
| revision 2019-10-21 { |
| description |
| "Amendment 2 Corrigendum 1. |
| * Approval Date: 2019-10-21. |
| * Publication Date: 2019-10-21."; |
| reference |
| "TR-383a2c1: Common YANG Modules |
| <https://www.broadband-forum.org/technical/download/ |
| TR-383_Amendment-2.pdf>"; |
| } |
| revision 2018-07-13 { |
| description |
| "Amendment 1. |
| * Approval Date: 2018-06-04. |
| * Publication Date: see revision date above."; |
| reference |
| "TR-383: Common YANG Modules |
| <https://www.broadband-forum.org/technical/download/ |
| TR-383_Amendment-1.pdf>"; |
| } |
| revision 2017-05-08 { |
| description |
| "Initial revision. |
| * Approval Date: see revision date above. |
| * Publication Date: 2017-06-02."; |
| reference |
| "TR-383: Common YANG Modules |
| <https://www.broadband-forum.org/technical/download/ |
| TR-383.pdf>"; |
| } |
| revision 2016-07-18 { |
| description |
| "Initial revision. |
| * Approval Date: see revision date above. |
| * Publication Date: 2016-08-05."; |
| reference |
| "TR-355: YANG Modules for FTTdp Management |
| <https://www.broadband-forum.org/technical/download/ |
| TR-355.pdf>"; |
| } |
| |
| typedef name-string { |
| type string { |
| length "1..64"; |
| } |
| description |
| "Used where a string is needed which has a maximum length of |
| 64 characters and a minimum length of 1 character."; |
| } |
| |
| typedef percent { |
| type uint8 { |
| range "0..100"; |
| } |
| units "percentage"; |
| description |
| "A percentage."; |
| } |
| |
| typedef performance-counter32 { |
| type uint32; |
| description |
| "The 'performance-counter32' type represents a non-negative |
| integer that monotonically increases until it reaches a maximum |
| value of 2^32-1 (4294967295 decimal), but does not wrap around |
| once the maximum value is reached."; |
| } |
| |
| typedef performance-counter32-or-inactive { |
| type union { |
| type uint32; |
| type enumeration { |
| enum inactive { |
| description |
| "Indicates that this counter is not active."; |
| } |
| } |
| } |
| description |
| "The 'performance-counter32-or-inactive' type represents a |
| non-negative integer that monotonically increases until it |
| reaches a maximum value of 2^32-1 (4294967295 decimal), but |
| does not wrap around once the maximum value is reached. |
| |
| A special value (enum inactive) indicates that this counter |
| is not active."; |
| } |
| |
| typedef performance-counter64 { |
| type uint64; |
| description |
| "The 'performance-counter64' type represents a non-negative |
| integer that monotonically increases until it reaches a maximum |
| value of 2^64-1 (18446744073709551615 decimal), but does not |
| wrap around once the maximum value is reached."; |
| } |
| |
| typedef string-ascii63-or-empty { |
| type string { |
| length "0..63"; |
| pattern '[ -~]*'; |
| // allows the 95 printable ASCII characters |
| } |
| description |
| "Used where a string is needed which has a maximum length of |
| 63 characters and also allows for a null string (length = 0). |
| |
| The character set is limited to the 95 printable ASCII |
| characters."; |
| } |
| |
| typedef string-ascii64 { |
| type string { |
| length "1..64"; |
| pattern '[ -~]*'; |
| } |
| description |
| "Used where a string is represented using at least 1 and no more |
| than 64 ASCII characters. |
| |
| The character set is limited to the 95 printable ASCII |
| characters."; |
| } |
| |
| typedef string-ascii64-or-empty { |
| type string { |
| length "0..64"; |
| pattern '[ -~]*'; |
| } |
| description |
| "Used where a string is needed which has a maximum length of |
| 64 characters and also allows for a null string (length = 0). |
| |
| The character set is limited to the 95 printable ASCII |
| characters."; |
| } |
| |
| typedef undetermined { |
| type enumeration { |
| enum undetermined { |
| description |
| "Indicates the value is not determined."; |
| } |
| } |
| description |
| "A type which defines an enumeration representing when |
| the value for an object is not determined. Often, this is |
| combined with other data via a union acting as a special value |
| to indicate the undetermined state."; |
| } |
| |
| typedef data-rate32 { |
| type uint32; |
| units "kbits/second"; |
| description |
| "A type which represents the rate at which data is being |
| transferred."; |
| } |
| |
| typedef data-rate32-or-undetermined { |
| type union { |
| type undetermined; |
| type data-rate32; |
| } |
| units "kbits/second"; |
| description |
| "A type which represents the rate at which data is being |
| transferred. A special value, 'undetermined', is used to |
| indicate the data rate is undetermined."; |
| } |
| } |