Merge " changes for REST API to make TZ specific parameters (transport zone name...
[genius.git] / itm / itm-api / src / main / yang / itm.yang
1 module itm {
2     namespace "urn:opendaylight:genius:itm";
3
4     prefix "itm";
5
6     import ietf-interfaces {
7         prefix if;
8     }
9     import ietf-yang-types {
10         prefix yang;
11     }
12     import ietf-inet-types {
13         prefix inet;
14         revision-date "2013-07-15";
15     }
16     
17     import odl-interface {
18         prefix odlif;
19     }
20     
21     
22     import config { prefix config; revision-date 2013-04-05; }
23
24     revision "2016-04-06" {
25         description "ODL Internal Transport Module";
26     }
27
28     /* Configuration data */
29
30     container transport-zones {
31           list transport-zone {
32           ordered-by user;
33             key zone-name;
34             leaf zone-name {
35                 type string;
36                 mandatory true;
37             }
38             leaf tunnel-type {
39                 type identityref {
40                     base odlif:tunnel-type-base;
41                 }
42                 mandatory true;
43             }
44
45             list subnets {
46                 key "prefix";
47                 leaf prefix {
48                     type inet:ip-prefix;
49                 }
50                 leaf gateway-ip {
51                     type inet:ip-address;
52                 }
53                 leaf vlan-id {
54                     type uint16{
55                     range "0..4094";
56                 }
57                 }
58                 list vteps {
59                     key "dpn-id portname";
60                     leaf dpn-id {
61                         type uint64;
62                     }
63                     leaf portname {
64                         type string;
65                     }
66                     leaf ip-address {
67                         type inet:ip-address;
68                     }
69                 }
70                  list device-vteps {
71                   key "node-id ip-address";
72                          leaf topology-id {
73                             type string;
74                          }
75                          leaf node-id {
76                            type string;
77                          }
78                          leaf ip-address {
79                          type inet:ip-address;
80                        }
81                }
82
83             }
84           }
85         }
86         identity itm {
87             base "config:service-type";
88             config:java-class "org.opendaylight.genius.itm.api.IITMProvider";
89         }
90
91
92     container dc-gateway-ip-list{
93         list dc-gateway-ip{
94             key "ip-address";
95             leaf ip-address{
96                 type inet:ip-address;
97             }
98             leaf tunnnel-type{
99                 type identityref {
100                     base odlif:tunnel-type-base;
101                 }
102             }
103         }
104     }
105 }