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.neutron.spi;
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;
18 @XmlRootElement(name = "network")
19 @XmlAccessorType(XmlAccessType.NONE)
20 public final class NeutronNetwork extends NeutronAdminAttributes<NeutronNetwork> implements Serializable {
21 // See OpenStack Network API v2.0 Reference for description of
22 // annotated attributes
24 private static final long serialVersionUID = 1L;
26 @XmlElement(defaultValue = "false", name = "shared")
29 // @XmlElement (defaultValue = "false", name = "router:external")
30 @XmlElement(defaultValue = "false", namespace = "router", name = "external")
31 Boolean routerExternal;
33 // @XmlElement (defaultValue = "flat", name = "provider:network_type")
34 @XmlElement(namespace = "provider", name = "network_type")
35 String providerNetworkType;
37 // @XmlElement (name = "provider:physical_network")
38 @XmlElement(namespace = "provider", name = "physical_network")
39 String providerPhysicalNetwork;
41 // @XmlElement (name = "provider:segmentation_id")
42 @XmlElement(namespace = "provider", name = "segmentation_id")
43 String providerSegmentationID;
45 @XmlElement(name = "segments")
46 List<NeutronNetworkSegment> segments;
48 @XmlElement(name = "vlan_transparent")
49 Boolean vlanTransparent;
51 @XmlElement(name = "mtu")
54 @XmlElement(name = "qos_policy_id")
57 /* This attribute lists the ports associated with an instance
58 * which is needed for determining if that instance can be deleted
61 public NeutronNetwork() {
65 public void initDefaults() {
70 if (routerExternal == null) {
71 routerExternal = false;
73 if (providerNetworkType == null) {
74 providerNetworkType = "flat";
78 public boolean isAdminStateUp() {
82 public boolean isShared() {
86 public Boolean getShared() {
90 public void setShared(boolean newValue) {
94 public boolean isRouterExternal() {
95 return routerExternal;
98 public Boolean getRouterExternal() {
99 return routerExternal;
102 public void setRouterExternal(boolean newValue) {
103 routerExternal = newValue;
106 public String getProviderNetworkType() {
107 return providerNetworkType;
110 public void setProviderNetworkType(String providerNetworkType) {
111 this.providerNetworkType = providerNetworkType;
114 public String getProviderPhysicalNetwork() {
115 return providerPhysicalNetwork;
118 public void setProviderPhysicalNetwork(String providerPhysicalNetwork) {
119 this.providerPhysicalNetwork = providerPhysicalNetwork;
122 public String getProviderSegmentationID() {
123 return providerSegmentationID;
126 public void setProviderSegmentationID(String providerSegmentationID) {
127 this.providerSegmentationID = providerSegmentationID;
130 public void setSegments(List<NeutronNetworkSegment> segments) {
131 this.segments = segments;
134 public List<NeutronNetworkSegment> getSegments() {
138 public Boolean getVlanTransparent() {
139 return vlanTransparent;
142 public void setVlanTransparent(Boolean input) {
143 this.vlanTransparent = input;
146 public Integer getMtu() {
150 public void setMtu(Integer input) {
154 public String getQosPolicyId() {
158 public void setQosPolicyId(String qosPolicyId) {
159 this.qosPolicyId = qosPolicyId;
163 public boolean extractField(String field, NeutronNetwork ans) {
166 ans.setShared(shared);
169 ans.setRouterExternal(this.getRouterExternal());
171 case "segmentation_id":
172 ans.setProviderSegmentationID(this.getProviderSegmentationID());
174 case "physical_network":
175 ans.setProviderPhysicalNetwork(this.getProviderPhysicalNetwork());
178 ans.setProviderNetworkType(this.getProviderNetworkType());
180 case "qos_policy_id":
181 ans.setQosPolicyId(this.getQosPolicyId());
184 return super.extractField(field, ans);
190 public String toString() {
191 return "NeutronNetwork [networkUUID=" + uuid + ", networkName=" + name + ", adminStateUp=" + adminStateUp
192 + ", shared=" + shared + ", tenantID=" + tenantID + ", routerExternal=" + routerExternal
193 + ", providerNetworkType=" + providerNetworkType + ", providerPhysicalNetwork="
194 + providerPhysicalNetwork + ", providerSegmentationID=" + providerSegmentationID + ", status=" + status
195 + ", qosPolicyId =" + qosPolicyId + ", segments = " + segments + "]";