blob: 1be7583daf547df11c7e0c1d592f8576ca377f73 [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.api.query.vo;
import java.net.URI;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Convert;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Id;
import javax.persistence.Table;
import com.cloud.host.Status;
import com.cloud.hypervisor.Hypervisor;
import com.cloud.network.Network.GuestType;
import com.cloud.network.Networks.TrafficType;
import com.cloud.network.router.VirtualRouter;
import com.cloud.network.router.VirtualRouter.RedundantState;
import com.cloud.resource.ResourceState;
import com.cloud.user.Account;
import com.cloud.utils.db.GenericDao;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachine.State;
import org.apache.cloudstack.util.HypervisorTypeConverter;
@Entity
@Table(name = "domain_router_view")
public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEntity {
@Id
@Column(name = "id", updatable = false, nullable = false)
private long id;
@Column(name = "name", updatable = false, nullable = false, length = 255)
private String name = null;
@Column(name = "account_id")
private long accountId;
@Column(name = "account_uuid")
private String accountUuid;
@Column(name = "account_name")
private String accountName = null;
@Column(name = "account_type")
@Enumerated(value = EnumType.ORDINAL)
private Account.Type accountType;
@Column(name = "domain_id")
private long domainId;
@Column(name = "domain_uuid")
private String domainUuid;
@Column(name = "domain_name")
private String domainName = null;
@Column(name = "domain_path")
private String domainPath = null;
/**
* Note that state is intentionally missing the setter. Any updates to
* the state machine needs to go through the DAO object because someone
* else could be updating it as well.
*/
@Enumerated(value = EnumType.STRING)
@Column(name = "state", updatable = true, nullable = false, length = 32)
private State state = null;
@Column(name = GenericDao.CREATED_COLUMN)
private Date created;
@Column(name = GenericDao.REMOVED_COLUMN)
private Date removed;
@Column(name = "instance_name", updatable = true, nullable = false)
private String instanceName;
@Column(name = "pod_id", updatable = true, nullable = false)
private Long podId;
@Column(name = "pod_uuid")
private String podUuid;
@Column(name = "data_center_id")
private long dataCenterId;
@Column(name = "data_center_uuid")
private String dataCenterUuid;
@Column(name = "data_center_name")
private String dataCenterName = null;
@Column(name = "cluster_id")
private long clusterId;
@Column(name = "dns1")
private String dns1 = null;
@Column(name = "dns2")
private String dns2 = null;
@Column(name = "ip6_dns1")
private String ip6Dns1 = null;
@Column(name = "ip6_dns2")
private String ip6Dns2 = null;
@Column(name = "host_id", updatable = true, nullable = true)
private Long hostId;
@Column(name = "host_uuid")
private String hostUuid;
@Column(name = "host_name", nullable = false)
private String hostName;
@Column(name = "host_status")
private Status hostStatus;
@Column(name = "host_resource_state")
private ResourceState hostResourceState;
@Column(name="hypervisor_type")
@Convert(converter = HypervisorTypeConverter.class)
private Hypervisor.HypervisorType hypervisorType;
@Column(name = "template_id", updatable = true, nullable = true, length = 17)
private long templateId;
@Column(name = "template_uuid")
private String templateUuid;
@Column(name = "service_offering_id")
private long serviceOfferingId;
@Column(name = "service_offering_uuid")
private String serviceOfferingUuid;
@Column(name = "service_offering_name")
private String serviceOfferingName;
@Column(name = "vpc_id")
private long vpcId;
@Column(name = "vpc_uuid")
private String vpcUuid;
@Column(name = "vpc_name")
private String vpcName;
@Column(name = "nic_id")
private long nicId;
@Column(name = "nic_uuid")
private String nicUuid;
@Column(name = "is_default_nic")
private boolean isDefaultNic;
@Column(name = "ip_address")
private String ipAddress;
@Column(name = "gateway")
private String gateway;
@Column(name = "netmask")
private String netmask;
@Column(name = "ip6_address")
private String ip6Address;
@Column(name = "ip6_gateway")
private String ip6Gateway;
@Column(name = "ip6_cidr")
private String ip6Cidr;
@Column(name = "mac_address")
private String macAddress;
@Column(name = "broadcast_uri")
private URI broadcastUri;
@Column(name = "isolation_uri")
private URI isolationUri;
@Column(name = "network_id")
private long networkId;
@Column(name = "network_uuid")
private String networkUuid;
@Column(name = "network_name")
private String networkName;
@Column(name = "network_domain")
private String networkDomain;
@Column(name = "traffic_type")
@Enumerated(value = EnumType.STRING)
private TrafficType trafficType;
@Column(name = "project_id")
private long projectId;
@Column(name = "project_uuid")
private String projectUuid;
@Column(name = "project_name")
private String projectName;
@Column(name = "job_id")
private Long jobId;
@Column(name = "job_uuid")
private String jobUuid;
@Column(name = "job_status")
private int jobStatus;
@Column(name = "uuid")
private String uuid;
@Column(name = "template_version")
private String templateVersion;
@Column(name = "scripts_version")
private String scriptsVersion;
@Column(name = "redundant_state")
@Enumerated(EnumType.STRING)
private RedundantState redundantState;
@Column(name = "is_redundant_router")
boolean isRedundantRouter;
@Column(name = "guest_type")
@Enumerated(value = EnumType.STRING)
private GuestType guestType;
@Column(name = "role")
@Enumerated(value = EnumType.STRING)
private VirtualRouter.Role role;
@Column(name = "software_version")
private String softwareVersion;
@Column(name = "mtu")
private Integer mtu;
public DomainRouterJoinVO() {
}
@Override
public long getId() {
return id;
}
@Override
public String getUuid() {
return uuid;
}
public String getName() {
return name;
}
@Override
public long getAccountId() {
return accountId;
}
@Override
public String getAccountUuid() {
return accountUuid;
}
@Override
public String getAccountName() {
return accountName;
}
@Override
public Account.Type getAccountType() {
return accountType;
}
@Override
public long getDomainId() {
return domainId;
}
@Override
public String getDomainUuid() {
return domainUuid;
}
@Override
public String getDomainName() {
return domainName;
}
@Override
public String getDomainPath() {
return domainPath;
}
public State getState() {
return state;
}
public Date getCreated() {
return created;
}
public Date getRemoved() {
return removed;
}
public String getInstanceName() {
return instanceName;
}
public String getPodUuid() {
return podUuid;
}
public String getDataCenterUuid() {
return dataCenterUuid;
}
public String getDataCenterName() {
return dataCenterName;
}
public Long getHostId() {
return hostId;
}
public String getHostUuid() {
return hostUuid;
}
public String getHostName() {
return hostName;
}
public Status getHostStatus() {
return hostStatus;
}
public ResourceState getHostResourceState() {
return hostResourceState;
}
public Hypervisor.HypervisorType getHypervisorType() {
return hypervisorType;
}
public Long getClusterId() {
return clusterId;
}
public long getTemplateId() {
return templateId;
}
public String getTemplateUuid() {
return templateUuid;
}
public String getServiceOfferingUuid() {
return serviceOfferingUuid;
}
public String getServiceOfferingName() {
return serviceOfferingName;
}
public long getVpcId() {
return vpcId;
}
public String getVpcName() {
return vpcName;
}
public long getNicId() {
return nicId;
}
public boolean isDefaultNic() {
return isDefaultNic;
}
public String getIpAddress() {
return ipAddress;
}
public String getGateway() {
return gateway;
}
public String getNetmask() {
return netmask;
}
public String getMacAddress() {
return macAddress;
}
public URI getBroadcastUri() {
return broadcastUri;
}
public URI getIsolationUri() {
return isolationUri;
}
public long getNetworkId() {
return networkId;
}
public String getNetworkName() {
return networkName;
}
public String getNetworkDomain() {
return networkDomain;
}
public TrafficType getTrafficType() {
return trafficType;
}
public long getServiceOfferingId() {
return serviceOfferingId;
}
public long getProjectId() {
return projectId;
}
@Override
public String getProjectUuid() {
return projectUuid;
}
@Override
public String getProjectName() {
return projectName;
}
public String getVpcUuid() {
return vpcUuid;
}
public String getNicUuid() {
return nicUuid;
}
public String getNetworkUuid() {
return networkUuid;
}
public Long getJobId() {
return jobId;
}
public String getJobUuid() {
return jobUuid;
}
public int getJobStatus() {
return jobStatus;
}
public Long getPodId() {
return podId;
}
public long getDataCenterId() {
return dataCenterId;
}
public String getDns1() {
return dns1;
}
public String getDns2() {
return dns2;
}
public String getTemplateVersion() {
return templateVersion;
}
public String getScriptsVersion() {
return scriptsVersion;
}
public RedundantState getRedundantState() {
return redundantState;
}
public boolean isRedundantRouter() {
return isRedundantRouter;
}
public GuestType getGuestType() {
return guestType;
}
public String getIp6Address() {
return ip6Address;
}
public String getIp6Gateway() {
return ip6Gateway;
}
public String getIp6Cidr() {
return ip6Cidr;
}
public String getIp6Dns1() {
return ip6Dns1;
}
public String getIp6Dns2() {
return ip6Dns2;
}
public VirtualRouter.Role getRole() {
return role;
}
@Override
public Class<?> getEntityType() {
return VirtualMachine.class;
}
public String getSoftwareVersion() {
return softwareVersion;
}
public Integer getMtu() {
return mtu;
}
}