Update namespaces according to RFC8515
[scp/oam/modeling.git] / data-model / yang / working / o-ran-sc / template / o-ran-sc-types-v1.yang
index 5bf46d9..a26ebdd 100644 (file)
 module o-ran-sc-types-v1 {
-    yang-version 1.1;
-    namespace "urn:o-ran:sc:types:1.0";
-    prefix ot;
-
-    organization
-      "O-RAN Software Community";
-    contact
-      "www.o-ran-sc.org";
+  yang-version 1.1;
+  namespace "urn:o-ran-sc:yang:o-ran-sc-types-v1";
+  prefix ot;
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran-sc.org";
+  description
+    "This module defines common type definitions related to O-RAN.
+
+     Copyright 2021 the O-RAN Software Community.
+
+     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-03-09 {
     description
-      "This module defines common type definitions related to O-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)";
-    }
+      "The namespace was updated according to O-RAN-SC yang guidelines.
+       The namespace must end with the full module name.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-168";
+  }
+  revision 2020-02-20 {
+    description
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
 
-    // Identity
-    identity control-element-type {
-        description
-          "Base identity for the different and upcoming control-element types.";
-    }
+  // Identity
 
-    identity e-node-b {
-        base control-element-type;
-        description
-          "Indicates a control element representing an eNodeB.";
-        reference
-          "O-RAN OAM Architecture Specification";
-    }
+  identity control-element-type {
+    description
+      "Base identity for the different and upcoming control-element types.";
+  }
 
-    identity g-node-b {
-        base control-element-type;
-        description
-          "Indicates a managed element representing an gNodeB.";
-        reference
-          "O-RAN OAM Architecture Specification";
-    }
+  identity e-node-b {
+    base control-element-type;
+    description
+      "Indicates a control element representing an eNodeB.";
+    reference
+      "O-RAN OAM Architecture Specification";
+  }
 
-    identity control-function-type {
-        description
-          "Base identity for the different and upcoming control-function types.";
-    }
+  identity g-node-b {
+    base control-element-type;
+    description
+      "Indicates a managed element representing an gNodeB.";
+    reference
+      "O-RAN OAM Architecture Specification";
+  }
 
-    // administrative-state
-    identity administrative-state {
-        description
-          "The administrative state is used to show whether use of a resource
-           is allowed or prohibited.
-           The administrative state can be observed and directly controlled by
-           certain operational roles.
-           Typically, only a user in the provider context with administrative
-           privileges is allowed to write the administrative state,
-           any other users are restricted to read only.";
-        reference
-          "ftp://www.3gpp.org/tsg_ran/WG3_Iu/TSGR3_07/Docs/Pdfs/R3-99b77.PDF";
-    }
+  identity control-function-type {
+    description
+      "Base identity for the different and upcoming control-function types.";
+  }
 
-    identity administrative-state-locked {
-        base administrative-state;
-        description
-          "Users are administratively prohibited from making use of the
-           resource.";
-    }
+  // administrative-state
 
-    identity administrative-state-unlocked {
-        base administrative-state;
-        description
-          "Users are allowed to use the resource.";
-    }
+  identity administrative-state {
+    description
+      "The administrative state is used to show whether use of a resource
+       is allowed or prohibited.
+       The administrative state can be observed and directly controlled by
+       certain operational roles.
+       Typically, only a user in the provider context with administrative
+       privileges is allowed to write the administrative state,
+       any other users are restricted to read only.";
+    reference
+      "ftp://www.3gpp.org/tsg_ran/WG3_Iu/TSGR3_07/Docs/Pdfs/R3-99b77.PDF";
+  }
 
-    identity administrative-state-shutting-down {
-        base administrative-state;
-        description
-          "The entity is administratively restricted to existing instances of
-           use only. There may be specific actions to remove existing uses.
-           No new instances of use can be enabled.
-           The resource automatically transitions to “locked” when the last
-           user quits.
-           The administrative state is not visible in the client context.
-           The life cycle state “pending removal” should be used to indicate to
-           the client that the provider intends to remove the resource.";
-    }
+  identity administrative-state-locked {
+    base administrative-state;
+    description
+      "Users are administratively prohibited from making use of the
+       resource.";
+  }
 
-    // administrative-control
-    identity administrative-control {
-        description
-          "Reflects the current control action when the entity is not in the
-           desired state.";
-    }
+  identity administrative-state-unlocked {
+    base administrative-state;
+    description
+      "Users are allowed to use the resource.";
+  }
 
-    identity administrative-control-unlock {
-        base administrative-control;
-        description
-          "The intention is for the entity to become unlocked.
-           The entity may already be UNLOCKED.";
-    }
+  identity administrative-state-shutting-down {
+    base administrative-state;
+    description
+      "The entity is administratively restricted to existing instances of
+       use only. There may be specific actions to remove existing uses.
+       No new instances of use can be enabled.
+       The resource automatically transitions to “locked” when the last
+       user quits.
+       The administrative state is not visible in the client context.
+       The life cycle state “pending removal” should be used to indicate to
+       the client that the provider intends to remove the resource.";
+  }
 
-    identity administrative-control-lock-passive {
-        base administrative-control;
-        description
-          "The intention is for the entity to become locked but no effort is
-           expected to move to the Locked state (the state will be achieved once
-           all users stop using the resource).
-           The entity may be LOCKED.";
-    }
+  // administrative-control
 
-    identity administrative-control-lock-active {
-        base administrative-control;
-        description
-          "The intention is for the entity to become locked and it is expected
-           that effort will be made to move to the Locked state (users will be
-           actively removed).
-           The entity may already be LOCKED.";
-    }
+  identity administrative-control {
+    description
+      "Reflects the current control action when the entity is not in the
+       desired state.";
+  }
 
-    identity administrative-control-lock-immediate {
-        base administrative-control;
-        description
-          "The intention is for the entity to become locked and it is expected
-           to move to the Locked state immediately (users will be force removed).
-           The entity may already be LOCKED.";
-    }
+  identity administrative-control-unlock {
+    base administrative-control;
+    description
+      "The intention is for the entity to become unlocked.
+       The entity may already be UNLOCKED.";
+  }
 
-    identity administrative-control-quiescent {
-        base administrative-control;
-        description
-          "The administrative state is at a stable value (LOCKED/UNLOCKED) and
-           no action is being taken.";
-    }
+  identity administrative-control-lock-passive {
+    base administrative-control;
+    description
+      "The intention is for the entity to become locked but no effort is
+       expected to move to the Locked state (the state will be achieved once
+       all users stop using the resource).
+       The entity may be LOCKED.";
+  }
 
-    // operational-state
-    identity operational-state {
-        description
-          "The operational state base identity to be used to indicate whether
-           or not the resource is installed and working.";
-        reference
-          "https://www.3gpp.org/ftp/tsg_ran/WG3_Iu/TSGR3_06/Docs/Pdfs/r3-99994.pdf";
-    }
+  identity administrative-control-lock-active {
+    base administrative-control;
+    description
+      "The intention is for the entity to become locked and it is expected
+       that effort will be made to move to the Locked state (users will be
+       actively removed).
+       The entity may already be LOCKED.";
+  }
 
-    identity operational-state-disabled {
-        base operational-state;
-        description
-          "The resource is unable to meet the SLA of the user of the resource.
-           If no (explicit) SLA is defined the resource is disabled if it is
-           totally inoperable and unable to provide service to the user.";
-    }
+  identity administrative-control-lock-immediate {
+    base administrative-control;
+    description
+      "The intention is for the entity to become locked and it is expected
+       to move to the Locked state immediately (users will be force removed).
+       The entity may already be LOCKED.";
+  }
 
-    identity operational-state-enabled {
-        base operational-state;
-        description
-          "The resource is partially or fully operable and available for use.";
-    }
+  identity administrative-control-quiescent {
+    base administrative-control;
+    description
+      "The administrative state is at a stable value (LOCKED/UNLOCKED) and
+       no action is being taken.";
+  }
 
-    identity lifecycle-state {
-        description
-          "This state is used to track the planned deployment, allocation to
-           clients and withdrawal of resources.";
-    }
+  // operational-state
 
-    identity lifecycle-state-planned {
-        base lifecycle-state;
-        description
-          "The resource is planned but is not present in the network.
-           Should include a 'time' when the resources are expected to be
-           installed.";
-    }
+  identity operational-state {
+    description
+      "The operational state base identity to be used to indicate whether
+       or not the resource is installed and working.";
+    reference
+      "https://www.3gpp.org/ftp/tsg_ran/WG3_Iu/TSGR3_06/Docs/Pdfs/r3-99994.pdf";
+  }
 
-    identity lifecycle-state-potential-available {
-        base lifecycle-state;
-        description
-          "The supporting resources are present in the network but are shared
-           with other clients; or require further configuration before they can
-           be used; or both.
-           (1) When a potential resource is configured and allocated to a
-               client it is moved to the INSTALLED state for that client.
-           (2) If the potential resource has been consumed (e.g. allocated to
-               another client) it is moved to the POTENTIAL BUSY state for all
-               other clients.";
-    }
+  identity operational-state-disabled {
+    base operational-state;
+    description
+      "The resource is unable to meet the SLA of the user of the resource.
+       If no (explicit) SLA is defined the resource is disabled if it is
+       totally inoperable and unable to provide service to the user.";
+  }
 
-    identity lifecycle-state-potential-busy {
-        base lifecycle-state;
-        description
-          "The supporting resources are present in the network but have been
-           allocated to other clients.";
-    }
+  identity operational-state-enabled {
+    base operational-state;
+    description
+      "The resource is partially or fully operable and available for use.";
+  }
 
-    identity lifecycle-state-installed {
-        base lifecycle-state;
-        description
-          "The resource is present in the network and is capable of providing
-           the service.";
-    }
+  identity lifecycle-state {
+    description
+      "This state is used to track the planned deployment, allocation to
+       clients and withdrawal of resources.";
+  }
 
-    identity lifecycle-state-pending-removal {
-        base lifecycle-state;
-        description
-          "The resource has been marked for removal. Should include a 'time'
-           when the resources are expected to be removed.";
-    }
+  identity lifecycle-state-planned {
+    base lifecycle-state;
+    description
+      "The resource is planned but is not present in the network.
+       Should include a 'time' when the resources are expected to be
+       installed.";
+  }
+
+  identity lifecycle-state-potential-available {
+    base lifecycle-state;
+    description
+      "The supporting resources are present in the network but are shared
+       with other clients; or require further configuration before they can
+       be used; or both.
+       (1) When a potential resource is configured and allocated to a
+           client it is moved to the INSTALLED state for that client.
+       (2) If the potential resource has been consumed (e.g. allocated to
+           another client) it is moved to the POTENTIAL BUSY state for all
+           other clients.";
+  }
+
+  identity lifecycle-state-potential-busy {
+    base lifecycle-state;
+    description
+      "The supporting resources are present in the network but have been
+       allocated to other clients.";
+  }
 
-    // Type definitions
-    typedef e2ap-protocol-type {
-        // TODO switch to identity
-        type enumeration {
-            enum not-specified {
-                description
-                  "None";
-            }
-            enum x2-setup-request {
-                description
-                  "X2 setup request";
-            }
-            enum endc-x2-setup-request {
-                description
-                  "ENDC X2 setup request";
-            }
-        }
+  identity lifecycle-state-installed {
+    base lifecycle-state;
+    description
+      "The resource is present in the network and is capable of providing
+       the service.";
+  }
+
+  identity lifecycle-state-pending-removal {
+    base lifecycle-state;
+    description
+      "The resource has been marked for removal. Should include a 'time'
+       when the resources are expected to be removed.";
+  }
+
+  // Type definitions
+
+  typedef e2ap-protocol-type {
+    // TODO switch to identity
+    type enumeration {
+      enum not-specified {
+        description
+          "None";
+      }
+      enum x2-setup-request {
         description
-          "The E2AP protocol setup types";
+          "X2 setup request";
+      }
+      enum endc-x2-setup-request {
+        description
+          "ENDC X2 setup request";
+      }
     }
+    description
+      "The E2AP protocol setup types";
+  }
 
-    typedef connection-status-type {
-        // TODO swtitch to identity
-        type enumeration {
-            enum not-specified {
-                description
-                  "None";
-            }
-            enum connected {
-                description
-                  "Connected";
-            }
-            enum connecting {
-                description
-                  "Connecting";
-            }
-            enum disconnected {
-                description
-                  "Disconnected";
-            }
-            enum setup-failed {
-                description
-                  "Setup failed";
-            }
-            enum shutting-down {
-                description
-                  "Shutting down";
-            }
-            enum shutdown {
-                description
-                  "Shutdown";
-            }
-        }
+  typedef connection-status-type {
+    // TODO switch to identity
+    type enumeration {
+      enum not-specified {
+        description
+          "None";
+      }
+      enum connected {
+        description
+          "Connected";
+      }
+      enum connecting {
+        description
+          "Connecting";
+      }
+      enum disconnected {
+        description
+          "Disconnected";
+      }
+      enum setup-failed {
         description
-          "The connection status of gNB";
+          "Setup failed";
+      }
+      enum shutting-down {
+        description
+          "Shutting down";
+      }
+      enum shutdown {
+        description
+          "Shutdown";
+      }
     }
+    description
+      "The connection status of gNB";
+  }
 
-    typedef sized-printable-string {
-        type string {
-            length "1..63";
-            pattern
-              '[\\x20-\\x7E]';
-        }
-        description
-          "A string of printable ASCII characters with a size of
-           1 to 64 characters.";
+  typedef sized-printable-string {
+    type string {
+      length "1..63";
+      pattern '[\\x20-\\x7E]';
     }
+    description
+      "A string of printable ASCII characters with a size of
+       1 to 64 characters.";
+  }
 }