Basic neutron IT netvirt test
[netvirt.git] / openstack / net-virt / src / main / java / org / opendaylight / netvirt / openstack / netvirt / translator / NeutronNetwork.java
1 /*
2  * Copyright (c) 2013, 2015 IBM Corporation 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 java.io.Serializable;
12 import java.util.List;
13
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;
18
19 @XmlRootElement(name = "network")
20 @XmlAccessorType(XmlAccessType.NONE)
21
22 public class NeutronNetwork implements Serializable, INeutronObject {
23     // See OpenStack Network API v2.0 Reference for description of
24     // annotated attributes
25
26     private static final long serialVersionUID = 1L;
27
28     @XmlElement (name = "id")
29     String networkUUID;
30
31     @XmlElement (name = "name")
32     String networkName;
33
34     @XmlElement (defaultValue = "true", name = "admin_state_up")
35     Boolean adminStateUp;
36
37     @XmlElement (defaultValue = "false", name = "shared")
38     Boolean shared;
39
40     @XmlElement (name = "tenant_id")
41     String tenantID;
42
43     //    @XmlElement (defaultValue = "false", name = "router:external")
44     @XmlElement (defaultValue="false", namespace="router", name="external")
45     Boolean routerExternal;
46
47     //    @XmlElement (defaultValue = "flat", name = "provider:network_type")
48     @XmlElement (namespace="provider", name="network_type")
49     String providerNetworkType;
50
51     //    @XmlElement (name = "provider:physical_network")
52     @XmlElement (namespace="provider", name="physical_network")
53     String providerPhysicalNetwork;
54
55     //    @XmlElement (name = "provider:segmentation_id")
56     @XmlElement (namespace="provider", name="segmentation_id")
57     String providerSegmentationID;
58
59     @XmlElement (name = "status")
60     String status;
61
62     @XmlElement (name="segments")
63     List<NeutronNetwork_Segment> segments;
64
65     @XmlElement (name="vlan_transparent")
66     Boolean vlanTransparent;
67
68     @XmlElement (name="mtu")
69     Integer mtu;
70
71     /* This attribute lists the ports associated with an instance
72      * which is needed for determining if that instance can be deleted
73      */
74
75     public NeutronNetwork() {
76     }
77
78     public void initDefaults() {
79         if (status == null) {
80             status = "ACTIVE";
81         }
82         if (adminStateUp == null) {
83             adminStateUp = true;
84         }
85         if (shared == null) {
86             shared = false;
87         }
88         if (routerExternal == null) {
89             routerExternal = false;
90         }
91         if (providerNetworkType == null) {
92             providerNetworkType = "flat";
93         }
94     }
95
96     public String getID() { return networkUUID; }
97
98     public void setID(String id) { this.networkUUID = id; }
99
100     public String getNetworkUUID() {
101         return networkUUID;
102     }
103
104     public void setNetworkUUID(String networkUUID) {
105         this.networkUUID = networkUUID;
106     }
107
108     public String getNetworkName() {
109         return networkName;
110     }
111
112     public void setNetworkName(String networkName) {
113         this.networkName = networkName;
114     }
115
116     public boolean isAdminStateUp() {
117         return adminStateUp;
118     }
119
120     public Boolean getAdminStateUp() { return adminStateUp; }
121
122     public void setAdminStateUp(boolean newValue) {
123         adminStateUp = newValue;
124     }
125
126     public boolean isShared() { return shared; }
127
128     public Boolean getShared() { return shared; }
129
130     public void setShared(boolean newValue) {
131         shared = newValue;
132     }
133
134     public String getTenantID() {
135         return tenantID;
136     }
137
138     public void setTenantID(String tenantID) {
139         this.tenantID = tenantID;
140     }
141
142     public boolean isRouterExternal() { return routerExternal; }
143
144     public Boolean getRouterExternal() { return routerExternal; }
145
146     public void setRouterExternal(boolean newValue) {
147         routerExternal = newValue;
148     }
149
150     public String getProviderNetworkType() {
151         return providerNetworkType;
152     }
153
154     public void setProviderNetworkType(String providerNetworkType) {
155         this.providerNetworkType = providerNetworkType;
156     }
157
158     public String getProviderPhysicalNetwork() {
159         return providerPhysicalNetwork;
160     }
161
162     public void setProviderPhysicalNetwork(String providerPhysicalNetwork) {
163         this.providerPhysicalNetwork = providerPhysicalNetwork;
164     }
165
166     public String getProviderSegmentationID() {
167         return providerSegmentationID;
168     }
169
170     public void setProviderSegmentationID(String providerSegmentationID) {
171         this.providerSegmentationID = providerSegmentationID;
172     }
173
174     public String getStatus() {
175         return status;
176     }
177
178     public void setStatus(String status) {
179         this.status = status;
180     }
181
182     public void setSegments(List<NeutronNetwork_Segment> segments) {
183         this.segments = segments;
184     }
185
186     public List<NeutronNetwork_Segment> getSegments() {
187         return segments;
188     }
189
190     public Boolean getVlanTransparent() {
191         return vlanTransparent;
192     }
193
194     public void setVlanTransparent(Boolean input) {
195         this.vlanTransparent = input;
196     }
197
198     public Integer getMtu() {
199         return mtu;
200     }
201
202     public void setMtu(Integer input) {
203         mtu = input;
204     }
205
206     /**
207      * This method copies selected fields from the object and returns them
208      * as a new object, suitable for marshaling.
209      *
210      * @param fields
211      *            List of attributes to be extracted
212      * @return an OpenStackNetworks object with only the selected fields
213      * populated
214      */
215
216     public NeutronNetwork extractFields(List<String> fields) {
217         NeutronNetwork ans = new NeutronNetwork();
218         for (String s : fields) {
219             switch (s) {
220                 case "id":
221                     ans.setNetworkUUID(this.getNetworkUUID());
222                     break;
223                 case "name":
224                     ans.setNetworkName(this.getNetworkName());
225                     break;
226                 case "admin_state_up":
227                     ans.setAdminStateUp(adminStateUp);
228                     break;
229                 case "status":
230                     ans.setStatus(this.getStatus());
231                     break;
232                 case "shared":
233                     ans.setShared(shared);
234                     break;
235                 case "tenant_id":
236                     ans.setTenantID(this.getTenantID());
237                     break;
238                 case "external":
239                     ans.setRouterExternal(this.getRouterExternal());
240                     break;
241                 case "segmentation_id":
242                     ans.setProviderSegmentationID(this.getProviderSegmentationID());
243                     break;
244                 case "physical_network":
245                     ans.setProviderPhysicalNetwork(this.getProviderPhysicalNetwork());
246                     break;
247                 case "network_type":
248                     ans.setProviderNetworkType(this.getProviderNetworkType());
249                     break;
250             }
251         }
252         return ans;
253     }
254
255     @Override
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 + "]";
262     }
263 }
264