2 * Copyright (c) 2015 Brocade Communications Systems, Inc. and others. All rights reserved.
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
8 module neutron-lbaasv2 {
12 namespace "urn:opendaylight:neutron-lbaasv2";
14 prefix neutron-lbaasv2;
16 import ietf-yang-types { prefix "yang"; }
17 // It requires rfc6991 (revision 2013-07-15), but odl don't have it, so this patch verify build will fail.
18 import ietf-inet-types { prefix "inet"; revision-date 2010-09-24; }
19 import neutron-attrs { prefix "attrs"; }
20 import neutron-constants { prefix "constants"; }
22 organization "OpenDaylight Neutron Group";
24 contact "Kiran Sreenivasa <kkoushik@brocade.com>";
26 description "This YANG module defines LBaaSV2.0 objects that are used by Openstack
27 Ice House Neutron YANG modules.";
29 revision "2014-10-02" {
31 "Initial version of LBaaSV2.0 objects used by OpenStack Ice House Neutron
35 grouping loadbalancer-attributes {
36 description "LBaaSV2.0 load balancer attributes.";
39 description "Load balancer description.";
44 description "The IP address of the VIP.";
48 description "The ID of the subnet on which to allocate the VIP address.";
51 grouping listener-attributes {
52 description "LBaaSV2.0 listener attributes.";
53 leaf default-pool-id {
55 description "ID of default pool. Must have compatible protocol with listener.";
59 description "The administrative state of the listener, which is up (true) or
65 description "Detailed description of the listener.";
68 description "The protocol the front end listens for.";
70 base "constants:protocol-base";
74 description "The port on which the front end listens.";
79 leaf-list loadbalancers {
81 description "List of loadbalancers on which this listener is provisioned.";
83 leaf connection-limit {
84 description "Maximum connections this load balancer can have. Default is infinite.";
91 grouping pool-attributes {
94 description "The administrative state of the pool, which is up (true) or
99 description "Detailed description of the listener.";
102 description "The protocol the front end listens for.";
104 base "constants:protocol-base";
109 description "The load-balancer algorithm, which is round-robin,
110 least-connections, and so on. This value, which must be supported,
111 is dependent on the load-balancer provider. Round-robin
114 leaf healthmonitor-id {
116 description "List of healthmonitors associated with this pool.";
118 leaf-list listeners {
120 description "List of listeners that belong to the pool.";
122 container session-persistence {
123 description "The session persistence algorithm. This algorithm is a
124 dictionary with type and cookie_name keys.";
127 description "Cookie Name.";
131 description "Cookie type.";
135 grouping member-attributes {
138 description "The unique ID for the member.";
142 description "Owner of the member. Only an administrative user can specify
143 a tenant ID other than its own.";
147 description "Subnet in which to access this member.";
150 type inet:ip-address;
151 description "The IP address of the member.";
154 description "The port on which the application is hosted.";
160 description "Weight of member.";
166 leaf admin-state-up {
168 description "The administrative state of the member, which is up (true) or
173 grouping healthmonitor-attributes {
176 description "The unique ID for the healthmonitor.";
180 description "Owner of the VIP. Only an administrative user can specify
181 a tenant ID other than its own.";
184 description "The type of probe, which is PING, TCP, HTTP, or HTTPS, that
185 is sent by the load balancer to verify the member state.";
187 base "constants:probe-base";
190 leaf admin-state-up {
192 description "The administrative state of the VPI, which is up (true) or
197 description "The time, in seconds, between sending probes to members.";
201 description "The maximum number of seconds for a monitor to wait for a
202 connection to be established before it times out. This value must be
203 less than the delay value.";
207 description "Number of allowed connection failures before changing the
208 status of the member to INACTIVE.";
215 description "The HTTP method that the monitor uses for requests.";
220 description "The HTTP path of the request sent by the monitor to test
221 the health of a member. Must be a string beginning with a forward
224 leaf expected-codes {
226 description "Expected HTTP codes for a passing HTTP(S) monitor.";
231 description "List of pools associated with this healthmonitor.";
234 grouping lbaas-attributes {
235 container loadbalancers {
236 description "Container for Loadbalancers.";
239 uses attrs:base-attributes;
240 uses attrs:admin-attributes;
241 uses loadbalancer-attributes;
242 description "List of Loadbalancers.";
245 container listeners {
246 description "Container for Listeners.";
249 uses attrs:base-attributes;
250 uses listener-attributes;
251 description "List of Listeners";
255 description "Container for LBaaSV2.0 pools.";
258 uses attrs:base-attributes;
259 uses pool-attributes;
260 description "List of Pools";
262 description "Container for pool members.";
265 uses member-attributes;
266 description "List of members.";
271 container healthmonitors {
272 description "Container for LBaaSV2.0 healthmonitors.";
275 uses healthmonitor-attributes;
276 description "List of healthmonitors.";