Initial commit for ServiceHandler
[transportpce.git] / ordmodels / src / main / yang / service_path_v1.5 / transportpce-service-path.yang
1 module transportpce-servicepath {
2   namespace "http://org/transportpce/B-C-interface";
3   prefix transportpce-servicepath;
4
5   import ietf-yang-types {
6     prefix yang;
7   }
8   import transportpce-routing-constraints {
9     prefix transportpce-routing-constraints;
10   }
11   import org-openroadm-common-types {
12     prefix org-openroadm-common-types;
13   }
14   import org-openroadm-resource-types {
15     prefix org-openroadm-resource-types;
16   }
17   import org-openroadm-common-service-types {
18     prefix org-openroadm-common-service-types;
19   }
20   import transportpce-common-service-path-types {
21     prefix transportpce-common-service-path-types;
22   }
23   import transportpce-pathDescription {
24       prefix transportpce-pathDescription;
25   }
26   import org-openroadm-topology {
27     prefix org-openroadm-topology;
28   }
29
30   organization
31     "transportPCE";
32   contact
33     "transportPCE committers - ODL";
34   description
35     "YANG definitions of B and C interfaces (transportPCE).
36      Copyright © 2017 Orange, Inc. and others.  All rights reserved.
37      @authors: Xavier  POUGNARD ( xavier.pougnard AT orange DOT com )
38                Olivier RENAIS   ( oliver.renais   AT orange DOT com )";
39
40
41   revision 2017-04-26 {
42     description
43       "Version 1.5";
44   }
45
46   rpc path-computation-request {
47     input {
48       leaf service-name {
49         type string;
50         description
51           "Identifier for the service to be created in
52            the ROADM network, e.g., CLFI, CLCI, etc. This is reported against the service, but may not get reflected in the service in the network.";
53         mandatory true;
54       }
55       leaf resource-reserve {
56           type boolean;
57           description
58               "indicates if resources (from local PCE topology) must be reserved until further notice (cancel-resource-reserve or topology update)";
59           mandatory true;
60       }
61       uses transportpce-common-service-path-types:service-handler-header;
62       container service-a-end {
63         uses transportpce-common-service-path-types:service-endpoint-sp;
64       }
65       container service-z-end {
66         uses transportpce-common-service-path-types:service-endpoint-sp;
67       }
68       uses transportpce-routing-constraints:routing-constraints-sp;
69     }
70     output {
71       uses org-openroadm-common-service-types:configuration-response-common;
72       uses transportpce-common-service-path-types:response-parameters-sp;
73     }
74   }
75
76   rpc cancel-resource-reserve {
77       input {
78       leaf service-name {
79         type string;
80         mandatory true;
81       }
82       uses transportpce-common-service-path-types:service-handler-header;
83       }
84       output {
85       uses org-openroadm-common-service-types:configuration-response-common;
86       }
87   }
88
89
90
91   rpc service-implementation-request {
92       input {
93         leaf service-name {
94         type string;
95         description
96           "Identifier for the service to be created in
97            the ROADM network, e.g., CLFI, CLCI, etc. This is reported against the service, but may not get reflected in the service in the network.";
98         mandatory true;
99       }
100       uses transportpce-common-service-path-types:service-handler-header;
101       container service-a-end {
102         uses transportpce-common-service-path-types:service-endpoint-sp;
103       }
104       container service-z-end {
105         uses transportpce-common-service-path-types:service-endpoint-sp;
106       }
107       container path-description {
108           uses transportpce-pathDescription:path-description;
109       }
110       }
111       output {
112         uses org-openroadm-common-service-types:configuration-response-common;
113       }
114   }
115
116   rpc service-delete {
117       input {
118         leaf service-name {
119         type string;
120         description
121           "Identifier for the service to be created in
122            the ROADM network, e.g., CLFI, CLCI, etc. This is reported against the service, but may not get reflected in the service in the network.";
123         mandatory true;
124       }
125       uses transportpce-common-service-path-types:service-handler-header;
126       }
127       output {
128         uses org-openroadm-common-service-types:configuration-response-common;
129       }
130   }
131
132   container service-path-list {
133     description
134       "List of service paths. Can only be created, deleted, modified, etc. using special RPCs.";
135     list service-paths {
136       key "service-path-name";
137       uses transportpce-common-service-path-types:service-path;
138     }
139   }
140 notification service-path-rpc-result {
141     description
142       "This Notification indicates result of  service RPC";
143     leaf notification-type {
144       type transportpce-common-service-path-types:service-path-notification-types;
145     }
146     container path-description {
147           uses transportpce-pathDescription:path-description;
148     }
149     uses transportpce-common-service-path-types:rpc-response-status-ex;
150     uses org-openroadm-common-service-types:service-notification-result;
151   }
152 notification service-rpc-result-sp {
153     description
154       "This Notification indicates result of  service RPC and provides the topology";
155     leaf notification-type {
156       type transportpce-common-service-path-types:service-path-notification-types;
157     }
158     container path-topology {
159           uses org-openroadm-topology:topology;
160     }
161     uses transportpce-common-service-path-types:rpc-response-status-ex;
162     uses org-openroadm-common-service-types:service-notification-result;
163   }
164
165
166
167 }