aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/northbound/ranSlice/model/src/main/yang/ran-slice-api@2020-08-06.yang
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/northbound/ranSlice/model/src/main/yang/ran-slice-api@2020-08-06.yang')
-rw-r--r--sdnr/northbound/ranSlice/model/src/main/yang/ran-slice-api@2020-08-06.yang466
1 files changed, 466 insertions, 0 deletions
diff --git a/sdnr/northbound/ranSlice/model/src/main/yang/ran-slice-api@2020-08-06.yang b/sdnr/northbound/ranSlice/model/src/main/yang/ran-slice-api@2020-08-06.yang
new file mode 100644
index 000000000..3253a015c
--- /dev/null
+++ b/sdnr/northbound/ranSlice/model/src/main/yang/ran-slice-api@2020-08-06.yang
@@ -0,0 +1,466 @@
+/*
+ * Yang model for the RANSLice Northbound API's
+ *
+ */
+module ran-slice-api {
+ yang-version 1.1;
+ namespace "org:onap:ccsdk";
+ prefix rs;
+
+ organization
+ "Open Network Automation Platform - ONAP
+ <https://www.onap.org>";
+ contact
+ "Editors:
+ Sandeep Shah
+ <mailto:sandeep.shah@ibm.com>
+
+ Swaminathan Seetharaman
+ <mailto:swaminathan.seetharaman@wipro.com>";
+ description
+ "This module defines the services and request/response requirements for
+ RAN Slice Management.
+ This YANG model is used solely for POC's in the ONAP and O-RAN communities
+
+ 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-08-06 {
+ description
+ "RANSlice API YANG Model";
+ reference
+ "https://wiki.onap.org/display/DW/E2E+Network+Slicing+Use+Case+in+R7+Guilin";
+ }
+
+ /**********************************************************************************
+ * Data type definitions
+ *
+ * The following data type definitions are used to define common data structures,
+ * define constraints, or to impart special meanings to data objects related to the
+ * SDN-R controller functions.
+ **********************************************************************************/
+
+ typedef ZULU {
+ type string {
+ length "16..28";
+ pattern '[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}T[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}.[0-9]{1,6}Z';
+ }
+ description
+ "Define a common definition of a time stamp (expressed as a formatted
+ string) as follows yyyy-MM-ddTHH:mm:ss.SSSSSSSSZ";
+ }
+
+ typedef payload {
+ type string;
+ description
+ "The payload can be any valid JSON string value. Json escape characters
+ need to be added when required to include an inner json within the
+ payload to make it a valid json string value";
+ }
+
+ typedef action {
+ type enumeration {
+ enum allocate {
+ description
+ "TODO";
+ }
+ enum modify {
+ description
+ "TODO";
+ }
+ enum modify-allocate {
+ description
+ "TODO";
+ }
+ enum modify-deallocate {
+ description
+ "TODO";
+ }
+ enum deallocate {
+ description
+ "TODO";
+ }
+ enum activate {
+ description
+ "TODO";
+ }
+ enum deactivate {
+ description
+ "TODO";
+ }
+ enum reconfigure {
+ description
+ "TODO";
+ }
+ }
+ description
+ "The action to be taken by SDN-R for invoked RPC.";
+ }
+
+ typedef ranSlice-action-status {
+ type enumeration {
+ enum IN_PROGRESS {
+ description
+ "TODO";
+ }
+ enum SUCCESSFUL {
+ description
+ "TODO";
+ }
+ enum FAILED {
+ description
+ "TODO";
+ }
+ enum NOT_FOUND {
+ description
+ "TODO";
+ }
+ enum ABORTED {
+ description
+ "TODO";
+ }
+ enum MULTIPLE_REQUESTS_FOUND {
+ description
+ "TODO";
+ }
+ }
+ description
+ "The status of the requested RANSlice action";
+ }
+
+ /**********************************************************************************
+ * All requests will include this standard header
+ *
+ * The standard request header is used to define a correlation identification for
+ * the request that is returned on all responses. This correlation identifier
+ * (called the service-request-id) is meaningful to the caller and is included on
+ * all responses from the services.
+ **********************************************************************************/
+
+ /**********************************************************************************
+ * All responses will include this standard header
+ *
+ * The standard response header includes the time of completion as well as a
+ * success|failure indication
+ **********************************************************************************/
+
+ grouping common-header {
+ description
+ "A common header for all SDN-R requests";
+ container common-header {
+ description
+ "A common header for all SDN-R requests";
+ leaf timestamp {
+ type ZULU;
+ mandatory true;
+ description
+ "timestamp is in ISO 8601 timestamp format ZULU offset";
+ }
+ leaf api-ver {
+ type string;
+ mandatory true;
+ description
+ "api-ver is the API version identifier. A given release of APPC
+ should support all previous versions of APPC API (correlate with
+ general requirements)";
+ }
+ leaf originator-id {
+ type string;
+ mandatory true;
+ description
+ "originator-id an identifier of the calling system which can be
+ used addressing purposes, i.e. returning asynchronous response
+ to the proper destination over DMaaP (especially in case of multiple
+ consumers of SDN-R APIs)";
+ }
+ leaf request-id {
+ type string;
+ mandatory true;
+ description
+ "UUID for the request ID. An OSS/BSS identifier for the request
+ that caused the current action. Multiple API calls may be made
+ with the same request-id The request-id shall be recorded throughout
+ the operations on a single request";
+ }
+ leaf sub-request-id {
+ type string;
+ description
+ "Uniquely identifies a specific RANSlice action. It is persistent over
+ the life-cycle of a single request";
+ }
+
+ /**********************************************************************************
+ * Flags are generic flags that apply to any and all commands, all are optional
+ * force = TRUE/FALSE - Execute command even if target is in unstable (i.e. locked, transiting, etc)
+ * state. Specific behaviour of forced commands varies, but implies cancellation
+ * of previous command and an override by the new command. The FALSE value is
+ * used by default.
+ * ttl = <0....N> - The timeout value for command execution, expressed in seconds
+ * mode = EXCLUSIVE/NORMAL - defines execution mode as follows:
+ * - EXCLUSIVE ? on encountering an exclusive command, the SDN-R will:
+ * * Cease accepting additional command requests
+ * * Complete execution of outstanding commands
+ * * Execute the exclusive command to completion
+ * * Optionally report the result of the command
+ * * Optionally resume command acceptance and processing
+ * - NORMAL - Obverse of EXCLUSIVE, the default one.
+ **********************************************************************************/
+ container flags {
+ description
+ "Flags are generic flags that apply to any and all commands, all are optional";
+ leaf mode {
+ type enumeration {
+ enum EXCLUSIVE {
+ description
+ "TODO";
+ }
+ enum NORMAL {
+ description
+ "TODO";
+ }
+ }
+ description
+ "EXCLUSIVE (accept no queued requests on this VNF while processing)
+ or NORMAL (queue other requests until complete)";
+ }
+ leaf force {
+ type enumeration {
+ enum TRUE {
+ description
+ "TODO";
+ }
+ enum FALSE {
+ description
+ "TODO";
+ }
+ }
+ description
+ "TRUE/FALSE - Execute action even if target is in unstable (i.e.
+ locked, transiting, etc.) state";
+ }
+ leaf ttl {
+ type uint16;
+ description
+ "<0....N> - The timeout value (expressed in seconds) for action
+ execution, between action being received by APPC and action initiation";
+ }
+ }
+ }
+ }
+
+ grouping status {
+ description
+ "The specific response codes are to be aligned with SDC reference doc
+ (main table removed to avoid duplication and digression from main table).
+ See SDC and ECOMP Distribution Consumer Interface Agreement";
+ container status {
+ description
+ "The specific response codes are to be aligned with SDC reference doc
+ (main table removed to avoid duplication and digression from main table).
+ See SDC and ECOMP Distribution Consumer Interface Agreement";
+ leaf code {
+ type uint16;
+ mandatory true;
+ description
+ "Response code";
+ }
+ leaf message {
+ type string;
+ mandatory true;
+ description
+ "Response message";
+ }
+ }
+ }
+
+ grouping abstract-rpc-input {
+ uses common-header;
+ leaf action {
+ type action;
+ mandatory true;
+ description
+ "TODO";
+ }
+ leaf payload {
+ type payload;
+ description
+ "TODO";
+ }
+ description
+ "An abstract rpc output defintion.";
+ }
+ grouping abstract-rpc-input-payload-required {
+ uses common-header;
+ leaf action {
+ type action;
+ mandatory true;
+ description
+ "TODO";
+ }
+ leaf payload {
+ type payload;
+ mandatory true;
+ description
+ "TODO";
+ }
+ description
+ "An abstract rpc output defintion.";
+ }
+ grouping abstract-rpc-output {
+ uses common-header;
+ uses status;
+ description
+ "An abstract rpc output defintion.";
+ }
+ /**********************************************************************************
+ * Define the configureNearRTRIC service
+ **********************************************************************************/
+ rpc configureNearRTRIC {
+ description
+ "An operation to configure Near-Time RIC in the preparation phase";
+ input {
+ uses abstract-rpc-input;
+ }
+ output {
+ uses abstract-rpc-output;
+ }
+ }
+
+ /**********************************************************************************
+ * Define the instantiateRANSlice service
+ **********************************************************************************/
+ rpc instantiateRANSlice {
+ description
+ "An operation to instantiate RAN slice. Includes both allocation and configuration of RAN slice resources";
+ input {
+ uses abstract-rpc-input;
+ }
+ output {
+ uses abstract-rpc-output;
+ }
+ }
+
+ /**********************************************************************************
+ * Define the configureRANSliceInstance service
+ **********************************************************************************/
+ rpc configureRANSliceInstance {
+ description
+ "An operation to configure RAN slice NSSI in CU and DU";
+ input {
+ uses abstract-rpc-input;
+ }
+ output {
+ uses abstract-rpc-output;
+ }
+ }
+
+ /**********************************************************************************
+ * Define the configureCU service
+ **********************************************************************************/
+ rpc configureCU {
+ description
+ "An operation to configure CU in the preparation phase";
+ input {
+ uses abstract-rpc-input;
+ }
+ output {
+ uses abstract-rpc-output;
+ }
+ }
+
+ /**********************************************************************************
+ * Define the configureDU service
+ **********************************************************************************/
+ rpc configureDU {
+ description
+ "An operation to configure DU in the preparation phase";
+ input {
+ uses abstract-rpc-input;
+ }
+ output {
+ uses abstract-rpc-output;
+ }
+ }
+
+ /**********************************************************************************
+ * Define the activateRANSliceInstance service ... needed to enable traffic flow
+ **********************************************************************************/
+ rpc activateRANSliceInstance {
+ description
+ "An operation to reallocate RAN Slice resources";
+ input {
+ uses abstract-rpc-input;
+ }
+ output {
+ uses abstract-rpc-output;
+ }
+ }
+
+ /**********************************************************************************
+ * Define the deactivateRANSliceInstance service ... needed to disable traffic flow
+ **********************************************************************************/
+ rpc deactivateRANSliceInstance {
+ description
+ "An operation to reallocate RAN Slice resources";
+ input {
+ uses abstract-rpc-input;
+ }
+ output {
+ uses abstract-rpc-output;
+ }
+ }
+
+ /**********************************************************************************
+ * Define the terminateRANSliceInstance service
+ **********************************************************************************/
+ rpc terminateRANSliceInstance {
+ description
+ "An operation to terminate RAN slide instance";
+ input {
+ uses abstract-rpc-input;
+ }
+ output {
+ uses abstract-rpc-output;
+ }
+ }
+
+
+ /**********************************************************************************
+ * Define the determineRANSliceResources service
+ **********************************************************************************/
+ rpc determineRANSliceResources {
+ description
+ "An operation to determine RAN slice resources";
+ input {
+ uses abstract-rpc-input;
+ }
+ output {
+ uses abstract-rpc-output;
+ }
+ }
+
+ /**********************************************************************************
+ * Define the configNotification service
+ **********************************************************************************/
+ rpc configNotification {
+ description
+ "CM Notify event triggered by DMAAP VES message";
+ input {
+ uses abstract-rpc-input;
+ }
+ output {
+ uses abstract-rpc-output;
+ }
+ }
+}