Bump upstream versions
[neutron.git] / model / src / main / yang / neutron-subnets.yang
1 /*
2  * Copyright (c) 2015 Brocade Communications Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 module neutron-subnets {
9
10     yang-version 1;
11
12     namespace "urn:opendaylight:neutron-subnets";
13
14     prefix neutron-subnets;
15
16     import ietf-yang-types { prefix "yang"; }
17     import ietf-inet-types { prefix "inet"; revision-date 2013-07-15; }
18     import neutron-attrs { prefix "attrs"; }
19     import neutron-constants { prefix "constants"; }
20
21     organization "OpenDaylight Neutron Group";
22
23     contact "J. Gregory Hall <ghall@brocade.com>, Kiran Sreenivasa <kkoushik@brocade.com>";
24
25     description "This YANG module defines Openstack Neutron Subnets model";
26
27     revision "2015-07-12" {
28         description
29                 "OpenDaylight Beryllium release";
30     }
31
32     grouping subnet-attributes {
33         leaf network-id {
34             type yang:uuid;
35             description "network this subnet is associated with.";
36         }
37         leaf ip-version {
38             description "IP version";
39             type identityref {
40                 base "constants:ip-version-base";
41             }
42         }
43         leaf cidr {
44             type inet:ip-prefix;
45             description "cidr representing IP range for this subnet, based on IP version";
46         }
47         leaf gateway-ip {
48             type inet:ip-address;
49             description "default gateway used by devices in this subnet";
50         }
51         leaf-list dns-nameservers {
52             type inet:ip-address;
53             description "DNS name servers used by hosts in this subnet.";
54             // neutron subnet-create test-net1 40.0.0.0/24 --dns-nameservers list=true 8.8.8.7 8.8.8.8        }        }
55         }
56         leaf ipv6-address-mode {
57
58             description "neutron subnet-create --ip-version 6 --ipv6_ra_mode off --ipv6_address_mode
59                         off NETWORK CIDR neutron subnet-create --ip-version 6 --ipv6_ra_mode
60                         off --ipv6_address_mode dhcpv6-stateful NETWORK CIDR neutron subnet-create
61                         --ip-version 6 --ipv6_ra_mode slaac --ipv6_address_mode slaac
62                         NETWORK CIDR neutron subnet-create --ip-version 6 --ipv6_ra_mode
63                         dhcpv6-stateful --ipv6_address_mode off NETWORK CIDR neutron subnet-create
64                         --ip-version 6 --ipv6_ra_mode dhcpv6-stateless --ipv6_address_mode
65                         dhcpv6-stateless NETWORK CIDR Note: can't find this in the spec
66                         but OS is sending it with a null value.";
67             type identityref {
68                 base "constants:dhcpv6-base";
69             }
70         }
71         leaf ipv6-ra-mode {
72             description "TODO can't find this in the spec but OS sends it with a null
73                         value.";
74             type identityref {
75                 base "constants:dhcpv6-base";
76             }
77         }
78         list allocation-pools {
79             description "Sub-ranges of cidr available for dynamic allocation to ports";
80             key start;
81             leaf start {
82                 type inet:ip-address;
83             }
84             leaf end {
85                 type inet:ip-address;
86             }
87         }
88         list host-routes {
89             description "Routes that should be used by devices with IPs from this subnet
90                         (not including local subnet route).";
91             key destination;
92             leaf destination {
93                 description "Specifies a destination in CIDR format";
94                 type inet:ip-prefix;
95             }
96             leaf nexthop {
97                 type inet:ip-address;
98             }
99         }
100         leaf enable-dhcp {
101             type boolean;
102             description "Specifies whether DHCP is enabled for this subnet or not.";
103             default "true";
104         }
105     }
106     grouping subnets-attributes {
107         container subnets {
108             list subnet {
109                 key "uuid";
110                 uses attrs:base-attributes;
111                 uses subnet-attributes;
112             }
113         }
114     }
115 }