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