omics

package
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 3, 2026 License: MIT Imports: 25 Imported by: 0

README

HealthOmics

Parity grade: A · SDK aws-sdk-go-v2/service/omics@v1.45.0 · last audited 2026-07-23 (42cff5ce)

Coverage

Metric Value
Feature families 25 (24 ok, 1 other)
Known gaps 3
Deferred items 1
Resource leaks clean
Known gaps
  • RunBatch's real body shape (BatchRunSettings/DefaultRunSetting on create, RunSummary/SubmissionSummary/TotalRuns/Uuid/FailedTime/ProcessedTime/SubmittedTime on get) is not modeled at all -- StartRunBatch never creates the batch's constituent runs. This is a full re-architecture of the RunBatch family, out of scope for this pass; see the RunBatch family note. Needs a new bd issue.
  • ListAnnotationStores/ListVariantStores (status + ids), ListAnnotationStoreVersions (status), and ListShares (resourceArns/status/resourceTypes) still don't apply their own real AWS filter/ids body fields -- same silent-no-op gap class as jxc5 but these 4 ops weren't in that ticket's named list, so they were left for a follow-up pass. Needs a new bd issue.
  • RunBatchFilter.RunGroupID (ListBatch) and RunsInBatchFilter.RunSettingID/SubmissionStatus (ListRunsInBatch) are accepted from the query string for wire compatibility but not applied -- this backend has no run-group-of-a-batch's-runs association or per-run submission-status/run-setting-ID concept, both downstream of the RunBatch body-shape gap above.
Deferred
  • Field-by-field diff of ReferenceMetadata/ReadSetMetadata optional sub-object fields (Files/ReferenceFiles, CreationJobId, CreationType, Etag, SequenceInformation) against the SDK model -- MD5/fileType (top-level scalars) are now confirmed correct; the sub-objects remain unpopulated but are optional/pointer-safe on the wire

More

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNotFound is returned when a resource does not exist.
	ErrNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrAlreadyExists is returned when a resource already exists.
	ErrAlreadyExists = awserr.New(errConflict, awserr.ErrAlreadyExists)
	// ErrValidation is returned on invalid input.
	ErrValidation = awserr.New(errValidation, awserr.ErrInvalidParameter)
	// ErrInvalidState is returned when a resource is not in the state
	// required for the requested operation (e.g. deleting a RunBatch that
	// hasn't reached a terminal status).
	ErrInvalidState = awserr.New(errConflict, awserr.ErrConflict)
)
View Source
var ErrNilAppContext = errors.New("omics: nil app context")

ErrNilAppContext is returned when Init is called with a nil AppContext.

Functions

func WithRegion

func WithRegion(ctx context.Context, region string) context.Context

WithRegion returns a context with the given region set.

Types

type AnnotationImportItem

type AnnotationImportItem struct {
	Source string `json:"source"`
}

AnnotationImportItem is a source item for an annotation import job.

type AnnotationImportJob

type AnnotationImportJob struct {
	CreationTime    time.Time              `json:"creationTime"`
	CompletionTime  *time.Time             `json:"completionTime,omitempty"`
	ID              string                 `json:"id"`
	DestinationName string                 `json:"destinationName"`
	RoleARN         string                 `json:"roleArn"`
	Status          string                 `json:"status"`
	Items           []AnnotationImportItem `json:"items"`
}

AnnotationImportJob represents an annotation import job.

type AnnotationStore

type AnnotationStore struct {
	CreationTime time.Time         `json:"creationTime"`
	UpdateTime   time.Time         `json:"updateTime"`
	Reference    map[string]any    `json:"reference,omitempty"`
	SseConfig    map[string]any    `json:"sseConfig,omitempty"`
	StoreOptions map[string]any    `json:"storeOptions,omitempty"`
	Tags         map[string]string `json:"tags"`
	Arn          string            `json:"arn"`
	ID           string            `json:"id"`
	Name         string            `json:"name"`
	Description  string            `json:"description"`
	StoreFormat  string            `json:"storeFormat"`
	Status       string            `json:"status"`
	// contains filtered or unexported fields
}

AnnotationStore represents an HealthOmics annotation store.

type AnnotationStoreVersion

type AnnotationStoreVersion struct {
	CreationTime time.Time         `json:"creationTime"`
	UpdateTime   time.Time         `json:"updateTime"`
	Tags         map[string]string `json:"tags"`
	Arn          string            `json:"arn"`
	StoreID      string            `json:"storeId"`
	StoreName    string            `json:"storeName"`
	VersionName  string            `json:"versionName"`
	Description  string            `json:"description"`
	Status       string            `json:"status"`
}

AnnotationStoreVersion represents a version of an annotation store.

type Configuration

type Configuration struct {
	CreationTime time.Time `json:"creationTime"`
	Name         string    `json:"name"`
	Description  string    `json:"description"`
	Value        string    `json:"value"`
}

Configuration represents an HealthOmics configuration.

type ConfigurationDetails added in v1.2.0

type ConfigurationDetails struct {
	Arn  string `json:"arn,omitempty"`
	Name string `json:"name,omitempty"`
	UUID string `json:"uuid,omitempty"`
}

ConfigurationDetails describes the configuration used for a workflow run (real AWS ConfigurationDetails: arn/name/uuid of the Configuration used).

type Handler

type Handler struct {
	Backend StorageBackend
}

Handler handles HealthOmics HTTP requests.

func NewHandler

func NewHandler(b StorageBackend) *Handler

NewHandler constructs a new Handler.

func (*Handler) ExtractOperation

func (h *Handler) ExtractOperation(c *echo.Context) string

ExtractOperation extracts the operation from the request.

func (*Handler) ExtractResource

func (h *Handler) ExtractResource(c *echo.Context) string

ExtractResource extracts the resource identifier.

func (*Handler) GetSupportedOperations

func (h *Handler) GetSupportedOperations() []string

GetSupportedOperations returns all supported operation names, derived from the same opDispatch table handleREST dispatches through -- the two can never drift out of sync.

func (*Handler) Handler

func (h *Handler) Handler() echo.HandlerFunc

Handler returns the Echo handler function.

func (*Handler) MatchPriority

func (h *Handler) MatchPriority() int

MatchPriority returns the routing priority.

func (*Handler) Name

func (h *Handler) Name() string

Name returns the service name.

func (*Handler) Reset

func (h *Handler) Reset()

Reset resets the backend.

func (*Handler) Restore

func (h *Handler) Restore(ctx context.Context, data []byte) error

Restore implements persistence.Persistable by delegating to the backend.

func (*Handler) RouteMatcher

func (h *Handler) RouteMatcher() service.Matcher

RouteMatcher returns a matcher for HealthOmics REST paths.

func (*Handler) Snapshot

func (h *Handler) Snapshot(ctx context.Context) []byte

Snapshot implements persistence.Persistable by delegating to the backend.

type ImportJobFilter added in v1.2.0

type ImportJobFilter struct {
	Status    string
	StoreName string
}

ImportJobFilter is filter criteria shared by ListAnnotationImportJobs and ListVariantImportJobs (status + owning store name).

type InMemoryBackend

type InMemoryBackend struct {
	// contains filtered or unexported fields
}

InMemoryBackend is the in-memory backend for HealthOmics.

Every resource collection that carries its own identity field (ID, Name, or ShareID) is a directly keyed store.Table; every collection that was previously nested by a parent store/workflow/run/annotation-store is a store.Table keyed by the composite "parent|id" string (see parentKey), with a companion store.Index grouping entries by parent for per-parent scans -- the same pattern services/emr and services/codeartifact use for their region-nested resources. HealthOmics's "region" dimension itself was never actually exercised (every pre-refactor call site read/wrote b.region(b.defaultRegion) only -- WithRegion's context value never reached a lookup), so unlike emr/codeartifact no region qualifier is threaded through these keys; only the genuine parent/child nesting is preserved.

uploadParts (order-sensitive: part listing walks it in append order, not sorted order), uploadPartData/readSetBytes/referenceBytes (raw []byte values, not *V), and tags (map[string]string values, not *V) are not eligible for store.Table and remain plain nested maps. Field order below is deliberate: it was determined by running fieldalignment -fix on an isolated scratch copy of this struct (never directly on this package -- see the fieldalignment hazard note in .claude/memories/parity-principles.md-adjacent process docs) and then hand-applied here. It shaves 8 pointer-bytes of padding off the struct; do not reorder without re-checking on a scratch copy.

