package org.zstack.network.service.vip; import org.zstack.header.rest.APINoSee; import org.zstack.header.search.Inventory; import java.io.Serializable; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Collection; import java.util.List; /** * @inventory * inventory for vip * * @category vip * * @example *{ "inventory": { "uuid": "a6e0feb8191538f991672b6a1cb4fa17", "name": "vip", "ipRangeUuid": "6c620829bd8d4c948bfad3b64a12e00e", "l3NetworkUuid": "d0aff3c3e0104b089d90e7efebd84a7c", "ip": "192.168.1.50", "gateway": "192.168.1.1", "netmask": "255.255.255.0", "createDate": "May 13, 2014 10:25:06 PM", "lastOpDate": "May 13, 2014 10:25:06 PM" } } * @since 0.1.0 */ @Inventory(mappingVOClass = VipVO.class) public class VipInventory implements Serializable { /** * @desc vip uuid */ private String uuid; /** * @desc max length of 255 characters */ private String name; /** * @desc max length of 2048 characters */ private String description; /** * @ignore */ @APINoSee private String ipRangeUuid; /** * @desc uuid of l3Network this vip is on */ private String l3NetworkUuid; /** * @desc ip address in IPv4 */ private String ip; /** * @desc * @choices Enabled,Disabled */ private String state; /** * @desc gateway in IPv4 */ private String gateway; /** * @desc netmask in IPv4 */ private String netmask; /** * @desc service provider name that provides vip service */ private String serviceProvider; /** * @desc uuid of l3Network this vip used for. For example, when vip is used as Eip, the guest network is the peer network */ private String peerL3NetworkUuid; /** * @desc service name this vip used for. For example, PortForwarding */ private String useFor; @APINoSee private String usedIpUuid; /** * @desc the time this resource gets created */ private Timestamp createDate; /** * @desc last time this resource gets operated */ private Timestamp lastOpDate; public static VipInventory valueOf(VipVO vo) { VipInventory inv = new VipInventory(); inv.setName(vo.getName()); inv.setDescription(vo.getDescription()); inv.setCreateDate(vo.getCreateDate()); inv.setGateway(vo.getGateway()); inv.setIp(vo.getIp()); inv.setIpRangeUuid(vo.getIpRangeUuid()); inv.setServiceProvider(vo.getServiceProvider()); inv.setL3NetworkUuid(vo.getL3NetworkUuid()); inv.setLastOpDate(vo.getLastOpDate()); inv.setNetmask(vo.getNetmask()); inv.setUseFor(vo.getUseFor()); inv.setUuid(vo.getUuid()); inv.setPeerL3NetworkUuid(vo.getPeerL3NetworkUuid()); inv.setState(vo.getState().toString()); inv.setUsedIpUuid(vo.getUsedIpUuid()); return inv; } public static List<VipInventory> valueOf(Collection<VipVO> vos) { List<VipInventory> invs = new ArrayList<VipInventory>(vos.size()); for (VipVO vo : vos) { invs.add(VipInventory.valueOf(vo)); } return invs; } public String getUsedIpUuid() { return usedIpUuid; } public void setUsedIpUuid(String usedIpUuid) { this.usedIpUuid = usedIpUuid; } public String getState() { return state; } public void setState(String state) { this.state = state; } public String getPeerL3NetworkUuid() { return peerL3NetworkUuid; } public void setPeerL3NetworkUuid(String peerL3NetworkUuid) { this.peerL3NetworkUuid = peerL3NetworkUuid; } public String getUuid() { return uuid; } public void setUuid(String uuid) { this.uuid = uuid; } public String getServiceProvider() { return serviceProvider; } public void setServiceProvider(String serviceProvider) { this.serviceProvider = serviceProvider; } public String getUseFor() { return useFor; } public void setUseFor(String useFor) { this.useFor = useFor; } public Timestamp getCreateDate() { return createDate; } public void setCreateDate(Timestamp createDate) { this.createDate = createDate; } public Timestamp getLastOpDate() { return lastOpDate; } public void setLastOpDate(Timestamp lastOpDate) { this.lastOpDate = lastOpDate; } public String getIpRangeUuid() { return ipRangeUuid; } public void setIpRangeUuid(String ipRangeUuid) { this.ipRangeUuid = ipRangeUuid; } public String getL3NetworkUuid() { return l3NetworkUuid; } public void setL3NetworkUuid(String l3NetworkUuid) { this.l3NetworkUuid = l3NetworkUuid; } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public String getGateway() { return gateway; } public void setGateway(String gateway) { this.gateway = gateway; } public String getNetmask() { return netmask; } public void setNetmask(String netmask) { this.netmask = netmask; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } }