2 * Copyright (C) 2014 Red Hat, 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
9 package org.opendaylight.netvirt.openstack.netvirt.translator;
11 import javax.xml.bind.annotation.XmlAccessType;
12 import javax.xml.bind.annotation.XmlAccessorType;
13 import javax.xml.bind.annotation.XmlElement;
14 import javax.xml.bind.annotation.XmlRootElement;
15 import java.io.Serializable;
16 import java.util.List;
19 * OpenStack Neutron v2.0 Load Balancer as a service
20 * (LBaaS) bindings. See OpenStack Network API
21 * v2.0 Reference for description of the fields:
22 * Implemented fields are as follows:
30 * healthmonitor_id String
33 * members List <NeutronLoadBalancerPoolMember>
34 * http://docs.openstack.org/api/openstack-network/2.0/openstack-network.pdf
38 @XmlAccessorType(XmlAccessType.NONE)
40 public class NeutronLoadBalancerPool implements Serializable, INeutronObject {
41 private static final long serialVersionUID = 1L;
43 @XmlElement(name = "id")
44 String loadBalancerPoolID;
46 @XmlElement (name = "tenant_id")
47 String loadBalancerPoolTenantID;
49 @XmlElement (name = "name")
50 String loadBalancerPoolName;
52 @XmlElement (name = "description")
53 String loadBalancerPoolDescription;
55 @XmlElement (name = "protocol")
56 String loadBalancerPoolProtocol;
58 @XmlElement (name = "lb_algorithm")
59 String loadBalancerPoolLbAlgorithm;
61 @XmlElement (name = "healthmonitor_id")
62 String neutronLoadBalancerPoolHealthMonitorID;
64 @XmlElement (defaultValue = "true", name = "admin_state_up")
65 Boolean loadBalancerPoolAdminStateIsUp;
67 @XmlElement(name = "listeners")
68 List<Neutron_ID> loadBalancerPoolListeners;
70 @XmlElement(name = "session_persistence")
71 NeutronLoadBalancer_SessionPersistence loadBalancerPoolSessionPersistence;
73 @XmlElement(name = "members")
74 List<NeutronLoadBalancerPoolMember> loadBalancerPoolMembers;
76 public NeutronLoadBalancerPool() {
79 public String getID() {
80 return loadBalancerPoolID;
83 public void setID(String id) {
84 loadBalancerPoolID = id;
87 // @deprecated use getID()
88 public String getLoadBalancerPoolID() {
89 return loadBalancerPoolID;
92 // @deprecated use setID()
93 public void setLoadBalancerPoolID(String loadBalancerPoolID) {
94 this.loadBalancerPoolID = loadBalancerPoolID;
97 public String getLoadBalancerPoolTenantID() {
98 return loadBalancerPoolTenantID;
101 public void setLoadBalancerPoolTenantID(String loadBalancerPoolTenantID) {
102 this.loadBalancerPoolTenantID = loadBalancerPoolTenantID;
105 public String getLoadBalancerPoolName() {
106 return loadBalancerPoolName;
109 public void setLoadBalancerPoolName(String loadBalancerPoolName) {
110 this.loadBalancerPoolName = loadBalancerPoolName;
113 public String getLoadBalancerPoolDescription() {
114 return loadBalancerPoolDescription;
117 public void setLoadBalancerPoolDescription(String loadBalancerPoolDescription) {
118 this.loadBalancerPoolDescription = loadBalancerPoolDescription;
121 public String getLoadBalancerPoolProtocol() {
122 return loadBalancerPoolProtocol;
125 public void setLoadBalancerPoolProtocol(String loadBalancerPoolProtocol) {
126 this.loadBalancerPoolProtocol = loadBalancerPoolProtocol;
129 public String getLoadBalancerPoolLbAlgorithm() {
130 return loadBalancerPoolLbAlgorithm;
133 public void setLoadBalancerPoolLbAlgorithm(String loadBalancerPoolLbAlgorithm) {
134 this.loadBalancerPoolLbAlgorithm = loadBalancerPoolLbAlgorithm;
137 public String getNeutronLoadBalancerPoolHealthMonitorID() {
138 return neutronLoadBalancerPoolHealthMonitorID;
141 public void setNeutronLoadBalancerPoolHealthMonitorID(String neutronLoadBalancerPoolHealthMonitorID) {
142 this.neutronLoadBalancerPoolHealthMonitorID = neutronLoadBalancerPoolHealthMonitorID;
145 public Boolean getLoadBalancerPoolAdminIsStateIsUp() {
146 return loadBalancerPoolAdminStateIsUp;
149 public void setLoadBalancerPoolAdminStateIsUp(Boolean loadBalancerPoolAdminStateIsUp) {
150 this.loadBalancerPoolAdminStateIsUp = loadBalancerPoolAdminStateIsUp;
153 public NeutronLoadBalancer_SessionPersistence getLoadBalancerPoolSessionPersistence() {
154 return loadBalancerPoolSessionPersistence;
157 public void setLoadBalancerSessionPersistence(NeutronLoadBalancer_SessionPersistence loadBalancerPoolSessionPersistence) {
158 this.loadBalancerPoolSessionPersistence = loadBalancerPoolSessionPersistence;
161 public List<Neutron_ID> getLoadBalancerPoolListeners() {
162 return loadBalancerPoolListeners;
165 public void setLoadBalancerPoolListeners(List<Neutron_ID> loadBalancerPoolListeners) {
166 this.loadBalancerPoolListeners = loadBalancerPoolListeners;
169 public List<NeutronLoadBalancerPoolMember> getLoadBalancerPoolMembers() {
171 * Update the pool_id of the member to that this.loadBalancerPoolID
173 if (loadBalancerPoolMembers != null) {
174 for (NeutronLoadBalancerPoolMember member: loadBalancerPoolMembers) {
175 member.setPoolID(loadBalancerPoolID);
177 return loadBalancerPoolMembers;
179 return loadBalancerPoolMembers;
182 public void setLoadBalancerPoolMembers(List<NeutronLoadBalancerPoolMember> loadBalancerPoolMembers) {
183 this.loadBalancerPoolMembers = loadBalancerPoolMembers;
186 public void addLoadBalancerPoolMember(NeutronLoadBalancerPoolMember loadBalancerPoolMember) {
187 this.loadBalancerPoolMembers.add(loadBalancerPoolMember);
190 public void removeLoadBalancerPoolMember(NeutronLoadBalancerPoolMember loadBalancerPoolMember) {
191 this.loadBalancerPoolMembers.remove(loadBalancerPoolMember);
194 public NeutronLoadBalancerPool extractFields(List<String> fields) {
195 NeutronLoadBalancerPool ans = new NeutronLoadBalancerPool();
196 for (String s : fields) {
199 ans.setID(this.getID());
202 ans.setLoadBalancerPoolTenantID(this.getLoadBalancerPoolTenantID());
205 ans.setLoadBalancerPoolName(this.getLoadBalancerPoolName());
208 ans.setLoadBalancerPoolDescription(this.getLoadBalancerPoolDescription());
211 ans.setLoadBalancerPoolProtocol(this.getLoadBalancerPoolProtocol());
214 ans.setLoadBalancerPoolLbAlgorithm(this.getLoadBalancerPoolLbAlgorithm());
216 case "healthmonitor_id":
217 ans.setNeutronLoadBalancerPoolHealthMonitorID(this.getNeutronLoadBalancerPoolHealthMonitorID());
219 case "admin_state_up":
220 ans.setLoadBalancerPoolAdminStateIsUp(loadBalancerPoolAdminStateIsUp);
223 ans.setLoadBalancerPoolMembers(getLoadBalancerPoolMembers());
231 public String toString() {
232 return "NeutronLoadBalancerPool{" +
233 "id='" + loadBalancerPoolID + '\'' +
234 ", tenantID='" + loadBalancerPoolTenantID + '\'' +
235 ", name='" + loadBalancerPoolName + '\'' +
236 ", description='" + loadBalancerPoolDescription + '\'' +
237 ", protocol=" + loadBalancerPoolProtocol +'\''+
238 ", lbAlgorithm='" + loadBalancerPoolLbAlgorithm + '\'' +
239 ", healthmonitorID=" + neutronLoadBalancerPoolHealthMonitorID +
240 ", adminStateUp=" + loadBalancerPoolAdminStateIsUp +
241 // todo: add loadBalancerPoolMembers as joined string