mirror of
https://github.com/grafana/grafana.git
synced 2025-07-28 22:52:20 +08:00

* CloudMigrations: Create resource dependency map to validate snapshot request * CloudMigrations: Validate resource types dependencies in create snapshot request * CloudMigrations: Update service interface to pass parsed resource types for creation * CloudMigrations: Conditionally append resource to snapshot if enabled * CloudMigrations: Add /cloudmigration/resources/dependencies endpoint * CloudMigrations: Properly filter dashboards and folders from snapshot
30 lines
1.5 KiB
Go
30 lines
1.5 KiB
Go
package cloudmigration
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/grafana/grafana/pkg/services/authapi"
|
|
"github.com/grafana/grafana/pkg/services/user"
|
|
)
|
|
|
|
type Service interface {
|
|
// GetToken Returns the cloud migration token if it exists.
|
|
GetToken(ctx context.Context) (authapi.TokenView, error)
|
|
// CreateToken Creates a cloud migration token.
|
|
CreateToken(ctx context.Context) (CreateAccessTokenResponse, error)
|
|
// ValidateToken Sends a request to GMS to test the token.
|
|
ValidateToken(ctx context.Context, mig CloudMigrationSession) error
|
|
DeleteToken(ctx context.Context, uid string) error
|
|
|
|
CreateSession(ctx context.Context, signedInUser *user.SignedInUser, req CloudMigrationSessionRequest) (*CloudMigrationSessionResponse, error)
|
|
GetSession(ctx context.Context, orgID int64, migUID string) (*CloudMigrationSession, error)
|
|
DeleteSession(ctx context.Context, orgID int64, signedInUser *user.SignedInUser, migUID string) (*CloudMigrationSession, error)
|
|
GetSessionList(ctx context.Context, orgID int64) (*CloudMigrationSessionListResponse, error)
|
|
|
|
CreateSnapshot(ctx context.Context, signedInUser *user.SignedInUser, cmd CreateSnapshotCommand) (*CloudMigrationSnapshot, error)
|
|
GetSnapshot(ctx context.Context, query GetSnapshotsQuery) (*CloudMigrationSnapshot, error)
|
|
GetSnapshotList(ctx context.Context, query ListSnapshotsQuery) ([]CloudMigrationSnapshot, error)
|
|
UploadSnapshot(ctx context.Context, orgID int64, signedInUser *user.SignedInUser, sessionUid string, snapshotUid string) error
|
|
CancelSnapshot(ctx context.Context, sessionUid string, snapshotUid string) error
|
|
}
|