Files
grafana/pkg/tsdb/cloudwatch/service.go
Nathan Vērzemnieks a18ea34688 CloudWatch: Backport aws-sdk-go-v2 update from external plugin (#107136)
* CloudWatch: Backport aws-sdk-go-v2 update from external plugin

* Review feedback & cleaning up a couple typos
2025-06-26 15:56:50 +02:00

44 lines
1.2 KiB
Go

package cloudwatch
import (
"context"
"github.com/grafana/grafana-plugin-sdk-go/backend"
"github.com/grafana/grafana-plugin-sdk-go/backend/datasource"
"github.com/grafana/grafana-plugin-sdk-go/backend/instancemgmt"
)
func ProvideService() *Service {
return &Service{
datasource.NewInstanceManager(NewDatasource),
}
}
type Service struct {
im instancemgmt.InstanceManager
}
func (s *Service) CheckHealth(ctx context.Context, req *backend.CheckHealthRequest) (*backend.CheckHealthResult, error) {
instance, err := s.im.Get(ctx, req.PluginContext)
if err != nil {
return nil, err
}
return instance.(*DataSource).CheckHealth(ctx, req)
}
func (s *Service) CallResource(ctx context.Context, req *backend.CallResourceRequest, sender backend.CallResourceResponseSender) error {
instance, err := s.im.Get(ctx, req.PluginContext)
if err != nil {
return err
}
return instance.(*DataSource).CallResource(ctx, req, sender)
}
func (s *Service) QueryData(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error) {
instance, err := s.im.Get(ctx, req.PluginContext)
if err != nil {
return nil, err
}
return instance.(*DataSource).QueryData(ctx, req)
}