blob: cbaeefffc6493b03b3183a92421181f62c68e6b3 [file] [log] [blame]
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
package com.cloud.network.bigswitch;
import java.util.ArrayList;
import java.util.List;
import com.cloud.network.bigswitch.AttachmentData.Attachment.IpAddress;
import com.cloud.network.bigswitch.NetworkData.AttachmentInfo;
import com.cloud.network.bigswitch.NetworkData.Segment;
import com.cloud.network.bigswitch.NetworkData.SegmentInfo;
import com.cloud.network.bigswitch.RouterData.Router;
import com.google.gson.annotations.SerializedName;
public class TopologyData {
@SerializedName("networks") private final List<Network> networks;
@SerializedName("routers") private final List<Router> routers;
public void addNetwork(Network network) {
networks.add(network);
}
public void setNetworks(List<Network> networks) {
this.networks.clear();
this.networks.addAll(networks);
}
public void clearNetworks() {
this.networks.clear();
}
public void addRouter(Router router) {
routers.add(router);
}
public void setRouters(List<Router> routers) {
this.routers.clear();
this.routers.addAll(routers);
}
public void clearRouters() {
this.routers.clear();
}
public TopologyData() {
networks = new ArrayList<Network>();
routers = new ArrayList<Router>();
}
public class Network {
@SerializedName("id") private String id;
@SerializedName("name") private String name;
@SerializedName("tenant_id") private String tenantId;
@SerializedName("tenant_name") private String tenantName;
@SerializedName("provider:segmentation_id") private Integer vlan = null;
@SerializedName("state") private String state;
@SerializedName("ports") private List<Port> ports;
@SerializedName("subnets") private List<Segment> segments;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public String getTenantName() {
return tenantName;
}
public void setTenantName(String tenantName) {
this.tenantName = tenantName;
}
public Integer getVlan() {
return vlan;
}
public void setVlan(Integer vlan) {
this.vlan = vlan;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public List<Port> getPorts() {
return ports;
}
public void setPorts(List<Port> ports) {
this.ports = ports;
}
public List<Segment> getSegments() {
return segments;
}
public void setSegments(List<Segment> segments) {
this.segments = segments;
}
@Override
public String toString() {
return "Network [id=" + id + ", name=" + name + ", tenantId="
+ tenantId + ", tenantName=" + tenantName + ", vlan="
+ vlan + ", state=" + state + ", ports=" + ports
+ ", segments=" + segments + "]";
}
}
public class Port {
@SerializedName("attachment") private AttachmentInfo attachment;
@SerializedName("binding:host_id") private String hostId;
@SerializedName("bound_segment") private SegmentInfo segmentInfo;
@SerializedName("device_owner") private String owner;
@SerializedName("fixed_ips") private List<IpAddress> ipAddresses;
@SerializedName("id") private String id;
@SerializedName("mac_address") private String mac;
@SerializedName("network") private NetworkData.Network network;
@SerializedName("state") private String state;
@SerializedName("tenant_id") private String tenantId;
@SerializedName("tenant_name") private String tenantName;
public AttachmentInfo getAttachment() {
return attachment;
}
public void setAttachmentInfo(AttachmentInfo attachment) {
this.attachment = attachment;
}
public String getHostId() {
return hostId;
}
public void setHostId(String hostId) {
this.hostId = hostId;
}
public SegmentInfo getSegmentInfo() {
return segmentInfo;
}
public void setSegmentInfo(SegmentInfo segmentInfo) {
this.segmentInfo = segmentInfo;
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
public List<IpAddress> getIpAddresses() {
return ipAddresses;
}
public void setIpAddresses(List<IpAddress> ipAddresses) {
this.ipAddresses = ipAddresses;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getMac() {
return mac;
}
public void setMac(String mac) {
this.mac = mac;
}
public NetworkData.Network getNetwork() {
return network;
}
public void setNetwork(NetworkData.Network network) {
this.network = network;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public String getTenantName() {
return tenantName;
}
public void setTenantName(String tenantName) {
this.tenantName = tenantName;
}
}
public List<Network> getNetworks() {
return networks;
}
public List<Router> getRouters() {
return routers;
}
@Override
public String toString() {
return "TopologyData [networks=" + networks + ", routers=" + routers
+ "]";
}
}