Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 1 | module xos-core { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 2 | namespace "urn:onlab:xtype:core"; |
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 3 | prefix xos; |
4 | yang-version 1.1; | ||||
5 | |||||
Peter K. Lee | 4d93689 | 2016-09-13 11:59:21 -0700 | [diff] [blame] | 6 | import ietf-yang-types { prefix yang; } |
7 | import ietf-inet-types { prefix inet; } | ||||
8 | import xos-types { prefix xtype; } | ||||
9 | |||||
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 10 | organization |
11 | "Open Networking Lab (XOS) / Corenova Technologies"; | ||||
12 | |||||
13 | contact | ||||
14 | "Larry Peterson <llp@onlab.us> | ||||
15 | Peter K. Lee <peter@corenova.com>"; | ||||
16 | |||||
Peter K. Lee | f4d38d3 | 2016-07-23 02:47:38 -0700 | [diff] [blame] | 17 | description |
18 | "This module contains a collection of core models for XOS. | ||||
19 | |||||
20 | Copyright (c) 2016 ON.LAB and the persons identified as authors of | ||||
21 | the code. All rights reserved. | ||||
22 | |||||
23 | Redistribution and use in source and binary forms, with or without | ||||
24 | modification, is permitted pursuant to, and subject to the license | ||||
25 | terms of the Apache License, Version 2.0 which accompanies this | ||||
26 | distribution, and is available at | ||||
27 | (http://www.apache.org/licenses/LICENSE-2.0)."; | ||||
28 | |||||
29 | revision 2016-07-14 { | ||||
30 | description "Initial revision."; | ||||
31 | } | ||||
32 | |||||
Peter K. Lee | f4d38d3 | 2016-07-23 02:47:38 -0700 | [diff] [blame] | 33 | feature synchronizer { |
34 | description | ||||
35 | "Enables configuration synchronization to the distributed store."; | ||||
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 36 | } |
37 | |||||
38 | identity kind; | ||||
Peter K. Lee | 0db45ac | 2016-09-13 00:30:37 -0700 | [diff] [blame] | 39 | identity generic { base kind; } |
40 | identity service { base kind; } | ||||
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 41 | |
Peter K. Lee | 0db45ac | 2016-09-13 00:30:37 -0700 | [diff] [blame] | 42 | grouping attribute-pair { |
Peter K. Lee | cb2eb92 | 2016-09-01 18:02:31 -0700 | [diff] [blame] | 43 | leaf name { type string { length 0..128; } } |
44 | leaf value { type string; } | ||||
45 | // don't need pointer back to service | ||||
46 | } | ||||
Peter K. Lee | 2da7863 | 2016-09-06 21:02:47 -0700 | [diff] [blame] | 47 | |
Peter K. Lee | 0db45ac | 2016-09-13 00:30:37 -0700 | [diff] [blame] | 48 | grouping sync-record { |
Peter K. Lee | 2da7863 | 2016-09-06 21:02:47 -0700 | [diff] [blame] | 49 | description "Synchronizer-specific properties for model records"; |
50 | |||||
51 | leaf created { type yang:date-and-time; } | ||||
52 | leaf updated { type yang:date-and-time; } | ||||
53 | leaf enacted { type yang:date-and-time; } | ||||
54 | leaf policed { type yang:date-and-time; } | ||||
55 | |||||
56 | leaf writable { type boolean; default true; } | ||||
57 | leaf locked { type boolean; default false; } | ||||
58 | leaf deleted { type boolean; default false; } | ||||
59 | |||||
60 | leaf dirty { | ||||
61 | config false; | ||||
62 | type boolean; | ||||
63 | default false; | ||||
64 | } | ||||
65 | |||||
66 | container sync { | ||||
67 | anydata register { | ||||
68 | description "scratchpad used by the Observer"; | ||||
69 | } | ||||
70 | leaf progress { | ||||
71 | type enumeration { | ||||
72 | enum provisioning { | ||||
73 | value 0; | ||||
74 | description "Provisioning in progress"; | ||||
75 | } | ||||
76 | } | ||||
77 | } | ||||
78 | leaf disabled { type boolean; default false; } | ||||
79 | leaf enforced { type boolean; default true; } | ||||
80 | |||||
81 | list policy { | ||||
82 | // TODO: how are policy defined/enforced? | ||||
83 | } | ||||
84 | } | ||||
85 | |||||
86 | action diff { | ||||
87 | when "../dirty == true"; | ||||
88 | description "retrieve diff of model state if dirty"; | ||||
89 | } | ||||
90 | action save { | ||||
91 | description "trigger save into data store via synchronizer"; | ||||
92 | } | ||||
93 | } | ||||
Peter K. Lee | cb2eb92 | 2016-09-01 18:02:31 -0700 | [diff] [blame] | 94 | |
Peter K. Lee | 0db45ac | 2016-09-13 00:30:37 -0700 | [diff] [blame] | 95 | grouping base-common { |
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 96 | leaf id { |
Peter K. Lee | 4d93689 | 2016-09-13 11:59:21 -0700 | [diff] [blame] | 97 | type xtype:unique-identifier; |
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 98 | mandatory true; |
99 | } | ||||
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 100 | leaf name { |
101 | type string { | ||||
102 | length 0..255; | ||||
103 | } | ||||
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 104 | } |
Peter K. Lee | 2da7863 | 2016-09-06 21:02:47 -0700 | [diff] [blame] | 105 | list attribute { |
Peter K. Lee | 0db45ac | 2016-09-13 00:30:37 -0700 | [diff] [blame] | 106 | uses attribute-pair; |
Peter K. Lee | 2da7863 | 2016-09-06 21:02:47 -0700 | [diff] [blame] | 107 | key name; |
108 | status deprecated; | ||||
109 | reference "XOS: service-specific-attribute"; | ||||
110 | description "backwards-compatible attribute association"; | ||||
111 | } | ||||
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 112 | leaf service-specific-id { |
Peter K. Lee | 4d93689 | 2016-09-13 11:59:21 -0700 | [diff] [blame] | 113 | type xtype:unique-identifier; |
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 114 | mandatory true; |
Peter K. Lee | 2da7863 | 2016-09-06 21:02:47 -0700 | [diff] [blame] | 115 | status deprecated; |
116 | } | ||||
Peter K. Lee | 2da7863 | 2016-09-06 21:02:47 -0700 | [diff] [blame] | 117 | container record { |
118 | if-feature synchronizer; | ||||
Peter K. Lee | 0db45ac | 2016-09-13 00:30:37 -0700 | [diff] [blame] | 119 | uses sync-record; |
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 120 | } |
Peter K. Lee | cb2eb92 | 2016-09-01 18:02:31 -0700 | [diff] [blame] | 121 | } |
Peter K. Lee | cb2eb92 | 2016-09-01 18:02:31 -0700 | [diff] [blame] | 122 | grouping tenant-root { |
Peter K. Lee | 0db45ac | 2016-09-13 00:30:37 -0700 | [diff] [blame] | 123 | uses base-common { |
Peter K. Lee | cb2eb92 | 2016-09-01 18:02:31 -0700 | [diff] [blame] | 124 | refine 'name' { |
125 | description "Specify name of the TenantRoot"; | ||||
126 | } | ||||
127 | } | ||||
128 | description | ||||
129 | "A Tenant Root is one of the things that can sit at the root of a chain | ||||
130 | of tenancy. This object represents a node."; | ||||
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 131 | |
Peter K. Lee | af777da | 2016-08-17 04:33:00 -0700 | [diff] [blame] | 132 | list subscribed-tenant { |
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 133 | config false; |
134 | // not exactly clear how this is populated | ||||
135 | } | ||||
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 136 | } |
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 137 | grouping subscriber { |
138 | uses tenant-root { | ||||
139 | refine kind { default subscriber; } | ||||
140 | } | ||||
141 | // seems we should have interesting attributes specific to subscriber? | ||||
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 142 | } |
Peter K. Lee | cb2eb92 | 2016-09-01 18:02:31 -0700 | [diff] [blame] | 143 | grouping provider { |
144 | uses tenant-root { | ||||
145 | refine kind { default provider; } | ||||
146 | } | ||||
147 | // seems we should have interesting attributes specific to provider? | ||||
148 | } | ||||
Peter K. Lee | cb2eb92 | 2016-09-01 18:02:31 -0700 | [diff] [blame] | 149 | grouping service { |
Peter K. Lee | 0db45ac | 2016-09-13 00:30:37 -0700 | [diff] [blame] | 150 | uses base-common { |
Peter K. Lee | cb2eb92 | 2016-09-01 18:02:31 -0700 | [diff] [blame] | 151 | refine 'name' { |
152 | description "Name of the Service"; | ||||
153 | } | ||||
154 | } | ||||
Peter K. Lee | 0db45ac | 2016-09-13 00:30:37 -0700 | [diff] [blame] | 155 | leaf kind { |
156 | type identityref { | ||||
157 | base kind; | ||||
158 | } | ||||
159 | default generic; | ||||
160 | } | ||||
Peter K. Lee | cb2eb92 | 2016-09-01 18:02:31 -0700 | [diff] [blame] | 161 | leaf description { |
162 | type string { | ||||
163 | length 0..254; | ||||
164 | } | ||||
165 | description "Description of the Service"; | ||||
166 | } | ||||
167 | leaf version { | ||||
168 | type string { length 0..30; } | ||||
169 | description "Version of Service Definition"; | ||||
170 | } | ||||
171 | |||||
172 | leaf enabled { type boolean; default true; } | ||||
173 | leaf published { type boolean; default true; } | ||||
174 | |||||
Peter K. Lee | 2da7863 | 2016-09-06 21:02:47 -0700 | [diff] [blame] | 175 | container links { |
Peter K. Lee | cb2eb92 | 2016-09-01 18:02:31 -0700 | [diff] [blame] | 176 | leaf view { type inet:uri; } |
177 | leaf icon { type inet:uri; } | ||||
178 | } | ||||
179 | |||||
180 | list keypair { | ||||
181 | description "collection of public/private key pair(s)"; | ||||
Peter K. Lee | 2da7863 | 2016-09-06 21:02:47 -0700 | [diff] [blame] | 182 | // should be a specific typedef for storing this content |
Peter K. Lee | cb2eb92 | 2016-09-01 18:02:31 -0700 | [diff] [blame] | 183 | leaf public { type string { length 0..1024; } } |
184 | leaf private { type string { length 0..1024; } } | ||||
185 | } | ||||
Peter K. Lee | 0db45ac | 2016-09-13 00:30:37 -0700 | [diff] [blame] | 186 | list provider { |
187 | description | ||||
188 | "Each entry represents a provider of the service. Each unique service | ||||
189 | should augment this block with service specific attributes."; | ||||
190 | key id; | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 191 | uses xtype:provider; |
Peter K. Lee | 0db45ac | 2016-09-13 00:30:37 -0700 | [diff] [blame] | 192 | } |
193 | list subscriber { | ||||
194 | description | ||||
195 | "Each entry represents a subscriber of the service. Each unique service | ||||
196 | should augment this block with service specific attributes."; | ||||
197 | key id; | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 198 | uses xtype:subscriber; |
Peter K. Lee | 0db45ac | 2016-09-13 00:30:37 -0700 | [diff] [blame] | 199 | notification subscriber-added; |
200 | notification subscriber-deleted; | ||||
201 | } | ||||
Peter K. Lee | c396050 | 2016-09-13 11:47:02 -0700 | [diff] [blame] | 202 | list slice { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 203 | uses xtype:slice; |
Peter K. Lee | c396050 | 2016-09-13 11:47:02 -0700 | [diff] [blame] | 204 | } |
Peter K. Lee | cb2eb92 | 2016-09-01 18:02:31 -0700 | [diff] [blame] | 205 | |
206 | // TOOD: need to better understand relationship between Service and Slice | ||||
207 | action scale { | ||||
208 | description "Adjust scale for slice(s)"; | ||||
209 | } | ||||
210 | |||||
211 | // TODO: need to better understand relationship between Service and VTN | ||||
212 | } | ||||
213 | |||||
214 | grouping tenancy { | ||||
Peter K. Lee | 0db45ac | 2016-09-13 00:30:37 -0700 | [diff] [blame] | 215 | uses base-common; |
Peter K. Lee | cb2eb92 | 2016-09-01 18:02:31 -0700 | [diff] [blame] | 216 | |
217 | choice provider { | ||||
218 | description "only one type of provider node is valid."; | ||||
219 | case service { leaf provider-service { type instance-identifier; } } | ||||
220 | } | ||||
221 | |||||
222 | choice subscriber { | ||||
223 | description "only one type of subscriber node is valid."; | ||||
224 | case service { leaf subscriber-service { type instance-identifier; } } | ||||
225 | case tenant { leaf subscriber-tenant { type instance-identifier; } } | ||||
226 | case user { leaf subscriber-user { type instance-identifier; } } | ||||
227 | case root { leaf subscriber-root { type instance-identifier; } } | ||||
228 | case network { leaf subscriber-network { type instance-identifier; } } | ||||
229 | } | ||||
230 | |||||
231 | leaf connect-method { | ||||
232 | //when "../kind == 'static-tenant'"; | ||||
233 | |||||
234 | type enumeration { | ||||
235 | enum public { description "Public"; } | ||||
236 | enum private { description "Private"; } | ||||
237 | enum private-unidirectional { description "Private Uni-directional"; } | ||||
238 | enum na { description "Not Applicable"; } | ||||
239 | } | ||||
240 | default na; | ||||
241 | } | ||||
242 | |||||
243 | // TODO: should be able to deal with TenantWithContainer here | ||||
244 | |||||
245 | } | ||||
Sapan Bhatia | d570dcb | 2016-09-13 19:07:06 +0200 | [diff] [blame] | 246 | |
247 | grouping slice { | ||||
248 | description | ||||
249 | "A slice is a logically centralized container for network and compute resources" | ||||
250 | |||||
251 | uses base-common; | ||||
252 | |||||
253 | leaf enabled { | ||||
254 | type boolean; | ||||
255 | default true; | ||||
256 | } | ||||
257 | |||||
258 | leaf omf-friendly { | ||||
259 | type boolean; | ||||
260 | default false; | ||||
261 | status deprecated; | ||||
262 | } | ||||
263 | |||||
264 | leaf slice-url { | ||||
265 | description "A URL describing the purpose of this slice"; | ||||
Peter K. Lee | 4d93689 | 2016-09-13 11:59:21 -0700 | [diff] [blame] | 266 | type xtype:url-field; |
Sapan Bhatia | d570dcb | 2016-09-13 19:07:06 +0200 | [diff] [blame] | 267 | // blank true; |
268 | } | ||||
269 | |||||
270 | leaf max-instances { | ||||
271 | description "The maximum number of VMs that this slice is allowed to allocate"; | ||||
272 | type uint32; | ||||
273 | } | ||||
274 | |||||
275 | leaf service { | ||||
276 | description "The service that runs in this slice"; | ||||
Peter K. Lee | 4d93689 | 2016-09-13 11:59:21 -0700 | [diff] [blame] | 277 | type xtype:service; |
Sapan Bhatia | d570dcb | 2016-09-13 19:07:06 +0200 | [diff] [blame] | 278 | } |
279 | |||||
280 | leaf network { | ||||
281 | description "The network that the slice uses to connect to other slices and to the Internet."; | ||||
282 | type string; | ||||
283 | } | ||||
284 | |||||
285 | leaf exposed-ports { | ||||
286 | description "The ports to be exposed for other slices to connect to"; | ||||
287 | type string; | ||||
288 | } | ||||
289 | |||||
290 | leaf service-class { | ||||
Peter K. Lee | 4d93689 | 2016-09-13 11:59:21 -0700 | [diff] [blame] | 291 | type xtype:service-class; |
292 | status deprecated; | ||||
Sapan Bhatia | d570dcb | 2016-09-13 19:07:06 +0200 | [diff] [blame] | 293 | } |
294 | |||||
295 | leaf creator { | ||||
Peter K. Lee | 4d93689 | 2016-09-13 11:59:21 -0700 | [diff] [blame] | 296 | type xtype:user; |
Sapan Bhatia | d570dcb | 2016-09-13 19:07:06 +0200 | [diff] [blame] | 297 | } |
298 | |||||
299 | leaf default-flavor { | ||||
Peter K. Lee | 4d93689 | 2016-09-13 11:59:21 -0700 | [diff] [blame] | 300 | type xtype:flavor; |
Sapan Bhatia | d570dcb | 2016-09-13 19:07:06 +0200 | [diff] [blame] | 301 | } |
302 | |||||
303 | leaf default-image { | ||||
Peter K. Lee | 4d93689 | 2016-09-13 11:59:21 -0700 | [diff] [blame] | 304 | type xtype:image; |
Sapan Bhatia | d570dcb | 2016-09-13 19:07:06 +0200 | [diff] [blame] | 305 | } |
306 | |||||
307 | leaf default-node { | ||||
Peter K. Lee | 4d93689 | 2016-09-13 11:59:21 -0700 | [diff] [blame] | 308 | type xtype:node; |
Sapan Bhatia | d570dcb | 2016-09-13 19:07:06 +0200 | [diff] [blame] | 309 | } |
310 | |||||
311 | leaf mount-data-sets { | ||||
Peter K. Lee | 4d93689 | 2016-09-13 11:59:21 -0700 | [diff] [blame] | 312 | type string { |
313 | length 0..256; | ||||
314 | } | ||||
315 | default "GenBank"; | ||||
Sapan Bhatia | d570dcb | 2016-09-13 19:07:06 +0200 | [diff] [blame] | 316 | } |
317 | |||||
318 | leaf default_isolation { | ||||
Peter K. Lee | 4d93689 | 2016-09-13 11:59:21 -0700 | [diff] [blame] | 319 | type string { |
320 | length 0..30; | ||||
321 | } | ||||
322 | default "vm"; | ||||
Sapan Bhatia | d570dcb | 2016-09-13 19:07:06 +0200 | [diff] [blame] | 323 | } |
324 | |||||
325 | leaf-list tags { | ||||
Peter K. Lee | 4d93689 | 2016-09-13 11:59:21 -0700 | [diff] [blame] | 326 | // below leafref is not valid since there is no /tag |
327 | type leafref { | ||||
328 | path "/tag[id = current()/../id]/id"; | ||||
329 | } | ||||
Sapan Bhatia | d570dcb | 2016-09-13 19:07:06 +0200 | [diff] [blame] | 330 | } |
331 | } | ||||
Peter K. Lee | cb2eb92 | 2016-09-01 18:02:31 -0700 | [diff] [blame] | 332 | |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 333 | |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 334 | grouping controller-images { |
335 | uses xos-base; | ||||
336 | |||||
337 | leaf image { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 338 | type xtype:image; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 339 | } |
340 | |||||
341 | leaf controller { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 342 | type xtype:controller; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 343 | } |
344 | |||||
345 | container synchronizer { | ||||
346 | if-feature synchronizer { | ||||
347 | leaf glance-image-id { | ||||
348 | type string; | ||||
349 | } | ||||
350 | } | ||||
351 | } | ||||
352 | } | ||||
353 | |||||
354 | grouping controller-site-privilege { | ||||
355 | uses xos-base; | ||||
356 | |||||
357 | leaf controller { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 358 | type xtype:controller; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 359 | } |
360 | |||||
361 | leaf site-privilege { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 362 | type xtype:site-privilege; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 363 | } |
364 | |||||
365 | container synchronizer { | ||||
366 | if-feature synchronizer { | ||||
367 | |||||
368 | leaf role-id { | ||||
369 | type string; | ||||
370 | } | ||||
371 | } | ||||
372 | } | ||||
373 | |||||
374 | grouping image { | ||||
375 | uses xos-base; | ||||
376 | |||||
377 | |||||
378 | leaf kind { | ||||
379 | type string; | ||||
380 | } | ||||
381 | leaf disk-format { | ||||
382 | type string; | ||||
383 | } | ||||
384 | leaf container-format { | ||||
385 | type string; | ||||
386 | } | ||||
387 | leaf path { | ||||
388 | type string; | ||||
389 | } | ||||
390 | leaf tag { | ||||
391 | type string; | ||||
392 | } | ||||
393 | } | ||||
394 | |||||
395 | grouping controller-network { | ||||
396 | uses xos-base; | ||||
397 | leaf network { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 398 | type xtype:network; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 399 | } |
400 | leaf controller { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 401 | type xtype:controller; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 402 | } |
403 | |||||
404 | container synchronizer { | ||||
405 | if-feature synchronizer { | ||||
406 | leaf net-id { | ||||
407 | type string; | ||||
408 | } | ||||
409 | leaf router-id { | ||||
410 | type string; | ||||
411 | } | ||||
412 | leaf subnet-id { | ||||
413 | type string; | ||||
414 | } | ||||
415 | } | ||||
416 | |||||
417 | leaf subnet { | ||||
418 | type string; | ||||
419 | } | ||||
420 | |||||
421 | } | ||||
422 | |||||
423 | grouping site { | ||||
424 | uses xos-base; | ||||
425 | |||||
426 | leaf site-url { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 427 | type xtype:url-field; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 428 | } |
429 | leaf enabled { | ||||
430 | type boolean; | ||||
431 | } | ||||
432 | leaf hosts-nodes { | ||||
433 | type boolean; | ||||
434 | } | ||||
435 | leaf hosts-users { | ||||
436 | type boolean; | ||||
437 | } | ||||
438 | leaf location { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 439 | type xtype:geoposition-field; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 440 | } |
441 | leaf longitude { | ||||
442 | type decimal64; | ||||
443 | } | ||||
444 | leaf latitude { | ||||
445 | type decimal64; | ||||
446 | } | ||||
447 | leaf login-base { | ||||
448 | type string; | ||||
449 | } | ||||
450 | leaf is-public { | ||||
451 | type boolean; | ||||
452 | } | ||||
453 | leaf abbreviated-name { | ||||
454 | type string; | ||||
455 | } | ||||
456 | } | ||||
457 | |||||
458 | grouping slice-role { | ||||
459 | uses xos-base; | ||||
460 | leaf role { | ||||
461 | type string; | ||||
462 | } | ||||
463 | } | ||||
464 | |||||
465 | grouping site-deployment { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 466 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 467 | leaf site { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 468 | type xtype:site; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 469 | } |
470 | leaf deployment { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 471 | type xtype:deployment; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 472 | } |
473 | leaf controller { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 474 | type xtype:controller; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 475 | } |
476 | container synchronizer { | ||||
477 | if-feature synchronizer { | ||||
478 | |||||
479 | leaf availability-zone { | ||||
480 | type string; | ||||
481 | } | ||||
482 | } | ||||
483 | } | ||||
484 | } | ||||
485 | |||||
486 | |||||
487 | grouping user-credential { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 488 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 489 | leaf user { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 490 | type xtype:user; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 491 | } |
492 | |||||
493 | leaf key-id { | ||||
494 | type string; | ||||
495 | } | ||||
496 | |||||
497 | leaf enc-value { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 498 | type xtype:encrypted-string; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 499 | } |
500 | } | ||||
501 | |||||
502 | grouping invoice { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 503 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 504 | leaf date { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 505 | type xtype:datetime; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 506 | } |
507 | leaf account { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 508 | type xtype:account; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 509 | } |
510 | } | ||||
511 | |||||
512 | grouping slice-privilege { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 513 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 514 | leaf user { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 515 | type xtype:user; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 516 | } |
517 | leaf slice { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 518 | type xtype:slice; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 519 | } |
520 | leaf role { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 521 | type xtype:role; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 522 | } |
523 | } | ||||
524 | |||||
525 | grouping flavor { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 526 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 527 | |
528 | leaf description { | ||||
529 | type string; | ||||
530 | } | ||||
531 | leaf flavor { | ||||
532 | type string; | ||||
533 | } | ||||
534 | leaf order { | ||||
535 | type uint32; | ||||
536 | } | ||||
537 | leaf default { | ||||
538 | type boolean; | ||||
539 | } | ||||
540 | } | ||||
541 | |||||
542 | grouping port { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 543 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 544 | leaf network { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 545 | type xtype:network; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 546 | } |
547 | leaf instance { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 548 | type xtype:instance; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 549 | } |
550 | container synchronizer { | ||||
551 | if-feature synchronizer { | ||||
552 | leaf ip { | ||||
553 | type inet:ip-address; | ||||
554 | } | ||||
555 | leaf port-id { | ||||
556 | type string; | ||||
557 | } | ||||
558 | leaf mac { | ||||
559 | type string; | ||||
560 | } | ||||
561 | } | ||||
562 | } | ||||
563 | leaf xos-created { | ||||
564 | type boolean; | ||||
565 | } | ||||
566 | } | ||||
567 | |||||
568 | grouping service-role { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 569 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 570 | leaf role { |
571 | type string; | ||||
572 | } | ||||
573 | } | ||||
574 | |||||
575 | grouping controller-site { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 576 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 577 | leaf site { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 578 | type xtype:site; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 579 | } |
580 | |||||
581 | leaf controller { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 582 | type xtype:controller; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 583 | } |
584 | |||||
585 | container synchronizer { | ||||
586 | if-feature synchronizer { | ||||
587 | |||||
588 | leaf tenant-id { | ||||
589 | type string; | ||||
590 | } | ||||
591 | } | ||||
592 | } | ||||
593 | } | ||||
594 | |||||
595 | grouping controller-slice { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 596 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 597 | leaf controller { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 598 | type xtype:controller; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 599 | } |
600 | leaf slice { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 601 | type xtype:slice; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 602 | } |
603 | |||||
604 | container synchronizer { | ||||
605 | if-feature synchronizer { | ||||
606 | leaf tenant-id { | ||||
607 | type string; | ||||
608 | } | ||||
609 | } | ||||
610 | } | ||||
611 | } | ||||
612 | |||||
613 | grouping tenant-role { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 614 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 615 | leaf role { |
616 | type string; | ||||
617 | } | ||||
618 | } | ||||
619 | |||||
620 | grouping network { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 621 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 622 | leaf template { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 623 | type xtype:template; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 624 | } |
625 | |||||
626 | leaf subnet { | ||||
627 | type string; | ||||
628 | } | ||||
629 | |||||
630 | leaf ports { | ||||
631 | type string; | ||||
632 | } | ||||
633 | |||||
634 | leaf labels { | ||||
635 | type string; | ||||
636 | } | ||||
637 | |||||
638 | leaf owner { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 639 | type xtype:owner; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 640 | } |
641 | |||||
642 | leaf guaranteed-bandwidth { | ||||
643 | type uint32; | ||||
644 | } | ||||
645 | |||||
646 | leaf permit-all-slices { | ||||
647 | type boolean; | ||||
648 | } | ||||
649 | |||||
650 | leaf topology-parameters { | ||||
651 | type string; | ||||
652 | } | ||||
653 | |||||
654 | leaf controller-url { | ||||
655 | type string; | ||||
656 | } | ||||
657 | |||||
658 | leaf controller-parameters { | ||||
659 | type string; | ||||
660 | } | ||||
661 | |||||
662 | container synchronizer { | ||||
663 | if-feature synchronizer { | ||||
664 | leaf network-id { | ||||
665 | type string; | ||||
666 | } | ||||
667 | leaf router-id { | ||||
668 | type string; | ||||
669 | } | ||||
670 | leaf subnet-id { | ||||
671 | type string; | ||||
672 | } | ||||
673 | } | ||||
674 | } | ||||
675 | leaf autoconnect { | ||||
676 | type boolean; | ||||
677 | } | ||||
678 | } | ||||
679 | |||||
680 | grouping controller-role { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 681 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 682 | leaf role { |
683 | type string; | ||||
684 | } | ||||
685 | } | ||||
686 | |||||
687 | grouping diag { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 688 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 689 | |
690 | } | ||||
691 | |||||
692 | grouping service-class { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 693 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 694 | |
695 | leaf description { | ||||
696 | type string; | ||||
697 | } | ||||
698 | leaf commitment { | ||||
699 | type uint32; | ||||
700 | } | ||||
701 | leaf membership-fee { | ||||
702 | type uint32; | ||||
703 | } | ||||
704 | leaf membership-fee-months { | ||||
705 | type uint32; | ||||
706 | } | ||||
707 | leaf upgrade-requires-approval { | ||||
708 | type boolean; | ||||
709 | } | ||||
710 | } | ||||
711 | |||||
712 | grouping site-role { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 713 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 714 | leaf role { |
715 | type string; | ||||
716 | } | ||||
717 | } | ||||
718 | |||||
719 | grouping instance { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 720 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 721 | container synchronizer { |
722 | if-feature synchronizer { | ||||
723 | leaf instance-id { | ||||
724 | type string; | ||||
725 | } | ||||
726 | |||||
727 | leaf instance-uuid { | ||||
728 | type string; | ||||
729 | } | ||||
730 | |||||
731 | leaf instance-name { | ||||
732 | type string; | ||||
733 | } | ||||
734 | |||||
735 | leaf ip { | ||||
736 | type inet:ip-address; | ||||
737 | } | ||||
738 | } | ||||
739 | leaf image { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 740 | type xtype:image; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 741 | } |
742 | leaf creator { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 743 | type xtype:creator; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 744 | } |
745 | leaf slice { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 746 | type xtype:slice; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 747 | } |
748 | leaf deployment { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 749 | type xtype:deployment; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 750 | } |
751 | leaf node { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 752 | type xtype:node; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 753 | } |
754 | leaf number-cores { | ||||
755 | type uint32; | ||||
756 | } | ||||
757 | leaf flavor { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 758 | type xtype:flavor; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 759 | } |
760 | leaf user-data { | ||||
761 | type string; | ||||
762 | } | ||||
763 | leaf isolation { | ||||
764 | type string; | ||||
765 | } | ||||
766 | leaf volumes { | ||||
767 | type string; | ||||
768 | } | ||||
769 | leaf parent { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 770 | type xtype:parent; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 771 | } |
772 | } | ||||
773 | |||||
774 | grouping charge { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 775 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 776 | leaf account { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 777 | type xtype:account; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 778 | } |
779 | leaf slice { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 780 | type xtype:slice; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 781 | } |
782 | leaf kind { | ||||
783 | type string; | ||||
784 | } | ||||
785 | leaf state { | ||||
786 | type string; | ||||
787 | } | ||||
788 | leaf date { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 789 | type xtype:datetime; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 790 | } |
791 | leaf object { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 792 | type xtype:object; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 793 | } |
794 | leaf amount { | ||||
795 | type decimal64; | ||||
796 | } | ||||
797 | leaf core-hours { | ||||
798 | type decimal64; | ||||
799 | } | ||||
800 | leaf invoice { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 801 | type xtype:invoice; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 802 | } |
803 | } | ||||
804 | |||||
805 | grouping program { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 806 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 807 | leaf description { |
808 | type string; | ||||
809 | } | ||||
810 | |||||
811 | leaf kind { | ||||
812 | type string; | ||||
813 | } | ||||
814 | |||||
815 | leaf command { | ||||
816 | type string; | ||||
817 | } | ||||
818 | |||||
819 | leaf owner { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 820 | type xtype:owner; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 821 | } |
822 | |||||
823 | leaf contents { | ||||
824 | type string; | ||||
825 | } | ||||
826 | |||||
827 | leaf output { | ||||
828 | type string; | ||||
829 | } | ||||
830 | |||||
831 | leaf messages { | ||||
832 | type string; | ||||
833 | } | ||||
834 | |||||
835 | leaf status { | ||||
836 | type string; | ||||
837 | } | ||||
838 | } | ||||
839 | |||||
840 | grouping role { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 841 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 842 | leaf role-type { |
843 | type string; | ||||
844 | } | ||||
845 | leaf role { | ||||
846 | type string; | ||||
847 | } | ||||
848 | leaf description { | ||||
849 | type string; | ||||
850 | } | ||||
851 | leaf content-type { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 852 | type xtype:content-type; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 853 | } |
854 | } | ||||
855 | |||||
856 | grouping usable-object { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 857 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 858 | } |
859 | |||||
860 | grouping node-label { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 861 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 862 | } |
863 | |||||
864 | grouping slice-credential { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 865 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 866 | leaf slice { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 867 | type xtype:slice; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 868 | } |
869 | |||||
870 | leaf key-id { | ||||
871 | type string; | ||||
872 | } | ||||
873 | leaf enc-value { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 874 | type xtype:encrypted-string; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 875 | } |
876 | } | ||||
877 | |||||
878 | grouping node { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 879 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 880 | leaf site-deployment { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 881 | type xtype:site-deployment; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 882 | } |
883 | leaf site { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 884 | type xtype:site; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 885 | } |
886 | } | ||||
887 | |||||
888 | grouping address-pool { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 889 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 890 | leaf addresses { |
891 | type string; | ||||
892 | } | ||||
893 | leaf gateway-ip { | ||||
894 | type string; | ||||
895 | } | ||||
896 | leaf gateway-mac { | ||||
897 | type string; | ||||
898 | } | ||||
899 | leaf cidr { | ||||
900 | type string; | ||||
901 | } | ||||
902 | leaf inuse { | ||||
903 | type string; | ||||
904 | } | ||||
905 | leaf service { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 906 | type xtype:service; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 907 | } |
908 | } | ||||
909 | |||||
910 | grouping dashboard-view { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 911 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 912 | leaf url { |
913 | type string; | ||||
914 | } | ||||
915 | leaf enabled { | ||||
916 | type boolean; | ||||
917 | } | ||||
918 | } | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 919 | |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 920 | grouping network-parameter { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 921 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 922 | leaf parameter { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 923 | type xtype:parameter; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 924 | } |
925 | leaf value { | ||||
926 | type string; | ||||
927 | } | ||||
928 | leaf content-type { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 929 | type xtype:content-type; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 930 | } |
931 | leaf object-id { | ||||
932 | type uint32; | ||||
933 | } | ||||
934 | } | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 935 | |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 936 | grouping image-deployments { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 937 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 938 | leaf image { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 939 | type xtype:image; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 940 | } |
941 | leaf deployment { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 942 | type xtype:deployment; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 943 | } |
944 | } | ||||
945 | |||||
946 | grouping controller-user { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 947 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 948 | leaf user { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 949 | type xtype:user; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 950 | } |
951 | |||||
952 | leaf controller { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 953 | type xtype:controller; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 954 | } |
955 | |||||
956 | container synchronizer { | ||||
957 | if-feature synchronizer { | ||||
958 | leaf kuser-id { | ||||
959 | type string; | ||||
960 | } | ||||
961 | } | ||||
962 | } | ||||
963 | } | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 964 | |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 965 | grouping reserved-resource { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 966 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 967 | leaf instance { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 968 | type xtype:instance; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 969 | } |
970 | leaf resource { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 971 | type xtype:resource; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 972 | } |
973 | leaf quantity { | ||||
974 | type uint32; | ||||
975 | } | ||||
976 | leaf reservationSet { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 977 | type xtype:reservationSet; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 978 | } |
979 | } | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 980 | |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 981 | grouping network-template { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 982 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 983 | leaf description { |
984 | type string; | ||||
985 | } | ||||
986 | leaf guaranteed-bandwidth { | ||||
987 | type uint32; | ||||
988 | } | ||||
989 | leaf visibility { | ||||
990 | type string; | ||||
991 | } | ||||
992 | leaf translation { | ||||
993 | type string; | ||||
994 | } | ||||
995 | leaf access { | ||||
996 | type string; | ||||
997 | } | ||||
998 | leaf shared-network-name { | ||||
999 | type string; | ||||
1000 | } | ||||
1001 | leaf shared-network-id { | ||||
1002 | type string; | ||||
1003 | } | ||||
1004 | leaf topology-kind { | ||||
1005 | type string; | ||||
1006 | } | ||||
1007 | leaf controller-kind { | ||||
1008 | type string; | ||||
1009 | } | ||||
1010 | } | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1011 | |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1012 | grouping controller-dashboard-view { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1013 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1014 | leaf controller { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1015 | type xtype:controller; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1016 | } |
1017 | leaf dashboardView { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1018 | type xtype:dashboardView; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1019 | } |
1020 | leaf enabled { | ||||
1021 | type boolean; | ||||
1022 | } | ||||
1023 | leaf url { | ||||
1024 | type string; | ||||
1025 | } | ||||
1026 | } | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1027 | |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1028 | grouping user-dashboard-view { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1029 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1030 | leaf user { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1031 | type xtype:user; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1032 | } |
1033 | leaf dashboardView { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1034 | type xtype:dashboardView; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1035 | } |
1036 | leaf order { | ||||
1037 | type uint32; | ||||
1038 | } | ||||
1039 | } | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1040 | |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1041 | grouping controller { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1042 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1043 | leaf backend-type { |
1044 | type string; | ||||
1045 | } | ||||
1046 | leaf version { | ||||
1047 | type string; | ||||
1048 | } | ||||
1049 | leaf auth-url { | ||||
1050 | type string; | ||||
1051 | } | ||||
1052 | leaf admin-user { | ||||
1053 | type string; | ||||
1054 | } | ||||
1055 | leaf admin-password { | ||||
1056 | type string; | ||||
1057 | } | ||||
1058 | leaf admin-tenant { | ||||
1059 | type string; | ||||
1060 | } | ||||
1061 | leaf domain { | ||||
1062 | type string; | ||||
1063 | } | ||||
1064 | leaf rabbit-host { | ||||
1065 | type string; | ||||
1066 | } | ||||
1067 | leaf rabbit-user { | ||||
1068 | type string; | ||||
1069 | } | ||||
1070 | leaf rabbit-password { | ||||
1071 | type string; | ||||
1072 | } | ||||
1073 | leaf deployment { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1074 | type xtype:deployment; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1075 | } |
1076 | } | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1077 | |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1078 | grouping user { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1079 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1080 | leaf password { |
1081 | type string; | ||||
1082 | } | ||||
1083 | leaf last-login { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1084 | type xtype:datetime; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1085 | } |
1086 | leaf email { | ||||
1087 | type EmailField; | ||||
1088 | } | ||||
1089 | leaf username { | ||||
1090 | type string; | ||||
1091 | } | ||||
1092 | leaf firstname { | ||||
1093 | type string; | ||||
1094 | } | ||||
1095 | leaf lastname { | ||||
1096 | type string; | ||||
1097 | } | ||||
1098 | leaf phone { | ||||
1099 | type string; | ||||
1100 | } | ||||
1101 | leaf user-url { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1102 | type xtype:url-field; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1103 | } |
1104 | leaf site { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1105 | type xtype:site; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1106 | } |
1107 | leaf public-key { | ||||
1108 | type string; | ||||
1109 | } | ||||
1110 | leaf is-active { | ||||
1111 | type boolean; | ||||
1112 | } | ||||
1113 | leaf is-admin { | ||||
1114 | type boolean; | ||||
1115 | } | ||||
1116 | leaf is-staff { | ||||
1117 | type boolean; | ||||
1118 | } | ||||
1119 | leaf is-readonly { | ||||
1120 | type boolean; | ||||
1121 | } | ||||
1122 | leaf is-registering { | ||||
1123 | type boolean; | ||||
1124 | } | ||||
1125 | leaf is-appuser { | ||||
1126 | type boolean; | ||||
1127 | } | ||||
1128 | leaf login-page { | ||||
1129 | type string; | ||||
1130 | } | ||||
1131 | leaf timezone { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1132 | type xtype:time-zone-field; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1133 | } |
1134 | } | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1135 | |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1136 | grouping deployment { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1137 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1138 | |
1139 | leaf access-control { | ||||
1140 | type string; | ||||
1141 | } | ||||
1142 | } | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1143 | |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1144 | grouping reservation { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1145 | uses xos-base; |
1146 | leaf start-time { | ||||
1147 | type xtype:datetime; | ||||
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1148 | } |
1149 | leaf slice { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1150 | type xtype:slice; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1151 | } |
1152 | leaf duration { | ||||
1153 | type uint32; | ||||
1154 | } | ||||
1155 | } | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1156 | |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1157 | grouping site-privilege { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1158 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1159 | leaf user { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1160 | type xtype:user; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1161 | } |
1162 | leaf site { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1163 | type xtype:site; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1164 | } |
1165 | leaf role { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1166 | type xtype:role; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1167 | } |
1168 | } | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1169 | |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1170 | grouping payment { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1171 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1172 | leaf account { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1173 | type xtype:account; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1174 | } |
1175 | leaf amount { | ||||
1176 | type decimal64; | ||||
1177 | } | ||||
1178 | leaf date { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1179 | type xtype:datetime; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1180 | } |
1181 | } | ||||
1182 | |||||
1183 | grouping network-slice { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1184 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1185 | leaf network { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1186 | type xtype:network; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1187 | } |
1188 | |||||
1189 | leaf slice { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1190 | type xtype:slice; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1191 | } |
1192 | } | ||||
1193 | |||||
1194 | grouping account { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1195 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1196 | leaf site { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1197 | type xtype:site; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1198 | } |
1199 | } | ||||
1200 | |||||
1201 | grouping controller-slice-privilege { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1202 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1203 | leaf controller { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1204 | type xtype:controller; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1205 | } |
1206 | |||||
1207 | leaf slice-privilege { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1208 | type xtype:slice-privilege; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1209 | } |
1210 | |||||
1211 | container synchronizer { | ||||
1212 | if-feature synchronizer { | ||||
1213 | leaf role-id { | ||||
1214 | type string; | ||||
1215 | } | ||||
1216 | } | ||||
1217 | } | ||||
1218 | } | ||||
1219 | |||||
1220 | grouping site-credential { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1221 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1222 | leaf site { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1223 | type xtype:site; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1224 | } |
1225 | |||||
1226 | leaf key-id { | ||||
1227 | type string; | ||||
1228 | } | ||||
1229 | |||||
1230 | leaf enc-value { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1231 | type xtype:encrypted-string; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1232 | } |
1233 | } | ||||
1234 | |||||
1235 | grouping deployment-privilege { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1236 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1237 | leaf user { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1238 | type xtype:user; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1239 | } |
1240 | |||||
1241 | leaf deployment { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1242 | type xtype:deployment; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1243 | } |
1244 | |||||
1245 | leaf role { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1246 | type xtype:role; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1247 | } |
1248 | } | ||||
1249 | |||||
1250 | grouping network-parameter-type { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1251 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1252 | leaf description { |
1253 | type string; | ||||
1254 | } | ||||
1255 | } | ||||
1256 | |||||
1257 | grouping deployment-role { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1258 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1259 | leaf role { |
1260 | type string; | ||||
1261 | } | ||||
1262 | } | ||||
1263 | |||||
1264 | grouping project { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1265 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1266 | } |
1267 | |||||
1268 | grouping slice-tag { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1269 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1270 | leaf slice { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1271 | type xtype:slice; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1272 | } |
1273 | |||||
1274 | leaf value { | ||||
1275 | type string; | ||||
1276 | } | ||||
1277 | } | ||||
1278 | |||||
1279 | grouping router { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1280 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1281 | leaf owner { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1282 | type xtype:owner; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1283 | } |
1284 | } | ||||
1285 | |||||
1286 | grouping service-resource { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1287 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1288 | leaf service-class { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1289 | type xtype:service-class; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1290 | } |
1291 | |||||
1292 | leaf max-units-deployment { | ||||
1293 | type uint32; | ||||
1294 | } | ||||
1295 | |||||
1296 | leaf max-units-node { | ||||
1297 | type uint32; | ||||
1298 | } | ||||
1299 | |||||
1300 | leaf max-duration { | ||||
1301 | type uint32; | ||||
1302 | } | ||||
1303 | |||||
1304 | leaf bucket-in-rate { | ||||
1305 | type uint32; | ||||
1306 | } | ||||
1307 | |||||
1308 | leaf bucket-max-size { | ||||
1309 | type uint32; | ||||
1310 | } | ||||
1311 | |||||
1312 | leaf cost { | ||||
1313 | type uint32; | ||||
1314 | } | ||||
1315 | |||||
1316 | leaf calendar-reservable { | ||||
1317 | type boolean; | ||||
1318 | } | ||||
1319 | } | ||||
1320 | |||||
1321 | grouping service-privilege { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1322 | uses xos-base; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1323 | leaf user { |
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1324 | type xtype:user; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1325 | } |
1326 | leaf service { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1327 | type xtype:service; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1328 | } |
1329 | leaf role { | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1330 | type xtype:role; |
Sapan Bhatia | ffd73a9 | 2016-09-13 21:47:27 +0200 | [diff] [blame] | 1331 | } |
1332 | } | ||||
Sapan Bhatia | 14df56a | 2016-09-13 22:07:32 +0200 | [diff] [blame] | 1333 | |
Peter K. Lee | f4d38d3 | 2016-07-23 02:47:38 -0700 | [diff] [blame] | 1334 | /*** main configuration tree for XOS ***/ |
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 1335 | |
1336 | container api { | ||||
Peter K. Lee | f4d38d3 | 2016-07-23 02:47:38 -0700 | [diff] [blame] | 1337 | description |
1338 | "The primary configuration interaction endpoint"; | ||||
1339 | |||||
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 1340 | container service { |
Peter K. Lee | f4d38d3 | 2016-07-23 02:47:38 -0700 | [diff] [blame] | 1341 | description |
1342 | "placeholder endpoint for services to augment"; | ||||
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 1343 | } |
1344 | container tenant { | ||||
Peter K. Lee | f4d38d3 | 2016-07-23 02:47:38 -0700 | [diff] [blame] | 1345 | description |
1346 | "placeholder endpoint for tenants to augment"; | ||||
Peter K. Lee | 2bade4d | 2016-07-14 16:19:56 -0700 | [diff] [blame] | 1347 | } |
1348 | } | ||||
1349 | |||||
1350 | } |