remove tpce service-path 1.5 models
[transportpce.git] / api / src / main / yang / service_path / transportpce-common-service-path-types@2017-10-16.yang
1 module transportpce-common-service-path-types {
2   namespace "http://org/transportpce/B-C-interface/service/types";
3   prefix transportpce-common-service-path-types;
4
5   import ietf-yang-types {
6     prefix yang;
7   }
8   import ietf-inet-types {
9     prefix inet;
10   }
11   import transportpce-routing-constraints {
12     prefix transportpce-routing-constraints;
13     revision-date 2017-10-17;
14   }
15   import transportpce-pathDescription {
16     prefix transportpce-pathDescription;
17     revision-date 2017-10-17;
18   }
19   import org-openroadm-common-types {
20     prefix org-openroadm-common-types;
21   }
22   import org-openroadm-resource-types {
23     prefix org-openroadm-resource-types;
24   }
25   import org-openroadm-common-service-types {
26     prefix org-openroadm-common-service-types;
27   }
28
29   organization
30     "transportPCE";
31   contact
32     "transportPCE committers - ODL";
33   description
34     "YANG definitions of B & C interfaces (transportPCE). Adapted from service definition (openroadm)
35      Copyright ©  2017 Orange, Inc. and others.  All rights reserved.
36
37      openroadm copyright:
38       Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
39       AT&T Intellectual Property.  All other rights reserved.
40
41       Redistribution and use in source and binary forms, with or without modification,
42       are permitted provided that the following conditions are met:
43
44       * Redistributions of source code must retain the above copyright notice, this
45         list of conditions and the following disclaimer.
46       * Redistributions in binary form must reproduce the above copyright notice,
47         this list of conditions and the following disclaimer in the documentation and/or
48         other materials provided with the distribution.
49       * Neither the Members of the Open ROADM MSA Agreement nor the names of its
50         contributors may be used to endorse or promote products derived from this software
51         without specific prior written permission.
52
53       THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
54       AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
55       WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
56       IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
57       INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
58       NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
59       OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
60       WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
61       ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
62       POSSIBILITY OF SUCH DAMAGE";
63
64
65   revision 2017-04-26 {
66       description
67         "Version 1.5";
68   }
69
70   revision 2017-10-16 {
71     description
72       "Version 1.6";
73   }
74
75   typedef service-path-notification-types {
76     type enumeration {
77       enum "path-computation-request" {
78         value 1;
79       }
80       enum "cancel-resource-reserve" {
81         value 2;
82       }
83       enum "service-implementation-request" {
84         value 3;
85       }
86       enum "service-delete" {
87         value 4;
88       }
89     }
90   }
91
92   typedef rpc-status-ex {
93     description
94       "extended status of RPC ";
95     type enumeration {
96       enum "Successful" {
97         value 1;
98       }
99       enum "Failed" {
100         value 2;
101       }
102       enum "Pending" {
103         value 3;
104       }
105     }
106   }
107
108   grouping rpc-response-status-ex {
109     leaf status {
110       type rpc-status-ex;
111       mandatory true;
112       description
113         "Successful, Failed or Pending";
114
115         }
116
117     leaf status-message {
118         type string;
119         description
120           "Gives a more detailed reason for failure";
121         }
122
123    }
124
125   grouping response-parameters-sp {
126     container response-parameters {
127       uses transportpce-routing-constraints:routing-constraints-sp;
128       container path-description {
129            uses transportpce-pathDescription:path-description;
130       }
131     }
132   }
133
134   grouping service-endpoint-sp {
135     leaf service-format {
136       type org-openroadm-common-service-types:service-format;
137       mandatory true;
138       description
139         "Format of the requested service: Ethernet, OTU, etc.";
140     }
141     leaf service-rate {
142       when "../service-format!='OMS'"{
143         description "service rate not applicable when service
144         format is roadmline";
145       }
146       type uint32;
147       mandatory true;
148       description
149         "Rate of the requested service in GBps";
150     }
151     leaf clli {
152       type string;
153       mandatory true;
154       description
155         "CLLI";
156     }
157     leaf node-id {
158          type string;
159     }
160     container tx-direction {
161       uses org-openroadm-common-service-types:service-port;
162  //     uses service-lgx;
163  //     uses service-tail;
164     }
165     container rx-direction {
166       uses org-openroadm-common-service-types:service-port;
167  //     uses service-lgx;
168  //     uses service-tail;
169     }
170   }
171
172     grouping service-handler-header {
173     container service-handler-header {
174       leaf request-id {
175         type string;
176         mandatory true;
177       }
178     }
179   }
180
181   grouping service-path {
182     leaf service-path-name {
183       type string;
184       description
185         "Identifier for the service-path to be calculated by
186          the PCE";
187       mandatory true;
188     }
189     uses service-handler-header;
190
191     container service-a-end {
192       uses service-endpoint-sp;
193     }
194     container service-z-end {
195       uses service-endpoint-sp;
196     }
197     uses transportpce-routing-constraints:routing-constraints-sp;
198
199     leaf latency {
200       type uint32;
201       description
202         "Latency on service";
203     }
204     leaf-list fiber-span-srlgs {
205       type string;
206       description
207         "Shared risk link group identifiers";
208     }
209     list equipment-srgs {
210       key "srg-number";
211       uses org-openroadm-resource-types:srg-number;
212     }
213     leaf-list supporting-service-name {
214       description
215         "The service name that this runs over top. If connection-type is service, then this is the related
216          connection-type = infrastructure service, for example.";
217       type string;
218     }
219     container path-description {
220       uses transportpce-pathDescription:path-description;
221     }
222   }
223
224 }