b49b103f42
* Add types for other repositories * Inject the types from extras * Fix go-lint * Fix typecheck * Add it to the tests --------- Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
25 lines
899 B
Go
25 lines
899 B
Go
package provisioning
|
|
|
|
import (
|
|
"context"
|
|
|
|
provisioning "github.com/grafana/grafana/pkg/apis/provisioning/v0alpha1"
|
|
"github.com/grafana/grafana/pkg/registry/apis/provisioning/jobs"
|
|
"github.com/grafana/grafana/pkg/registry/apis/provisioning/repository"
|
|
"k8s.io/apiserver/pkg/authorization/authorizer"
|
|
"k8s.io/apiserver/pkg/registry/rest"
|
|
"k8s.io/kube-openapi/pkg/spec3"
|
|
)
|
|
|
|
type Extra interface {
|
|
Authorize(ctx context.Context, a authorizer.Attributes) (decision authorizer.Decision, reason string, err error)
|
|
Mutate(ctx context.Context, r *provisioning.Repository) error
|
|
UpdateStorage(storage map[string]rest.Storage) error
|
|
PostProcessOpenAPI(oas *spec3.OpenAPI) error
|
|
GetJobWorkers() []jobs.Worker
|
|
AsRepository(ctx context.Context, r *provisioning.Repository) (repository.Repository, error)
|
|
RepositoryTypes() []provisioning.RepositoryType
|
|
}
|
|
|
|
type ExtraBuilder func(b *APIBuilder) Extra
|