package com.bocloud.ims.interfaces.resource.kubernetes;

import com.bocloud.cmp.model.kubernetes.KubeNodeParam;
import com.bocloud.common.model.BocloudResult;
import com.bocloud.common.model.Pager;
import com.bocloud.common.model.RequestContext;
import com.bocloud.ims.entity.resource.kubernetes.KubeNode;

/**
 * 
 * @ClassName: KubeNodeService.java
 * @Description:
 *
 * @author: ymh
 * @date: 2021年4月21日 下午2:10:56
 */
public interface KubeNodeService {

	/**
	 * 列表
	 * 
	 * @param page   当前页
	 * @param rows   页码
	 * @param params 查询参数
	 * @param sorter 拍寻参数
	 * @return 满足条件的列表
	 */
	public BocloudResult list(Pager pager);

	/**
	 * 添加
	 * 
	 * @param node
	 * @param userId
	 * @return
	 */
	public BocloudResult create(KubeNode node, RequestContext context);

	/**
	 * 更新
	 * 
	 * @param node
	 * @param userId
	 * @return 操作结果
	 */
	public BocloudResult modify(KubeNodeParam kubeNodeParam, RequestContext context);

	/**
	 * 移除
	 * 
	 * @param id     ID
	 * @param userId 操作者ID
	 * @return 操作结果
	 */
	public BocloudResult remove(Long id, RequestContext context);

	/**
	 * 详细信息
	 * 
	 * @param id ID
	 * @return 详细信息
	 */
	public BocloudResult detail(Long id);

	/**
	 * 调度设置
	 * 
	 * @param id ID
	 * @return 详细信息
	 */
	public BocloudResult schedule(Long id, RequestContext context);

	/**
	 * 添加删除节点
	 * 
	 * @param params
	 * @param user
	 * @return
	 */
	public BocloudResult operation(String params, RequestContext context);

}
