aboutsummaryrefslogtreecommitdiffstats
path: root/appc-oam/appc-oam-model/src/main/yang/appc-oam.yang
blob: d84d8ce79a3e6ba1bc47987610e587b0f9acbf2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
/*-
 * ============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:openecomp: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;
            }

        }
    }

    grouping status {
        description "The specific response codes are to be aligned with ASDC reference
                doc (main table removed to avoid duplication and digression from
                main table). See ASDC and ECOMP Distribution Consumer Interface
                Agreement";
        container status {
            description "The specific response codes are to be aligned with ASDC reference
                        doc (main table removed to avoid duplication and digression from
                        main table). See ASDC and ECOMP Distribution Consumer Interface
                        Agreement";
            leaf code {
                description "Response code";
                type uint16;
                mandatory true;
            }
            leaf message {
                description "Response message";
                type string;
                mandatory true;
            }
        }
    }

    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 stop {
        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. ";
        input {
           uses common-header;
        }
        output {
            uses common-header;
            uses status;
        }
    }
}