package repository

import (
	"context"

	"github.com/ocdp/cluster-service/internal/domain/entity"
)

// MetricsClient 定义获取集群监控指标的接口
type MetricsClient interface {
	// GetClusterMetrics 获取集群的监控指标
	GetClusterMetrics(ctx context.Context, clusterID string) (*entity.ClusterMetrics, error)

	// GetNodeMetrics 获取集群的节点指标
	GetNodeMetrics(ctx context.Context, clusterID string) ([]*entity.NodeMetrics, error)

	// GetPodResourceAllocations returns Pod requests/limits grouped by Pod.
	GetPodResourceAllocations(ctx context.Context, clusterID string) ([]*entity.PodResourceAllocation, error)
}