func NewInMemoryBackend

func NewInMemoryBackend(accountID, region string) *InMemoryBackend

NewInMemoryBackend creates a new InMemoryBackend.

func (*InMemoryBackend) AbortMultipartReadSetUpload

func (b *InMemoryBackend) AbortMultipartReadSetUpload(sequenceStoreID, uploadID string) error

AbortMultipartReadSetUpload aborts a multipart read set upload.

func (*InMemoryBackend) AcceptShare

func (b *InMemoryBackend) AcceptShare(shareID string) (*Share, error)

AcceptShare accepts a share invitation.

func (*InMemoryBackend) AccountID

func (b *InMemoryBackend) AccountID() string

AccountID returns the account ID.

func (*InMemoryBackend) BatchDeleteReadSet

func (b *InMemoryBackend) BatchDeleteReadSet(
	sequenceStoreID string,
	ids []string,
) ([]ReadSetBatchError, error)

BatchDeleteReadSet deletes multiple read sets.

func (*InMemoryBackend) CancelAnnotationImportJob

func (b *InMemoryBackend) CancelAnnotationImportJob(jobID string) error

CancelAnnotationImportJob cancels an annotation import job.

func (*InMemoryBackend) CancelRun

func (b *InMemoryBackend) CancelRun(id string) error

CancelRun cancels a run.

func (*InMemoryBackend) CancelRunBatch

func (b *InMemoryBackend) CancelRunBatch(id string) error

CancelRunBatch cancels a run batch.

func (*InMemoryBackend) CancelVariantImportJob

func (b *InMemoryBackend) CancelVariantImportJob(jobID string) error

CancelVariantImportJob cancels a variant import job.

func (*InMemoryBackend) CompleteMultipartReadSetUpload

func (b *InMemoryBackend) CompleteMultipartReadSetUpload(
	sequenceStoreID, uploadID string,
) (*ReadSetMetadata, error)

CompleteMultipartReadSetUpload completes a multipart read set upload.

func (*InMemoryBackend) CreateAnnotationStore

func (b *InMemoryBackend) CreateAnnotationStore(
	name, storeFormat string,
	reference, sseConfig, storeOptions map[string]any,
	tags map[string]string,
) (*AnnotationStore, error)

CreateAnnotationStore creates a new annotation store.

func (*InMemoryBackend) CreateAnnotationStoreVersion

func (b *InMemoryBackend) CreateAnnotationStoreVersion(
	name, versionName, description string,
	tags map[string]string,
) (*AnnotationStoreVersion, error)

CreateAnnotationStoreVersion creates a version of an annotation store.

func (*InMemoryBackend) CreateConfiguration

func (b *InMemoryBackend) CreateConfiguration(name, description string) (*Configuration, error)

CreateConfiguration creates a configuration.

func (*InMemoryBackend) CreateMultipartReadSetUpload

func (b *InMemoryBackend) CreateMultipartReadSetUpload(
	sequenceStoreID, name, sourceFileType, sampleID, subjectID, generatedFrom, referenceARN, description string,
	tags map[string]string,
) (*MultipartReadSetUpload, error)

CreateMultipartReadSetUpload creates a multipart read set upload.

func (*InMemoryBackend) CreateReferenceStore

func (b *InMemoryBackend) CreateReferenceStore(
	name, description string,
	tags map[string]string,
) (*ReferenceStore, error)

CreateReferenceStore creates a new reference store.

func (*InMemoryBackend) CreateRunCache

func (b *InMemoryBackend) CreateRunCache(
	name, cacheS3Location string,
	tags map[string]string,
) (*RunCache, error)

CreateRunCache creates a new run cache.

func (*InMemoryBackend) CreateRunGroup

func (b *InMemoryBackend) CreateRunGroup(
	name string,
	maxCPUs, maxRuns, maxDuration int,
	maxGPUs int,
	tags map[string]string,
) (*RunGroup, error)

CreateRunGroup creates a new run group.

func (*InMemoryBackend) CreateSequenceStore

func (b *InMemoryBackend) CreateSequenceStore(
	name, description string,
	tags map[string]string,
) (*SequenceStore, error)

CreateSequenceStore creates a new sequence store.

func (*InMemoryBackend) CreateShare

func (b *InMemoryBackend) CreateShare(
	resourceARN, principalSubscriber, name string,
) (*Share, error)

CreateShare creates a new resource share.

func (*InMemoryBackend) CreateVariantStore

func (b *InMemoryBackend) CreateVariantStore(
	name string,
	reference map[string]any,
	tags map[string]string,
) (*VariantStore, error)

CreateVariantStore creates a new variant store.

func (*InMemoryBackend) CreateWorkflow

func (b *InMemoryBackend) CreateWorkflow(
	name, description, _, _, engine string,
	tags map[string]string,
) (*Workflow, error)

CreateWorkflow creates a new workflow.

func (*InMemoryBackend) CreateWorkflowVersion

func (b *InMemoryBackend) CreateWorkflowVersion(
	workflowID, versionName, description string,
	tags map[string]string,
) (*WorkflowVersion, error)

CreateWorkflowVersion creates a new workflow version.

func (*InMemoryBackend) DeleteAnnotationStore

func (b *InMemoryBackend) DeleteAnnotationStore(name string) (*AnnotationStore, error)

DeleteAnnotationStore deletes an annotation store.

func (*InMemoryBackend) DeleteAnnotationStoreVersions

func (b *InMemoryBackend) DeleteAnnotationStoreVersions(
	name string,
	versionNames []string,
) ([]VersionDeleteError, error)

DeleteAnnotationStoreVersions deletes one or more annotation store versions.

func (*InMemoryBackend) DeleteConfiguration

func (b *InMemoryBackend) DeleteConfiguration(name string) error

DeleteConfiguration deletes a configuration.

func (*InMemoryBackend) DeleteReference

func (b *InMemoryBackend) DeleteReference(referenceStoreID, id string) error

DeleteReference deletes a reference by store ID and reference ID.

func (*InMemoryBackend) DeleteReferenceStore

func (b *InMemoryBackend) DeleteReferenceStore(id string) error

DeleteReferenceStore deletes a reference store by ID.

func (*InMemoryBackend) DeleteRun

func (b *InMemoryBackend) DeleteRun(id string) error

DeleteRun deletes a run.

func (*InMemoryBackend) DeleteRunBatch

func (b *InMemoryBackend) DeleteRunBatch(id string) error

DeleteRunBatch deletes a single run batch resource (real AWS DeleteBatch semantics). Real AWS requires the batch to already be in a terminal state (PROCESSED/FAILED/CANCELLED/RUNS_DELETED) before it will delete the batch metadata; attempting to delete a batch still in progress returns a ConflictException.

func (*InMemoryBackend) DeleteRunCache

func (b *InMemoryBackend) DeleteRunCache(id string) error

DeleteRunCache deletes a run cache.

func (*InMemoryBackend) DeleteRunGroup

func (b *InMemoryBackend) DeleteRunGroup(id string) error

DeleteRunGroup deletes a run group.

func (*InMemoryBackend) DeleteRunsInBatch

func (b *InMemoryBackend) DeleteRunsInBatch(batchID string) error

DeleteRunsInBatch deletes the individual workflow runs that belong to a run batch (real DeleteRunBatch semantics: POST /runBatch/delete with a single batchId in the body). The run batch resource itself is left intact; use DeleteRunBatch (DELETE /runBatch/{batchId}, real DeleteBatch semantics) to remove the batch metadata afterward.

func (*InMemoryBackend) DeleteS3AccessPolicy

func (b *InMemoryBackend) DeleteS3AccessPolicy(s3AccessPointARN string) error

DeleteS3AccessPolicy deletes an S3 access policy.

func (*InMemoryBackend) DeleteSequenceStore

func (b *InMemoryBackend) DeleteSequenceStore(id string) error

DeleteSequenceStore deletes a sequence store by ID.

