X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ntsimulator%2Fyang%2Fo-ran-sc%2Fo-ran-ru%2Fo-ran-sc-root-v1.yang;fp=ntsimulator%2Fyang%2Fo-ran-sc%2Fo-ran-ru%2Fo-ran-sc-root-v1.yang;h=1acd553a1ba7b1d640f36a2319b7e1db3094d210;hb=1f1479ff8ce3a268acb7b70a32bb789d859a915b;hp=0000000000000000000000000000000000000000;hpb=34ec819462d5f81ceeb723e47467bf50a8454f34;p=sim%2Fo1-interface.git diff --git a/ntsimulator/yang/o-ran-sc/o-ran-ru/o-ran-sc-root-v1.yang b/ntsimulator/yang/o-ran-sc/o-ran-ru/o-ran-sc-root-v1.yang new file mode 100644 index 0000000..1acd553 --- /dev/null +++ b/ntsimulator/yang/o-ran-sc/o-ran-ru/o-ran-sc-root-v1.yang @@ -0,0 +1,179 @@ +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."; + } +}