blob: 9c888059d93c16c94630f744c53d09bbdc2862b3 [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.agent.api.to;
import java.net.URI;
import com.cloud.network.Networks.BroadcastDomainType;
import com.cloud.network.Networks.TrafficType;
/**
* Transfer object to transfer network settings.
*/
public class NetworkTO {
protected String uuid;
protected String ip;
protected String netmask;
protected String gateway;
protected String mac;
protected String dns1;
protected String dns2;
protected BroadcastDomainType broadcastType;
protected TrafficType type;
protected URI broadcastUri;
protected URI isolationUri;
protected boolean isSecurityGroupEnabled;
protected String name;
protected String ip6address;
protected String ip6cidr;
public NetworkTO() {
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public BroadcastDomainType getBroadcastType() {
return broadcastType;
}
public void setBroadcastType(BroadcastDomainType broadcastType) {
this.broadcastType = broadcastType;
}
public void setIp(String ip) {
this.ip = ip;
}
public void setIp6Address(String addr) {
this.ip6address = addr;
}
public void setIp6Cidr(String cidr) {
this.ip6cidr = cidr;
}
public void setNetmask(String netmask) {
this.netmask = netmask;
}
public void setGateway(String gateway) {
this.gateway = gateway;
}
public void setMac(String mac) {
this.mac = mac;
}
public void setDns1(String dns1) {
this.dns1 = dns1;
}
public void setDns2(String dns2) {
this.dns2 = dns2;
}
public void setType(TrafficType type) {
this.type = type;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setSecurityGroupEnabled(boolean enabled) {
this.isSecurityGroupEnabled = enabled;
}
/**
* This constructor is usually for hosts where the other information are not important.
*
* @param ip ip address
* @param netmask netmask
* @param mac mac address
*/
public NetworkTO(String ip, String netmask, String mac) {
this(ip, netmask, mac, null, null, null);
}
/**
* This is the full constructor and should be used for VM's network as it contains
* the full information about what is needed.
*
* @param ip
* @param ip6address
* @param vlan
* @param netmask
* @param mac
* @param gateway
* @param dns1
* @param dns2
*/
public NetworkTO(String ip, String netmask, String mac, String gateway, String dns1, String dns2) {
this.ip = ip;
this.netmask = netmask;
this.mac = mac;
this.gateway = gateway;
this.dns1 = dns1;
this.dns2 = dns2;
}
public NetworkTO(String ip, String netmask, String mac, String gateway, String dns1, String dns2, String ip6address,
String ip6cidr) {
this.ip = ip;
this.netmask = netmask;
this.mac = mac;
this.gateway = gateway;
this.dns1 = dns1;
this.dns2 = dns2;
this.ip6address = ip6address;
this.ip6cidr = ip6cidr;
}
public String getIp() {
return ip;
}
public String getIp6Address() {
return ip6address;
}
public String getIp6Cidr() {
return ip6cidr;
}
public String getNetmask() {
return netmask;
}
public String getGateway() {
return gateway;
}
public String getMac() {
return mac;
}
public String getDns1() {
return dns1;
}
public String getDns2() {
return dns2;
}
public TrafficType getType() {
return type;
}
public URI getBroadcastUri() {
return broadcastUri;
}
public void setBroadcastUri(URI broadcastUri) {
// only do this if the scheme needs aligning with the broadcastUri
if (broadcastUri != null && getBroadcastType() == null) {
setBroadcastType(BroadcastDomainType.getSchemeValue(broadcastUri));
}
this.broadcastUri = broadcastUri;
}
public URI getIsolationUri() {
return isolationUri;
}
public void setIsolationuri(URI isolationUri) {
this.isolationUri = isolationUri;
}
public boolean isSecurityGroupEnabled() {
return this.isSecurityGroupEnabled;
}
}