func (*InMemoryBackend) DeleteShare

func (b *InMemoryBackend) DeleteShare(shareID string) (*Share, error)

DeleteShare deletes a share.

func (*InMemoryBackend) DeleteVariantStore

func (b *InMemoryBackend) DeleteVariantStore(name string) (*VariantStore, error)

DeleteVariantStore deletes a variant store.

func (*InMemoryBackend) DeleteWorkflow

func (b *InMemoryBackend) DeleteWorkflow(id string) error

DeleteWorkflow deletes a workflow.

func (*InMemoryBackend) DeleteWorkflowVersion

func (b *InMemoryBackend) DeleteWorkflowVersion(workflowID, versionName string) error

DeleteWorkflowVersion deletes a workflow version.

func (*InMemoryBackend) GetAnnotationImportJob

func (b *InMemoryBackend) GetAnnotationImportJob(jobID string) (*AnnotationImportJob, error)

GetAnnotationImportJob retrieves an annotation import job.

func (*InMemoryBackend) GetAnnotationStore

func (b *InMemoryBackend) GetAnnotationStore(name string) (*AnnotationStore, error)

GetAnnotationStore retrieves an annotation store, advancing CREATING→ACTIVE on first poll (real AnnotationStoreCreatedWaiter clients poll until Status == ACTIVE).

func (*InMemoryBackend) GetAnnotationStoreVersion

func (b *InMemoryBackend) GetAnnotationStoreVersion(
	name, versionName string,
) (*AnnotationStoreVersion, error)

GetAnnotationStoreVersion retrieves an annotation store version.

func (*InMemoryBackend) GetConfiguration

func (b *InMemoryBackend) GetConfiguration(name string) (*Configuration, error)

GetConfiguration retrieves a configuration.

func (*InMemoryBackend) GetReadSetActivationJob

func (b *InMemoryBackend) GetReadSetActivationJob(
	sequenceStoreID, jobID string,
) (*ReadSetActivationJob, error)

GetReadSetActivationJob retrieves a read set activation job.

func (*InMemoryBackend) GetReadSetBytes

func (b *InMemoryBackend) GetReadSetBytes(sequenceStoreID, id string) ([]byte, error)

GetReadSetBytes returns the stored binary body for a read set.

func (*InMemoryBackend) GetReadSetExportJob

func (b *InMemoryBackend) GetReadSetExportJob(
	sequenceStoreID, jobID string,
) (*ReadSetExportJob, error)

GetReadSetExportJob retrieves a read set export job.

func (*InMemoryBackend) GetReadSetImportJob

func (b *InMemoryBackend) GetReadSetImportJob(
	sequenceStoreID, jobID string,
) (*ReadSetImportJob, error)

GetReadSetImportJob retrieves a read set import job.

func (*InMemoryBackend) GetReadSetMetadata

func (b *InMemoryBackend) GetReadSetMetadata(sequenceStoreID, id string) (*ReadSetMetadata, error)

GetReadSetMetadata retrieves read set metadata.

func (*InMemoryBackend) GetReferenceBytes

func (b *InMemoryBackend) GetReferenceBytes(referenceStoreID, id string) ([]byte, error)

GetReferenceBytes returns the stored binary body for a reference.

func (*InMemoryBackend) GetReferenceImportJob

func (b *InMemoryBackend) GetReferenceImportJob(
	referenceStoreID, jobID string,
) (*ReferenceImportJob, error)

GetReferenceImportJob retrieves a reference import job.

func (*InMemoryBackend) GetReferenceMetadata

func (b *InMemoryBackend) GetReferenceMetadata(
	referenceStoreID, id string,
) (*ReferenceMetadata, error)

GetReferenceMetadata retrieves reference metadata.

func (*InMemoryBackend) GetReferenceStore

func (b *InMemoryBackend) GetReferenceStore(id string) (*ReferenceStore, error)

GetReferenceStore retrieves a reference store by ID.

func (*InMemoryBackend) GetRun

func (b *InMemoryBackend) GetRun(id string) (*Run, error)

GetRun retrieves a run, advancing PENDING→RUNNING→COMPLETED across polls (real RunRunningWaiter/RunCompletedWaiter clients poll GetRun until Status reaches RUNNING / COMPLETED respectively).

func (*InMemoryBackend) GetRunBatch

func (b *InMemoryBackend) GetRunBatch(id string) (*RunBatch, error)

GetRunBatch retrieves a run batch.

func (*InMemoryBackend) GetRunCache

func (b *InMemoryBackend) GetRunCache(id string) (*RunCache, error)

GetRunCache retrieves a run cache.

func (*InMemoryBackend) GetRunGroup

func (b *InMemoryBackend) GetRunGroup(id string) (*RunGroup, error)

GetRunGroup retrieves a run group.

func (*InMemoryBackend) GetRunTask

func (b *InMemoryBackend) GetRunTask(runID, taskID string) (*RunTask, error)

GetRunTask retrieves a task within a run, advancing PENDING→RUNNING→ COMPLETED across polls (real TaskRunningWaiter/TaskCompletedWaiter clients poll GetRunTask until Status reaches RUNNING / COMPLETED respectively).

func (*InMemoryBackend) GetS3AccessPolicy

func (b *InMemoryBackend) GetS3AccessPolicy(s3AccessPointARN string) (*S3AccessPolicy, error)

GetS3AccessPolicy retrieves an S3 access policy.

func (*InMemoryBackend) GetSequenceStore

func (b *InMemoryBackend) GetSequenceStore(id string) (*SequenceStore, error)

GetSequenceStore retrieves a sequence store by ID.

func (*InMemoryBackend) GetShare

func (b *InMemoryBackend) GetShare(shareID string) (*Share, error)

GetShare retrieves a share.

func (*InMemoryBackend) GetVariantImportJob

func (b *InMemoryBackend) GetVariantImportJob(jobID string) (*VariantImportJob, error)

GetVariantImportJob retrieves a variant import job.

func (*InMemoryBackend) GetVariantStore

func (b *InMemoryBackend) GetVariantStore(name string) (*VariantStore, error)

GetVariantStore retrieves a variant store, advancing CREATING→ACTIVE on first poll (real VariantStoreCreatedWaiter clients poll until Status == ACTIVE).

func (*InMemoryBackend) GetWorkflow

func (b *InMemoryBackend) GetWorkflow(id string) (*Workflow, error)

GetWorkflow retrieves a workflow, advancing CREATING→ACTIVE on first poll (real WorkflowActiveWaiter clients poll GetWorkflow until Status == ACTIVE).

func (*InMemoryBackend) GetWorkflowVersion

func (b *InMemoryBackend) GetWorkflowVersion(
	workflowID, versionName string,
) (*WorkflowVersion, error)

GetWorkflowVersion retrieves a workflow version, advancing CREATING→ACTIVE on first poll (real WorkflowVersionActiveWaiter clients poll until Status == ACTIVE).

func (*InMemoryBackend) ListAnnotationImportJobs

func (b *InMemoryBackend) ListAnnotationImportJobs(
	filter *ImportJobFilter,
	ids0 []string,
	maxResults int,
	nextToken string,
) ([]*AnnotationImportJob, string, error)

ListAnnotationImportJobs lists annotation import jobs, optionally filtered by status/storeName and/or a specific set of job ids (real AWS ListAnnotationImportJobsInput body "filter"/"ids").

func (*InMemoryBackend) ListAnnotationStoreVersions

func (b *InMemoryBackend) ListAnnotationStoreVersions(
	name string,
	maxResults int,
	nextToken string,
) ([]*AnnotationStoreVersion, string, error)

ListAnnotationStoreVersions lists versions of an annotation store.

func (*InMemoryBackend) ListAnnotationStores

func (b *InMemoryBackend) ListAnnotationStores(
	maxResults int,
	nextToken string,
) ([]*AnnotationStore, string, error)

ListAnnotationStores lists annotation stores.

func (*InMemoryBackend) ListConfigurations

func (b *InMemoryBackend) ListConfigurations(
	maxResults int,
	nextToken string,
) ([]*Configuration, string, error)

ListConfigurations lists configurations.

func (*InMemoryBackend) ListMultipartReadSetUploads

