Adds Minimum Bandwidth Rule to the Qos Policy
[neutron.git] / model / src / main / yang / neutron-binding.yang
1 /*
2  * Copyright (c) 2015 IBM Corporation.  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-binding {
9
10     yang-version 1;
11
12     namespace "urn:opendaylight:neutron-binding";
13
14     prefix neutron-binding;
15
16     import yang-ext { prefix "ext"; }
17     import neutron { prefix "neutron"; }
18
19
20     organization "OpenDaylight Neutron Group";
21
22     contact "Ryan Moats <rmoats@us.ibm.com>";
23
24     description "This YANG module defines binding attributes that are used
25         by OpenDaylight Neutron YANG modules.";
26
27     revision "2015-07-12" {
28         description
29                 "OpenDaylight Beryllium release";
30     }
31
32     grouping binding-attributes {
33         leaf host-id {
34             type string;
35             description "The ID of the host where the port is allocated. In some cases,
36                         different implementations can run on different hosts.";
37         }
38
39         list vif-details {
40             description "A dictionary that enables the application to pass information
41                         about functions that the Networking API provides. To enable or
42                         disable port filtering features such as security group and anti-MAC/IP
43                         spoofing, specify port-filter: True or port-filter: False ";
44             // work around: "key" as leaf name in list can't be used due to java code
45             // generation. getKey() method is reserved for to retrieve key of the list
46             // and get<Name>() is also generated as a getter. it results in name
47             // collision.
48             // please see BindingGeneratorImpl#typeBuildersToGenTypes() for details.
49             // This isn't easily fixed as it's deeply hard-coded.
50             key details-key;
51             leaf details-key {
52                 type string;
53             }
54             leaf value {
55                 type string;
56             }
57         }
58         leaf vif-type {
59             type string;
60         }
61         leaf vnic-type {
62             type string;
63         }
64         leaf profile {
65             type string;
66         }
67     }
68
69     augment "/neutron:neutron/neutron:ports/neutron:port" {
70         description "This module augments the ports container in
71                 the neutron-ports module with binding information.";
72         ext:augment-identifier "port-binding-extension";
73         uses binding-attributes;
74     }
75 }