package classic_restore_access

import "context"

type PrepareReq struct {
	BackupID       uint64
	BucketID       uint64
	RestoreID      string
	TrustedRoleARN string
}

type PrepareResp struct {
	SourceRoleARN string
	ExternalID    string
}

type CleanupReq struct {
	BucketID  uint64
	RestoreID string
}

type Model interface {
	Prepare(ctx context.Context, req *PrepareReq) (*PrepareResp, error)
	Cleanup(ctx context.Context, req *CleanupReq) error
	ReconcileExpired(ctx context.Context) error
}
