mirror of https://github.com/apache/cloudstack.git
124 lines
2.8 KiB
Java
124 lines
2.8 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;
|
|
|
|
import com.cloud.storage.Storage.ProvisioningType;
|
|
|
|
/**
|
|
* Represents a disk offering that specifies what the end user needs in
|
|
* the disk offering.
|
|
*
|
|
*/
|
|
public interface DiskOffering extends InfrastructureEntity, Identity, InternalIdentity {
|
|
enum State {
|
|
Inactive, Active,
|
|
}
|
|
|
|
public enum Type {
|
|
Disk, Service
|
|
};
|
|
|
|
State getState();
|
|
|
|
public enum DiskCacheMode {
|
|
NONE("none"), WRITEBACK("writeback"), WRITETHROUGH("writethrough");
|
|
|
|
private final String _diskCacheMode;
|
|
|
|
DiskCacheMode(String cacheMode) {
|
|
_diskCacheMode = cacheMode;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return _diskCacheMode;
|
|
}
|
|
};
|
|
|
|
String getUniqueName();
|
|
|
|
boolean getUseLocalStorage();
|
|
|
|
Long getDomainId();
|
|
|
|
String getName();
|
|
|
|
boolean getSystemUse();
|
|
|
|
String getDisplayText();
|
|
|
|
public ProvisioningType getProvisioningType();
|
|
|
|
public String getTags();
|
|
|
|
public String[] getTagsArray();
|
|
|
|
Date getCreated();
|
|
|
|
boolean isCustomized();
|
|
|
|
void setDiskSize(long diskSize);
|
|
|
|
long getDiskSize();
|
|
|
|
void setCustomizedIops(Boolean customizedIops);
|
|
|
|
Boolean isCustomizedIops();
|
|
|
|
void setMinIops(Long minIops);
|
|
|
|
Long getMinIops();
|
|
|
|
void setMaxIops(Long maxIops);
|
|
|
|
Long getMaxIops();
|
|
|
|
boolean isRecreatable();
|
|
|
|
void setBytesReadRate(Long bytesReadRate);
|
|
|
|
Long getBytesReadRate();
|
|
|
|
void setBytesWriteRate(Long bytesWriteRate);
|
|
|
|
Long getBytesWriteRate();
|
|
|
|
void setIopsReadRate(Long iopsReadRate);
|
|
|
|
Long getIopsReadRate();
|
|
|
|
void setIopsWriteRate(Long iopsWriteRate);
|
|
|
|
Long getIopsWriteRate();
|
|
|
|
void setHypervisorSnapshotReserve(Integer hypervisorSnapshotReserve);
|
|
|
|
Integer getHypervisorSnapshotReserve();
|
|
|
|
DiskCacheMode getCacheMode();
|
|
|
|
void setCacheMode(DiskCacheMode cacheMode);
|
|
|
|
Type getType();
|
|
}
|