2 * Copyright (C) 2014 Red Hat, Inc.
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.controller.networkconfig.neutron;
11 import org.opendaylight.controller.configuration.ConfigurationObject;
13 import javax.xml.bind.annotation.XmlAccessType;
14 import javax.xml.bind.annotation.XmlAccessorType;
15 import javax.xml.bind.annotation.XmlElement;
16 import javax.xml.bind.annotation.XmlRootElement;
17 //import javax.xml.bind.annotation.XmlElementWrapper;
18 import java.io.Serializable;
19 import java.util.Iterator;
20 import java.util.List;
23 * OpenStack Neutron v2.0 Load Balancer as a service
24 * (LBaaS) bindings. See OpenStack Network API
25 * v2.0 Reference for description of the fields:
26 * Implemented fields are as follows:
34 * healthmonitor_id String
37 * members List <NeutronLoadBalancerPoolMember>
38 * http://docs.openstack.org/api/openstack-network/2.0/openstack-network.pdf
42 @XmlAccessorType(XmlAccessType.NONE)
44 public class NeutronLoadBalancerPool extends ConfigurationObject implements Serializable {
45 private static final long serialVersionUID = 1L;
47 @XmlElement(name="id")
48 String loadBalancerPoolID;
50 @XmlElement (name="tenant_id")
51 String loadBalancerPoolTenantID;
53 @XmlElement (name="name")
54 String loadBalancerPoolName;
56 @XmlElement (name="description")
57 String loadBalancerPoolDescription;
59 @XmlElement (name="protocol")
60 String loadBalancerPoolProtocol;
62 @XmlElement (name="lb_algorithm")
63 String loadBalancerPoolLbAlgorithm;
65 @XmlElement (name="healthmonitor_id")
66 String neutronLoadBalancerPoolHealthMonitorID;
68 @XmlElement (defaultValue="true", name="admin_state_up")
69 Boolean loadBalancerPoolAdminStateIsUp;
71 @XmlElement (name="status")
72 String loadBalancerPoolStatus;
74 @XmlElement(name="members")
75 List<NeutronLoadBalancerPoolMember> loadBalancerPoolMembers;
77 public NeutronLoadBalancerPool() {
80 public String getLoadBalancerPoolID() {
81 return loadBalancerPoolID;
84 public void setLoadBalancerPoolID(String loadBalancerPoolID) {
85 this.loadBalancerPoolID = loadBalancerPoolID;
88 public String getLoadBalancerPoolTenantID() {
89 return loadBalancerPoolTenantID;
92 public void setLoadBalancerPoolTenantID(String loadBalancerPoolTenantID) {
93 this.loadBalancerPoolTenantID = loadBalancerPoolTenantID;
96 public String getLoadBalancerPoolName() {
97 return loadBalancerPoolName;
100 public void setLoadBalancerPoolName(String loadBalancerPoolName) {
101 this.loadBalancerPoolName = loadBalancerPoolName;
104 public String getLoadBalancerPoolDescription() {
105 return loadBalancerPoolDescription;
108 public void setLoadBalancerPoolDescription(String loadBalancerPoolDescription) {
109 this.loadBalancerPoolDescription = loadBalancerPoolDescription;
112 public String getLoadBalancerPoolProtocol() {
113 return loadBalancerPoolProtocol;
116 public void setLoadBalancerPoolProtocol(String loadBalancerPoolProtocol) {
117 this.loadBalancerPoolProtocol = loadBalancerPoolProtocol;
120 public String getLoadBalancerPoolLbAlgorithm() {
121 return loadBalancerPoolLbAlgorithm;
124 public void setLoadBalancerPoolLbAlgorithm(String loadBalancerPoolLbAlgorithm) {
125 this.loadBalancerPoolLbAlgorithm = loadBalancerPoolLbAlgorithm;
128 public String getNeutronLoadBalancerPoolHealthMonitorID() {
129 return neutronLoadBalancerPoolHealthMonitorID;
132 public void setNeutronLoadBalancerPoolHealthMonitorID(String neutronLoadBalancerPoolHealthMonitorID) {
133 this.neutronLoadBalancerPoolHealthMonitorID = neutronLoadBalancerPoolHealthMonitorID;
136 public Boolean getLoadBalancerPoolAdminIsStateIsUp() {
137 return loadBalancerPoolAdminStateIsUp;
140 public void setLoadBalancerPoolAdminStateIsUp(Boolean loadBalancerPoolAdminStateIsUp) {
141 this.loadBalancerPoolAdminStateIsUp = loadBalancerPoolAdminStateIsUp;
144 public String getLoadBalancerPoolStatus() {
145 return loadBalancerPoolStatus;
148 public void setLoadBalancerPoolStatus(String loadBalancerPoolStatus) {
149 this.loadBalancerPoolStatus = loadBalancerPoolStatus;
152 public List<NeutronLoadBalancerPoolMember> getLoadBalancerPoolMembers() {
154 * Update the pool_id of the member to that this.loadBalancerPoolID
156 for (NeutronLoadBalancerPoolMember member: loadBalancerPoolMembers)
157 member.setPoolID(loadBalancerPoolID);
158 return loadBalancerPoolMembers;
161 public void setLoadBalancerPoolMembers(List<NeutronLoadBalancerPoolMember> loadBalancerPoolMembers) {
162 this.loadBalancerPoolMembers = loadBalancerPoolMembers;
165 public void addLoadBalancerPoolMember(NeutronLoadBalancerPoolMember loadBalancerPoolMember) {
166 this.loadBalancerPoolMembers.add(loadBalancerPoolMember);
169 public void removeLoadBalancerPoolMember(NeutronLoadBalancerPoolMember loadBalancerPoolMember) {
170 this.loadBalancerPoolMembers.remove(loadBalancerPoolMember);
173 public NeutronLoadBalancerPool extractFields(List<String> fields) {
174 NeutronLoadBalancerPool ans = new NeutronLoadBalancerPool();
175 Iterator<String> i = fields.iterator();
176 while (i.hasNext()) {
178 if (s.equals("id")) {
179 ans.setLoadBalancerPoolID(this.getLoadBalancerPoolID());
181 if (s.equals("tenant_id")) {
182 ans.setLoadBalancerPoolTenantID(this.getLoadBalancerPoolTenantID());
184 if (s.equals("name")) {
185 ans.setLoadBalancerPoolName(this.getLoadBalancerPoolName());
187 if(s.equals("description")) {
188 ans.setLoadBalancerPoolDescription(this.getLoadBalancerPoolDescription());
190 if(s.equals("protocol")) {
191 ans.setLoadBalancerPoolProtocol(this.getLoadBalancerPoolProtocol());
193 if(s.equals("lb_algorithm")) {
194 ans.setLoadBalancerPoolLbAlgorithm(this.getLoadBalancerPoolLbAlgorithm());
196 if(s.equals("healthmonitor_id")) {
197 ans.setNeutronLoadBalancerPoolHealthMonitorID(this.getNeutronLoadBalancerPoolHealthMonitorID());
199 if (s.equals("admin_state_up")) {
200 ans.setLoadBalancerPoolAdminStateIsUp(loadBalancerPoolAdminStateIsUp);
202 if (s.equals("status")) {
203 ans.setLoadBalancerPoolStatus(this.getLoadBalancerPoolStatus());
205 if (s.equals("members")) {
206 ans.setLoadBalancerPoolMembers(getLoadBalancerPoolMembers());