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 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 javax.xml.bind.annotation.XmlElementWrapper;
16 import java.io.Serializable;
17 import java.util.Iterator;
18 import java.util.List;
21 * OpenStack Neutron v2.0 Load Balancer as a service
22 * (LBaaS) bindings. See OpenStack Network API
23 * v2.0 Reference for description of the fields:
24 * Implemented fields are as follows:
32 * healthmonitor_id String
35 * members List <NeutronLoadBalancerPoolMember>
36 * http://docs.openstack.org/api/openstack-network/2.0/openstack-network.pdf
40 @XmlAccessorType(XmlAccessType.NONE)
42 public class NeutronLoadBalancerPool implements Serializable {
43 private static final long serialVersionUID = 1L;
45 @XmlElement(name="id")
46 String loadBalancerPoolID;
48 @XmlElement (name="tenant_id")
49 String loadBalancerPoolTenantID;
51 @XmlElement (name="name")
52 String loadBalancerPoolName;
54 @XmlElement (name="description")
55 String loadBalancerPoolDescription;
57 @XmlElement (name="protocol")
58 String loadBalancerPoolProtocol;
60 @XmlElement (name="lb_algorithm")
61 String loadBalancerPoolLbAlgorithm;
63 @XmlElement (name="healthmonitor_id")
64 String neutronLoadBalancerPoolHealthMonitorID;
66 @XmlElement (defaultValue="true", name="admin_state_up")
67 Boolean loadBalancerPoolAdminStateIsUp;
69 @XmlElement (name="status")
70 String loadBalancerPoolStatus;
72 @XmlElement(name="members")
73 List<NeutronLoadBalancerPoolMember> loadBalancerPoolMembers;
75 public NeutronLoadBalancerPool() {
78 public String getLoadBalancerPoolID() {
79 return loadBalancerPoolID;
82 public void setLoadBalancerPoolID(String loadBalancerPoolID) {
83 this.loadBalancerPoolID = loadBalancerPoolID;
86 public String getLoadBalancerPoolTenantID() {
87 return loadBalancerPoolTenantID;
90 public void setLoadBalancerPoolTenantID(String loadBalancerPoolTenantID) {
91 this.loadBalancerPoolTenantID = loadBalancerPoolTenantID;
94 public String getLoadBalancerPoolName() {
95 return loadBalancerPoolName;
98 public void setLoadBalancerPoolName(String loadBalancerPoolName) {
99 this.loadBalancerPoolName = loadBalancerPoolName;
102 public String getLoadBalancerPoolDescription() {
103 return loadBalancerPoolDescription;
106 public void setLoadBalancerPoolDescription(String loadBalancerPoolDescription) {
107 this.loadBalancerPoolDescription = loadBalancerPoolDescription;
110 public String getLoadBalancerPoolProtocol() {
111 return loadBalancerPoolProtocol;
114 public void setLoadBalancerPoolProtocol(String loadBalancerPoolProtocol) {
115 this.loadBalancerPoolProtocol = loadBalancerPoolProtocol;
118 public String getLoadBalancerPoolLbAlgorithm() {
119 return loadBalancerPoolLbAlgorithm;
122 public void setLoadBalancerPoolLbAlgorithm(String loadBalancerPoolLbAlgorithm) {
123 this.loadBalancerPoolLbAlgorithm = loadBalancerPoolLbAlgorithm;
126 public String getNeutronLoadBalancerPoolHealthMonitorID() {
127 return neutronLoadBalancerPoolHealthMonitorID;
130 public void setNeutronLoadBalancerPoolHealthMonitorID(String neutronLoadBalancerPoolHealthMonitorID) {
131 this.neutronLoadBalancerPoolHealthMonitorID = neutronLoadBalancerPoolHealthMonitorID;
134 public Boolean getLoadBalancerPoolAdminIsStateIsUp() {
135 return loadBalancerPoolAdminStateIsUp;
138 public void setLoadBalancerPoolAdminStateIsUp(Boolean loadBalancerPoolAdminStateIsUp) {
139 this.loadBalancerPoolAdminStateIsUp = loadBalancerPoolAdminStateIsUp;
142 public String getLoadBalancerPoolStatus() {
143 return loadBalancerPoolStatus;
146 public void setLoadBalancerPoolStatus(String loadBalancerPoolStatus) {
147 this.loadBalancerPoolStatus = loadBalancerPoolStatus;
150 public List<NeutronLoadBalancerPoolMember> getLoadBalancerPoolMembers() {
152 * Update the pool_id of the member to that this.loadBalancerPoolID
154 for (NeutronLoadBalancerPoolMember member: loadBalancerPoolMembers)
155 member.setPoolID(loadBalancerPoolID);
156 return loadBalancerPoolMembers;
159 public void setLoadBalancerPoolMembers(List<NeutronLoadBalancerPoolMember> loadBalancerPoolMembers) {
160 this.loadBalancerPoolMembers = loadBalancerPoolMembers;
163 public void addLoadBalancerPoolMember(NeutronLoadBalancerPoolMember loadBalancerPoolMember) {
164 this.loadBalancerPoolMembers.add(loadBalancerPoolMember);
167 public void removeLoadBalancerPoolMember(NeutronLoadBalancerPoolMember loadBalancerPoolMember) {
168 this.loadBalancerPoolMembers.remove(loadBalancerPoolMember);
171 public NeutronLoadBalancerPool extractFields(List<String> fields) {
172 NeutronLoadBalancerPool ans = new NeutronLoadBalancerPool();
173 Iterator<String> i = fields.iterator();
174 while (i.hasNext()) {
176 if (s.equals("id")) {
177 ans.setLoadBalancerPoolID(this.getLoadBalancerPoolID());
179 if (s.equals("tenant_id")) {
180 ans.setLoadBalancerPoolTenantID(this.getLoadBalancerPoolTenantID());
182 if (s.equals("name")) {
183 ans.setLoadBalancerPoolName(this.getLoadBalancerPoolName());
185 if(s.equals("description")) {
186 ans.setLoadBalancerPoolDescription(this.getLoadBalancerPoolDescription());
188 if(s.equals("protocol")) {
189 ans.setLoadBalancerPoolProtocol(this.getLoadBalancerPoolProtocol());
191 if(s.equals("lb_algorithm")) {
192 ans.setLoadBalancerPoolLbAlgorithm(this.getLoadBalancerPoolLbAlgorithm());
194 if(s.equals("healthmonitor_id")) {
195 ans.setNeutronLoadBalancerPoolHealthMonitorID(this.getNeutronLoadBalancerPoolHealthMonitorID());
197 if (s.equals("admin_state_up")) {
198 ans.setLoadBalancerPoolAdminStateIsUp(loadBalancerPoolAdminStateIsUp);
200 if (s.equals("status")) {
201 ans.setLoadBalancerPoolStatus(this.getLoadBalancerPoolStatus());
203 if (s.equals("members")) {
204 ans.setLoadBalancerPoolMembers(getLoadBalancerPoolMembers());