2 * Copyright (c) 2013, 2015 IBM Corporation 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.netvirt.openstack.netvirt.translator;
11 import java.io.Serializable;
12 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 = "network")
20 @XmlAccessorType(XmlAccessType.NONE)
22 public class NeutronNetwork implements Serializable, INeutronObject {
23 // See OpenStack Network API v2.0 Reference for description of
24 // annotated attributes
26 private static final long serialVersionUID = 1L;
28 @XmlElement (name = "id")
31 @XmlElement (name = "name")
34 @XmlElement (defaultValue = "true", name = "admin_state_up")
37 @XmlElement (defaultValue = "false", name = "shared")
40 @XmlElement (name = "tenant_id")
43 // @XmlElement (defaultValue = "false", name = "router:external")
44 @XmlElement (defaultValue="false", namespace="router", name="external")
45 Boolean routerExternal;
47 // @XmlElement (defaultValue = "flat", name = "provider:network_type")
48 @XmlElement (namespace="provider", name="network_type")
49 String providerNetworkType;
51 // @XmlElement (name = "provider:physical_network")
52 @XmlElement (namespace="provider", name="physical_network")
53 String providerPhysicalNetwork;
55 // @XmlElement (name = "provider:segmentation_id")
56 @XmlElement (namespace="provider", name="segmentation_id")
57 String providerSegmentationID;
59 @XmlElement (name = "status")
62 @XmlElement (name="segments")
63 List<NeutronNetwork_Segment> segments;
65 @XmlElement (name="vlan_transparent")
66 Boolean vlanTransparent;
68 @XmlElement (name="mtu")
71 /* This attribute lists the ports associated with an instance
72 * which is needed for determining if that instance can be deleted
75 public NeutronNetwork() {
78 public void initDefaults() {
82 if (adminStateUp == null) {
88 if (routerExternal == null) {
89 routerExternal = false;
91 if (providerNetworkType == null) {
92 providerNetworkType = "flat";
96 public String getID() { return networkUUID; }
98 public void setID(String id) { this.networkUUID = id; }
100 public String getNetworkUUID() {
104 public void setNetworkUUID(String networkUUID) {
105 this.networkUUID = networkUUID;
108 public String getNetworkName() {
112 public void setNetworkName(String networkName) {
113 this.networkName = networkName;
116 public boolean isAdminStateUp() {
120 public Boolean getAdminStateUp() { return adminStateUp; }
122 public void setAdminStateUp(boolean newValue) {
123 adminStateUp = newValue;
126 public boolean isShared() { return shared; }
128 public Boolean getShared() { return shared; }
130 public void setShared(boolean newValue) {
134 public String getTenantID() {
138 public void setTenantID(String tenantID) {
139 this.tenantID = tenantID;
142 public boolean isRouterExternal() { return routerExternal; }
144 public Boolean getRouterExternal() { return routerExternal; }
146 public void setRouterExternal(boolean newValue) {
147 routerExternal = newValue;
150 public String getProviderNetworkType() {
151 return providerNetworkType;
154 public void setProviderNetworkType(String providerNetworkType) {
155 this.providerNetworkType = providerNetworkType;
158 public String getProviderPhysicalNetwork() {
159 return providerPhysicalNetwork;
162 public void setProviderPhysicalNetwork(String providerPhysicalNetwork) {
163 this.providerPhysicalNetwork = providerPhysicalNetwork;
166 public String getProviderSegmentationID() {
167 return providerSegmentationID;
170 public void setProviderSegmentationID(String providerSegmentationID) {
171 this.providerSegmentationID = providerSegmentationID;
174 public String getStatus() {
178 public void setStatus(String status) {
179 this.status = status;
182 public void setSegments(List<NeutronNetwork_Segment> segments) {
183 this.segments = segments;
186 public List<NeutronNetwork_Segment> getSegments() {
190 public Boolean getVlanTransparent() {
191 return vlanTransparent;
194 public void setVlanTransparent(Boolean input) {
195 this.vlanTransparent = input;
198 public Integer getMtu() {
202 public void setMtu(Integer input) {
207 * This method copies selected fields from the object and returns them
208 * as a new object, suitable for marshaling.
211 * List of attributes to be extracted
212 * @return an OpenStackNetworks object with only the selected fields
216 public NeutronNetwork extractFields(List<String> fields) {
217 NeutronNetwork ans = new NeutronNetwork();
218 for (String s : fields) {
221 ans.setNetworkUUID(this.getNetworkUUID());
224 ans.setNetworkName(this.getNetworkName());
226 case "admin_state_up":
227 ans.setAdminStateUp(adminStateUp);
230 ans.setStatus(this.getStatus());
233 ans.setShared(shared);
236 ans.setTenantID(this.getTenantID());
239 ans.setRouterExternal(this.getRouterExternal());
241 case "segmentation_id":
242 ans.setProviderSegmentationID(this.getProviderSegmentationID());
244 case "physical_network":
245 ans.setProviderPhysicalNetwork(this.getProviderPhysicalNetwork());
248 ans.setProviderNetworkType(this.getProviderNetworkType());
256 public String toString() {
257 return "NeutronNetwork [networkUUID=" + networkUUID + ", networkName=" + networkName + ", adminStateUp="
258 + adminStateUp + ", shared=" + shared + ", tenantID=" + tenantID + ", routerExternal=" + routerExternal
259 + ", providerNetworkType=" + providerNetworkType + ", providerPhysicalNetwork="
260 + providerPhysicalNetwork + ", providerSegmentationID=" + providerSegmentationID + ", status=" + status
261 + ", segments = " + segments + "]";