package com.bocloud.cmp.provider.f5;

import com.bocloud.cmp.model.f5.VirtualServerModel;
import com.bocloud.cmp.provider.SuperProvider;
import com.bocloud.common.model.BocloudResult;

/**
 * f5 VirtualServer操作服务接口
 *
 * @author liuyuanyuan
 */
public interface VirtualServerProvider extends SuperProvider {
    /**
     * VirtualServer列表
     *
     * @return
     */
    public BocloudResult list();

    /**
     * 获取VirtualServer状态
     *
     * @param vsName
     * @return
     */
    public BocloudResult stats(String vsName);

    /**
     * 创建VirtualServer
     *
     * @param virtualServerModel
     * @param
     */
    public BocloudResult create(VirtualServerModel virtualServerModel);

    /**
     * 更新VirtualServer
     *
     * @param virtualServerModel
     * @return
     */
    public BocloudResult update(VirtualServerModel virtualServerModel);

    /**
     * 删除VirtualServer
     *
     * @param name
     * @return
     */
    public BocloudResult remove(String name);

    /**
     * 获取virtual server关联的profiles
     *
     * @param vsName
     * @return
     */
    public BocloudResult getProfiles(String vsName);
}
