Merge of new rebased code
[appc.git] / appc-oam / appc-oam-model / src / main / yang / appc-oam.yang
1 /*
2  * Yang model for the OAM component of Application Controller (APP-C) component of ONAP
3  *
4  * This model is used to define the data and services of the OAM component of APP-C.
5  *
6  * The services exposed by this component are:
7  *
8  * get-metrics:
9  *    Used to retrieve current metric data from APP-C.
10  *
11  */
12
13 module appc-oam {
14
15     yang-version 1;
16     namespace "org:openecomp:appc:oam";
17     prefix appc-oam;
18     organization "Copyright 2017 AT&T Intellectual Property.";
19
20     description
21         "Defines the services and request/response requirements for the
22         APP-C OAM component.";
23
24     /*
25      * Note, the revision changes the package name of the generated java code.  Do not
26      * change the revision unless you also update all references to the bindings.
27      */
28     revision "2017-03-03" {
29         description
30                 "APP-C OAM interface version 1.5.00";
31     }
32
33     grouping common-header {
34         description "A common header for all APP-C requests";
35         container common-header {
36             description "A common header for all APP-C requests";
37
38             leaf originator-id {
39                 description "originator-id an identifier of the calling system which can be
40                                     used addressing purposes, i.e. returning asynchronous response
41                                     to the proper destination over UEB (especially in case of multiple
42                                     consumers of APP-C APIs)";
43                 type string;
44                 mandatory true;
45             }
46
47             leaf request-id {
48                 description "UUID for the request ID. An OSS/BSS identifier for the request
49                                 that caused the current action. Multiple API calls may be made
50                                 with the same request-id The request-id shall be recorded throughout
51                                 the operations on a single request";
52                 type string;
53                 mandatory true;
54             }
55
56         }
57     }
58
59     grouping status {
60         description "The specific response codes are to be aligned with ASDC reference
61                 doc (main table removed to avoid duplication and digression from
62                 main table). See ASDC and ECOMP Distribution Consumer Interface
63                 Agreement";
64         container status {
65             description "The specific response codes are to be aligned with ASDC reference
66                         doc (main table removed to avoid duplication and digression from
67                         main table). See ASDC and ECOMP Distribution Consumer Interface
68                         Agreement";
69             leaf code {
70                 description "Response code";
71                 type uint16;
72                 mandatory true;
73             }
74             leaf message {
75                 description "Response message";
76                 type string;
77                 mandatory true;
78             }
79         }
80     }
81
82     rpc get-metrics {
83         description "An operation to get list of registered Metrics in APP-C";
84         output {
85             list metrics {
86                 key kpi-name;
87                 description "KPI metrics definition";
88                 leaf kpi-name {
89                     description "metrics name";
90                     type string;
91                     mandatory true;
92                 }
93                 leaf last-reset-time {
94                     description "Last reset time";
95                     type string;
96                     mandatory true;
97                 }
98                 list kpi-values {
99                     key name;
100                     description "KPI properties in form of key value pairs";
101                     leaf name {
102                         description "KPI property name";
103                         type string;
104                     }
105                     leaf value {
106                         description "KPI property value";
107                         type string;
108                     }
109                 }
110             }
111         }
112     }
113
114     rpc stop {
115         description "An operation that disables appc-provider-lcm so that it no longer accepts LCM request.  This
116                          operation has no impact on queued and currently executing LCM request.  A notification will be
117                          sent out indicating the APP-C  is idle once all LCM request have completed execution.  ";
118         input {
119            uses common-header;
120         }
121         output {
122             uses common-header;
123             uses status;
124         }
125     }
126
127     rpc start {
128         description "An operation that enables appc-provider-lcm so that it can begin to accepts LCM request. ";
129         input {
130            uses common-header;
131         }
132         output {
133             uses common-header;
134             uses status;
135         }
136     }
137 }