Migrate to odlparent 2.0.0
[alto.git] / alto-core / standard-service-models / model-config / api / src / main / yang / alto-model-config.yang
1 module alto-model-config {
2     yang-version 1;
3
4     namespace "urn:opendaylight:alto:service:model:config";
5
6     prefix "alto-model-config";
7
8     import "alto-basic-types" {
9         prefix "alto-types";
10     }
11
12     import "alto-resourcepool" {
13         prefix "resourcepool";
14     }
15
16     import "alto-model-base" {
17         prefix "base";
18     }
19
20     import "ietf-inet-types" {
21         prefix "ietf-inet";
22     }
23
24     organization "Yale University";
25
26     contact "alto-dev@lists.opendaylight.org";
27
28     revision "2015-10-21" {
29         description "Initial revision of alto config api";
30     }
31
32     identity "resource-type-config" {
33         base "resourcepool:resource-type";
34         description
35             "The resource type for config";
36     }
37
38     grouping "config-request-data" {
39         container "config-request-message" {
40             leaf "config-resource-id" {
41                 type string;
42             }
43             leaf "config-resource-type" {
44                 type string;
45             }
46             leaf "config-type" {
47                 type enumeration {
48                     enum "get";
49                     enum "create";
50                     enum "update";
51                     enum "delete";
52                 }
53             }
54             choice "config-resource-data" {
55             }
56         }
57     }
58
59     grouping "config-response-data" {
60         container "config-response-message" {
61             container "meta" {
62             }
63             container "config-response-data" {
64             }
65         }
66     }
67
68     grouping "alto-request-config" {
69         uses "base:alto-request-base" {
70             augment "request" {
71                 case "config-request" {
72                     uses "config-request-data";
73                 }
74             }
75         }
76     }
77
78     grouping "alto-response-config" {
79         uses "base:alto-response-error" {
80             augment "response" {
81                 case "config-response" {
82                     uses "config-response-data";
83                 }
84             }
85         }
86     }
87
88     rpc query {
89         input {
90             uses "alto-request-config";
91         }
92
93         output {
94             uses "alto-response-config";
95         }
96     }
97 }