857373a79da892f78d3671f72c575c588bc0c3ab
[netvirt.git] / openstack / net-virt / src / main / java / org / opendaylight / netvirt / openstack / netvirt / translator / NeutronLoadBalancer.java
1 /*
2  * Copyright (C) 2014 Red Hat, Inc. and others.  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.netvirt.openstack.netvirt.translator;
10
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 java.io.Serializable;
16 import java.util.List;
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  * id                 uuid-str
25  * tenant_id          uuid-str
26  * name               String
27  * description        String
28  * status             String
29  * vip_address        IP address
30  * vip_subnet         uuid-str
31  * http://docs.openstack.org/api/openstack-network/2.0/openstack-network.pdf
32  */
33
34 @XmlRootElement
35 @XmlAccessorType(XmlAccessType.NONE)
36
37 public class NeutronLoadBalancer implements Serializable, INeutronObject {
38     private static final long serialVersionUID = 1L;
39
40     @XmlElement(name = "id")
41     String loadBalancerID;
42
43     @XmlElement (name = "tenant_id")
44     String loadBalancerTenantID;
45
46     @XmlElement (name = "name")
47     String loadBalancerName;
48
49     @XmlElement (name = "description")
50     String loadBalancerDescription;
51
52     @XmlElement (name = "status")
53     String loadBalancerStatus;
54
55     @XmlElement (name = "admin_state_up")
56     Boolean loadBalancerAdminStateUp;
57
58     @XmlElement (name = "vip_address")
59     String loadBalancerVipAddress;
60
61     @XmlElement (name = "vip_subnet_id")
62     String loadBalancerVipSubnetID;
63
64     public String getID() {
65         return loadBalancerID;
66     }
67
68     public void setID(String id) {
69         loadBalancerID = id;
70     }
71
72     // @deprecated use getID()
73     public String getLoadBalancerID() {
74         return loadBalancerID;
75     }
76
77     // @deprecated use setID()
78     public void setLoadBalancerID(String loadBalancerID) {
79         this.loadBalancerID = loadBalancerID;
80     }
81
82     public String getLoadBalancerTenantID() {
83         return loadBalancerTenantID;
84     }
85
86     public void setLoadBalancerTenantID(String loadBalancerTenantID) {
87         this.loadBalancerTenantID = loadBalancerTenantID;
88     }
89
90     public String getLoadBalancerName() {
91         return loadBalancerName;
92     }
93
94     public void setLoadBalancerName(String loadBalancerName) {
95         this.loadBalancerName = loadBalancerName;
96     }
97
98     public String getLoadBalancerDescription() {
99         return loadBalancerDescription;
100     }
101
102     public void setLoadBalancerDescription(String loadBalancerDescription) {
103         this.loadBalancerDescription = loadBalancerDescription;
104     }
105
106     public String getLoadBalancerStatus() {
107         return loadBalancerStatus;
108     }
109
110     public void setLoadBalancerStatus(String loadBalancerStatus) {
111         this.loadBalancerStatus = loadBalancerStatus;
112     }
113
114     public Boolean getLoadBalancerAdminStateUp() {
115         return loadBalancerAdminStateUp;
116     }
117
118     public void setLoadBalancerAdminStateUp(Boolean loadBalancerAdminStateUp) {
119         this.loadBalancerAdminStateUp = loadBalancerAdminStateUp;
120     }
121
122     public String getLoadBalancerVipAddress() {
123         return loadBalancerVipAddress;
124     }
125
126     public void setLoadBalancerVipAddress(String loadBalancerVipAddress) {
127         this.loadBalancerVipAddress = loadBalancerVipAddress;
128     }
129
130     public String getLoadBalancerVipSubnetID() {
131         return loadBalancerVipSubnetID;
132     }
133
134     public void setLoadBalancerVipSubnetID(String loadBalancerVipSubnetID) {
135         this.loadBalancerVipSubnetID = loadBalancerVipSubnetID;
136     }
137
138     public NeutronLoadBalancer extractFields(List<String> fields) {
139         NeutronLoadBalancer ans = new NeutronLoadBalancer();
140         for (String s : fields) {
141             switch (s) {
142                 case "id":
143                     ans.setID(this.getID());
144                     break;
145                 case "tenant_id":
146                     ans.setLoadBalancerTenantID(this.getLoadBalancerTenantID());
147                     break;
148                 case "name":
149                     ans.setLoadBalancerName(this.getLoadBalancerName());
150                     break;
151                 case "description":
152                     ans.setLoadBalancerDescription(this.getLoadBalancerDescription());
153                     break;
154                 case "vip_address":
155                     ans.setLoadBalancerVipAddress(this.getLoadBalancerVipAddress());
156                     break;
157                 case "vip_subnet_id":
158                     ans.setLoadBalancerVipSubnetID(this.getLoadBalancerVipSubnetID());
159                     break;
160                 case "status":
161                     ans.setLoadBalancerStatus(this.getLoadBalancerStatus());
162                     break;
163                 case "admin_state_up":
164                     ans.setLoadBalancerAdminStateUp(this.getLoadBalancerAdminStateUp());
165                     break;
166             }
167         }
168         return ans;
169     }
170
171     @Override public String toString() {
172         return "NeutronLoadBalancer{" +
173                 "loadBalancerID='" + loadBalancerID + '\'' +
174                 ", loadBalancerTenantID='" + loadBalancerTenantID + '\'' +
175                 ", loadBalancerName='" + loadBalancerName + '\'' +
176                 ", loadBalancerDescription='" + loadBalancerDescription + '\'' +
177                 ", loadBalancerStatus='" + loadBalancerStatus + '\'' +
178                 ", loadBalancerAdminStateUp='" + loadBalancerAdminStateUp + '\'' +
179                 ", loadBalancerVipAddress='" + loadBalancerVipAddress + '\'' +
180                 ", loadBalancerVipSubnetID='" + loadBalancerVipSubnetID + '\'' +
181                 '}';
182     }
183 }