package com.bocloud.cmp.provider.compute;

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

import java.util.List;

/**
 * 计算主机操作服务接口
 *
 * @author lkx007
 */
public interface OsHostProvider extends SuperProvider {
    public BocloudResult get();

    public BocloudResult get(String hostName);

    public BocloudResult create(OsHost osHost);

    public BocloudResult delete(String hostName);

    /**
     * 管理小机上现有云主机
     *
     * @param hostName
     * @param serverUuids
     * @return
     */
    public BocloudResult onboard(String hostName, List<String> serverUuids);

    /**
     * 取消管理小机云主机
     *
     * @param hostName
     * @param serverUuids
     * @return
     */
    public BocloudResult unmanage(String hostName, List<String> serverUuids);

    /**
     * 查询小机上所有云主机
     *
     * @param hostName
     * @return
     */
    public BocloudResult allServers(String hostName);
}