func (b *InMemoryBackend) ListMultipartReadSetUploads(
	sequenceStoreID string,
	maxResults int,
	nextToken string,
) ([]*MultipartReadSetUpload, string, error)

ListMultipartReadSetUploads lists in-progress multipart uploads.

func (*InMemoryBackend) ListReadSetActivationJobs

func (b *InMemoryBackend) ListReadSetActivationJobs(
	sequenceStoreID string,
	maxResults int,
	nextToken string,
) ([]*ReadSetActivationJob, string, error)

ListReadSetActivationJobs lists read set activation jobs.

func (*InMemoryBackend) ListReadSetExportJobs

func (b *InMemoryBackend) ListReadSetExportJobs(
	sequenceStoreID string,
	maxResults int,
	nextToken string,
) ([]*ReadSetExportJob, string, error)

ListReadSetExportJobs lists read set export jobs.

func (*InMemoryBackend) ListReadSetImportJobs

func (b *InMemoryBackend) ListReadSetImportJobs(
	sequenceStoreID string,
	maxResults int,
	nextToken string,
) ([]*ReadSetImportJob, string, error)

ListReadSetImportJobs lists read set import jobs.

func (*InMemoryBackend) ListReadSetUploadParts

func (b *InMemoryBackend) ListReadSetUploadParts(
	sequenceStoreID, uploadID string,
	maxResults int,
	nextToken string,
) ([]*ReadSetUploadPart, string, error)

ListReadSetUploadParts lists parts for a multipart read set upload.

func (*InMemoryBackend) ListReadSets

func (b *InMemoryBackend) ListReadSets(
	sequenceStoreID string,
	filter *ReadSetFilter,
	maxResults int,
	nextToken string,
) ([]*ReadSetMetadata, string, error)

ListReadSets lists read sets in a sequence store.

func (*InMemoryBackend) ListReferenceImportJobs

func (b *InMemoryBackend) ListReferenceImportJobs(
	referenceStoreID string,
	filter *ReferenceImportJobFilter,
	maxResults int,
	nextToken string,
) ([]*ReferenceImportJob, string, error)

ListReferenceImportJobs lists reference import jobs for a store, optionally filtered by status (real AWS ListReferenceImportJobsInput body "filter").

func (*InMemoryBackend) ListReferenceStores

func (b *InMemoryBackend) ListReferenceStores(
	filter *ReferenceStoreFilter,
	maxResults int,
	nextToken string,
) ([]*ReferenceStore, string, error)

ListReferenceStores lists reference stores with optional name filter.

func (*InMemoryBackend) ListReferences

func (b *InMemoryBackend) ListReferences(
	referenceStoreID string,
	filter *ReferenceFilter,
	maxResults int,
	nextToken string,
) ([]*ReferenceMetadata, string, error)

ListReferences lists references in a reference store.

func (*InMemoryBackend) ListRunBatches

func (b *InMemoryBackend) ListRunBatches(
	filter *RunBatchFilter,
	maxResults int,
	nextToken string,
) ([]*RunBatch, string, error)

ListRunBatches lists run batches, optionally filtered by name/status (real AWS ListBatchInput query parameters). filter.RunGroupID is accepted for wire compatibility but not applied: real ListBatch filters by the run group of the batch's *contained runs*, and this simplified RunBatch model doesn't track a run-group association on the batch resource itself (see the PARITY.md RunBatch note on the broader BatchRunSettings/RunSummary gap).

func (*InMemoryBackend) ListRunCaches

func (b *InMemoryBackend) ListRunCaches(
	maxResults int,
	nextToken string,
) ([]*RunCache, string, error)

ListRunCaches lists run caches.

func (*InMemoryBackend) ListRunGroups

func (b *InMemoryBackend) ListRunGroups(
	filter *RunGroupFilter,
	maxResults int,
	nextToken string,
) ([]*RunGroup, string, error)

ListRunGroups lists run groups, optionally filtered by name (real AWS ListRunGroupsInput takes "name" as a query parameter).

func (*InMemoryBackend) ListRunTasks

func (b *InMemoryBackend) ListRunTasks(
	runID string,
	filter *RunTaskFilter,
	maxResults int,
	nextToken string,
) ([]*RunTask, string, error)

ListRunTasks lists tasks within a run, optionally filtered by status (real AWS ListRunTasksInput "status" query parameter).

func (*InMemoryBackend) ListRuns

func (b *InMemoryBackend) ListRuns(filter *RunFilter, maxResults int, nextToken string) ([]*Run, string, error)

ListRuns lists runs, optionally filtered by name/runGroupId/batchId/status (real AWS ListRunsInput query parameters).

func (*InMemoryBackend) ListRunsInBatch

func (b *InMemoryBackend) ListRunsInBatch(
	batchID string,
	filter *RunsInBatchFilter,
	maxResults int,
	nextToken string,
) ([]*Run, string, error)

ListRunsInBatch lists runs that belong to a run batch, optionally filtered by runId (real AWS ListRunsInBatchInput "runId" query parameter). filter.RunSettingID/SubmissionStatus are accepted for wire compatibility but not applied: this backend has no concept of a per-run "run setting ID" or async submission-status, since batches complete synchronously (see the PARITY.md RunBatch note).

func (*InMemoryBackend) ListSequenceStores

func (b *InMemoryBackend) ListSequenceStores(
	filter *SequenceStoreFilter,
	maxResults int,
	nextToken string,
) ([]*SequenceStore, string, error)

ListSequenceStores lists sequence stores.

func (*InMemoryBackend) ListShares

func (b *InMemoryBackend) ListShares(
	resourceOwner string,
	maxResults int,
	nextToken string,
) ([]*Share, string, error)

ListShares lists shares by resource owner.

func (*InMemoryBackend) ListTagsForResource

func (b *InMemoryBackend) ListTagsForResource(resourceARN string) (map[string]string, error)

ListTagsForResource returns all tags for a resource.

func (*InMemoryBackend) ListVariantImportJobs

func (b *InMemoryBackend) ListVariantImportJobs(
	filter *ImportJobFilter,
	ids0 []string,
	maxResults int,
	nextToken string,
) ([]*VariantImportJob, string, error)

ListVariantImportJobs lists variant import jobs, optionally filtered by status/storeName and/or a specific set of job ids (real AWS ListVariantImportJobsInput body "filter"/"ids").

func (*InMemoryBackend) ListVariantStores

func (b *InMemoryBackend) ListVariantStores(
	maxResults int,
	nextToken string,
) ([]*VariantStore, string, error)

ListVariantStores lists variant stores.

func (*InMemoryBackend) ListWorkflowVersions

func (b *InMemoryBackend) ListWorkflowVersions(
	workflowID string,
	filter *WorkflowVersionFilter,
	maxResults int,
	nextToken string,
) ([]*WorkflowVersion, string, error)

ListWorkflowVersions lists versions of a workflow, optionally filtered by type (real AWS ListWorkflowVersionsInput "type" query parameter).

func (*InMemoryBackend) ListWorkflows

func (b *InMemoryBackend) ListWorkflows(
	filter *WorkflowFilter,
	maxResults int,
	nextToken string,
) ([]*Workflow, string, error)

ListWorkflows lists workflows, optionally filtered by name/type (real AWS ListWorkflowsInput query parameters).

func (*InMemoryBackend) PutS3AccessPolicy

func (b *InMemoryBackend) PutS3AccessPolicy(s3AccessPointARN, policy string) error

PutS3AccessPolicy stores an S3 access policy.

func (*InMemoryBackend) Region

func (b *InMemoryBackend) Region() string

Region returns the default region.

func (*InMemoryBackend) Reset

func (b *InMemoryBackend) Reset()

Reset clears all stored state.

func (*InMemoryBackend) Restore

func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error

Restore loads backend state from a JSON snapshot. It implements persistence.Persistable.

func (*InMemoryBackend) Snapshot

func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte

Snapshot serialises the backend state to JSON. It implements persistence.Persistable.

func (*InMemoryBackend) StartAnnotationImportJob

func (b *InMemoryBackend) StartAnnotationImportJob(
	destinationName, roleARN string,
	items []AnnotationImportItem,
) (*AnnotationImportJob, error)

