| // 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; |
| } |
| } |