1cd80c98b18d6928be39c019ad88896a46e7487e
[appc.git] / appc-inbound / appc-design-services / model / src / main / yang / appc-design-services.yang
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP : APPC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Copyright (C) 2017 Amdocs
8  * =============================================================================
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  * 
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  * 
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  * 
21  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22  * ============LICENSE_END=========================================================
23  */
24
25 /*
26  * Yang model for the Application Controller (APP-C) component of ECOMP
27  *
28  *
29  *The main purpose of this model to provide an interface bewteen APPC Runtime and APPC design time environment
30  * to communicate.
31  * 
32  *
33  *
34  *  
35 */
36
37 module design-services {
38
39     yang-version 1;
40     namespace "org:openecomp:appc";
41     prefix design-services;
42     organization "AT&T.  Copyright (C) 2015. All rights reserved.";
43
44     description
45       "Defines the services and request/response requirements for the APP-C Design and RunTime.";
46
47     /*
48      * Note, the revision changes the package name of the generated java code.  Do not
49      * change the revision unless you also update all references to the bindings.
50      */
51     revision "2017-06-27" {
52       description
53         "APP-C Design interface version 1.1.0";
54     }
55    
56     grouping design-request {
57         container design-request {
58             leaf request-id {
59                 type string;
60                 description "The request ID ";
61                 mandatory true;
62             }
63             leaf action {
64                 type string;
65                 description "The Action Name";
66                 mandatory true;
67             }
68             leaf payload {
69                 type string;
70                 description "The Payload";
71             }
72             leaf data-type {
73                 description "Data type for validation";
74                 type string;
75                 
76             }
77         }
78     }
79     
80  
81  grouping data {        
82         description "The Generic Data response which includes data from run Time for Design time environment";
83         container data {
84                 description "The Data from run Time for Design time environment";
85                 leaf block {
86                 description "Response message";
87                 type string;
88             }
89                 leaf requestId {
90                 description "Response message reqesut ID";
91                 type string;
92                 mandatory true;
93             }
94         }
95         
96     }
97     grouping status {
98         description "The specific response codes are to be aligned with APPC/ECOMP messaging Systems";
99         container status {
100             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";
101             leaf code {
102                 description "Response code";
103                 type string;
104                 mandatory true;
105             }
106             leaf message {
107                 description "Response message";
108                 type string;
109             }
110         }
111   }
112
113     rpc dbservice {
114         description "Runs a given task if it exists.";
115         input {
116                 uses design-request;
117         }
118         output {
119                 uses data ;
120             uses status;
121         }
122     }
123     rpc validator {
124         description "Runs a given task if it exists.";
125         
126         input {
127                 uses design-request;
128         }
129         output {
130             uses status;
131         }
132     }
133     rpc xinterfaceservice {
134         description "Runs a given task if it exists.";
135         input {
136                 uses design-request;
137         }
138         output {
139                 uses data ;
140             uses status;
141         
142         }
143     }   
144 }