StartAnnotationImportJob starts an annotation import job.

func (*InMemoryBackend) StartReadSetActivationJob

func (b *InMemoryBackend) StartReadSetActivationJob(
	sequenceStoreID string,
	sources []ReadSetActivationJobSource,
) (*ReadSetActivationJob, error)

StartReadSetActivationJob creates a read set activation job.

func (*InMemoryBackend) StartReadSetExportJob

func (b *InMemoryBackend) StartReadSetExportJob(
	sequenceStoreID, destination string,
	sources []ReadSetExportJobSource,
) (*ReadSetExportJob, error)

StartReadSetExportJob creates a read set export job.

func (*InMemoryBackend) StartReadSetImportJob

func (b *InMemoryBackend) StartReadSetImportJob(
	sequenceStoreID, roleARN string,
	sources []ReadSetImportJobSource,
) (*ReadSetImportJob, error)

StartReadSetImportJob creates a read set import job.

func (*InMemoryBackend) StartReferenceImportJob

func (b *InMemoryBackend) StartReferenceImportJob(
	referenceStoreID, roleARN string,
	sources []ReferenceImportJobSource,
) (*ReferenceImportJob, error)

StartReferenceImportJob creates a reference import job.

func (*InMemoryBackend) StartRun

func (b *InMemoryBackend) StartRun(
	workflowID, roleARN, name, runGroupID, runBatchID, networkingMode, runOutputURI string,
	params map[string]any,
	tags map[string]string,
) (*Run, error)

StartRun starts a new workflow run. networkingMode and runOutputURI are optional (real StartRunInput fields); runGroupID/runBatchID associate the run with a RunGroup/RunBatch for filtering via ListRuns.

func (*InMemoryBackend) StartRunBatch

func (b *InMemoryBackend) StartRunBatch(workflowID, roleARN, name string) (*RunBatch, error)

StartRunBatch starts a new run batch.

func (*InMemoryBackend) StartVariantImportJob

func (b *InMemoryBackend) StartVariantImportJob(
	destinationName, roleARN string,
	items []VariantImportItem,
) (*VariantImportJob, error)

StartVariantImportJob starts a variant import job.

func (*InMemoryBackend) TagResource

func (b *InMemoryBackend) TagResource(resourceARN string, tags map[string]string) error

TagResource adds tags to a resource identified by ARN.

func (*InMemoryBackend) UntagResource

func (b *InMemoryBackend) UntagResource(resourceARN string, tagKeys []string) error

UntagResource removes tags from a resource identified by ARN.

func (*InMemoryBackend) UpdateAnnotationStore

func (b *InMemoryBackend) UpdateAnnotationStore(
	name, description string,
) (*AnnotationStore, error)

UpdateAnnotationStore updates an annotation store.

func (*InMemoryBackend) UpdateAnnotationStoreVersion

func (b *InMemoryBackend) UpdateAnnotationStoreVersion(
	name, versionName, description string,
) (*AnnotationStoreVersion, error)

UpdateAnnotationStoreVersion updates an annotation store version.

func (*InMemoryBackend) UpdateRunCache

func (b *InMemoryBackend) UpdateRunCache(id, name, description string) error

UpdateRunCache updates a run cache.

func (*InMemoryBackend) UpdateRunGroup

func (b *InMemoryBackend) UpdateRunGroup(
	id, name string,
	maxCPUs, maxRuns, maxDuration int,
	maxGPUs int,
) (*RunGroup, error)

UpdateRunGroup updates a run group.

func (*InMemoryBackend) UpdateSequenceStore

func (b *InMemoryBackend) UpdateSequenceStore(
	id, name, description string,
) (*SequenceStore, error)

UpdateSequenceStore updates a sequence store's name and description.

func (*InMemoryBackend) UpdateVariantStore

func (b *InMemoryBackend) UpdateVariantStore(name, description string) (*VariantStore, error)

UpdateVariantStore updates a variant store.

func (*InMemoryBackend) UpdateWorkflow

func (b *InMemoryBackend) UpdateWorkflow(id, name, description string) error

UpdateWorkflow updates a workflow.

func (*InMemoryBackend) UpdateWorkflowVersion

func (b *InMemoryBackend) UpdateWorkflowVersion(workflowID, versionName, description string) error

UpdateWorkflowVersion updates a workflow version.

func (*InMemoryBackend) UploadReadSetPart

func (b *InMemoryBackend) UploadReadSetPart(
	sequenceStoreID, uploadID string,
	partNumber int,
	partSource string,
	data []byte,
) (string, error)

UploadReadSetPart stores binary data for a single part and returns its SHA256 checksum.

type MultipartReadSetUpload

type MultipartReadSetUpload struct {
	CreationTime    time.Time         `json:"creationTime"`
	Tags            map[string]string `json:"tags"`
	UploadID        string            `json:"uploadId"`
	SequenceStoreID string            `json:"sequenceStoreId"`
	Name            string            `json:"name,omitempty"`
	SourceFileType  string            `json:"sourceFileType"`
	SampleID        string            `json:"sampleId"`
	SubjectID       string            `json:"subjectId"`
	GeneratedFrom   string            `json:"generatedFrom,omitempty"`
	ReferenceARN    string            `json:"referenceArn,omitempty"`
	Description     string            `json:"description,omitempty"`
}

MultipartReadSetUpload represents an in-progress multipart read set upload.

Field names/JSON keys were field-diffed against CreateMultipartReadSetUploadInput/Output and MultipartReadSetUploadListItem: the real wire key for the upload's file type is "sourceFileType" (this struct previously used the invented key "sequenceType", which appears nowhere in the real API), SampleID/SubjectID are real required fields that were previously missing entirely, and there is no real "status" field on this resource at all (removed).

type Provider

type Provider struct{}

Provider implements service.Provider for AWS HealthOmics.

func (*Provider) Init

Init initializes the HealthOmics service backend and handler.

func (*Provider) Name

func (p *Provider) Name() string

Name returns the provider name.

type ReadSetActivationJob

type ReadSetActivationJob struct {
	CreationTime    time.Time                    `json:"creationTime"`
	CompletionTime  *time.Time                   `json:"completionTime,omitempty"`
	ID              string                       `json:"id"`
	SequenceStoreID string                       `json:"sequenceStoreId"`
	Status          string                       `json:"status"`
	Sources         []ReadSetActivationJobSource `json:"sources"`
}

ReadSetActivationJob represents a read set activation job.

type ReadSetActivationJobSource

type ReadSetActivationJobSource struct {
	ReadSetID string `json:"readSetId"`
}

ReadSetActivationJobSource is a source for activating a read set.

type ReadSetBatchError

type ReadSetBatchError struct {
	ID      string `json:"id"`
	Code    string `json:"code"`
	Message string `json:"message"`
}

ReadSetBatchError is an error item from a batch delete operation.

type ReadSetExportJob

type ReadSetExportJob struct {
	CreationTime    time.Time                `json:"creationTime"`
	CompletionTime  *time.Time               `json:"completionTime,omitempty"`
	ID              string                   `json:"id"`
	SequenceStoreID string                   `json:"sequenceStoreId"`
	Destination     string                   `json:"destination"`
	Status          string                   `json:"status"`
	Sources         []ReadSetExportJobSource `json:"sources"`
}

ReadSetExportJob represents a read set export job.

type ReadSetExportJobSource

type ReadSetExportJobSource struct {
	ReadSetID string `json:"readSetId"`
}

ReadSetExportJobSource is a source for a read set export job.

type ReadSetFilter

type ReadSetFilter struct {
	Name   string
	Status string
}

ReadSetFilter is filter criteria for listing read sets.

type ReadSetImportJob

type ReadSetImportJob struct {
	CreationTime    time.Time                `json:"creationTime"`
	CompletionTime  *time.Time               `json:"completionTime,omitempty"`
	ID              string                   `json:"id"`
	SequenceStoreID string                   `json:"sequenceStoreId"`
	RoleARN         string                   `json:"roleArn"`
	Status          string                   `json:"status"`
	Sources         []ReadSetImportJobSource `json:"sources"`
}

ReadSetImportJob represents a read set import job.

type ReadSetImportJobSource

