package com.bocloud.cmp.provider.jumpserver;

import com.bocloud.cmp.model.jumpserver.Account;
import com.bocloud.cmp.model.jumpserver.Device;
import com.bocloud.cmp.model.jumpserver.Misc;
import com.bocloud.cmp.provider.SuperProvider;
import com.bocloud.common.model.BocloudResult;

public interface DeviceProvider extends SuperProvider {

    /**
     * 0 - 主机；1 - 网络资产；2 - 数据库；3 - 应用系统
     * @param deviceType
     * @return
     */
    default BocloudResult list(int deviceType, String name) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult list() {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult create(Device device) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult modify(Device device) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult remove(Device device) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult addAccount(Device device) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult detail(Device device) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult access(Long id, String protocol, String account, String userAgent, Misc misc) {
        return new BocloudResult(false, "need implement");
    }

    default BocloudResult accessClient(String type) {
        return new BocloudResult(false, "need implement");
    }
}
