// Copyright 2012 Citrix Systems, Inc. Licensed under the
// Apache License, Version 2.0 (the "License"); you may not use this
// file except in compliance with the License. Citrix Systems, Inc.
// reserves all rights not expressly granted by 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.
//
// Automatically generated by addcopyright.py at 04/03/2012
package com.cloud.template;
import java.util.Date;
import java.util.Map;
import com.cloud.acl.ControlledEntity;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.Storage.TemplateType;
public interface VirtualMachineTemplate extends ControlledEntity {
public static enum BootloaderType {
PyGrub, HVM, External, CD
};
public enum TemplateFilter {
featured, // returns templates that have been marked as featured and public
self, // returns templates that have been registered or created by the calling user
selfexecutable, // same as self, but only returns templates that are ready to be deployed with
sharedexecutable, // ready templates that have been granted to the calling user by another user
executable, // templates that are owned by the calling user, or public templates, that can be used to deploy a
community, // returns templates that have been marked as public but not featured
all // all templates (only usable by admins)
}
/**
* @return id.
*/
long getId();
boolean isFeatured();
/**
* @return public or private template
*/
boolean isPublicTemplate();
boolean isExtractable();
/**
* @return name
*/
String getName();
ImageFormat getFormat();
boolean isRequiresHvm();
String getDisplayText();
boolean getEnablePassword();
boolean getEnableSshKey();
boolean isCrossZones();
Date getCreated();
long getGuestOSId();
boolean isBootable();
TemplateType getTemplateType();
HypervisorType getHypervisorType();
int getBits();
String getUniqueName();
String getUrl();
String getChecksum();
Long getSourceTemplateId();
String getTemplateTag();
Map getDetails();
}