2 * Copyright (c) 2015 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
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.neutron.spi;
11 import java.io.Serializable;
12 import java.util.Iterator;
13 import java.util.List;
14 import javax.xml.bind.annotation.XmlAccessType;
15 import javax.xml.bind.annotation.XmlAccessorType;
16 import javax.xml.bind.annotation.XmlElement;
17 import javax.xml.bind.annotation.XmlRootElement;
19 @XmlRootElement(name = "bgpvpn")
20 @XmlAccessorType(XmlAccessType.NONE)
21 public final class NeutronBgpvpn extends NeutronObject<NeutronBgpvpn>
22 implements Serializable, INeutronObject<NeutronBgpvpn> {
23 // See OpenStack Network API v2.0 Reference for description of
24 // annotated attributes
26 private static final long serialVersionUID = 1L;
28 @XmlElement(name = "name")
31 @XmlElement(defaultValue = "true", name = "admin_state_up")
34 @XmlElement(name = "status")
37 @XmlElement(defaultValue = "l3", name = "type")
40 @XmlElement(name = "technique")
43 @XmlElement(name = "route_targets")
44 List<String> routeTargets;
46 @XmlElement(name = "import_targets")
47 List<String> importTargets;
49 @XmlElement(name = "export_targets")
50 List<String> exportTargets;
52 @XmlElement(name = "route_distinguishers")
53 List<String> routeDistinguishers;
55 @XmlElement(name = "vnid")
58 @XmlElement(defaultValue = "false", name = "auto_aggregate")
59 Boolean autoAggregate;
61 @XmlElement(name = "networks")
62 List<String> networks;
64 @XmlElement(name = "routers")
67 /* This attribute lists the ports associated with an instance
68 * which is needed for determining if that instance can be deleted
71 public NeutronBgpvpn() {
74 public void initDefaults() {
81 if (adminStateUp == null) {
84 if (autoAggregate == null) {
85 autoAggregate = false;
89 public String getBgpvpnName() {
93 public void setBgpvpnName(String bgpvpnName) {
94 this.bgpvpnName = bgpvpnName;
97 public boolean isAdminStateUp() {
101 public Boolean getAdminStateUp() {
105 public void setAdminStateUp(boolean newValue) {
106 adminStateUp = newValue;
109 public String getStatus() {
113 public void setStatus(String status) {
114 this.status = status;
117 public boolean isAutoAggregate() {
118 return autoAggregate;
121 public String getType() {
125 public void setType(String type) {
129 public String getTechnique() {
133 public void setTechnique(String technique) {
134 this.technique = technique;
137 public List<String> getRouteTargets() {
141 public void setRouteTargets(List<String> routeTargets) {
142 this.routeTargets = routeTargets;
145 public void addRouteTarget(String uuid) {
146 routeTargets.add(uuid);
149 public void removeRouteTarget(String uuid) {
150 routeTargets.remove(uuid);
153 public List<String> getImportTargets() {
154 return importTargets;
157 public void setImportTargets(List<String> importTargets) {
158 this.importTargets = importTargets;
161 public void addImportTarget(String uuid) {
162 importTargets.add(uuid);
165 public void removeImportTarget(String uuid) {
166 importTargets.remove(uuid);
169 public List<String> getExportTargets() {
170 return exportTargets;
173 public void setExportTargets(List<String> exportTargets) {
174 this.exportTargets = exportTargets;
177 public void addExportTarget(String uuid) {
178 exportTargets.add(uuid);
181 public void removeExportTarget(String uuid) {
182 exportTargets.remove(uuid);
185 public List<String> getRouteDistinguishers() {
186 return routeDistinguishers;
189 public void setRouteDistinguishers(List<String> routeDistinguishers) {
190 this.routeDistinguishers = routeDistinguishers;
193 public void addRouteDistinguisher(String uuid) {
194 routeDistinguishers.add(uuid);
197 public void removeRouteDistinguisher(String uuid) {
198 routeDistinguishers.remove(uuid);
201 public Long getVnid() {
205 public void setVnid(Long input) {
209 public Boolean getAutoAggregate() {
210 return autoAggregate;
213 public void setAutoAggregate(boolean newValue) {
214 autoAggregate = newValue;
217 public List<String> getNetworks() {
221 public void setNetworks(List<String> networks) {
222 this.networks = networks;
225 public void addNetwork(String uuid) {
229 public void removeNetwork(String uuid) {
230 networks.remove(uuid);
233 public List<String> getRouters() {
237 public void setRouters(List<String> routers) {
238 this.routers = routers;
241 public void addRouter(String uuid) {
245 public void removeRouter(String uuid) {
246 routers.remove(uuid);
250 * This method copies selected fields from the object and returns them
251 * as a new object, suitable for marshaling.
254 * List of attributes to be extracted
255 * @return an OpenStackNetworks object with only the selected fields
259 public NeutronBgpvpn extractFields(List<String> fields) {
260 NeutronBgpvpn ans = new NeutronBgpvpn();
261 Iterator<String> i = fields.iterator();
262 while (i.hasNext()) {
264 if (s.equals("id")) {
265 ans.setID(this.getID());
267 if (s.equals("name")) {
268 ans.setBgpvpnName(this.getBgpvpnName());
270 if (s.equals("admin_state_up")) {
271 ans.setAdminStateUp(adminStateUp);
273 if (s.equals("status")) {
274 ans.setStatus(this.getStatus());
276 if (s.equals("tenant_id")) {
277 ans.setTenantID(this.getTenantID());
279 if (s.equals("type")) {
280 ans.setType(this.getType());
282 if (s.equals("technique")) {
283 ans.setTechnique(this.getTechnique());
285 if (s.equals("route_targets")) {
286 ans.setRouteTargets(this.getRouteTargets());
288 if (s.equals("import_targets")) {
289 ans.setImportTargets(this.getImportTargets());
291 if (s.equals("export_targets")) {
292 ans.setExportTargets(this.getExportTargets());
294 if (s.equals("route_distinguishers")) {
295 ans.setRouteDistinguishers(this.getRouteDistinguishers());
297 if (s.equals("routers")) {
298 ans.setRouters(this.getRouters());
300 if (s.equals("networks")) {
301 ans.setNetworks(this.getNetworks());
303 if (s.equals("vnid")) {
304 ans.setVnid(this.getVnid());
306 if (s.equals("auto_aggregate")) {
307 ans.setAutoAggregate(this.getAutoAggregate());
314 public String toString() {
315 return "NeutronBgpvpn [bgpvpnUUID=" + uuid + ", bgpvpnName=" + bgpvpnName + ", adminStateUp=" + adminStateUp
316 + ", status=" + status + ", tenantID=" + tenantID + ", type=" + type + ", technique=" + technique
317 + ", routeTargets=" + routeTargets + ", importTargets=" + importTargets + ", exportTargets="
318 + exportTargets + ", routeDistinguishers=" + routeDistinguishers + ", vnid = " + vnid
319 + ", autoAggregate = " + autoAggregate + ", networks = " + networks + ", routers = " + routers + "]";