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;
12 import org.slf4j.Logger;
13 import org.slf4j.LoggerFactory;
15 import javax.xml.bind.annotation.XmlAccessType;
16 import javax.xml.bind.annotation.XmlAccessorType;
17 import javax.xml.bind.annotation.XmlElement;
18 import javax.xml.bind.annotation.XmlRootElement;
19 import java.io.Serializable;
20 import java.util.Iterator;
21 import java.util.List;
24 * OpenStack Neutron v2.0 Load Balancer as a service
25 * (LBaaS) bindings. See OpenStack Network API
26 * v2.0 Reference for description of the fields:
27 * Implemented fields are as follows:
38 * expected_codes String
39 * admin_state_up Boolean
41 * http://docs.openstack.org/api/openstack-network/2.0/openstack-network.pdf
45 @XmlAccessorType(XmlAccessType.NONE)
47 public class NeutronLoadBalancerHealthMonitor extends ConfigurationObject implements Serializable {
48 private static final long serialVersionUID = 1L;
49 private static final Logger logger = LoggerFactory.getLogger(NeutronLoadBalancer.class);
51 @XmlElement(name="id")
52 String loadBalancerHealthMonitorID;
54 @XmlElement (name="tenant_id")
55 String loadBalancerHealthMonitorTenantID;
57 @XmlElement (name="type")
58 String loadBalancerHealthMonitorType;
60 @XmlElement (name="delay")
61 Integer loadBalancerHealthMonitorDelay;
63 @XmlElement (name="timeout")
64 Integer loadBalancerHealthMonitorTimeout;
66 @XmlElement (name="max_retries")
67 Integer loadBalancerHealthMonitorMaxRetries;
69 @XmlElement (name="http_method")
70 String loadBalancerHealthMonitorHttpMethod;
72 @XmlElement (name="url_path")
73 String loadBalancerHealthMonitorUrlPath;
75 @XmlElement (name="expected_codes")
76 String loadBalancerHealthMonitorExpectedCodes;
78 @XmlElement (defaultValue="true", name="admin_state_up")
79 Boolean loadBalancerHealthMonitorAdminStateIsUp;
81 @XmlElement (name="status")
82 String loadBalancerHealthMonitorStatus;
84 public String getLoadBalancerHealthMonitorID() {
85 return loadBalancerHealthMonitorID;
88 public void setLoadBalancerHealthMonitorID(String loadBalancerHealthMonitorID) {
89 this.loadBalancerHealthMonitorID = loadBalancerHealthMonitorID;
92 public String getLoadBalancerHealthMonitorTenantID() {
93 return loadBalancerHealthMonitorTenantID;
96 public void setLoadBalancerHealthMonitorTenantID(String loadBalancerHealthMonitorTenantID) {
97 this.loadBalancerHealthMonitorTenantID = loadBalancerHealthMonitorTenantID;
100 public String getLoadBalancerHealthMonitorType() {
101 return loadBalancerHealthMonitorType;
104 public void setLoadBalancerHealthMonitorType(String loadBalancerHealthMonitorType) {
105 this.loadBalancerHealthMonitorType = loadBalancerHealthMonitorType;
108 public Integer getLoadBalancerHealthMonitorDelay() {
109 return loadBalancerHealthMonitorDelay;
112 public void setLoadBalancerHealthMonitorDelay(Integer loadBalancerHealthMonitorDelay) {
113 this.loadBalancerHealthMonitorDelay = loadBalancerHealthMonitorDelay;
116 public Integer getLoadBalancerHealthMonitorTimeout() {
117 return loadBalancerHealthMonitorTimeout;
120 public void setLoadBalancerHealthMonitorTimeout(Integer loadBalancerHealthMonitorTimeout) {
121 this.loadBalancerHealthMonitorTimeout = loadBalancerHealthMonitorTimeout;
124 public Integer getLoadBalancerHealthMonitorMaxRetries() {
125 return loadBalancerHealthMonitorMaxRetries;
128 public void setLoadBalancerHealthMonitorMaxRetries(Integer loadBalancerHealthMonitorMaxRetries) {
129 this.loadBalancerHealthMonitorMaxRetries = loadBalancerHealthMonitorMaxRetries;
132 public String getLoadBalancerHealthMonitorHttpMethod() {
133 return loadBalancerHealthMonitorHttpMethod;
136 public void setLoadBalancerHealthMonitorHttpMethod(String loadBalancerHealthMonitorHttpMethod) {
137 this.loadBalancerHealthMonitorHttpMethod = loadBalancerHealthMonitorHttpMethod;
140 public String getLoadBalancerHealthMonitorUrlPath() {
141 return loadBalancerHealthMonitorUrlPath;
144 public void setLoadBalancerHealthMonitorUrlPath(String loadBalancerHealthMonitorUrlPath) {
145 this.loadBalancerHealthMonitorUrlPath = loadBalancerHealthMonitorUrlPath;
148 public String getLoadBalancerHealthMonitorExpectedCodes() {
149 return loadBalancerHealthMonitorExpectedCodes;
152 public void setLoadBalancerHealthMonitorExpectedCodes(String loadBalancerHealthMonitorExpectedCodes) {
153 this.loadBalancerHealthMonitorExpectedCodes = loadBalancerHealthMonitorExpectedCodes;
156 public Boolean getLoadBalancerHealthMonitorAdminStateIsUp() {
157 return loadBalancerHealthMonitorAdminStateIsUp;
160 public void setLoadBalancerHealthMonitorAdminStateIsUp(Boolean loadBalancerHealthMonitorAdminStateIsUp) {
161 this.loadBalancerHealthMonitorAdminStateIsUp = loadBalancerHealthMonitorAdminStateIsUp;
164 public String getLoadBalancerHealthMonitorStatus() {
165 return loadBalancerHealthMonitorStatus;
168 public void setLoadBalancerHealthMonitorStatus(String loadBalancerHealthMonitorStatus) {
169 this.loadBalancerHealthMonitorStatus = loadBalancerHealthMonitorStatus;
172 public NeutronLoadBalancerHealthMonitor extractFields(List<String> fields) {
173 NeutronLoadBalancerHealthMonitor ans = new NeutronLoadBalancerHealthMonitor();
174 Iterator<String> i = fields.iterator();
175 while (i.hasNext()) {
177 if (s.equals("id")) {
178 ans.setLoadBalancerHealthMonitorID(this.getLoadBalancerHealthMonitorID());
180 if (s.equals("tenant_id")) {
181 ans.setLoadBalancerHealthMonitorTenantID(this.getLoadBalancerHealthMonitorTenantID());
183 if (s.equals("type")) {
184 ans.setLoadBalancerHealthMonitorType(this.getLoadBalancerHealthMonitorType());
186 if (s.equals("delay")) {
187 ans.setLoadBalancerHealthMonitorDelay(this.getLoadBalancerHealthMonitorDelay());
189 if (s.equals("timeout")) {
190 ans.setLoadBalancerHealthMonitorTimeout(this.getLoadBalancerHealthMonitorTimeout());
192 if (s.equals("max_retries")) {
193 ans.setLoadBalancerHealthMonitorMaxRetries(this.getLoadBalancerHealthMonitorMaxRetries());
195 if (s.equals("http_method")) {
196 ans.setLoadBalancerHealthMonitorHttpMethod(this.getLoadBalancerHealthMonitorHttpMethod());
198 if(s.equals("url_path")) {
199 ans.setLoadBalancerHealthMonitorUrlPath(this.getLoadBalancerHealthMonitorUrlPath());
201 if (s.equals("expected_codes")) {
202 ans.setLoadBalancerHealthMonitorExpectedCodes(this.getLoadBalancerHealthMonitorExpectedCodes());
204 if (s.equals("admin_state_up")) {
205 ans.setLoadBalancerHealthMonitorAdminStateIsUp(loadBalancerHealthMonitorAdminStateIsUp);
207 if (s.equals("status")) {
208 ans.setLoadBalancerHealthMonitorStatus(this.getLoadBalancerHealthMonitorStatus());
214 @Override public String toString() {
215 return "NeutronLoadBalancerHealthMonitor{" +
216 "loadBalancerHealthMonitorID='" + loadBalancerHealthMonitorID + '\'' +
217 ", loadBalancerHealthMonitorTenantID='" + loadBalancerHealthMonitorTenantID + '\'' +
218 ", loadBalancerHealthMonitorType='" + loadBalancerHealthMonitorType + '\'' +
219 ", loadBalancerHealthMonitorDelay=" + loadBalancerHealthMonitorDelay +
220 ", loadBalancerHealthMonitorTimeout=" + loadBalancerHealthMonitorTimeout +
221 ", loadBalancerHealthMonitorMaxRetries=" + loadBalancerHealthMonitorMaxRetries +
222 ", loadBalancerHealthMonitorHttpMethod='" + loadBalancerHealthMonitorHttpMethod + '\'' +
223 ", loadBalancerHealthMonitorUrlPath='" + loadBalancerHealthMonitorUrlPath + '\'' +
224 ", loadBalancerHealthMonitorExpectedCodes='" + loadBalancerHealthMonitorExpectedCodes + '\'' +
225 ", loadBalancerHealthMonitorAdminStateIsUp=" + loadBalancerHealthMonitorAdminStateIsUp +
226 ", loadBalancerHealthMonitorStatus='" + loadBalancerHealthMonitorStatus + '\'' +