911bd488ea933f7871eea6dbcb39b720bec98d1f
[sdnc/northbound.git] / optical-service / model / src / main / yang / optical-service.yang
1 module opticalservice {
2
3     yang-version "1";
4
5     namespace "org:onap:sdnc:northbound:optical-service";
6
7     prefix opticalser;
8
9     organization "Fujitsu";
10
11     contact
12         "Mehreen Kaleem <mehreen.kaleem@us.fujitsu.com>,Franklin Dsilva
13         <franklin.dsilva@us.fujitsu.com>";
14
15     description
16         "Defines API interface for optical service create and service
17         delete";
18
19     revision "2019-12-06" {
20         description
21                 "Initial draft";
22     }
23
24     grouping optical-service-create-request {
25
26         uses request-source-g;
27
28         leaf global-customer-id {
29             type string;
30         }
31
32         leaf service-type {
33             type string;
34         }
35
36         leaf service-id {
37             type string;
38         }
39
40         leaf notification-url {
41             type string;
42         }
43
44         container payload {
45
46             leaf domain-type {
47                 type string;
48             }
49
50             leaf service-name {
51                 type string;
52             }
53
54             leaf service-rate {
55                 type string;
56             }
57             leaf service-protocol {
58                 type string;
59             }
60
61             leaf coding-func {
62                 type string;
63             }
64
65             container service-a-end {
66                 uses service-end-g;
67             }
68
69             container service-z-end {
70                 uses service-end-g;
71             }
72
73             leaf service-layer {
74                 type string;
75             }
76         }
77     }
78
79     grouping service-end-g {
80
81         leaf port-id {
82             type string;
83         }
84
85         leaf port-name {
86             type string;
87         }
88     }
89
90     grouping request-source-g {
91
92         leaf request-id {
93             type string;
94         }
95
96         leaf source {
97             type string;
98         }
99     }
100
101     grouping optical-service-response {
102
103         leaf response-code {
104             type string;
105         }
106
107         leaf response-message {
108             type string;
109         }
110
111         leaf ack-final-indicator {
112             type string;
113         }
114
115     }
116
117     grouping optical-service-delete-request {
118         
119         uses request-source-g;
120
121         container payload {
122
123             leaf service-name {
124                 type string;
125             }
126         }
127     }
128
129     rpc optical-service-create {
130
131         input {
132             uses optical-service-create-request;
133         }
134
135         output {
136             uses optical-service-response;
137         }
138     }
139
140     rpc optical-service-delete {
141
142         input {
143             uses optical-service-delete-request;
144         }
145
146         output {
147             uses optical-service-response;
148         }
149     }
150 }