package com.bocloud.cmp.provider.compute;

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

/**
 * hmc宿主机操作服务接口
 *
 * @author lkx007
 */
public interface HmcHostProvider extends SuperProvider {
    /**
     * 获取powervc里面hmcs
     *
     * @return
     */
    BocloudResult list();

    /**
     * 获取powervc里面hmc的详情
     *
     * @param uuid
     * @return
     */
    BocloudResult get(String uuid);

    /**
     * 向powervc里添加hmc
     *
     * @param host
     * @return
     */
    BocloudResult create(HmcHostModel host);

    /**
     * 向powervc里修改hmc
     *
     * @param host
     * @return
     */
    BocloudResult modify(HmcHostModel host);

    /**
     * 从powervc里面移除hmc
     *
     * @param uuid
     * @return
     */
    BocloudResult delete(String uuid);

    /**
     * 查询指定hmc上的小型机器，即使该小型机尚未被Powervc管理或者已经通过其他Hmc连接管理
     *
     * @param uuid
     * @return
     */
    BocloudResult getHosts(String uuid);
}
