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 java.io.Serializable;
18 import java.util.HashMap;
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 <String>
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 loadBalancerPoolMembers;
77 HashMap<String, NeutronLoadBalancerPoolMember> member;
79 public NeutronLoadBalancerPool() {
80 member = new HashMap<String, NeutronLoadBalancerPoolMember>();
83 public String getLoadBalancerPoolID() {
84 return loadBalancerPoolID;
87 public void setLoadBalancerPoolID(String loadBalancerPoolID) {
88 this.loadBalancerPoolID = loadBalancerPoolID;
91 public String getLoadBalancerPoolTenantID() {
92 return loadBalancerPoolTenantID;
95 public void setLoadBalancerPoolTenantID(String loadBalancerPoolTenantID) {
96 this.loadBalancerPoolTenantID = loadBalancerPoolTenantID;
99 public String getLoadBalancerPoolName() {
100 return loadBalancerPoolName;
103 public void setLoadBalancerPoolName(String loadBalancerPoolName) {
104 this.loadBalancerPoolName = loadBalancerPoolName;
107 public String getLoadBalancerPoolDescription() {
108 return loadBalancerPoolDescription;
111 public void setLoadBalancerPoolDescription(String loadBalancerPoolDescription) {
112 this.loadBalancerPoolDescription = loadBalancerPoolDescription;
115 public String getLoadBalancerPoolProtocol() {
116 return loadBalancerPoolProtocol;
119 public void setLoadBalancerPoolProtocol(String loadBalancerPoolProtocol) {
120 this.loadBalancerPoolProtocol = loadBalancerPoolProtocol;
123 public String getLoadBalancerPoolLbAlgorithm() {
124 return loadBalancerPoolLbAlgorithm;
127 public void setLoadBalancerPoolLbAlgorithm(String loadBalancerPoolLbAlgorithm) {
128 this.loadBalancerPoolLbAlgorithm = loadBalancerPoolLbAlgorithm;
131 public String getNeutronLoadBalancerPoolHealthMonitorID() {
132 return neutronLoadBalancerPoolHealthMonitorID;
135 public void setNeutronLoadBalancerPoolHealthMonitorID(String neutronLoadBalancerPoolHealthMonitorID) {
136 this.neutronLoadBalancerPoolHealthMonitorID = neutronLoadBalancerPoolHealthMonitorID;
139 public Boolean getLoadBalancerPoolAdminIsStateIsUp() {
140 return loadBalancerPoolAdminStateIsUp;
143 public void setLoadBalancerPoolAdminStateIsUp(Boolean loadBalancerPoolAdminStateIsUp) {
144 this.loadBalancerPoolAdminStateIsUp = loadBalancerPoolAdminStateIsUp;
147 public String getLoadBalancerPoolStatus() {
148 return loadBalancerPoolStatus;
151 public void setLoadBalancerPoolStatus(String loadBalancerPoolStatus) {
152 this.loadBalancerPoolStatus = loadBalancerPoolStatus;
155 public List getLoadBalancerPoolMembers() {
156 return loadBalancerPoolMembers;
159 public void setLoadBalancerPoolMembers(List loadBalancerPoolMembers) {
160 this.loadBalancerPoolMembers = loadBalancerPoolMembers;
163 public NeutronLoadBalancerPool extractFields(List<String> fields) {
164 NeutronLoadBalancerPool ans = new NeutronLoadBalancerPool();
165 Iterator<String> i = fields.iterator();
166 while (i.hasNext()) {
168 if (s.equals("id")) {
169 ans.setLoadBalancerPoolID(this.getLoadBalancerPoolID());
171 if (s.equals("tenant_id")) {
172 ans.setLoadBalancerPoolTenantID(this.getLoadBalancerPoolTenantID());
174 if (s.equals("name")) {
175 ans.setLoadBalancerPoolName(this.getLoadBalancerPoolName());
177 if(s.equals("description")) {
178 ans.setLoadBalancerPoolDescription(this.getLoadBalancerPoolDescription());
180 if(s.equals("protocol")) {
181 ans.setLoadBalancerPoolProtocol(this.getLoadBalancerPoolProtocol());
183 if(s.equals("lb_algorithm")) {
184 ans.setLoadBalancerPoolLbAlgorithm(this.getLoadBalancerPoolLbAlgorithm());
186 if(s.equals("healthmonitor_id")) {
187 ans.setNeutronLoadBalancerPoolHealthMonitorID(this.getNeutronLoadBalancerPoolHealthMonitorID());
189 if (s.equals("admin_state_up")) {
190 ans.setLoadBalancerPoolAdminStateIsUp(loadBalancerPoolAdminStateIsUp);
192 if (s.equals("status")) {
193 ans.setLoadBalancerPoolStatus(this.getLoadBalancerPoolStatus());
195 if (s.equals("members")) {
196 ans.setLoadBalancerPoolMembers(getLoadBalancerPoolMembers());