| // 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.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.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="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; | |
| } | |
| } |