type ReadSetImportJobSource struct {
	SourceFileType string `json:"sourceFileType"`
	SourceFiles    struct {
		Source1 string `json:"source1"`
		Source2 string `json:"source2,omitempty"`
	} `json:"sourceFiles"`
	SubjectID    string `json:"subjectId"`
	SampleID     string `json:"sampleId"`
	ReferenceARN string `json:"referenceArn"`
	Name         string `json:"name"`
	Description  string `json:"description"`
}

ReadSetImportJobSource is a source for a read set import job.

type ReadSetMetadata

type ReadSetMetadata struct {
	CreationTime    time.Time         `json:"creationTime"`
	UpdateTime      time.Time         `json:"updateTime"`
	Files           map[string]any    `json:"files,omitempty"`
	Tags            map[string]string `json:"tags"`
	Arn             string            `json:"arn"`
	ID              string            `json:"id"`
	SequenceStoreID string            `json:"sequenceStoreId"`
	Name            string            `json:"name"`
	Description     string            `json:"description"`
	StatusMessage   string            `json:"statusMessage,omitempty"`
	Status          string            `json:"status"`
	// FileType is the real GetReadSetMetadataOutput/ReadSetListItem wire key
	// ("fileType") -- confirmed against the SDK deserializer. It was
	// previously (incorrectly) serialized as "sequenceType", a key that
	// doesn't exist anywhere in the real API surface.
	FileType     string `json:"fileType"`
	SubjectID    string `json:"subjectId"`
	SampleID     string `json:"sampleId"`
	ReferenceARN string `json:"referenceArn"`
}

ReadSetMetadata holds metadata for a read set.

type ReadSetUploadPart

type ReadSetUploadPart struct {
	LastUpdatedTime time.Time `json:"lastUpdatedTime"`
	Checksum        string    `json:"checksum"`
	Source          string    `json:"source"`
	PartNumber      int       `json:"partNumber"`
	PartSize        int64     `json:"partSize"`
}

ReadSetUploadPart represents a single part of a multipart read set upload.

type ReferenceFilter

type ReferenceFilter struct {
	Name string
}

ReferenceFilter is filter criteria for listing references.

type ReferenceImportJob

type ReferenceImportJob struct {
	CreationTime     time.Time                  `json:"creationTime"`
	CompletionTime   *time.Time                 `json:"completionTime,omitempty"`
	ID               string                     `json:"id"`
	ReferenceStoreID string                     `json:"referenceStoreId"`
	RoleARN          string                     `json:"roleArn"`
	Status           string                     `json:"status"`
	Sources          []ReferenceImportJobSource `json:"sources"`
}

ReferenceImportJob represents a reference import job.

type ReferenceImportJobFilter added in v1.2.0

type ReferenceImportJobFilter struct {
	Status string
}

ReferenceImportJobFilter is filter criteria for listing reference import jobs.

type ReferenceImportJobSource

type ReferenceImportJobSource struct {
	SourceFile  string `json:"sourceFile"`
	Name        string `json:"name"`
	Description string `json:"description"`
}

ReferenceImportJobSource is a source for a reference import job.

type ReferenceMetadata

type ReferenceMetadata struct {
	CreationTime     time.Time         `json:"creationTime"`
	UpdateTime       time.Time         `json:"updateTime"`
	Tags             map[string]string `json:"tags"`
	Arn              string            `json:"arn"`
	ID               string            `json:"id"`
	ReferenceStoreID string            `json:"referenceStoreId"`
	Name             string            `json:"name"`
	Description      string            `json:"description"`
	Status           string            `json:"status"`
	MD5              string            `json:"md5"`
}

ReferenceMetadata holds metadata for a genomic reference.

type ReferenceStore

type ReferenceStore struct {
	CreationTime time.Time         `json:"creationTime"`
	SseConfig    map[string]any    `json:"sseConfig,omitempty"`
	S3Access     map[string]any    `json:"s3Access,omitempty"`
	Tags         map[string]string `json:"tags"`
	Arn          string            `json:"arn"`
	ID           string            `json:"id"`
	Name         string            `json:"name"`
	Description  string            `json:"description"`
}

ReferenceStore represents an HealthOmics reference store.

type ReferenceStoreFilter

type ReferenceStoreFilter struct {
	Name string
}

ReferenceStoreFilter is filter criteria for listing reference stores.

type Run

type Run struct {
	StartTime     *time.Time            `json:"startTime,omitempty"`
	StopTime      *time.Time            `json:"stopTime,omitempty"`
	CreationTime  time.Time             `json:"creationTime"`
	Configuration *ConfigurationDetails `json:"configuration,omitempty"`
	Tags          map[string]string     `json:"tags"`
	Params        map[string]any        `json:"parameters"`
	Arn           string                `json:"arn"`
	ID            string                `json:"id"`
	Name          string                `json:"name"`
	WorkflowID    string                `json:"workflowId"`
	RoleARN       string                `json:"roleArn"`
	RunGroupID    string                `json:"runGroupId,omitempty"`
	// RunBatchID is serialized as "batchId" (real GetRunOutput/RunListItem
	// wire key -- confirmed against the SDK deserializer; there is no real
	// StartRunInput field to set this, it's populated internally by
	// DeleteRunsInBatch/ListRunsInBatch's caller association).
	RunBatchID     string `json:"batchId,omitempty"`
	NetworkingMode string `json:"networkingMode,omitempty"`
	RunOutputURI   string `json:"runOutputUri,omitempty"`
	UUID           string `json:"uuid,omitempty"`
	Status         string `json:"status"`
	// contains filtered or unexported fields
}

Run represents an HealthOmics workflow run.

type RunBatch

type RunBatch struct {
	CreationTime time.Time         `json:"creationTime"`
	Tags         map[string]string `json:"tags"`
	Arn          string            `json:"arn"`
	ID           string            `json:"id"`
	Name         string            `json:"name"`
	WorkflowID   string            `json:"workflowId"`
	RoleARN      string            `json:"roleArn"`
	Status       string            `json:"status"`
}

RunBatch represents an HealthOmics run batch.

type RunBatchFilter added in v1.2.0

type RunBatchFilter struct {
	Name       string
	RunGroupID string
	Status     string
}

RunBatchFilter is filter criteria for listing run batches (ListBatch).

type RunCache

type RunCache struct {
	CreationTime    time.Time         `json:"creationTime"`
	Tags            map[string]string `json:"tags"`
	Arn             string            `json:"arn"`
	ID              string            `json:"id"`
	Name            string            `json:"name"`
	Description     string            `json:"description,omitempty"`
	CacheS3Location string            `json:"cacheS3Location"`
	Status          string            `json:"status"`
}

RunCache represents an HealthOmics run cache.

type RunFilter added in v1.2.0

type RunFilter struct {
	Name       string
	RunGroupID string
	BatchID    string
	Status     string
}

RunFilter is filter criteria for listing runs.

type RunGroup

type RunGroup struct {
	CreationTime time.Time         `json:"creationTime"`
	Tags         map[string]string `json:"tags"`
	Arn          string            `json:"arn"`
	ID           string            `json:"id"`
	Name         string            `json:"name"`
	MaxCPUs      int               `json:"maxCpus"`
	MaxRuns      int               `json:"maxRuns"`
	MaxDuration  int               `json:"maxDuration"`
	MaxGPUs      int               `json:"maxGpus"`
}

RunGroup represents an HealthOmics run group.

type RunGroupFilter added in v1.2.0

type RunGroupFilter struct {
	Name string
}

RunGroupFilter is filter criteria for listing run groups.

type RunTask

type RunTask struct {
	StartTime    *time.Time `json:"startTime,omitempty"`
	StopTime     *time.Time `json:"stopTime,omitempty"`
	CreationTime time.Time  `json:"creationTime"`
	TaskID       string     `json:"taskId"`
	RunID        string     `json:"runId"`
	Name         string     `json:"name"`
	Status       string     `json:"status"`
	CPUs         int        `json:"cpus"`
	Memory       int        `json:"memory"`
	// contains filtered or unexported fields
}

RunTask represents a task within a workflow run.

type RunTaskFilter added in v1.2.0

type RunTaskFilter struct {
	Status string
}

