Reorganization of devicemanager directory structure
[ccsdk/features.git] / sdnr / wt / devicemanager-onap / onf14 / provider / src / main / yang / co-channel-profile-1-0.yang
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/yang/co-channel-profile-1-0.yang b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/yang/co-channel-profile-1-0.yang
new file mode 100644 (file)
index 0000000..9906cf6
--- /dev/null
@@ -0,0 +1,285 @@
+module co-channel-profile-1-0 {\r
+  yang-version 1.1;\r
+  namespace "urn:onf:yang:co-channel-profile-1-0";\r
+  prefix co-channel-profile;\r
+\r
+  import ietf-yang-types {\r
+    prefix yang;\r
+  }\r
+  import core-model-1-4 {\r
+    prefix core-model;\r
+  }\r
+\r
+  organization\r
+    "openBackhaul.com proposal to Open Networking Foundation (ONF)";\r
+  contact\r
+    "WG Web : https://github.com/openBackhaul/Overview\r
+     WG List: CoChannelProfile@openBackhaul.com\r
+     Editor : Thorsten Heinze\r
+     Email  : Thorsten.Heinze@openBackhaul.com";\r
+  description\r
+    "Technology specific definition for groups of microwave radio interfaces, which are using the same frequency channel (XPIC, MIMO and ALIC).\r
+\r
+     Copyright 2019 openBackhaul.com\r
+\r
+     Licensed under the Apache License, Version 2.0 (the 'License');\r
+     you may not use this file except in compliance with the License.\r
+     You may obtain a copy of the License at\r
+     http://www.apache.org/licenses/LICENSE-2.0\r
+     Unless required by applicable law or agreed to in writing, software\r
+     distributed under the License is distributed on an 'AS IS' BASIS,\r
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+     See the License for the specific language governing permissions and\r
+     limitations under the License.";\r
+\r
+  revision 2020-01-27 {\r
+    description\r
+      "Model for the Transport SDN Pilot at Telefonica Germany.\r
+       Please view https://github.com/openBackhaul/coChannelProfile/issues for changes.";\r
+    reference\r
+      "https://github.com/openBackhaul/coChannelProfile/tree/tsp: Model definition\r
+       https://github.com/openBackhaul/onfCoreIm/tree/tsp: ONF TR-512 Core IM incl. Profile and enhanced Equipment definition";\r
+  }\r
+  revision 2019-11-02 {\r
+    description\r
+      "Model for the Transport SDN Pilot at Telefonica Germany.\r
+       Please view https://github.com/openBackhaul/coChannelProfile/issues for changes.";\r
+    reference\r
+      "https://github.com/openBackhaul/coChannelProfile/tree/tsp: Model definition\r
+       https://github.com/openBackhaul/onfCoreIm/tree/tsp: ONF TR-512 Core IM incl. Profile and enhanced Equipment definition";\r
+  }\r
+  revision 2019-07-17 {\r
+    description\r
+      "Model for the Transport SDN Pilot at Telefonica Germany.\r
+       Please view https://github.com/openBackhaul/coChannelProfile/issues for changes.";\r
+    reference\r
+      "https://github.com/openBackhaul/coChannelProfile/tree/tsp: Model definition\r
+       https://github.com/openBackhaul/onfCoreIm/tree/tsp: ONF TR-512 Core IM incl. Profile and enhanced Equipment definition";\r
+  }\r
+\r
+  identity PROFILE_NAME_TYPE_CO_CHANNEL_PROFILE {\r
+    base core-model:PROFILE_NAME_TYPE;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  augment "/core-model:control-construct/core-model:profile-collection/core-model:profile" {\r
+    when "derived-from-or-self(./core-model:profile-name, 'co-channel-profile:PROFILE_NAME_TYPE_CO_CHANNEL_PROFILE')";\r
+    uses co-channel-profile-spec;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  /****************************************\r
+   * package notifications\r
+   **************************************/ \r
+\r
+  notification object-creation-notification {\r
+    uses object-creation-notification;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  grouping object-creation-notification {\r
+    leaf counter {\r
+      type int32;\r
+      default "-1";\r
+      config false;\r
+      description\r
+        "Counts object creation notifications.";\r
+    }\r
+    leaf timestamp {\r
+      type yang:date-and-time;\r
+      default "2010-11-20T14:00:00+01:00";\r
+      config false;\r
+      description\r
+        "none";\r
+    }\r
+    leaf object-id-ref {\r
+      type leafref {\r
+        path "/core-model:control-construct/core-model:profile-collection/core-model:profile/core-model:uuid";\r
+        require-instance false;\r
+      }\r
+      config false;\r
+      description\r
+        "none";\r
+    }\r
+    leaf object-type {\r
+      type string;\r
+      default "Type of created object not specified.";\r
+      config false;\r
+      description\r
+        "none";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  notification object-deletion-notification {\r
+    uses object-deletion-notification;\r
+    description\r
+      "none";\r
+  }\r
+\r
+  grouping object-deletion-notification {\r
+    leaf counter {\r
+      type int32;\r
+      default "-1";\r
+      config false;\r
+      description\r
+        "Counts object deletion notifications.";\r
+    }\r
+    leaf timestamp {\r
+      type yang:date-and-time;\r
+      default "2010-11-20T14:00:00+01:00";\r
+      config false;\r
+      description\r
+        "none";\r
+    }\r
+    leaf object-id-ref {\r
+      type leafref {\r
+        path "/core-model:control-construct/core-model:profile-collection/core-model:profile/core-model:uuid";\r
+        require-instance false;\r
+      }\r
+      config false;\r
+      description\r
+        "none";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  /****************************************\r
+   * grouping statements for object classes\r
+   **************************************/ \r
+\r
+  grouping co-channel-profile-spec {\r
+    container co-channel-profile-pac {\r
+      uses co-channel-profile-pac;\r
+      description\r
+        "none";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  grouping co-channel-profile-pac {\r
+    container co-channel-profile-capability {\r
+      config false;\r
+      uses co-channel-profile-capability;\r
+      description\r
+        "none";\r
+    }\r
+    container co-channel-profile-configuration {\r
+      uses co-channel-profile-configuration;\r
+      description\r
+        "none";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  grouping co-channel-profile-capability {\r
+    leaf xpic-is-avail {\r
+      type boolean;\r
+      default "false";\r
+      config false;\r
+      description\r
+        "In case this device is in general capable of XPIC, this field shall contain a 'true'. This information shall purely relate to capabilities of the equipment type, but not to the operational capability of a specific hardware composition on site. Means for example that this attribute might contain a 'true' statement, even if an additional cable would have been required to actually operate XPIC in a specific case.";\r
+    }\r
+    leaf mimo-is-avail {\r
+      type boolean;\r
+      default "false";\r
+      config false;\r
+      description\r
+        "In case the device is capable of MIMO, this field shall contain a 'true'.";\r
+    }\r
+    leaf number-of-mimo-channels-max {\r
+      type int8;\r
+      units "channels";\r
+      default "1";\r
+      config false;\r
+      description\r
+        "Maximum number (n) of spatial multiplexing streams that can be conveyed by an n x n MIMO configuration.";\r
+    }\r
+    leaf alic-is-avail {\r
+      type boolean;\r
+      default "false";\r
+      config false;\r
+      description\r
+        "In case the device is capable of Adjacent Link Interference Cancelation (canceling of interference cause by transmitters located at the same site), this field shall contain a 'true'.";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  grouping co-channel-profile-configuration {\r
+    leaf profile-name {\r
+      type string;\r
+      default "Name of profile not yet defined.";\r
+      description\r
+        "Identifier of the profile. Could be a name, could be a number. Free text field to be filled by the operator.";\r
+    }\r
+    leaf kind-of-co-channel-group {\r
+      type kind-of-co-channel-group-type;\r
+      default "KIND_OF_CO_CHANNEL_GROUP_TYPE_NOT_YET_DEFINED";\r
+      description\r
+        "Type of group (XPIC, MIMO, ALIC) of air interfaces with the same transmit and receive frequency.";\r
+    }\r
+    leaf-list logical-termination-point-list {\r
+      type leafref {\r
+        path "/core-model:control-construct/core-model:logical-termination-point/core-model:uuid";\r
+        require-instance false;\r
+      }\r
+      description\r
+        "List of AirInterfaces, which are part of the co-channel group. Referenced LTP must associate a LayerProtocol class with layerProtocolName attribute having LAYER_PROTOCOL_NAME_TYPE_AIR_LAYER as value.";\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  /****************************************\r
+   * typedef statements\r
+   **************************************/ \r
+\r
+  typedef kind-of-co-channel-group-type {\r
+    type identityref {\r
+      base KIND_OF_CO_CHANNEL_GROUP_TYPE;\r
+    }\r
+    description\r
+      "none";\r
+  }\r
+\r
+  /*********************************************\r
+   * grouping statements for complex data types\r
+   *******************************************/ \r
+\r
+  identity KIND_OF_CO_CHANNEL_GROUP_TYPE {\r
+    description\r
+      "none";\r
+  }\r
+\r
+  identity KIND_OF_CO_CHANNEL_GROUP_TYPE_XPIC {\r
+    base KIND_OF_CO_CHANNEL_GROUP_TYPE;\r
+    description\r
+      "Cross Polarization Interference Cancellation";\r
+  }\r
+\r
+  identity KIND_OF_CO_CHANNEL_GROUP_TYPE_MIMO {\r
+    base KIND_OF_CO_CHANNEL_GROUP_TYPE;\r
+    description\r
+      "Multiple Input Multiple Output";\r
+  }\r
+\r
+  identity KIND_OF_CO_CHANNEL_GROUP_TYPE_ALIC {\r
+    base KIND_OF_CO_CHANNEL_GROUP_TYPE;\r
+    description\r
+      "Adjacent Link Interference Cancellation";\r
+  }\r
+\r
+  identity KIND_OF_CO_CHANNEL_GROUP_TYPE_NOT_YET_DEFINED {\r
+    base KIND_OF_CO_CHANNEL_GROUP_TYPE;\r
+    description\r
+      "none";\r
+  }\r
+}\r