| /*- |
| * ============LICENSE_START======================================================= |
| * ONAP : APPC |
| * ================================================================================ |
| * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. |
| * ================================================================================ |
| * Copyright (C) 2017 Amdocs |
| * ============================================================================= |
| * 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. |
| * |
| * ECOMP is a trademark and service mark of AT&T Intellectual Property. |
| * ============LICENSE_END========================================================= |
| */ |
| |
| /* |
| * Yang model for the OAM component of Application Controller (APP-C) component of ONAP |
| * |
| * This model is used to define the data and services of the OAM component of APP-C. |
| * |
| * The services exposed by this component are: |
| * |
| * get-metrics: |
| * Used to retrieve current metric data from APP-C. |
| * |
| */ |
| |
| module appc-oam { |
| |
| yang-version 1; |
| namespace "org:onap:appc:oam"; |
| prefix appc-oam; |
| organization "Copyright 2017 AT&T Intellectual Property."; |
| |
| description |
| "Defines the services and request/response requirements for the |
| APP-C OAM component."; |
| |
| /* |
| * Note, the revision changes the package name of the generated java code. Do not |
| * change the revision unless you also update all references to the bindings. |
| */ |
| revision "2017-03-03" { |
| description |
| "APP-C OAM interface version 1.5.00"; |
| } |
| |
| grouping common-header { |
| description "A common header for all APP-C requests"; |
| container common-header { |
| description "A common header for all APP-C requests"; |
| |
| leaf originator-id { |
| 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 UEB (especially in case of multiple |
| consumers of APP-C APIs)"; |
| type string; |
| mandatory true; |
| } |
| |
| leaf request-id { |
| 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"; |
| type string; |
| mandatory true; |
| } |
| |
| container flags { |
| leaf request-timeout { |
| description "The allowed time in seconds to perform the request. If the request cannot |
| be completed in this amount of time, the request is aborted with OAM state set |
| to Error. If set to zero, no timeout exists and the request will be handled |
| continue until operation completes or fails. If omitted, the default value of |
| 20 is used."; |
| type uint16; |
| mandatory false; |
| } |
| } |
| } |
| } |
| |
| 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 { |
| description "Response code"; |
| type uint16; |
| mandatory true; |
| } |
| leaf message { |
| description "Response message"; |
| type string; |
| mandatory true; |
| } |
| } |
| } |
| |
| typedef appc-state { |
| type enumeration { |
| enum "Error"; |
| enum "Unknown"; |
| enum "Not_Instantiated"; // Equivalent to Bundle's UNINSTALL |
| enum "Instantiated"; // Equivalent to Bundle's INSTALL |
| enum "Starting"; |
| enum "Started"; |
| enum "EnteringMaintenanceMode"; |
| enum "MaintenanceMode"; |
| enum "Stopping"; |
| enum "Stopped"; |
| enum "Restarting"; |
| } |
| description "Refers to the various states an APP-C instance can be in"; |
| } |
| |
| rpc get-metrics { |
| description "An operation to get list of registered Metrics in APP-C"; |
| output { |
| list metrics { |
| key kpi-name; |
| description "KPI metrics definition"; |
| leaf kpi-name { |
| description "metrics name"; |
| type string; |
| mandatory true; |
| } |
| leaf last-reset-time { |
| description "Last reset time"; |
| type string; |
| mandatory true; |
| } |
| list kpi-values { |
| key name; |
| description "KPI properties in form of key value pairs"; |
| leaf name { |
| description "KPI property name"; |
| type string; |
| } |
| leaf value { |
| description "KPI property value"; |
| type string; |
| } |
| } |
| } |
| } |
| } |
| |
| rpc maintenance-mode { |
| description "An operation that disables appc-provider-lcm so that it no longer accepts LCM request. This |
| operation has no impact on queued and currently executing LCM request. A notification will be |
| sent out indicating the APP-C is idle once all LCM request have completed execution."; |
| input { |
| uses common-header; |
| } |
| output { |
| uses common-header; |
| uses status; |
| } |
| } |
| |
| rpc start { |
| description "An operation that enables appc-provider-lcm so that it can begin to accepts LCM request. This |
| includes starting any appc bundles which are stopped."; |
| input { |
| uses common-header; |
| } |
| output { |
| uses common-header; |
| uses status; |
| } |
| } |
| |
| rpc get-appc-state { |
| description "Returns the current state of the running APPC LCM instance"; |
| output { |
| leaf state { |
| type appc-state; |
| } |
| } |
| } |
| |
| rpc stop { |
| description "Force stops the APPC bundles that accept LCM requests"; |
| // Note: OAM feature bundles and it's dependencies (Appc-common and LifeCycle Manager) would continue to run |
| input { |
| uses common-header; |
| } |
| output { |
| uses common-header; |
| uses status; |
| } |
| } |
| |
| rpc restart { |
| description "An operation that restarts APPC by invoking the stop rpc followed by the start rpc."; |
| input { |
| uses common-header; |
| } |
| output { |
| uses common-header; |
| uses status; |
| } |
| } |
| } |