X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-ri%2Fsrc%2Fmain%2Fresources%2Fchangelog%2Fdb%2Fchanges%2Fdata%2Fyang_resource.csv;fp=cps-ri%2Fsrc%2Fmain%2Fresources%2Fchangelog%2Fdb%2Fchanges%2Fdata%2Fyang_resource.csv;h=0000000000000000000000000000000000000000;hb=23378b5639b0563382ac98761ae4cf2d9786453b;hp=4dd3127458552d59e1b14198b57169c4d043fb95;hpb=e1277ab49cfbd8fd980336b1f2b84bca3166a449;p=cps.git diff --git a/cps-ri/src/main/resources/changelog/db/changes/data/yang_resource.csv b/cps-ri/src/main/resources/changelog/db/changes/data/yang_resource.csv deleted file mode 100644 index 4dd312745..000000000 --- a/cps-ri/src/main/resources/changelog/db/changes/data/yang_resource.csv +++ /dev/null @@ -1,2236 +0,0 @@ -name|content|checksum -ietf-inet-types.yang|"module ietf-inet-types { - - namespace \"urn:ietf:params:xml:ns:yang:ietf-inet-types\"; - prefix \"inet\"; - - organization - \"IETF NETMOD (NETCONF Data Modeling Language) Working Group\"; - - contact - \"WG Web: - WG List: - - WG Chair: David Kessens - - - WG Chair: Juergen Schoenwaelder - - - Editor: Juergen Schoenwaelder - \"; - - description - \"This module contains a collection of generally useful derived - YANG data types for Internet addresses and related things. - - Copyright (c) 2013 IETF Trust and the persons identified as - authors of the code. All rights reserved. - - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject - to the license terms contained in, the Simplified BSD License - set forth in Section 4.c of the IETF Trust''s Legal Provisions - Relating to IETF Documents - (http://trustee.ietf.org/license-info). - - This version of this YANG module is part of RFC 6991; see - the RFC itself for full legal notices.\"; - - revision 2013-07-15 { - description - \"This revision adds the following new data types: - - ip-address-no-zone - - ipv4-address-no-zone - - ipv6-address-no-zone\"; - reference - \"RFC 6991: Common YANG Data Types\"; - } - - revision 2010-09-24 { - description - \"Initial revision.\"; - reference - \"RFC 6021: Common YANG Data Types\"; - } - - /*** collection of types related to protocol fields ***/ - - typedef ip-version { - type enumeration { - enum unknown { - value \"0\"; - description - \"An unknown or unspecified version of the Internet - protocol.\"; - } - enum ipv4 { - value \"1\"; - description - \"The IPv4 protocol as defined in RFC 791.\"; - } - enum ipv6 { - value \"2\"; - description - \"The IPv6 protocol as defined in RFC 2460.\"; - } - } - description - \"This value represents the version of the IP protocol. - - In the value set and its semantics, this type is equivalent - to the InetVersion textual convention of the SMIv2.\"; - reference - \"RFC 791: Internet Protocol - RFC 2460: Internet Protocol, Version 6 (IPv6) Specification - RFC 4001: Textual Conventions for Internet Network Addresses\"; - } - - typedef dscp { - type uint8 { - range \"0..63\"; - } - description - \"The dscp type represents a Differentiated Services Code Point - that may be used for marking packets in a traffic stream. - In the value set and its semantics, this type is equivalent - to the Dscp textual convention of the SMIv2.\"; - reference - \"RFC 3289: Management Information Base for the Differentiated - Services Architecture - RFC 2474: Definition of the Differentiated Services Field - (DS Field) in the IPv4 and IPv6 Headers - RFC 2780: IANA Allocation Guidelines For Values In - the Internet Protocol and Related Headers\"; - } - - typedef ipv6-flow-label { - type uint32 { - range \"0..1048575\"; - } - description - \"The ipv6-flow-label type represents the flow identifier or Flow - Label in an IPv6 packet header that may be used to - discriminate traffic flows. - - In the value set and its semantics, this type is equivalent - to the IPv6FlowLabel textual convention of the SMIv2.\"; - reference - \"RFC 3595: Textual Conventions for IPv6 Flow Label - RFC 2460: Internet Protocol, Version 6 (IPv6) Specification\"; - } - - typedef port-number { - type uint16 { - range \"0..65535\"; - } - description - \"The port-number type represents a 16-bit port number of an - Internet transport-layer protocol such as UDP, TCP, DCCP, or - SCTP. Port numbers are assigned by IANA. A current list of - all assignments is available from . - - Note that the port number value zero is reserved by IANA. In - situations where the value zero does not make sense, it can - be excluded by subtyping the port-number type. - In the value set and its semantics, this type is equivalent - to the InetPortNumber textual convention of the SMIv2.\"; - reference - \"RFC 768: User Datagram Protocol - RFC 793: Transmission Control Protocol - RFC 4960: Stream Control Transmission Protocol - RFC 4340: Datagram Congestion Control Protocol (DCCP) - RFC 4001: Textual Conventions for Internet Network Addresses\"; - } - - /*** collection of types related to autonomous systems ***/ - - typedef as-number { - type uint32; - description - \"The as-number type represents autonomous system numbers - which identify an Autonomous System (AS). An AS is a set - of routers under a single technical administration, using - an interior gateway protocol and common metrics to route - packets within the AS, and using an exterior gateway - protocol to route packets to other ASes. IANA maintains - the AS number space and has delegated large parts to the - regional registries. - - Autonomous system numbers were originally limited to 16 - bits. BGP extensions have enlarged the autonomous system - number space to 32 bits. This type therefore uses an uint32 - base type without a range restriction in order to support - a larger autonomous system number space. - - In the value set and its semantics, this type is equivalent - to the InetAutonomousSystemNumber textual convention of - the SMIv2.\"; - reference - \"RFC 1930: Guidelines for creation, selection, and registration - of an Autonomous System (AS) - RFC 4271: A Border Gateway Protocol 4 (BGP-4) - RFC 4001: Textual Conventions for Internet Network Addresses - RFC 6793: BGP Support for Four-Octet Autonomous System (AS) - Number Space\"; - } - - /*** collection of types related to IP addresses and hostnames ***/ - - typedef ip-address { - type union { - type inet:ipv4-address; - type inet:ipv6-address; - } - description - \"The ip-address type represents an IP address and is IP - version neutral. The format of the textual representation - implies the IP version. This type supports scoped addresses - by allowing zone identifiers in the address format.\"; - reference - \"RFC 4007: IPv6 Scoped Address Architecture\"; - } - - typedef ipv4-address { - type string { - pattern - ''(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).){3}'' - + ''([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'' - + ''(%[p{N}p{L}]+)?''; - } - description - \"The ipv4-address type represents an IPv4 address in - dotted-quad notation. The IPv4 address may include a zone - index, separated by a % sign. - - The zone index is used to disambiguate identical address - values. For link-local addresses, the zone index will - typically be the interface index number or the name of an - interface. If the zone index is not present, the default - zone of the device will be used. - - The canonical format for the zone index is the numerical - format\"; - } - - typedef ipv6-address { - type string { - pattern ''((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'' - + ''((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'' - + ''(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9]).){3}'' - + ''(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'' - + ''(%[p{N}p{L}]+)?''; - pattern ''(([^:]+:){6}(([^:]+:[^:]+)|(.*..*)))|'' - + ''((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'' - + ''(%.+)?''; - } - description - \"The ipv6-address type represents an IPv6 address in full, - mixed, shortened, and shortened-mixed notation. The IPv6 - address may include a zone index, separated by a % sign. - - The zone index is used to disambiguate identical address - values. For link-local addresses, the zone index will - typically be the interface index number or the name of an - interface. If the zone index is not present, the default - zone of the device will be used. - - The canonical format of IPv6 addresses uses the textual - representation defined in Section 4 of RFC 5952. The - canonical format for the zone index is the numerical - format as described in Section 11.2 of RFC 4007.\"; - reference - \"RFC 4291: IP Version 6 Addressing Architecture - RFC 4007: IPv6 Scoped Address Architecture - RFC 5952: A Recommendation for IPv6 Address Text - Representation\"; - } - - typedef ip-address-no-zone { - type union { - type inet:ipv4-address-no-zone; - type inet:ipv6-address-no-zone; - } - description - \"The ip-address-no-zone type represents an IP address and is - IP version neutral. The format of the textual representation - implies the IP version. This type does not support scoped - addresses since it does not allow zone identifiers in the - address format.\"; - reference - \"RFC 4007: IPv6 Scoped Address Architecture\"; - } - - typedef ipv4-address-no-zone { - type inet:ipv4-address { - pattern ''[0-9.]*''; - } - description - \"An IPv4 address without a zone index. This type, derived from - ipv4-address, may be used in situations where the zone is - known from the context and hence no zone index is needed.\"; - } - - typedef ipv6-address-no-zone { - type inet:ipv6-address { - pattern ''[0-9a-fA-F:.]*''; - } - description - \"An IPv6 address without a zone index. This type, derived from - ipv6-address, may be used in situations where the zone is - known from the context and hence no zone index is needed.\"; - reference - \"RFC 4291: IP Version 6 Addressing Architecture - RFC 4007: IPv6 Scoped Address Architecture - RFC 5952: A Recommendation for IPv6 Address Text - Representation\"; - } - - typedef ip-prefix { - type union { - type inet:ipv4-prefix; - type inet:ipv6-prefix; - } - description - \"The ip-prefix type represents an IP prefix and is IP - version neutral. The format of the textual representations - implies the IP version.\"; - } - - typedef ipv4-prefix { - type string { - pattern - ''(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).){3}'' - + ''([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'' - + ''/(([0-9])|([1-2][0-9])|(3[0-2]))''; - } - description - \"The ipv4-prefix type represents an IPv4 address prefix. - The prefix length is given by the number following the - slash character and must be less than or equal to 32. - - A prefix length value of n corresponds to an IP address - mask that has n contiguous 1-bits from the most - significant bit (MSB) and all other bits set to 0. - - The canonical format of an IPv4 prefix has all bits of - the IPv4 address set to zero that are not part of the - IPv4 prefix.\"; - } - - typedef ipv6-prefix { - type string { - pattern ''((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'' - + ''((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'' - + ''(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9]).){3}'' - + ''(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'' - + ''(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))''; - pattern ''(([^:]+:){6}(([^:]+:[^:]+)|(.*..*)))|'' - + ''((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'' - + ''(/.+)''; - } - description - \"The ipv6-prefix type represents an IPv6 address prefix. - The prefix length is given by the number following the - slash character and must be less than or equal to 128. - - A prefix length value of n corresponds to an IP address - mask that has n contiguous 1-bits from the most - significant bit (MSB) and all other bits set to 0. - - The IPv6 address should have all bits that do not belong - to the prefix set to zero. - - The canonical format of an IPv6 prefix has all bits of - the IPv6 address set to zero that are not part of the - IPv6 prefix. Furthermore, the IPv6 address is represented - as defined in Section 4 of RFC 5952.\"; - reference - \"RFC 5952: A Recommendation for IPv6 Address Text - Representation\"; - } - - /*** collection of domain name and URI types ***/ - - typedef domain-name { - type string { - length \"1..253\"; - pattern - ''((([a-zA-Z0-9_]([a-zA-Z0-9-_]){0,61})?[a-zA-Z0-9].)*'' - + ''([a-zA-Z0-9_]([a-zA-Z0-9-_]){0,61})?[a-zA-Z0-9].?)'' - + ''|.''; - } - description - \"The domain-name type represents a DNS domain name. The - name SHOULD be fully qualified whenever possible. - - Internet domain names are only loosely specified. Section - 3.5 of RFC 1034 recommends a syntax (modified in Section - 2.1 of RFC 1123). The pattern above is intended to allow - for current practice in domain name use, and some possible - future expansion. It is designed to hold various types of - domain names, including names used for A or AAAA records - (host names) and other records, such as SRV records. Note - that Internet host names have a stricter syntax (described - in RFC 952) than the DNS recommendations in RFCs 1034 and - 1123, and that systems that want to store host names in - schema nodes using the domain-name type are recommended to - adhere to this stricter standard to ensure interoperability. - - The encoding of DNS names in the DNS protocol is limited - to 255 characters. Since the encoding consists of labels - prefixed by a length bytes and there is a trailing NULL - byte, only 253 characters can appear in the textual dotted - notation. - - The description clause of schema nodes using the domain-name - type MUST describe when and how these names are resolved to - IP addresses. Note that the resolution of a domain-name value - may require to query multiple DNS records (e.g., A for IPv4 - and AAAA for IPv6). The order of the resolution process and - which DNS record takes precedence can either be defined - explicitly or may depend on the configuration of the - resolver. - - Domain-name values use the US-ASCII encoding. Their canonical - format uses lowercase US-ASCII characters. Internationalized - domain names MUST be A-labels as per RFC 5890.\"; - reference - \"RFC 952: DoD Internet Host Table Specification - RFC 1034: Domain Names - Concepts and Facilities - RFC 1123: Requirements for Internet Hosts -- Application - and Support - RFC 2782: A DNS RR for specifying the location of services - (DNS SRV) - RFC 5890: Internationalized Domain Names in Applications - (IDNA): Definitions and Document Framework\"; - } - - typedef host { - type union { - type inet:ip-address; - type inet:domain-name; - } - description - \"The host type represents either an IP address or a DNS - domain name.\"; - } - - typedef uri { - type string; - description - \"The uri type represents a Uniform Resource Identifier - (URI) as defined by STD 66. - - Objects using the uri type MUST be in US-ASCII encoding, - and MUST be normalized as described by RFC 3986 Sections - 6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary - percent-encoding is removed, and all case-insensitive - characters are set to lowercase except for hexadecimal - digits, which are normalized to uppercase as described in - Section 6.2.2.1. - - The purpose of this normalization is to help provide - unique URIs. Note that this normalization is not - sufficient to provide uniqueness. Two URIs that are - textually distinct after this normalization may still be - equivalent. - - Objects using the uri type may restrict the schemes that - they permit. For example, ''data:'' and ''urn:'' schemes - might not be appropriate. - - A zero-length URI is not a valid URI. This can be used to - express ''URI absent'' where required. - - In the value set and its semantics, this type is equivalent - to the Uri SMIv2 textual convention defined in RFC 5017.\"; - reference - \"RFC 3986: Uniform Resource Identifier (URI): Generic Syntax - RFC 3305: Report from the Joint W3C/IETF URI Planning Interest - Group: Uniform Resource Identifiers (URIs), URLs, - and Uniform Resource Names (URNs): Clarifications - and Recommendations - RFC 5017: MIB Textual Conventions for Uniform Resource - Identifiers (URIs)\"; - } - -}"|fd06e465f26f1e7d0253bbf77e7e55e1 -cps-ran-schema-model2021-01-28.yang|"module cps-ran-schema-model { - yang-version 1.1; - namespace \"org:onap:ccsdk:features:sdnr:northbound:cps-ran-schema-model\"; - prefix rn; - - import ietf-inet-types { - prefix inet; - } - import ietf-yang-types { - prefix yang; - } - - organization - \"Open Network Automation Platform - ONAP - \"; - contact - \"Editors: - Sandeep Shah - - - Swaminathan Seetharaman - \"; - description - \"This module contains a collection of YANG definitions for capturing - relationships among managed elements of the radio access Network - to be stored in ONAP CPS platform. - - Copyright 2020-2021 IBM. - - Licensed under the Apache License, Version 2.0 (the ''License''); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an ''AS IS'' BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License.\"; - - revision 2021-01-28 { - description - \"CPS RAN Network YANG Model for ONAP/O-RAN POC\"; - reference - \"https://wiki.onap.org/display/DW/E2E+Network+Slicing+Use+Case+in+R7+Guilin\"; - } - - typedef usageState { - type enumeration { - enum IDLE { - description - \"TODO\"; - } - enum ACTIVE { - description - \"TODO\"; - } - enum BUSY { - description - \"TODO\"; - } - } - description - \"It describes whether or not the resource is actively in - use at a specific instant, and if so, whether or not it has spare - capacity for additional users at that instant. The value is READ-ONLY.\"; - reference - \"ITU T Recommendation X.731\"; - } - - typedef Mcc { - type string; - description - \"The mobile country code consists of three decimal digits, - The first digit of the mobile country code identifies the geographic - region (the digits 1 and 8 are not used):\"; - reference - \"3GPP TS 23.003 subclause 2.2 and 12.1\"; - } - - typedef Mnc { - type string; - description - \"The mobile network code consists of two or three - decimal digits (for example: MNC of 001 is not the same as MNC of 01)\"; - reference - \"3GPP TS 23.003 subclause 2.2 and 12.1\"; - } - - typedef Nci { - type string; - description - \"NR Cell Identity. The NCI shall be of fixed length of 36 bits - and shall be coded using full hexadecimal representation. - The exact coding of the NCI is the responsibility of each PLMN operator\"; - reference - \"TS 23.003\"; - } - - typedef OperationalState { - type enumeration { - enum DISABLED { - value 0; - description - \"The resource is totally inoperable.\"; - } - enum ENABLED { - value 1; - description - \"The resource is partially or fully operable.\"; - } - } - description - \"TODO\"; - reference - \"3GPP TS 28.625 and ITU-T X.731\"; - } - - typedef AvailabilityStatus { - type enumeration { - enum IN_TEST { - description - \"TODO\"; - } - enum FAILED { - description - \"TODO\"; - } - enum POWER_OFF { - description - \"TODO\"; - } - enum OFF_LINE { - description - \"TODO\"; - } - enum OFF_DUTY { - description - \"TODO\"; - } - enum DEPENDENCY { - description - \"TODO\"; - } - enum DEGRADED { - description - \"TODO\"; - } - enum NOT_INSTALLED { - description - \"TODO\"; - } - enum LOG_FULL { - description - \"TODO\"; - } - } - description - \"TODO\"; - reference - \"TODO\"; - } - - typedef CellState { - type enumeration { - enum IDLE { - description - \"TODO\"; - } - enum INACTIVE { - description - \"TODO\"; - } - enum ACTIVE { - description - \"TODO\"; - } - } - description - \"TODO\"; - reference - \"TODO\"; - } - - typedef SNssai { - type string; - description - \"Single Network Slice Selection Assistance Information.\"; - reference - \"TS 23.501 clause 5.15.2\"; - } - - typedef Sst { - type uint8; - description - \"TODO\"; - reference - \"TODO\"; - } - - typedef Nrpci { - type uint32; - description - \"Physical Cell Identity (PCI) of the NR cell.\"; - reference - \"TS 36.211 subclause 6.11\"; - } - - typedef Tac { - type int32 { - range \"0..16777215\"; - } - description - \"Tracking Area Code\"; - reference - \"TS 23.003 clause 19.4.2.3\"; - } - - typedef AmfRegionId { - type string; - description - \"\"; - reference - \"clause 2.10.1 of 3GPP TS 23.003\"; - } - - typedef AmfSetId { - type string; - description - \"\"; - reference - \"clause 2.10.1 of 3GPP TS 23.003\"; - } - - typedef AmfPointer { - type string; - description - \"\"; - reference - \"clause 2.10.1 of 3GPP TS 23.003\"; - } - - // type definitions especially for core NFs - - typedef NfType { - type enumeration { - enum NRF { - description - \"TODO\"; - } - enum UDM { - description - \"TODO\"; - } - enum AMF { - description - \"TODO\"; - } - enum SMF { - description - \"TODO\"; - } - enum AUSF { - description - \"TODO\"; - } - enum NEF { - description - \"TODO\"; - } - enum PCF { - description - \"TODO\"; - } - enum SMSF { - description - \"TODO\"; - } - enum NSSF { - description - \"TODO\"; - } - enum UDR { - description - \"TODO\"; - } - enum LMF { - description - \"TODO\"; - } - enum GMLC { - description - \"TODO\"; - } - enum 5G_EIR { - description - \"TODO\"; - } - enum SEPP { - description - \"TODO\"; - } - enum UPF { - description - \"TODO\"; - } - enum N3IWF { - description - \"TODO\"; - } - enum AF { - description - \"TODO\"; - } - enum UDSF { - description - \"TODO\"; - } - enum BSF { - description - \"TODO\"; - } - enum CHF { - description - \"TODO\"; - } - } - description - \"TODO\"; - } - - typedef NotificationType { - type enumeration { - enum N1_MESSAGES { - description - \"TODO\"; - } - enum N2_INFORMATION { - description - \"TODO\"; - } - enum LOCATION_NOTIFICATION { - description - \"TODO\"; - } - } - description - \"TODO\"; - } - - typedef Load { - type uint8 { - range \"0..100\"; - } - description - \"Latest known load information of the NF, percentage \"; - } - - typedef N1MessageClass { - type enumeration { - enum 5GMM { - description - \"TODO\"; - } - enum SM { - description - \"TODO\"; - } - enum LPP { - description - \"TODO\"; - } - enum SMS { - description - \"TODO\"; - } - } - description - \"TODO\"; - } - - typedef N2InformationClass { - type enumeration { - enum SM { - description - \"TODO\"; - } - enum NRPPA { - description - \"TODO\"; - } - enum PWS { - description - \"TODO\"; - } - enum PWS_BCAL { - description - \"TODO\"; - } - enum PWS_RF { - description - \"TODO\"; - } - } - description - \"TODO\"; - reference - \"TODO\"; - } - - typedef NsiId { - type string; - description - \"TODO\"; - } - - typedef UeMobilityLevel { - type enumeration { - enum STATIONARY { - description - \"TODO\"; - } - enum NOMADIC { - description - \"TODO\"; - } - enum RESTRICTED_MOBILITY { - description - \"TODO\"; - } - enum FULLY_MOBILITY { - description - \"TODO\"; - } - } - description - \"TODO\"; - reference - \"TODO\"; - } - - typedef ResourceSharingLevel { - type enumeration { - enum SHARED { - description - \"TODO\"; - } - enum NOT_SHARED { - description - \"TODO\"; - } - } - description - \"TODO\"; - reference - \"TODO\"; - } - - typedef TxDirection { - type enumeration { - enum DL { - description - \"TODO\"; - } - enum UL { - description - \"TODO\"; - } - enum DL_AND_UL { - description - \"TODO\"; - } - } - description - \"TODO\"; - reference - \"TODO\"; - } - - typedef DistinguishedName { // TODO is this equivalent to TS 32.300 ? - type string; - description - \"Represents the international standard for the representation - of Distinguished Name (RFC 4512). - The format of the DistinguishedName REGEX is: - {AttributeType = AttributeValue} - - AttributeType consists of alphanumeric and hyphen (OIDs not allowed). - All other characters are restricted. - The Attribute value cannot contain control characters or the - following characters : \ > < ; \" + , (Comma) and White space - The Attribute value can contain the following characters if they - are excaped : \ > < ; \" + , (Comma) and White space - The Attribute value can contain control characters if its an escaped - double digit hex number. - Examples could be - UID=nobody@example.com,DC=example,DC=com - CN=John Smith,OU=Sales,O=ACME Limited,L=Moab,ST=Utah,C=US\"; - reference - \"RFC 4512 Lightweight Directory Access Protocol (LDAP): - Directory Information Models\"; - } // recheck regexp it doesn''t handle posix [:cntrl:] - - typedef QOffsetRange { - type int8; - units \"dB\"; - description - \"TODO\"; - reference - \"TODO\"; - } - - typedef QuotaType { - type enumeration { - enum STRICT { - description - \"TODO\"; - } - enum FLOAT { - description - \"TODO\"; - } - } - description - \"TODO\"; - } - - typedef CyclicPrefix { - type enumeration { - enum NORMAL { - description - \"TODO\"; - } - enum EXTENDED { - description - \"TODO\"; - } - } - description - \"TODO\"; - } - - grouping PLMNInfo { - description - \"The PLMNInfo data type define a S-NSSAI member in a specific PLMNId, and it have - two attributes PLMNId and S-NSSAI (PLMNId, S-NSSAI). The PLMNId represents a data type that - is comprised of mcc (mobile country code) and mnc (mobile network code), (See TS 23.003 - subclause 2.2 and 12.1) and S-NSSAI represents an data type, that is comprised of an SST - (Slice/Service type) and an optional SD (Slice Differentiator) field, (See TS 23.003 [13]).\"; - uses PLMNId; - list sNSSAIList { - key \"sNssai\"; - uses sNSSAIConfig; - description \"List of sNSSAIs\"; - } - } - - grouping ManagedNFProfile { - description - \"Defines profile for managed NF\"; - reference - \"3GPP TS 23.501\"; - leaf idx { - type uint32; - description - \"TODO\"; - reference - \"3GPP TS 23.501\"; - } - leaf nfInstanceID { - type yang:uuid; - config false; - mandatory false; - description - \"This parameter defines profile for managed NF. - The format of the NF Instance ID shall be a - Universally Unique Identifier (UUID) version 4, - as described in IETF RFC 4122 \"; - } - leaf-list nfType { - type NfType; - config false; - min-elements 1; - description - \"Type of the Network Function\"; - } - leaf hostAddr { - type inet:host; - mandatory false; - description - \"Host address of a NF\"; - } - leaf authzInfo { - type string; - description - \"This parameter defines NF Specific Service authorization - information. It shall include the NF type (s) and NF realms/origins - allowed to consume NF Service(s) of NF Service Producer.\"; - reference - \"See TS 23.501\"; - } - leaf location { - type string; - description - \"Information about the location of the NF instance - (e.g. geographic location, data center) defined by operator\"; - reference - \"TS 29.510\"; - } - leaf capacity { - type uint16; - mandatory false; - description - \"This parameter defines static capacity information - in the range of 0-65535, expressed as a weight relative to other - NF instances of the same type; if capacity is also present in the - nfServiceList parameters, those will have precedence over this value.\"; - reference - \"TS 29.510\"; - } - leaf nFSrvGroupId { - type string; - description - \"This parameter defines identity of the group that is - served by the NF instance. - May be config false or true depending on the ManagedFunction. - Config=true for Udrinfo. Config=false for UdmInfo and AusfInfo. - Shall be present if ../nfType = UDM or AUSF or UDR. \"; - reference - \"TS 29.510\"; - } - leaf-list supportedDataSetIds { - type enumeration { - enum SUBSCRIPTION { - description - \"TODO\"; - } - enum POLICY { - description - \"TODO\"; - } - enum EXPOSURE { - description - \"TODO\"; - } - enum APPLICATION { - description - \"TODO\"; - } - } - description - \"List of supported data sets in the UDR instance. - May be present if ../nfType = UDR\"; - reference - \"TS 29.510\"; - } - leaf-list smfServingAreas { - type string; - description - \"Defines the SMF service area(s) the UPF can serve. - Shall be present if ../nfType = UPF\"; - reference - \"TS 29.510\"; - } - leaf priority { - type uint16; - description - \"This parameter defines Priority (relative to other NFs - of the same type) in the range of 0-65535, to be used for NF selection; - lower values indicate a higher priority. If priority is also present - in the nfServiceList parameters, those will have precedence over - this value. Shall be present if ../nfType = AMF \"; - reference - \"TS 29.510\"; - } - } - - - grouping PLMNId { - description - \"TODO\"; - reference - \"TS 23.658\"; - leaf mcc { - type Mcc; - mandatory true; - description - \"TODO\"; - } - leaf mnc { - type Mnc; - mandatory true; - description - \"TODO\"; - } - } - - grouping AmfIdentifier { - description - \"The AMFI is constructed from an AMF Region ID, - an AMF Set ID and an AMF Pointer. - The AMF Region ID identifies the region, - the AMF Set ID uniquely identifies the AMF Set within the AMF Region, and - the AMF Pointer uniquely identifies the AMF within the AMF Set. \"; - leaf amfRegionId { - type AmfRegionId; - description - \"TODO\"; - } - leaf amfSetId { - type AmfSetId; - description - \"TODO\"; - } - leaf amfPointer { - type AmfPointer; - description - \"TODO\"; - } - } - - grouping DefaultNotificationSubscription { - description - \"TODO\"; - leaf notificationType { - type NotificationType; - description - \"TODO\"; - } - leaf callbackUri { - type inet:uri; - description - \"TODO\"; - } - leaf n1MessageClass { - type N1MessageClass; - description - \"TODO\"; - } - leaf n2InformationClass { - type N2InformationClass; - description - \"TODO\"; - } - } - - grouping Ipv4AddressRange { - description - \"TODO\"; - leaf start { - type inet:ipv4-address; - description - \"TODO\"; - } - leaf end { - type inet:ipv4-address; - description - \"TODO\"; - } - } - - grouping Ipv6PrefixRange { - description - \"TODO\"; - leaf start { - type inet:ipv6-prefix; - description - \"TODO\"; - } - leaf end { - type inet:ipv6-prefix; - description - \"TODO\"; - } - } - - grouping AddressWithVlan { - description - \"TODO\"; - leaf ipAddress { - type inet:ip-address; - description - \"TODO\"; - } - leaf vlanId { - type uint16; - description - \"TODO\"; - } - } - - grouping ManagedElementGroup { - description - \"Abstract class representing telecommunications resources.\"; - leaf dnPrefix { - type DistinguishedName; - description - \"Provides naming context and splits the DN into a DN Prefix and Local DN\"; - } - leaf userLabel { - type string; - description - \"A user-friendly name of this object.\"; - } - leaf locationName { - type string; - config false; - description - \"The physical location (e.g. an address) of an entity\"; - } - leaf-list managedBy { - type DistinguishedName; - config false; - description - \"Relates to the role played by ManagementSystem\"; - } - leaf-list managedElementTypeList { - type string; - config false; - min-elements 1; - description - \"The type of functionality provided by the ManagedElement. - It may represent one ME functionality or a combination of - Two examples of allowed values are: - - NodeB; - - HLR, VLR.\"; - } - } // Managed Element grouping - - grouping NearRTRICGroup { - description - \"Abstract class representing Near RT RIC.\"; - leaf dnPrefix { - type DistinguishedName; - description - \"Provides naming context and splits the DN into a DN Prefix and Local DN\"; - } - leaf userLabel { - type string; - description - \"A user-friendly name of this object.\"; - } - leaf locationName { - type string; - config false; - description - \"The physical location (e.g. an address) of an entity\"; - } - leaf gNBId { - type int64 { range \"0..4294967295\"; } - config false; - description \"Identifies a gNB within a PLMN. The gNB Identifier (gNB ID) - is part of the NR Cell Identifier (NCI) of the gNB cells.\"; - reference \"gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413\"; - } - - list pLMNInfoList { - uses PLMNInfo; - key \"mcc mnc\"; - description \"The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that can be served by the nearRTRIC.\"; - } - list RRMPolicyRatio { - key id; - leaf id { - type string; - description - \"Key leaf\"; - } - container attributes { - uses RRMPolicyRatioGroup; - } - description \" The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the - inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both - standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the - abstract RRMPolicy_ IOC. For details see subclause 4.3.36.\"; - } - - } // Near RT RIC grouping - - - - grouping Configuration{ - leaf configParameter{ - type string; - description \"Type of the configuration parameter\"; - } - leaf configValue{ - type int64; - description \"Identifies the configuration to be done for the network elements under the NearRTRIC\"; - - } - } - - - grouping GNBDUFunctionGroup { - description - \"Represents the GNBDUFunction IOC.\"; - reference - \"3GPP TS 28.541\"; - - leaf gNBId { - type int64 { - range \"0..4294967295\"; - } - config false; - mandatory false; - description - \"Identifies a gNB within a PLMN. The gNB Identifier (gNB ID) - is part of the NR Cell Identifier (NCI) of the gNB cells.\"; - reference - \"gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413\"; - } - leaf gNBIdLength { - type int32 { - range \"22..32\"; - } - mandatory false; - description - \"Indicates the number of bits for encoding the gNB ID.\"; - reference - \"gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413\"; - } - leaf gNBDUId { - type int64 { - range \"0..68719476735\"; - } - mandatory false; - description - \"Uniquely identifies the DU at least within a gNB.\"; - reference - \"3GPP TS 38.473\"; - } - leaf gNBDUName { - type string { - length \"1..150\"; - } - description - \"Identifies the Distributed Unit of an NR node\"; - reference - \"3GPP TS 38.473\"; - } - list RRMPolicyRatio { - key id; - leaf id { - type string; - description - \"Key leaf\"; - } - container attributes { - uses RRMPolicyRatioGroup; - } - description \" The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the - inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both - standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the - abstract RRMPolicy_ IOC. For details see subclause 4.3.36.\"; - } - } - - grouping NRCellDUGroup { - description - \"Represents the NRCellDU IOC.\"; - reference - \"3GPP TS 28.541\"; - list RRMPolicyRatio { - key id; - leaf id { - type string; - description - \"Key leaf\"; - } - container attributes { - uses RRMPolicyRatioGroup; - } - description \" The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the - inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both - standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the - abstract RRMPolicy_ IOC. For details see subclause 4.3.36.\"; - } - leaf cellLocalId { - type int32 { - range \"0..16383\"; - } - mandatory false; - description - \"Identifies an NR cell of a gNB. Together with the - corresponding gNB identifier in forms the NR Cell Identity (NCI).\"; - reference - \"NCI in 3GPP TS 38.300\"; - } - list pLMNInfoList { - key \"mcc mnc\"; - min-elements 1; - description - \"The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that - can be served by the NR cell, and which S-NSSAIs that can be supported by the NR cell for - corresponding PLMN in case of network slicing feature is supported. The plMNId of the first - entry of the list is the PLMNId used to construct the nCGI for the NR cell.\"; - uses PLMNInfo; - } - leaf nRPCI { - type int32 { - range \"0..1007\"; - } - mandatory false; - description - \"The Physical Cell Identity (PCI) of the NR cell.\"; - reference - \"3GPP TS 36.211\"; - } - leaf nRTAC { - type Tac; - description - \"The common 5GS Tracking Area Code for the PLMNs.\"; - reference - \"3GPP TS 23.003, 3GPP TS 38.473\"; - } - } // grouping - - grouping rRMPolicyMemberGroup { - description - \"TODO\"; - uses PLMNId; - leaf sNSSAI { - type SNssai; - description - \"This data type represents an RRM Policy member that will be part of a - rRMPolicyMemberList. A RRMPolicyMember is defined by its pLMNId and sNSSAI (S-NSSAI). - The members in a rRMPolicyMemberList are assigned a specific amount of RRM resources - based on settings in RRMPolicy.\"; - } - } - - grouping RRMPolicyRatioGroup { - - uses RRMPolicy_Group; // Inherits RRMPolicy_ - - leaf quotaType { - type QuotaType; - mandatory false; - description \"The type of the quota which allows to allocate resources as - strictly usable for defined slice(s) (strict quota) or allows that - resources to be used by other slice(s) when defined slice(s) do not - need them (float quota).\"; - } - - leaf rRMPolicyMaxRatio { - type uint8; - mandatory false; - units percent; - description \"The RRM policy setting the maximum percentage of radio - resources to be allocated to the corresponding S-NSSAI list. This - quota can be strict or float quota. Strict quota means resources are - not allowed for other sNSSAIs even when they are not used by the - defined sNSSAIList. Float quota resources can be used by other sNSSAIs - when the defined sNSSAIList do not need them. Value 0 indicates that - there is no maximum limit.\"; - } - - leaf rRMPolicyMinRatio { - type uint8; - mandatory false; - units percent; - description \"The RRM policy setting the minimum percentage of radio - resources to be allocated to the corresponding S-NSSAI list. This - quota can be strict or float quota. Strict quota means resources are - not allowed for other sNSSAIs even when they are not used by the - defined sNSSAIList. Float quota resources can be used by other sNSSAIs - when the defined sNSSAIList do not need them. Value 0 indicates that - there is no minimum limit.\"; - } - leaf rRMPolicyDedicatedRatio { - type uint8; - units percent; - description \"Dedicated Ration.\"; - } - description \"Represents the RRMPolicyRatio concrete IOC.\"; - } - - - grouping sNSSAIConfig{ - leaf sNssai { - type string; - description \"s-NSSAI of a network slice.\"; - reference \"3GPP TS 23.003\"; - } - leaf status { - type string; - description \"status of s-NSSAI\"; - } - list configData{ - uses Configuration; - key \"configParameter\"; - description \"List of configurations to be done at the network elements\"; - } - } - - grouping RRMPolicy_Group { - description - \"This IOC represents the properties of an abstract RRMPolicy. The RRMPolicy_ IOC - needs to be subclassed to be instantiated. It defines two attributes apart from those - inherited from Top IOC, the resourceType attribute defines type of resource (PRB, RRC - connected users, DRB usage etc.) and the rRMPolicyMemberList attribute defines the - RRMPolicyMember(s)that are subject to this policy. An RRM resource (defined in resourceType - attribute) is located in NRCellDU, NRCellCU, GNBDUFunction, GNBCUCPFunction or in - GNBCUUPFunction. The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the - inheritance in TS 28.541 Figure 4.2.1.2-1. This RRM framework allows adding new policies, - both standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the - abstract RRMPolicy_ IOC.\"; - leaf resourceType { - type string; - mandatory false; - description - \"The resourceType attribute defines type of resource (PRB, RRC connected users, - DRB usage etc.) that is subject to policy. Valid values are ''PRB'', ''RRC'' or ''DRB''\"; - } - list rRMPolicyMemberList { - key \"idx\"; - leaf idx { - type uint32; - description - \"TODO\"; - } - description - \"It represents the list of RRMPolicyMember (s) that the managed object - is supporting. A RRMPolicyMember <> include the PLMNId <> - and S-NSSAI <>.\"; - uses rRMPolicyMemberGroup; - } - } // grouping - - grouping GNBCUUPFunctionGroup { - description - \"Represents the GNBCUUPFunction IOC.\"; - reference - \"3GPP TS 28.541\"; - - list RRMPolicyRatio { - key id; - leaf id { - type string; - description - \"Key leaf\"; - } - container attributes { - uses RRMPolicyRatioGroup; - } - description \" The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the - inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both - standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the - abstract RRMPolicy_ IOC. For details see subclause 4.3.36.\"; - } - leaf gNBCUUPId { - type uint64 { - range \"0..68719476735\"; - } - config false; - mandatory false; - description - \"Identifies the gNB-CU-UP at least within a gNB-CU-CP\"; - reference - \"''gNB-CU-UP ID'' in subclause 9.3.1.15 of 3GPP TS 38.463\"; - } - leaf gNBId { - type int64 { - range \"0..4294967295\"; - } - mandatory false; - description - \"Indicates the number of bits for encoding the gNB Id.\"; - reference - \"gNB Id in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413\"; - } - list pLMNInfoList { - key \"mcc mnc\"; - description - \"The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that - can be served by the GNBCUUPFunction and which S-NSSAIs can be supported by the - GNBCUUPFunction for corresponding PLMN in case of network slicing feature is supported\"; - uses PLMNInfo; - } - } // grouping - - grouping GNBCUCPFunctionGroup { - description - \"Represents the GNBCUCPFunction IOC.\"; - reference - \"3GPP TS 28.541\"; - list RRMPolicyRatio { - key id; - leaf id { - type string; - description - \"Key leaf\"; - } - container attributes { - uses RRMPolicyRatioGroup; - } - description \" The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the - inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both - standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the - abstract RRMPolicy_ IOC. For details see subclause 4.3.36.\"; - } - leaf gNBId { - type int64 { - range \"0..4294967295\"; - } - mandatory false; - description - \"Identifies a gNB within a PLMN. The gNB Identifier (gNB ID) - is part of the NR Cell Identifier (NCI) of the gNB cells.\"; - reference - \"gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413\"; - } - leaf gNBIdLength { - type int32 { - range \"22..32\"; - } - mandatory false; - description - \"Indicates the number of bits for encoding the gNB ID.\"; - reference - \"gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413\"; - } - leaf gNBCUName { - type string { - length \"1..150\"; - } - mandatory false; - description - \"Identifies the Central Unit of an gNB.\"; - reference - \"3GPP TS 38.473\"; - } - list pLMNId { - key \"mcc mnc\"; - min-elements 1; - max-elements 1; - description - \"The PLMN identifier to be used as part of the global RAN - node identity.\"; - uses PLMNId; - } - } // grouping - - grouping NRCellCUGroup { - description - \"Represents the NRCellCU IOC.\"; - reference - \"3GPP TS 28.541\"; - leaf cellLocalId { - type int32 { - range \"0..16383\"; - } - mandatory false; - description - \"Identifies an NR cell of a gNB. Together with corresponding - gNB ID it forms the NR Cell Identifier (NCI).\"; - } - list pLMNInfoList { - key \"mcc mnc\"; - min-elements 1; - description - \"The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs - that can be served by the NR cell, and which S-NSSAIs that can be supported by the - NR cell for corresponding PLMN in case of network slicing feature is supported.\"; - uses PLMNInfo; - // Note: Whether the attribute pLMNId in the pLMNInfo can be writable depends on the implementation. - } - list RRMPolicyRatio { - key id; - leaf id { - type string; - description - \"Key leaf\"; - } - container attributes { - uses RRMPolicyRatioGroup; - } - description \" The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the - inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both - standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the - abstract RRMPolicy_ IOC. For details see subclause 4.3.36.\"; - } - } // grouping NRCellCUGroup - - grouping NRCellRelationGroup { - description - \"Represents the NRCellRelation IOC.\"; - reference - \"3GPP TS 28.541\"; - leaf nRTCI { - type uint64; - description - \"Target NR Cell Identifier. It consists of NR Cell - Identifier (NCI) and Physical Cell Identifier of the target NR cell - (nRPCI).\"; - "|0337045143fa2e592243243f82699b93 -ietf-yang-types.yang|"module ietf-yang-types { - - namespace \"urn:ietf:params:xml:ns:yang:ietf-yang-types\"; - prefix \"yang\"; - - organization - \"IETF NETMOD (NETCONF Data Modeling Language) Working Group\"; - - contact - \"WG Web: - WG List: - - WG Chair: David Kessens - - - WG Chair: Juergen Schoenwaelder - - - Editor: Juergen Schoenwaelder - \"; - - description - \"This module contains a collection of generally useful derived - YANG data types. - - Copyright (c) 2013 IETF Trust and the persons identified as - authors of the code. All rights reserved. - - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject - to the license terms contained in, the Simplified BSD License - set forth in Section 4.c of the IETF Trust''s Legal Provisions - Relating to IETF Documents - (http://trustee.ietf.org/license-info). - - This version of this YANG module is part of RFC 6991; see - the RFC itself for full legal notices.\"; - - revision 2013-07-15 { - description - \"This revision adds the following new data types: - - yang-identifier - - hex-string - - uuid - - dotted-quad\"; - reference - \"RFC 6991: Common YANG Data Types\"; - } - - revision 2010-09-24 { - description - \"Initial revision.\"; - reference - \"RFC 6021: Common YANG Data Types\"; - } - - /*** collection of counter and gauge types ***/ - - typedef counter32 { - type uint32; - description - \"The counter32 type represents a non-negative integer - that monotonically increases until it reaches a - maximum value of 2^32-1 (4294967295 decimal), when it - wraps around and starts increasing again from zero. - - Counters have no defined ''initial'' value, and thus, a - single value of a counter has (in general) no information - content. Discontinuities in the monotonically increasing - value normally occur at re-initialization of the - management system, and at other times as specified in the - description of a schema node using this type. If such - other times can occur, for example, the creation of - a schema node of type counter32 at times other than - re-initialization, then a corresponding schema node - should be defined, with an appropriate type, to indicate - the last discontinuity. - - The counter32 type should not be used for configuration - schema nodes. A default statement SHOULD NOT be used in - combination with the type counter32. - - In the value set and its semantics, this type is equivalent - to the Counter32 type of the SMIv2.\"; - reference - \"RFC 2578: Structure of Management Information Version 2 - (SMIv2)\"; - } - - typedef zero-based-counter32 { - type yang:counter32; - default \"0\"; - description - \"The zero-based-counter32 type represents a counter32 - that has the defined ''initial'' value zero. - - A schema node of this type will be set to zero (0) on creation - and will thereafter increase monotonically until it reaches - a maximum value of 2^32-1 (4294967295 decimal), when it - wraps around and starts increasing again from zero. - - Provided that an application discovers a new schema node - of this type within the minimum time to wrap, it can use the - ''initial'' value as a delta. It is important for a management - station to be aware of this minimum time and the actual time - between polls, and to discard data if the actual time is too - long or there is no defined minimum time. - - In the value set and its semantics, this type is equivalent - to the ZeroBasedCounter32 textual convention of the SMIv2.\"; - reference - \"RFC 4502: Remote Network Monitoring Management Information - Base Version 2\"; - } - - typedef counter64 { - type uint64; - description - \"The counter64 type represents a non-negative integer - that monotonically increases until it reaches a - maximum value of 2^64-1 (18446744073709551615 decimal), - when it wraps around and starts increasing again from zero. - - Counters have no defined ''initial'' value, and thus, a - single value of a counter has (in general) no information - content. Discontinuities in the monotonically increasing - value normally occur at re-initialization of the - management system, and at other times as specified in the - description of a schema node using this type. If such - other times can occur, for example, the creation of - a schema node of type counter64 at times other than - re-initialization, then a corresponding schema node - should be defined, with an appropriate type, to indicate - the last discontinuity. - - The counter64 type should not be used for configuration - schema nodes. A default statement SHOULD NOT be used in - combination with the type counter64. - - In the value set and its semantics, this type is equivalent - to the Counter64 type of the SMIv2.\"; - reference - \"RFC 2578: Structure of Management Information Version 2 - (SMIv2)\"; - } - - typedef zero-based-counter64 { - type yang:counter64; - default \"0\"; - description - \"The zero-based-counter64 type represents a counter64 that - has the defined ''initial'' value zero. - - - - - A schema node of this type will be set to zero (0) on creation - and will thereafter increase monotonically until it reaches - a maximum value of 2^64-1 (18446744073709551615 decimal), - when it wraps around and starts increasing again from zero. - - Provided that an application discovers a new schema node - of this type within the minimum time to wrap, it can use the - ''initial'' value as a delta. It is important for a management - station to be aware of this minimum time and the actual time - between polls, and to discard data if the actual time is too - long or there is no defined minimum time. - - In the value set and its semantics, this type is equivalent - to the ZeroBasedCounter64 textual convention of the SMIv2.\"; - reference - \"RFC 2856: Textual Conventions for Additional High Capacity - Data Types\"; - } - - typedef gauge32 { - type uint32; - description - \"The gauge32 type represents a non-negative integer, which - may increase or decrease, but shall never exceed a maximum - value, nor fall below a minimum value. The maximum value - cannot be greater than 2^32-1 (4294967295 decimal), and - the minimum value cannot be smaller than 0. The value of - a gauge32 has its maximum value whenever the information - being modeled is greater than or equal to its maximum - value, and has its minimum value whenever the information - being modeled is smaller than or equal to its minimum value. - If the information being modeled subsequently decreases - below (increases above) the maximum (minimum) value, the - gauge32 also decreases (increases). - - In the value set and its semantics, this type is equivalent - to the Gauge32 type of the SMIv2.\"; - reference - \"RFC 2578: Structure of Management Information Version 2 - (SMIv2)\"; - } - - typedef gauge64 { - type uint64; - description - \"The gauge64 type represents a non-negative integer, which - may increase or decrease, but shall never exceed a maximum - value, nor fall below a minimum value. The maximum value - cannot be greater than 2^64-1 (18446744073709551615), and - the minimum value cannot be smaller than 0. The value of - a gauge64 has its maximum value whenever the information - being modeled is greater than or equal to its maximum - value, and has its minimum value whenever the information - being modeled is smaller than or equal to its minimum value. - If the information being modeled subsequently decreases - below (increases above) the maximum (minimum) value, the - gauge64 also decreases (increases). - - In the value set and its semantics, this type is equivalent - to the CounterBasedGauge64 SMIv2 textual convention defined - in RFC 2856\"; - reference - \"RFC 2856: Textual Conventions for Additional High Capacity - Data Types\"; - } - - /*** collection of identifier-related types ***/ - - typedef object-identifier { - type string { - pattern ''(([0-1](.[1-3]?[0-9]))|(2.(0|([1-9]d*))))'' - + ''(.(0|([1-9]d*)))*''; - } - description - \"The object-identifier type represents administratively - assigned names in a registration-hierarchical-name tree. - - Values of this type are denoted as a sequence of numerical - non-negative sub-identifier values. Each sub-identifier - value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers - are separated by single dots and without any intermediate - whitespace. - - The ASN.1 standard restricts the value space of the first - sub-identifier to 0, 1, or 2. Furthermore, the value space - of the second sub-identifier is restricted to the range - 0 to 39 if the first sub-identifier is 0 or 1. Finally, - the ASN.1 standard requires that an object identifier - has always at least two sub-identifiers. The pattern - captures these restrictions. - - Although the number of sub-identifiers is not limited, - module designers should realize that there may be - implementations that stick with the SMIv2 limit of 128 - sub-identifiers. - - This type is a superset of the SMIv2 OBJECT IDENTIFIER type - since it is not restricted to 128 sub-identifiers. Hence, - this type SHOULD NOT be used to represent the SMIv2 OBJECT - IDENTIFIER type; the object-identifier-128 type SHOULD be - used instead.\"; - reference - \"ISO9834-1: Information technology -- Open Systems - Interconnection -- Procedures for the operation of OSI - Registration Authorities: General procedures and top - arcs of the ASN.1 Object Identifier tree\"; - } - - typedef object-identifier-128 { - type object-identifier { - pattern ''d*(.d*){1,127}''; - } - description - \"This type represents object-identifiers restricted to 128 - sub-identifiers. - - In the value set and its semantics, this type is equivalent - to the OBJECT IDENTIFIER type of the SMIv2.\"; - reference - \"RFC 2578: Structure of Management Information Version 2 - (SMIv2)\"; - } - - typedef yang-identifier { - type string { - length \"1..max\"; - pattern ''[a-zA-Z_][a-zA-Z0-9-_.]*''; - pattern ''.|..|[^xX].*|.[^mM].*|..[^lL].*''; - } - description - \"A YANG identifier string as defined by the ''identifier'' - rule in Section 12 of RFC 6020. An identifier must - start with an alphabetic character or an underscore - followed by an arbitrary sequence of alphabetic or - numeric characters, underscores, hyphens, or dots. - - A YANG identifier MUST NOT start with any possible - combination of the lowercase or uppercase character - sequence ''xml''.\"; - reference - \"RFC 6020: YANG - A Data Modeling Language for the Network - Configuration Protocol (NETCONF)\"; - } - - /*** collection of types related to date and time***/ - - typedef date-and-time { - type string { - pattern ''d{4}-d{2}-d{2}Td{2}:d{2}:d{2}(.d+)?'' - + ''(Z|[+-]d{2}:d{2})''; - } - description - \"The date-and-time type is a profile of the ISO 8601 - standard for representation of dates and times using the - Gregorian calendar. The profile is defined by the - date-time production in Section 5.6 of RFC 3339. - - The date-and-time type is compatible with the dateTime XML - schema type with the following notable exceptions: - - (a) The date-and-time type does not allow negative years. - - (b) The date-and-time time-offset -00:00 indicates an unknown - time zone (see RFC 3339) while -00:00 and +00:00 and Z - all represent the same time zone in dateTime. - - (c) The canonical format (see below) of data-and-time values - differs from the canonical format used by the dateTime XML - schema type, which requires all times to be in UTC using - the time-offset ''Z''. - - This type is not equivalent to the DateAndTime textual - convention of the SMIv2 since RFC 3339 uses a different - separator between full-date and full-time and provides - higher resolution of time-secfrac. - - The canonical format for date-and-time values with a known time - zone uses a numeric time zone offset that is calculated using - the device''s configured known offset to UTC time. A change of - the device''s offset to UTC time will cause date-and-time values - to change accordingly. Such changes might happen periodically - in case a server follows automatically daylight saving time - (DST) time zone offset changes. The canonical format for - date-and-time values with an unknown time zone (usually - referring to the notion of local time) uses the time-offset - -00:00.\"; - reference - \"RFC 3339: Date and Time on the Internet: Timestamps - RFC 2579: Textual Conventions for SMIv2 - XSD-TYPES: XML Schema Part 2: Datatypes Second Edition\"; - } - - typedef timeticks { - type uint32; - description - \"The timeticks type represents a non-negative integer that - represents the time, modulo 2^32 (4294967296 decimal), in - hundredths of a second between two epochs. When a schema - node is defined that uses this type, the description of - the schema node identifies both of the reference epochs. - - In the value set and its semantics, this type is equivalent - to the TimeTicks type of the SMIv2.\"; - reference - \"RFC 2578: Structure of Management Information Version 2 - (SMIv2)\"; - } - - typedef timestamp { - type yang:timeticks; - description - \"The timestamp type represents the value of an associated - timeticks schema node at which a specific occurrence - happened. The specific occurrence must be defined in the - description of any schema node defined using this type. When - the specific occurrence occurred prior to the last time the - associated timeticks attribute was zero, then the timestamp - value is zero. Note that this requires all timestamp values - to be reset to zero when the value of the associated timeticks - attribute reaches 497+ days and wraps around to zero. - - The associated timeticks schema node must be specified - in the description of any schema node using this type. - - In the value set and its semantics, this type is equivalent - to the TimeStamp textual convention of the SMIv2.\"; - reference - \"RFC 2579: Textual Conventions for SMIv2\"; - } - - /*** collection of generic address types ***/ - - typedef phys-address { - type string { - pattern ''([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?''; - } - - - - - description - \"Represents media- or physical-level addresses represented - as a sequence octets, each octet represented by two hexadecimal - numbers. Octets are separated by colons. The canonical - representation uses lowercase characters. - - In the value set and its semantics, this type is equivalent - to the PhysAddress textual convention of the SMIv2.\"; - reference - \"RFC 2579: Textual Conventions for SMIv2\"; - } - - typedef mac-address { - type string { - pattern ''[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}''; - } - description - \"The mac-address type represents an IEEE 802 MAC address. - The canonical representation uses lowercase characters. - - In the value set and its semantics, this type is equivalent - to the MacAddress textual convention of the SMIv2.\"; - reference - \"IEEE 802: IEEE Standard for Local and Metropolitan Area - Networks: Overview and Architecture - RFC 2579: Textual Conventions for SMIv2\"; - } - - /*** collection of XML-specific types ***/ - - typedef xpath1.0 { - type string; - description - \"This type represents an XPATH 1.0 expression. - - When a schema node is defined that uses this type, the - description of the schema node MUST specify the XPath - context in which the XPath expression is evaluated.\"; - reference - \"XPATH: XML Path Language (XPath) Version 1.0\"; - } - - /*** collection of string types ***/ - - typedef hex-string { - type string { - pattern ''([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?''; - } - description - \"A hexadecimal string with octets represented as hex digits - separated by colons. The canonical representation uses - lowercase characters.\"; - } - - typedef uuid { - type string { - pattern ''[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'' - + ''[0-9a-fA-F]{4}-[0-9a-fA-F]{12}''; - } - description - \"A Universally Unique IDentifier in the string representation - defined in RFC 4122. The canonical representation uses - lowercase characters. - - The following is an example of a UUID in string representation: - f81d4fae-7dec-11d0-a765-00a0c91e6bf6 - \"; - reference - \"RFC 4122: A Universally Unique IDentifier (UUID) URN - Namespace\"; - } - - typedef dotted-quad { - type string { - pattern - ''(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).){3}'' - + ''([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])''; - } - description - \"An unsigned 32-bit number expressed in the dotted-quad - notation, i.e., four octets written as decimal numbers - and separated with the ''.'' (full stop) character.\"; - } -}"|57d603ee9ab0c49355ad0695c0709c93