768dbf17146c9421de914129b2d4e6bcadd4ba05
[neutron.git] / neutron-spi / src / main / java / org / opendaylight / neutron / spi / NeutronLoadBalancerHealthMonitor.java
1 /*
2  * Copyright (C) 2014 Red Hat, Inc.  All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.neutron.spi;
10
11 import java.io.Serializable;
12 import java.util.List;
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
18 /**
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:
23  *
24  * <p>
25  * id                 uuid-str
26  * tenant_id          uuid-str
27  * type               String
28  * delay              Integer
29  * timeout            Integer
30  * max_retries        Integer
31  * http_method        String
32  * url_path           String
33  * expected_codes     String
34  * admin_state_up     Boolean
35  * status             String
36  * http://docs.openstack.org/api/openstack-network/2.0/openstack-network.pdf
37  */
38
39 @XmlRootElement
40 @XmlAccessorType(XmlAccessType.NONE)
41 public final class NeutronLoadBalancerHealthMonitor extends NeutronObject<NeutronLoadBalancerHealthMonitor>
42         implements Serializable, INeutronObject<NeutronLoadBalancerHealthMonitor> {
43     private static final long serialVersionUID = 1L;
44
45     @XmlElement(name = "type")
46     String loadBalancerHealthMonitorType;
47
48     @XmlElement(name = "delay")
49     Integer loadBalancerHealthMonitorDelay;
50
51     @XmlElement(name = "timeout")
52     Integer loadBalancerHealthMonitorTimeout;
53
54     @XmlElement(name = "max_retries")
55     Integer loadBalancerHealthMonitorMaxRetries;
56
57     @XmlElement(name = "http_method")
58     String loadBalancerHealthMonitorHttpMethod;
59
60     @XmlElement(name = "url_path")
61     String loadBalancerHealthMonitorUrlPath;
62
63     @XmlElement(name = "expected_codes")
64     String loadBalancerHealthMonitorExpectedCodes;
65
66     @XmlElement(defaultValue = "true", name = "admin_state_up")
67     Boolean loadBalancerHealthMonitorAdminStateIsUp;
68
69     @XmlElement(name = "pools")
70     List<NeutronID> loadBalancerHealthMonitorPools;
71
72     public String getLoadBalancerHealthMonitorType() {
73         return loadBalancerHealthMonitorType;
74     }
75
76     public void setLoadBalancerHealthMonitorType(String loadBalancerHealthMonitorType) {
77         this.loadBalancerHealthMonitorType = loadBalancerHealthMonitorType;
78     }
79
80     public Integer getLoadBalancerHealthMonitorDelay() {
81         return loadBalancerHealthMonitorDelay;
82     }
83
84     public void setLoadBalancerHealthMonitorDelay(Integer loadBalancerHealthMonitorDelay) {
85         this.loadBalancerHealthMonitorDelay = loadBalancerHealthMonitorDelay;
86     }
87
88     public Integer getLoadBalancerHealthMonitorTimeout() {
89         return loadBalancerHealthMonitorTimeout;
90     }
91
92     public void setLoadBalancerHealthMonitorTimeout(Integer loadBalancerHealthMonitorTimeout) {
93         this.loadBalancerHealthMonitorTimeout = loadBalancerHealthMonitorTimeout;
94     }
95
96     public Integer getLoadBalancerHealthMonitorMaxRetries() {
97         return loadBalancerHealthMonitorMaxRetries;
98     }
99
100     public void setLoadBalancerHealthMonitorMaxRetries(Integer loadBalancerHealthMonitorMaxRetries) {
101         this.loadBalancerHealthMonitorMaxRetries = loadBalancerHealthMonitorMaxRetries;
102     }
103
104     public String getLoadBalancerHealthMonitorHttpMethod() {
105         return loadBalancerHealthMonitorHttpMethod;
106     }
107
108     public void setLoadBalancerHealthMonitorHttpMethod(String loadBalancerHealthMonitorHttpMethod) {
109         this.loadBalancerHealthMonitorHttpMethod = loadBalancerHealthMonitorHttpMethod;
110     }
111
112     public String getLoadBalancerHealthMonitorUrlPath() {
113         return loadBalancerHealthMonitorUrlPath;
114     }
115
116     public void setLoadBalancerHealthMonitorUrlPath(String loadBalancerHealthMonitorUrlPath) {
117         this.loadBalancerHealthMonitorUrlPath = loadBalancerHealthMonitorUrlPath;
118     }
119
120     public String getLoadBalancerHealthMonitorExpectedCodes() {
121         return loadBalancerHealthMonitorExpectedCodes;
122     }
123
124     public void setLoadBalancerHealthMonitorExpectedCodes(String loadBalancerHealthMonitorExpectedCodes) {
125         this.loadBalancerHealthMonitorExpectedCodes = loadBalancerHealthMonitorExpectedCodes;
126     }
127
128     public Boolean getLoadBalancerHealthMonitorAdminStateIsUp() {
129         return loadBalancerHealthMonitorAdminStateIsUp;
130     }
131
132     public void setLoadBalancerHealthMonitorAdminStateIsUp(Boolean loadBalancerHealthMonitorAdminStateIsUp) {
133         this.loadBalancerHealthMonitorAdminStateIsUp = loadBalancerHealthMonitorAdminStateIsUp;
134     }
135
136     public List<NeutronID> getLoadBalancerHealthMonitorPools() {
137         return loadBalancerHealthMonitorPools;
138     }
139
140     public void setLoadBalancerHealthMonitorPools(List<NeutronID> loadBalancerHealthMonitorPools) {
141         this.loadBalancerHealthMonitorPools = loadBalancerHealthMonitorPools;
142     }
143
144     @Override
145     protected boolean extractField(String field, NeutronLoadBalancerHealthMonitor ans) {
146         switch (field) {
147             case "type":
148                 ans.setLoadBalancerHealthMonitorType(this.getLoadBalancerHealthMonitorType());
149                 break;
150             case "delay":
151                 ans.setLoadBalancerHealthMonitorDelay(this.getLoadBalancerHealthMonitorDelay());
152                 break;
153             case "timeout":
154                 ans.setLoadBalancerHealthMonitorTimeout(this.getLoadBalancerHealthMonitorTimeout());
155                 break;
156             case "max_retries":
157                 ans.setLoadBalancerHealthMonitorMaxRetries(this.getLoadBalancerHealthMonitorMaxRetries());
158                 break;
159             case "http_method":
160                 ans.setLoadBalancerHealthMonitorHttpMethod(this.getLoadBalancerHealthMonitorHttpMethod());
161                 break;
162             case "url_path":
163                 ans.setLoadBalancerHealthMonitorUrlPath(this.getLoadBalancerHealthMonitorUrlPath());
164                 break;
165             case "expected_codes":
166                 ans.setLoadBalancerHealthMonitorExpectedCodes(this.getLoadBalancerHealthMonitorExpectedCodes());
167                 break;
168             case "admin_state_up":
169                 ans.setLoadBalancerHealthMonitorAdminStateIsUp(loadBalancerHealthMonitorAdminStateIsUp);
170                 break;
171             default:
172                 return super.extractField(field, ans);
173         }
174         return true;
175     }
176
177     @Override
178     public String toString() {
179         return "NeutronLoadBalancerHealthMonitor{" + "loadBalancerHealthMonitorID='" + uuid + '\''
180                 + ", loadBalancerHealthMonitorTenantID='" + tenantID + '\'' + ", loadBalancerHealthMonitorType='"
181                 + loadBalancerHealthMonitorType + '\'' + ", loadBalancerHealthMonitorDelay="
182                 + loadBalancerHealthMonitorDelay + ", loadBalancerHealthMonitorTimeout="
183                 + loadBalancerHealthMonitorTimeout + ", loadBalancerHealthMonitorMaxRetries="
184                 + loadBalancerHealthMonitorMaxRetries + ", loadBalancerHealthMonitorHttpMethod='"
185                 + loadBalancerHealthMonitorHttpMethod + '\'' + ", loadBalancerHealthMonitorUrlPath='"
186                 + loadBalancerHealthMonitorUrlPath + '\'' + ", loadBalancerHealthMonitorExpectedCodes='"
187                 + loadBalancerHealthMonitorExpectedCodes + '\'' + ", loadBalancerHealthMonitorAdminStateIsUp="
188                 + loadBalancerHealthMonitorAdminStateIsUp + '}';
189     }
190 }