mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
550 lines
12 KiB
Java
550 lines
12 KiB
Java
// 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.util.Date;
|
|
|
|
import javax.persistence.Column;
|
|
import javax.persistence.Entity;
|
|
import javax.persistence.EnumType;
|
|
import javax.persistence.Enumerated;
|
|
import javax.persistence.Id;
|
|
import javax.persistence.Table;
|
|
import javax.persistence.Temporal;
|
|
import javax.persistence.TemporalType;
|
|
|
|
import org.apache.cloudstack.acl.IAMEntityType;
|
|
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
|
|
|
|
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
|
import com.cloud.server.ResourceTag.ResourceObjectType;
|
|
import com.cloud.storage.ScopeType;
|
|
import com.cloud.storage.Storage;
|
|
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
|
|
import com.cloud.template.VirtualMachineTemplate.State;
|
|
import com.cloud.utils.db.GenericDao;
|
|
|
|
@Entity
|
|
@Table(name = "template_view")
|
|
public class TemplateJoinVO extends BaseViewVO implements ControlledViewEntity {
|
|
|
|
@Id
|
|
@Column(name = "id")
|
|
private long id;
|
|
|
|
@Column(name = "uuid")
|
|
private String uuid;
|
|
|
|
@Column(name = "unique_name")
|
|
private String uniqueName;
|
|
|
|
@Column(name = "name")
|
|
private String name;
|
|
|
|
@Column(name = "format")
|
|
private Storage.ImageFormat format;
|
|
|
|
@Column(name = "public")
|
|
private boolean publicTemplate = true;
|
|
|
|
@Column(name = "featured")
|
|
private boolean featured;
|
|
|
|
@Column(name = "type")
|
|
private Storage.TemplateType templateType;
|
|
|
|
@Column(name = "url")
|
|
private String url = null;
|
|
|
|
@Column(name = "hvm")
|
|
private boolean requiresHvm;
|
|
|
|
@Column(name = "bits")
|
|
private int bits;
|
|
|
|
@Temporal(value = TemporalType.TIMESTAMP)
|
|
@Column(name = GenericDao.CREATED_COLUMN)
|
|
private Date created = null;
|
|
|
|
@Temporal(value = TemporalType.TIMESTAMP)
|
|
@Column(name = "created_on_store")
|
|
private Date createdOnStore = null;
|
|
|
|
@Column(name = GenericDao.REMOVED_COLUMN)
|
|
@Temporal(TemporalType.TIMESTAMP)
|
|
private Date removed;
|
|
|
|
@Column(name = "checksum")
|
|
private String checksum;
|
|
|
|
@Column(name = "display_text", length = 4096)
|
|
private String displayText;
|
|
|
|
@Column(name = "enable_password")
|
|
private boolean enablePassword;
|
|
|
|
@Column(name = "dynamically_scalable")
|
|
private boolean dynamicallyScalable;
|
|
|
|
@Column(name = "guest_os_id")
|
|
private long guestOSId;
|
|
|
|
@Column(name = "guest_os_uuid")
|
|
private String guestOSUuid;
|
|
|
|
@Column(name = "guest_os_name")
|
|
private String guestOSName;
|
|
|
|
@Column(name = "bootable")
|
|
private boolean bootable = true;
|
|
|
|
@Column(name = "prepopulate")
|
|
private boolean prepopulate = false;
|
|
|
|
@Column(name = "cross_zones")
|
|
private boolean crossZones = false;
|
|
|
|
@Column(name = "hypervisor_type")
|
|
@Enumerated(value = EnumType.STRING)
|
|
private HypervisorType hypervisorType;
|
|
|
|
@Column(name = "extractable")
|
|
private boolean extractable = true;
|
|
|
|
@Column(name = "source_template_id")
|
|
private Long sourceTemplateId;
|
|
|
|
@Column(name = "source_template_uuid")
|
|
private String sourceTemplateUuid;
|
|
|
|
@Column(name = "template_tag")
|
|
private String templateTag;
|
|
|
|
@Column(name = "sort_key")
|
|
private int sortKey;
|
|
|
|
@Column(name = "enable_sshkey")
|
|
private boolean enableSshKey;
|
|
|
|
@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")
|
|
private short 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;
|
|
|
|
@Column(name = "project_id")
|
|
private long projectId;
|
|
|
|
@Column(name = "project_uuid")
|
|
private String projectUuid;
|
|
|
|
@Column(name = "project_name")
|
|
private String projectName;
|
|
|
|
@Column(name = "data_center_id")
|
|
private long dataCenterId;
|
|
|
|
@Column(name = "data_center_uuid")
|
|
private String dataCenterUuid;
|
|
|
|
@Column(name = "data_center_name")
|
|
private String dataCenterName;
|
|
|
|
@Column(name = "store_scope")
|
|
@Enumerated(value = EnumType.STRING)
|
|
private ScopeType dataStoreScope;
|
|
|
|
@Column(name = "store_id")
|
|
private Long dataStoreId; // this can be null for baremetal templates
|
|
|
|
@Column(name = "download_state")
|
|
@Enumerated(EnumType.STRING)
|
|
private Status downloadState;
|
|
|
|
@Column(name = "download_pct")
|
|
private int downloadPercent;
|
|
|
|
@Column(name = "error_str")
|
|
private String errorString;
|
|
|
|
@Column(name = "size")
|
|
private long size;
|
|
|
|
@Column(name = "template_state")
|
|
@Enumerated(EnumType.STRING)
|
|
private State templateState;
|
|
|
|
@Column(name = "destroyed")
|
|
boolean destroyed = false;
|
|
|
|
@Column(name = "lp_account_id")
|
|
private Long sharedAccountId;
|
|
|
|
@Column(name = "detail_name")
|
|
private String detailName;
|
|
|
|
@Column(name = "detail_value")
|
|
private String detailValue;
|
|
|
|
@Column(name = "tag_id")
|
|
private long tagId;
|
|
|
|
@Column(name = "tag_uuid")
|
|
private String tagUuid;
|
|
|
|
@Column(name = "tag_key")
|
|
private String tagKey;
|
|
|
|
@Column(name = "tag_value")
|
|
private String tagValue;
|
|
|
|
@Column(name = "tag_domain_id")
|
|
private long tagDomainId;
|
|
|
|
@Column(name = "tag_account_id")
|
|
private long tagAccountId;
|
|
|
|
@Column(name = "tag_resource_id")
|
|
private long tagResourceId;
|
|
|
|
@Column(name = "tag_resource_uuid")
|
|
private String tagResourceUuid;
|
|
|
|
@Column(name = "tag_resource_type")
|
|
@Enumerated(value = EnumType.STRING)
|
|
private ResourceObjectType tagResourceType;
|
|
|
|
@Column(name = "tag_customer")
|
|
private String tagCustomer;
|
|
|
|
@Column(name = "state")
|
|
@Enumerated(EnumType.STRING)
|
|
ObjectInDataStoreStateMachine.State state;
|
|
|
|
@Column(name = "temp_zone_pair")
|
|
private String tempZonePair; // represent a distinct (templateId, data_center_id) pair
|
|
|
|
public TemplateJoinVO() {
|
|
}
|
|
|
|
@Override
|
|
public long getId() {
|
|
return id;
|
|
}
|
|
|
|
@Override
|
|
public String getUuid() {
|
|
return uuid;
|
|
}
|
|
|
|
public String getName() {
|
|
return name;
|
|
}
|
|
|
|
public Date getCreated() {
|
|
return created;
|
|
}
|
|
|
|
public Date getRemoved() {
|
|
return removed;
|
|
}
|
|
|
|
@Override
|
|
public long getAccountId() {
|
|
return accountId;
|
|
}
|
|
|
|
@Override
|
|
public String getAccountUuid() {
|
|
return accountUuid;
|
|
}
|
|
|
|
@Override
|
|
public String getAccountName() {
|
|
return accountName;
|
|
}
|
|
|
|
@Override
|
|
public short 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 long getProjectId() {
|
|
return projectId;
|
|
}
|
|
|
|
@Override
|
|
public String getProjectUuid() {
|
|
return projectUuid;
|
|
}
|
|
|
|
@Override
|
|
public String getProjectName() {
|
|
return projectName;
|
|
}
|
|
|
|
public boolean isExtractable() {
|
|
return extractable;
|
|
}
|
|
|
|
public Storage.TemplateType getTemplateType() {
|
|
return templateType;
|
|
}
|
|
|
|
public long getTagId() {
|
|
return tagId;
|
|
}
|
|
|
|
public String getTagUuid() {
|
|
return tagUuid;
|
|
}
|
|
|
|
public String getTagKey() {
|
|
return tagKey;
|
|
}
|
|
|
|
public String getTagValue() {
|
|
return tagValue;
|
|
}
|
|
|
|
public long getTagDomainId() {
|
|
return tagDomainId;
|
|
}
|
|
|
|
public long getTagAccountId() {
|
|
return tagAccountId;
|
|
}
|
|
|
|
public long getTagResourceId() {
|
|
return tagResourceId;
|
|
}
|
|
|
|
public String getTagResourceUuid() {
|
|
return tagResourceUuid;
|
|
}
|
|
|
|
public ResourceObjectType getTagResourceType() {
|
|
return tagResourceType;
|
|
}
|
|
|
|
public String getTagCustomer() {
|
|
return tagCustomer;
|
|
}
|
|
|
|
public long getDataCenterId() {
|
|
return dataCenterId;
|
|
}
|
|
|
|
public String getDataCenterUuid() {
|
|
return dataCenterUuid;
|
|
}
|
|
|
|
public String getDataCenterName() {
|
|
return dataCenterName;
|
|
}
|
|
|
|
public String getUniqueName() {
|
|
return uniqueName;
|
|
}
|
|
|
|
public boolean isPublicTemplate() {
|
|
return publicTemplate;
|
|
}
|
|
|
|
public boolean isFeatured() {
|
|
return featured;
|
|
}
|
|
|
|
public String getUrl() {
|
|
return url;
|
|
}
|
|
|
|
public boolean isRequiresHvm() {
|
|
return requiresHvm;
|
|
}
|
|
|
|
public int getBits() {
|
|
return bits;
|
|
}
|
|
|
|
public String getChecksum() {
|
|
return checksum;
|
|
}
|
|
|
|
public String getDisplayText() {
|
|
return displayText;
|
|
}
|
|
|
|
public boolean isEnablePassword() {
|
|
return enablePassword;
|
|
}
|
|
|
|
public boolean isDynamicallyScalable() {
|
|
return dynamicallyScalable;
|
|
}
|
|
|
|
public long getGuestOSId() {
|
|
return guestOSId;
|
|
}
|
|
|
|
public String getGuestOSUuid() {
|
|
return guestOSUuid;
|
|
}
|
|
|
|
public String getGuestOSName() {
|
|
return guestOSName;
|
|
}
|
|
|
|
public boolean isBootable() {
|
|
return bootable;
|
|
}
|
|
|
|
public boolean isPrepopulate() {
|
|
return prepopulate;
|
|
}
|
|
|
|
public boolean isCrossZones() {
|
|
return crossZones;
|
|
}
|
|
|
|
public HypervisorType getHypervisorType() {
|
|
return hypervisorType;
|
|
}
|
|
|
|
public Long getSourceTemplateId() {
|
|
return sourceTemplateId;
|
|
}
|
|
|
|
public String getSourceTemplateUuid() {
|
|
return sourceTemplateUuid;
|
|
}
|
|
|
|
public String getTemplateTag() {
|
|
return templateTag;
|
|
}
|
|
|
|
public int getSortKey() {
|
|
return sortKey;
|
|
}
|
|
|
|
public boolean isEnableSshKey() {
|
|
return enableSshKey;
|
|
}
|
|
|
|
public Status getDownloadState() {
|
|
return downloadState;
|
|
}
|
|
|
|
public long getSize() {
|
|
return size;
|
|
}
|
|
|
|
public boolean isDestroyed() {
|
|
return destroyed;
|
|
}
|
|
|
|
public Long getSharedAccountId() {
|
|
return sharedAccountId;
|
|
}
|
|
|
|
public String getDetailName() {
|
|
return detailName;
|
|
}
|
|
|
|
public String getDetailValue() {
|
|
return detailValue;
|
|
}
|
|
|
|
public Date getCreatedOnStore() {
|
|
return createdOnStore;
|
|
}
|
|
|
|
public Storage.ImageFormat getFormat() {
|
|
return format;
|
|
}
|
|
|
|
public int getDownloadPercent() {
|
|
return downloadPercent;
|
|
}
|
|
|
|
public String getErrorString() {
|
|
return errorString;
|
|
}
|
|
|
|
public Long getDataStoreId() {
|
|
return dataStoreId;
|
|
}
|
|
|
|
public ObjectInDataStoreStateMachine.State getState() {
|
|
return state;
|
|
}
|
|
|
|
public ScopeType getDataStoreScope() {
|
|
return dataStoreScope;
|
|
}
|
|
|
|
public String getTempZonePair() {
|
|
return tempZonePair;
|
|
}
|
|
|
|
public State getTemplateState() { return templateState; }
|
|
|
|
@Override
|
|
public IAMEntityType getEntityType() {
|
|
return IAMEntityType.VirtualMachineTemplate;
|
|
}
|
|
|
|
}
|