package com.bocloud.cmp.provider.compute;

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

/**
 * aliyun 虚拟机模板
 *
 * @author ymh
 * @时间 2019年3月8日
 */
public interface ServerTemplateProvider extends SuperProvider {
    /**
     * 查询 模板列表
     *
     * @param serverTemplateModel
     * @return
     */
    BocloudResult list(ServerTemplateModel serverTemplateModel);

    /**
     * 创建模板
     *
     * @param serverTemplateModel
     * @return
     */
    BocloudResult create(ServerTemplateModel serverTemplateModel);

    /**
     * 删除
     *
     * @param serverTemplateModel
     * @return
     */
    BocloudResult remove(ServerTemplateModel serverTemplateModel);

    /**
     * 修改
     *
     * @param serverTemplateModel
     * @return
     */
    BocloudResult modify(ServerTemplateModel serverTemplateModel);

    /**
     * 新建模板版本
     *
     * @param serverTemplateVersionModel
     * @return
     */
    BocloudResult createTemplateVersion(ServerTemplateModel serverTemplateModel);

    /**
     * 删除模板版本
     *
     * @param serverTemplateModel
     * @return
     */
    BocloudResult removeTemplateVersion(ServerTemplateModel serverTemplateModel);

    /**
     * 修改默认版本
     *
     * @param serverTemplateModel
     * @return
     */
    BocloudResult modifyDefaultVersion(ServerTemplateModel serverTemplateModel);
}
