mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
143 lines
3.6 KiB
Java
143 lines
3.6 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.offering;
|
|
|
|
import java.util.Date;
|
|
|
|
import org.apache.cloudstack.acl.InfrastructureEntity;
|
|
import org.apache.cloudstack.api.Identity;
|
|
import org.apache.cloudstack.api.InternalIdentity;
|
|
|
|
/**
|
|
* offered.
|
|
*/
|
|
public interface ServiceOffering extends InfrastructureEntity, InternalIdentity, Identity {
|
|
static final String consoleProxyDefaultOffUniqueName = "Cloud.com-ConsoleProxy";
|
|
static final String ssvmDefaultOffUniqueName = "Cloud.com-SecondaryStorage";
|
|
static final String routerDefaultOffUniqueName = "Cloud.Com-SoftwareRouter";
|
|
static final String elbVmDefaultOffUniqueName = "Cloud.Com-ElasticLBVm";
|
|
static final String internalLbVmDefaultOffUniqueName = "Cloud.Com-InternalLBVm";
|
|
// leaving cloud.com references as these are identifyers and no real world addresses (check against DB)
|
|
|
|
enum State {
|
|
Inactive, Active,
|
|
}
|
|
|
|
enum StorageType {
|
|
local, shared
|
|
}
|
|
|
|
String getDisplayText();
|
|
|
|
Date getCreated();
|
|
|
|
/**
|
|
* @return user readable description
|
|
*/
|
|
String getName();
|
|
|
|
/**
|
|
* @return is this a system service offering
|
|
*/
|
|
boolean isSystemUse();
|
|
|
|
/**
|
|
* @return # of cpu.
|
|
*/
|
|
Integer getCpu();
|
|
|
|
/**
|
|
* @return speed in mhz
|
|
*/
|
|
Integer getSpeed();
|
|
|
|
/**
|
|
* @return ram size in megabytes
|
|
*/
|
|
Integer getRamSize();
|
|
|
|
/**
|
|
* @return Does this service plan offer HA?
|
|
*/
|
|
boolean isOfferHA();
|
|
|
|
/**
|
|
* @return Does this service plan offer VM to use CPU resources beyond the service offering limits?
|
|
*/
|
|
boolean getLimitCpuUse();
|
|
|
|
/**
|
|
* @return Does this service plan support Volatile VM that is, discard VM's root disk and create a new one on reboot?
|
|
*/
|
|
boolean isVolatileVm();
|
|
|
|
/**
|
|
* @return the rate in megabits per sec to which a VM's network interface is throttled to
|
|
*/
|
|
Integer getRateMbps();
|
|
|
|
/**
|
|
* @return the rate megabits per sec to which a VM's multicast&broadcast traffic is throttled to
|
|
*/
|
|
Integer getMulticastRateMbps();
|
|
|
|
/**
|
|
* @return tag that should be present on the host needed, optional parameter
|
|
*/
|
|
String getHostTag();
|
|
|
|
boolean getDefaultUse();
|
|
|
|
String getVmType();
|
|
|
|
String getDeploymentPlanner();
|
|
|
|
boolean isDynamic();
|
|
|
|
void setState(ServiceOffering.State state);
|
|
|
|
ServiceOffering.State getState();
|
|
|
|
void setName(String name);
|
|
|
|
String getUniqueName();
|
|
|
|
void setUniqueName(String uniqueName);
|
|
|
|
void setDisplayText(String displayText);
|
|
|
|
boolean isCustomized();
|
|
|
|
void setCustomized(boolean customized);
|
|
|
|
Date getRemoved();
|
|
|
|
void setRemoved(Date removed);
|
|
|
|
void setSortKey(int key);
|
|
|
|
int getSortKey();
|
|
|
|
Long getDiskOfferingId();
|
|
|
|
boolean isDynamicScalingEnabled();
|
|
|
|
Boolean getDiskOfferingStrictness();
|
|
|
|
void setDiskOfferingStrictness(boolean diskOfferingStrictness);
|
|
}
|