blob: e6a0537a294428b089d724b511010472b3720a61 [file] [log] [blame]
Khen Nursimuluf8abbc92016-11-04 19:56:45 -04001module xos-package {
2 namespace "urn:ietf:params:xml:ns:yang:xos-package";
3 prefix xpkg;
4 yang-version 1.1;
5
6 import ietf-yang-types { prefix yang; }
7 import ietf-inet-types { prefix inet; }
8 import yang-meta-types { prefix meta; }
9 import xos-controller { prefix xos; }
10 import xos-types { prefix xtype; }
11
12 organization
13 "Open Networking Lab (XOS) / Corenova Technologies";
14
15 contact
16 "Larry Peterson <llp@onlab.us>
17 Peter K. Lee <peter@corenova.com>";
18
19 description
20 "This module contains a collection of Package models for XOS.
21
22 Copyright (c) 2016 ON.LAB and the persons identified as authors of
23 the code. All rights reserved.
24
25 Redistribution and use in source and binary forms, with or without
26 modification, is permitted pursuant to, and subject to the license
27 terms of the Apache License, Version 2.0 which accompanies this
28 distribution, and is available at
29 (http://www.apache.org/licenses/LICENSE-2.0).";
30
31 revision 2016-09-29 {
32 description "Initial revision.";
33 }
34 typedef package-identifier {
35 type yang:yang-identifier;
36 }
37
38 identity xos-package {
39 base xos:xos-tenant;
40 }
41 /*
42 * Groupings
43 */
44 grouping package-info {
45 uses meta:yang-package-info {
46 refine version {
47 description "Version of Service Definition";
48 }
49 refine description {
50 description "Description of the Service Package";
51 }
52 }
53 container controller {
54 leaf model {
55 type leafref {
56 path "../../model/name";
57 }
58 mandatory true;
59 }
60 leaf initializer {
61 type meta:filename;
62 }
63 leaf synchronizer {
64 type meta:filename;
65 }
66 leaf public-key {
67 type meta:filename;
68 }
69 leaf private-key {
70 type meta:filename;
71 }
72 }
73 }
74 /*
75 * Augmentations to XOS
76 */
77 augment "/xos:core" {
78 list package {
79 key id;
80 uses package-info;
81 }
82 }
83}
84