+++ /dev/null
-module o-ran-sc-root-v1 {
- yang-version 1.1;
- namespace "urn:o-ran:sc:root:1.0";
- prefix or;
-
- import o-ran-sc-types-v1 {
- prefix ot;
- }
- import ietf-yang-types {
- prefix yang;
- reference
- "RFC 6991: Common YANG Data Types";
- }
-
- organization
- "O-RAN Software Community";
- contact
- "www.o-ran-sc.org";
- description
- "This module defines the root controlled object classes for a
- disaggregated RAN.
-
- Copyright 2020 the O-RAN Alliance.
-
- 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 2020-02-20 {
- description
- "initial revision";
- reference
- "O-RAN-OAM-Interface-Specification (O1)";
- }
-
- // Groupings
-
- grouping controlled-identifier-grp {
- leaf authority-ref {
- type ot:sized-printable-string;
- description
- "A name or indentifier referencing the authority to which is
- responsable to create, modify or delete
- the controlled identifier. ";
- }
- leaf identifer {
- type string {
- length "1..255";
- }
- description
- "The external controlled identifier value for this controlled
- object.";
- }
- description
- "An object class specifiing an object identifier, which is caluculated
- or generated by the consumer of the API..";
- }
-
- grouping state-grp {
- leaf operational-state {
- type identityref {
- base ot:operational-state;
- }
- config false;
- description
- "The operational state is used to indicate whether or not the
- resource is installed and working.";
- }
- leaf administrative-control {
- type identityref {
- base ot:administrative-control;
- }
- description
- "The administrative-control state provides control of the
- availability of specific resources without modification to the
- provisioning of those resources.
- The value is the current control target. The actual
- administrative-state may or may not be at target.";
- }
- leaf administrative-state {
- type identityref {
- base ot:administrative-state;
- }
- config false;
- description
- "Shows whether or not the client has permission to use or has a
- prohibition against using the resource.
- The administrative state expresses usage permissions for
- specific resources without modification to the provisioning
- of those resources.";
- }
- leaf lifecycle-state {
- type identityref {
- base ot:lifecycle-state;
- }
- description
- "Used to track the planned deployment, allocation to clients and
- withdrawal of resources.";
- }
- description
- "Provides general state attributes.";
- }
-
- grouping control-base-grp {
- leaf identifier {
- type yang:uuid;
- mandatory true;
- description
- "The network wide unique identifier an object. The value will
- never change and maybe used as reference even long time after
- the object instance itself was deleted.
- The value is calculated of generated by the provider of this
- API.";
- }
- list controlled-identifier {
- key "authority-ref";
- uses controlled-identifier-grp;
- description
- "A list of external controlled identifiers, set by an external
- authority. There must not be any function implemented on the
- API provider itself next to updating the list on request and
- storing it persistently. ";
- }
- leaf name {
- type ot:sized-printable-string;
- description
- "A user defined human readable identifier. The value may chance
- during the lifetime of the object and must not be used by any
- software for references.";
- }
- leaf label {
- type string {
- length "1..64";
- }
- description
- "A human readable value that is not expected to be unique and is
- allowed to change. A label carries no semantics with respect to
- the purpose of the object and has no effect on the object
- behavior or state.";
- }
- uses state-grp;
- description
- "The control-base object class representation an abstract object class,
- which all is used by all important control object classes.";
- }
-
- container controlled-element {
- presence "Enables O-RAN";
- uses control-base-grp;
- list controlled-function {
- key "identifier";
- uses control-base-grp;
- leaf function-type {
- type identityref {
- base ot:control-function-type;
- }
- description
- "The reference to the O-RAN Alliance functions of the OAM
- Architecture specification.";
- }
- description
- "A list of abstract object classes which needs to be
- augmented by the authority of providing the function.";
- }
- description
- "The root container of an element (network-element,
- manged-element, network-function, ...). it groups the
- functions provided by the element. in a most disaggregated RAN
- the each element provides only one function.";
- }
-}