RunTaskFilter is filter criteria for listing run tasks.

type RunsInBatchFilter added in v1.2.0

type RunsInBatchFilter struct {
	RunID            string
	RunSettingID     string
	SubmissionStatus string
}

RunsInBatchFilter is filter criteria for listing the runs within a batch (ListRunsInBatch).

type S3AccessPolicy

type S3AccessPolicy struct {
	UpdateTime       *time.Time `json:"updateTime,omitempty"`
	S3AccessPointARN string     `json:"s3AccessPointArn"`
	Policy           string     `json:"s3AccessPolicy"`
	StoreID          string     `json:"storeId,omitempty"`
	StoreType        string     `json:"storeType,omitempty"`
}

S3AccessPolicy holds an S3 access policy for HealthOmics. S3AccessPolicy holds an S3 access policy for HealthOmics. Policy is serialized as "s3AccessPolicy" -- the real GetS3AccessPolicyOutput wire key (confirmed against the SDK deserializer); this struct previously used the key "policy", which real SDK clients never populate, so GetS3AccessPolicy responses were silently missing their policy document on the wire.

type SequenceStore

type SequenceStore struct {
	CreationTime  time.Time         `json:"creationTime"`
	UpdateTime    time.Time         `json:"updateTime"`
	SseConfig     map[string]any    `json:"sseConfig,omitempty"`
	S3Access      map[string]any    `json:"s3Access,omitempty"`
	Tags          map[string]string `json:"tags"`
	Arn           string            `json:"arn"`
	ID            string            `json:"id"`
	Name          string            `json:"name"`
	Description   string            `json:"description"`
	ETagAlgorithm string            `json:"eTagAlgorithm,omitempty"`
	Status        string            `json:"status"`
}

SequenceStore represents an HealthOmics sequence store.

type SequenceStoreFilter

type SequenceStoreFilter struct {
	Name string
}

SequenceStoreFilter is filter criteria for listing sequence stores.

type Share

type Share struct {
	CreationTime        time.Time  `json:"creationTime"`
	UpdateTime          *time.Time `json:"updateTime,omitempty"`
	ShareID             string     `json:"shareId"`
	ResourceARN         string     `json:"resourceArn"`
	PrincipalSubscriber string     `json:"principalSubscriber"`
	Name                string     `json:"name"`
	Status              string     `json:"status"`
}

Share represents an HealthOmics resource share.

type StorageBackend

type StorageBackend interface {
	// ReferenceStore
	CreateReferenceStore(name, description string, tags map[string]string) (*ReferenceStore, error)
	DeleteReferenceStore(id string) error
	GetReferenceStore(id string) (*ReferenceStore, error)
	ListReferenceStores(
		filter *ReferenceStoreFilter,
		maxResults int,
		nextToken string,
	) ([]*ReferenceStore, string, error)

	// Reference
	DeleteReference(referenceStoreID, id string) error
	GetReferenceMetadata(referenceStoreID, id string) (*ReferenceMetadata, error)
	ListReferences(
		referenceStoreID string,
		filter *ReferenceFilter,
		maxResults int,
		nextToken string,
	) ([]*ReferenceMetadata, string, error)
	StartReferenceImportJob(
		referenceStoreID, roleARN string,
		sources []ReferenceImportJobSource,
	) (*ReferenceImportJob, error)
	GetReferenceImportJob(referenceStoreID, jobID string) (*ReferenceImportJob, error)
	ListReferenceImportJobs(
		referenceStoreID string,
		filter *ReferenceImportJobFilter,
		maxResults int,
		nextToken string,
	) ([]*ReferenceImportJob, string, error)

	// SequenceStore
	CreateSequenceStore(name, description string, tags map[string]string) (*SequenceStore, error)
	DeleteSequenceStore(id string) error
	GetSequenceStore(id string) (*SequenceStore, error)
	ListSequenceStores(
		filter *SequenceStoreFilter,
		maxResults int,
		nextToken string,
	) ([]*SequenceStore, string, error)
	UpdateSequenceStore(id, name, description string) (*SequenceStore, error)

	// ReadSet
	BatchDeleteReadSet(sequenceStoreID string, ids []string) ([]ReadSetBatchError, error)
	GetReadSetMetadata(sequenceStoreID, id string) (*ReadSetMetadata, error)
	ListReadSets(
		sequenceStoreID string,
		filter *ReadSetFilter,
		maxResults int,
		nextToken string,
	) ([]*ReadSetMetadata, string, error)
	StartReadSetActivationJob(
		sequenceStoreID string,
		sources []ReadSetActivationJobSource,
	) (*ReadSetActivationJob, error)
	GetReadSetActivationJob(sequenceStoreID, jobID string) (*ReadSetActivationJob, error)
	ListReadSetActivationJobs(
		sequenceStoreID string,
		maxResults int,
		nextToken string,
	) ([]*ReadSetActivationJob, string, error)
	StartReadSetExportJob(
		sequenceStoreID, destination string,
		sources []ReadSetExportJobSource,
	) (*ReadSetExportJob, error)
	GetReadSetExportJob(sequenceStoreID, jobID string) (*ReadSetExportJob, error)
	ListReadSetExportJobs(
		sequenceStoreID string,
		maxResults int,
		nextToken string,
	) ([]*ReadSetExportJob, string, error)
	StartReadSetImportJob(
		sequenceStoreID, roleARN string,
		sources []ReadSetImportJobSource,
	) (*ReadSetImportJob, error)
	GetReadSetImportJob(sequenceStoreID, jobID string) (*ReadSetImportJob, error)
	ListReadSetImportJobs(
		sequenceStoreID string,
		maxResults int,
		nextToken string,
	) ([]*ReadSetImportJob, string, error)

	// Multipart ReadSet Upload
	CreateMultipartReadSetUpload(
		sequenceStoreID, name, sourceFileType, sampleID, subjectID, generatedFrom, referenceARN, description string,
		tags map[string]string,
	) (*MultipartReadSetUpload, error)
	AbortMultipartReadSetUpload(sequenceStoreID, uploadID string) error
	CompleteMultipartReadSetUpload(sequenceStoreID, uploadID string) (*ReadSetMetadata, error)
	ListMultipartReadSetUploads(
		sequenceStoreID string,
		maxResults int,
		nextToken string,
	) ([]*MultipartReadSetUpload, string, error)
	ListReadSetUploadParts(
		sequenceStoreID, uploadID string,
		maxResults int,
		nextToken string,
	) ([]*ReadSetUploadPart, string, error)
	UploadReadSetPart(
		sequenceStoreID, uploadID string,
		partNumber int,
		partSource string,
		data []byte,
	) (string, error)
	GetReadSetBytes(sequenceStoreID, id string) ([]byte, error)
	GetReferenceBytes(referenceStoreID, id string) ([]byte, error)

	// RunGroup
	CreateRunGroup(
		name string,
		maxCPUs, maxRuns, maxDuration int,
		maxGPUs int,
		tags map[string]string,
	) (*RunGroup, error)
	DeleteRunGroup(id string) error
	GetRunGroup(id string) (*RunGroup, error)
	ListRunGroups(filter *RunGroupFilter, maxResults int, nextToken string) ([]*RunGroup, string, error)
	UpdateRunGroup(
		id, name string,
		maxCPUs, maxRuns, maxDuration int,
		maxGPUs int,
	) (*RunGroup, error)

	// Run
	StartRun(
		workflowID, roleARN, name, runGroupID, runBatchID, networkingMode, runOutputURI string,
		params map[string]any,
		tags map[string]string,
	) (*Run, error)
	CancelRun(id string) error
	DeleteRun(id string) error
	GetRun(id string) (*Run, error)
	ListRuns(filter *RunFilter, maxResults int, nextToken string) ([]*Run, string, error)
	GetRunTask(runID, taskID string) (*RunTask, error)
	ListRunTasks(
		runID string,
		filter *RunTaskFilter,
		maxResults int,
		nextToken string,
	) ([]*RunTask, string, error)

	// Workflow
	CreateWorkflow(
		name, description, definitionZip, definitionURI, engine string,
		tags map[string]string,
	) (*Workflow, error)
	DeleteWorkflow(id string) error
	GetWorkflow(id string) (*Workflow, error)
	ListWorkflows(filter *WorkflowFilter, maxResults int, nextToken string) ([]*Workflow, string, error)
	UpdateWorkflow(id, name, description string) error

	// AnnotationStore
	CreateAnnotationStore(
		name, storeFormat string,
		reference, sseConfig, storeOptions map[string]any,
		tags map[string]string,
	) (*AnnotationStore, error)
	DeleteAnnotationStore(name string) (*AnnotationStore, error)
	GetAnnotationStore(name string) (*AnnotationStore, error)
	ListAnnotationStores(maxResults int, nextToken string) ([]*AnnotationStore, string, error)
	UpdateAnnotationStore(name, description string) (*AnnotationStore, error)
	StartAnnotationImportJob(
		destinationName, roleARN string,
		items []AnnotationImportItem,
	) (*AnnotationImportJob, error)
	GetAnnotationImportJob(jobID string) (*AnnotationImportJob, error)
	ListAnnotationImportJobs(
		filter *ImportJobFilter,
		ids []string,
		maxResults int,
		nextToken string,
	) ([]*AnnotationImportJob, string, error)
	CancelAnnotationImportJob(jobID string) error

	// AnnotationStoreVersion
	CreateAnnotationStoreVersion(
		name, versionName, description string,
		tags map[string]string,
	) (*AnnotationStoreVersion, error)
	DeleteAnnotationStoreVersions(name string, versionNames []string) ([]VersionDeleteError, error)
	GetAnnotationStoreVersion(name, versionName string) (*AnnotationStoreVersion, error)
	ListAnnotationStoreVersions(
		name string,
		maxResults int,
		nextToken string,
	) ([]*AnnotationStoreVersion, string, error)
	UpdateAnnotationStoreVersion(
		name, versionName, description string,
	) (*AnnotationStoreVersion, error)

	// VariantStore
	CreateVariantStore(name string, reference map[string]any, tags map[string]string) (*VariantStore, error)
	DeleteVariantStore(name string) (*VariantStore, error)
	GetVariantStore(name string) (*VariantStore, error)
	ListVariantStores(maxResults int, nextToken string) ([]*VariantStore, string, error)
	UpdateVariantStore(name, description string) (*VariantStore, error)
	StartVariantImportJob(
		destinationName, roleARN string,
		items []VariantImportItem,
	) (*VariantImportJob, error)
	GetVariantImportJob(jobID string) (*VariantImportJob, error)
	ListVariantImportJobs(
		filter *ImportJobFilter,
		ids []string,
		maxResults int,
		nextToken string,
	) ([]*VariantImportJob, string, error)
	CancelVariantImportJob(jobID string) error

	// Share
	CreateShare(resourceARN, principalSubscriber, name string) (*Share, error)
	AcceptShare(shareID string) (*Share, error)
	DeleteShare(shareID string) (*Share, error)
	GetShare(shareID string) (*Share, error)
	ListShares(resourceOwner string, maxResults int, nextToken string) ([]*Share, string, error)

	// RunCache
	CreateRunCache(name, cacheS3Location string, tags map[string]string) (*RunCache, error)
	DeleteRunCache(id string) error
	GetRunCache(id string) (*RunCache, error)
	ListRunCaches(maxResults int, nextToken string) ([]*RunCache, string, error)
	UpdateRunCache(id, name, description string) error

	// RunBatch
	StartRunBatch(workflowID, roleARN, name string) (*RunBatch, error)
	CancelRunBatch(id string) error
	DeleteRunBatch(id string) error
	GetRunBatch(id string) (*RunBatch, error)
	ListRunBatches(filter *RunBatchFilter, maxResults int, nextToken string) ([]*RunBatch, string, error)
	DeleteRunsInBatch(batchID string) error
	ListRunsInBatch(
		batchID string,
		filter *RunsInBatchFilter,
		maxResults int,
		nextToken string,
	) ([]*Run, string, error)

	// Configuration
	CreateConfiguration(name, description string) (*Configuration, error)
	DeleteConfiguration(name string) error
	GetConfiguration(name string) (*Configuration, error)
	ListConfigurations(maxResults int, nextToken string) ([]*Configuration, string, error)

	// WorkflowVersion
	CreateWorkflowVersion(
		workflowID, versionName, description string,
		tags map[string]string,
	) (*WorkflowVersion, error)
	DeleteWorkflowVersion(workflowID, versionName string) error
	GetWorkflowVersion(workflowID, versionName string) (*WorkflowVersion, error)
	ListWorkflowVersions(
		workflowID string,
		filter *WorkflowVersionFilter,
		maxResults int,
		nextToken string,
	) ([]*WorkflowVersion, string, error)
	UpdateWorkflowVersion(workflowID, versionName, description string) error

	// S3 Access Policy
	PutS3AccessPolicy(s3AccessPointARN, policy string) error
	GetS3AccessPolicy(s3AccessPointARN string) (*S3AccessPolicy, error)
	DeleteS3AccessPolicy(s3AccessPointARN string) error

	// Tags
	TagResource(resourceARN string, tags map[string]string) error
	UntagResource(resourceARN string, tagKeys []string) error
	ListTagsForResource(resourceARN string) (map[string]string, error)

	AccountID() string
	Region() string
	Reset()
	Snapshot(ctx context.Context) []byte
	Restore(ctx context.Context, data []byte) error
}

