package com.bocloud.cmp.provider.common;

import java.util.List;

import com.bocloud.cmp.model.FlavorModel;
import com.bocloud.cmp.provider.SuperProvider;
import com.bocloud.common.model.BocloudResult;

public interface FlavorProvider extends SuperProvider {
	/**
	 * 同步
	 *
	 * @return
	 */
	public BocloudResult sync();

	/**
	 * 创建配置
	 *
	 * @param flavor
	 * @return
	 */
	public BocloudResult create(FlavorModel flavor);

	/**
	 * 删除配置
	 *
	 * @param flavorId
	 * @return
	 */
	public BocloudResult remove(String flavorId);

	/**
	 * 修改配置
	 *
	 * @param flavorModel
	 * @return
	 */
	public BocloudResult update(FlavorModel flavorModel);

	/**
	 * 配置详情
	 *
	 * @param flavorUuid
	 * @return
	 */
	default public BocloudResult get(String flavorUuid) {
		return null;
	}

	/**
	 * 查询可用域下的规格
	 *
	 * @param zone
	 * @return
	 */
	default BocloudResult list(String zone) {
		return null;
	}

	default BocloudResult listUsedFlavors(String instanceId) {
		return null;
	}
}