StorageBackend is the interface for HealthOmics storage operations.

type VariantImportItem

type VariantImportItem struct {
	Source string `json:"source"`
}

VariantImportItem is a source item for a variant import job.

type VariantImportJob

type VariantImportJob struct {
	CreationTime    time.Time           `json:"creationTime"`
	CompletionTime  *time.Time          `json:"completionTime,omitempty"`
	ID              string              `json:"id"`
	DestinationName string              `json:"destinationName"`
	RoleARN         string              `json:"roleArn"`
	Status          string              `json:"status"`
	Items           []VariantImportItem `json:"items"`
}

VariantImportJob represents a variant import job.

type VariantStore

type VariantStore struct {
	CreationTime time.Time         `json:"creationTime"`
	UpdateTime   time.Time         `json:"updateTime"`
	Reference    map[string]any    `json:"reference,omitempty"`
	Tags         map[string]string `json:"tags"`
	Arn          string            `json:"arn"`
	ID           string            `json:"id"`
	Name         string            `json:"name"`
	Description  string            `json:"description"`
	Status       string            `json:"status"`
	// contains filtered or unexported fields
}

VariantStore represents an HealthOmics variant store.

type VersionDeleteError

type VersionDeleteError struct {
	VersionName string `json:"versionName"`
	Code        string `json:"code"`
	Message     string `json:"message"`
}

VersionDeleteError is an error item from a version delete operation.

type Workflow

type Workflow struct {
	CreationTime time.Time         `json:"creationTime"`
	Tags         map[string]string `json:"tags"`
	Arn          string            `json:"arn"`
	ID           string            `json:"id"`
	Name         string            `json:"name"`
	Description  string            `json:"description"`
	Engine       string            `json:"engine"`
	Type         string            `json:"type,omitempty"`
	UUID         string            `json:"uuid,omitempty"`
	Status       string            `json:"status"`
	// contains filtered or unexported fields
}

Workflow represents an HealthOmics workflow.

type WorkflowFilter added in v1.2.0

type WorkflowFilter struct {
	Name string
	Type string
}

WorkflowFilter is filter criteria for listing workflows.

type WorkflowVersion

type WorkflowVersion struct {
	CreationTime time.Time         `json:"creationTime"`
	Tags         map[string]string `json:"tags"`
	Arn          string            `json:"arn"`
	WorkflowID   string            `json:"workflowId"`
	VersionName  string            `json:"versionName"`
	Description  string            `json:"description"`
	Engine       string            `json:"engine,omitempty"`
	Type         string            `json:"type,omitempty"`
	Status       string            `json:"status"`
	// contains filtered or unexported fields
}

WorkflowVersion represents a version of a workflow.

type WorkflowVersionFilter added in v1.2.0

type WorkflowVersionFilter struct {
	Type string
}

WorkflowVersionFilter is filter criteria for listing workflow versions.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL