omics

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2026 License: MIT Imports: 28 Imported by: 0

README

HealthOmics

Parity grade: A · SDK aws-sdk-go-v2/service/omics@v1.49.5 · last audited 2026-09-18 (3fd671fd6)

Coverage

Metric Value
Feature families 25 (25 ok)
Known gaps 3
Deferred items 1
Resource leaks clean
Known gaps
  • RunBatch does not model s3UriSettings (rejected: no S3 object body to read) or DefaultRunSetting.ConfigurationName/OutputBucketOwnerId (StartRun has no such stored member). StartRun.RunId (duplicate-a-run) and StartRun.ConfigurationName are not applied. GetWorkflow/GetWorkflowVersion Export/Type/WorkflowOwnerId queries are ignored: only PRIVATE workflows exist and no export bundle is built; CreateWorkflow(Version) ReadmeUri/ContainerRegistryMapUri/ParameterTemplatePath need S3 reads. CreateMultipartReadSetUpload ClientToken and Delete*Force are accepted without effect (no upload memo, no in-progress import blocking).
  • RunBatchFilter.RunGroupID (ListBatch) is accepted from the query string for wire compatibility but not applied -- this backend has no run-group-of-a-batch's-runs association. RunsInBatchFilter.SubmissionStatus (ListRunsInBatch) is likewise accepted but not applied -- this backend has no async submission-status state machine (batches complete submission synchronously). RunSettingID IS now applied (fixed this pass, see RunBatch family note).
  • 2026-09-18 (over-wide List-summary sweep, gopherstack-dv4s): several List summaries are missing optional members the real SDK type declares, with no source on the corresponding domain model to derive them from (not fabricated) -- ReadSetSummary.CreationType/Etag/SequenceInformation (ListReadSets, no per-read-set creation-type/checksum/alignment tracking); RunTaskSummary.CacheHit/CacheS3Uri/Gpus/InstanceType (ListRunTasks -- no cache-execution engine, no per-task compute-type modeling); WorkflowSummary/WorkflowVersionSummary.Digest/Metadata (ListWorkflows/ListWorkflowVersions -- no definition-content hashing, no metadata input anywhere on CreateWorkflow/CreateWorkflowVersion). (no bd issue filed yet)
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 -- real types.AnnotationImportItemSource (types.go:91-99, omics@v1.49.5): Source only. This is StartAnnotationImportJobInput.Items' element shape, not the response shape GetAnnotationImportJobOutput.Items uses (see AnnotationImportItemDetail) -- the two are declared separately below rather than one struct serving both, the same trap the ID/jobId field already forced apart for this job type (c41d36cb6).

type AnnotationImportItemDetail added in v1.3.1

type AnnotationImportItemDetail struct {
	JobStatus string `json:"jobStatus"`
	Source    string `json:"source"`
}

AnnotationImportItemDetail is the real GetAnnotationImportJobOutput.Items element, types.AnnotationImportItemDetail (types.go:75-89): JobStatus and Source, both required. JobStatus is set once from the job's own Status at Start time (annotationImportItemDetails, annotation_stores.go): this backend completes import jobs synchronously in one step, so every item reaches its final status in that same step and there is no async window in which a stored per-item value could go stale.

gopherstack-7s8r assumed ListAnnotationImportJobs also returns this shape; it does not -- the real List element (AnnotationImportJobItem, types.go:102-146) has no Items field at all. See AnnotationImportJobSummary.

type AnnotationImportJob

type AnnotationImportJob struct {
	CreationTime         time.Time                    `json:"creationTime"`
	CompletionTime       *time.Time                   `json:"completionTime,omitempty"`
	UpdateTime           time.Time                    `json:"updateTime"`
	FormatOptions        map[string]any               `json:"formatOptions,omitempty"`
	AnnotationFields     map[string]string            `json:"annotationFields,omitempty"`
	ID                   string                       `json:"id"`
	DestinationName      string                       `json:"destinationName"`
	RoleARN              string                       `json:"roleArn"`
	Status               string                       `json:"status"`
	StatusMessage        string                       `json:"statusMessage"`
	VersionName          string                       `json:"versionName"`
	Items                []AnnotationImportItemDetail `json:"items"`
	RunLeftNormalization bool                         `json:"runLeftNormalization,omitempty"`
}

AnnotationImportJob is the real GetAnnotationImportJobOutput shape (deserializers.go:5949-6015) and this backend's persisted job record.

ID is tagged "id" -- the real GetAnnotationImportJobOutput/ AnnotationImportJobItem wire key (deserializers.go:5954) -- which is right for Get/List but wrong for StartAnnotationImportJobOutput, whose only field is "jobId" (deserializers.go:17434); the two ops don't share a response shape in the real API, so the start handler builds its own {"jobId": ...} response instead of marshaling this struct. ListAnnotationImportJobs doesn't marshal this struct either -- see AnnotationImportJobSummary.

FormatOptions/RunLeftNormalization/VersionName/StatusMessage/UpdateTime are real required GetAnnotationImportJobOutput members (deserializers.go:5949- 6015) that were previously absent from this struct entirely -- a schema gap, not a dropped key. FormatOptions mirrors the Reference/SseConfig/ StoreOptions convention (passthrough map, real shape is a tagged union of tsvOptions/vcfOptions). StatusMessage is always empty: this backend completes import jobs synchronously with no error state to describe.

type AnnotationImportJobSummary added in v1.3.1

type AnnotationImportJobSummary struct {
	CreationTime         time.Time         `json:"creationTime"`
	CompletionTime       *time.Time        `json:"completionTime,omitempty"`
	UpdateTime           time.Time         `json:"updateTime"`
	AnnotationFields     map[string]string `json:"annotationFields,omitempty"`
	ID                   string            `json:"id"`
	DestinationName      string            `json:"destinationName"`
	RoleARN              string            `json:"roleArn"`
	Status               string            `json:"status"`
	VersionName          string            `json:"versionName"`
	RunLeftNormalization bool              `json:"runLeftNormalization,omitempty"`
}

AnnotationImportJobSummary is the real ListAnnotationImportJobsOutput element, types.AnnotationImportJobItem (types.go:102-146). It is deliberately narrower than AnnotationImportJob/GetAnnotationImportJobOutput: no Items, FormatOptions or StatusMessage -- List and Get are not the same response shape in the real API, the same class of gap that already forced StartAnnotationImportJobOutput apart to a standalone {"jobId": ...} body.

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"`
	StoreArn     string            `json:"storeArn"`
	ID           string            `json:"id"`
	Name         string            `json:"name"`
	Description  string            `json:"description"`
	StoreFormat  string            `json:"storeFormat"`
	Status       string            `json:"status"`
	// StatusMessage is real GetAnnotationStoreOutput's required
	// "statusMessage" (deserializers.go, GetAnnotationStore/
	// ListAnnotationStores) -- previously absent from this struct entirely,
	// the same gap fixed for import jobs in c41d36cb6 but missed here.
	// Always empty: this backend transitions store status synchronously
	// with no error state to describe.
	StatusMessage string `json:"statusMessage"`
	// NumVersions is real GetAnnotationStoreOutput's required "numVersions"
	// (deserializers.go:6225) -- computed live from annotationVersionsByStore
	// at read time (GetAnnotationStore/ListAnnotationStores), never stored,
	// since a stored counter would drift as versions are added/deleted.
	NumVersions int32 `json:"numVersions"`
	// StoreSizeBytes is real GetAnnotationStoreOutput's required
	// "storeSizeBytes" (deserializers.go:6289). This backend does not track
	// actual stored bytes -- always 0 rather than a fabricated number.
	StoreSizeBytes int64 `json:"storeSizeBytes"`
	// contains filtered or unexported fields
}

AnnotationStore represents an HealthOmics annotation store.

StoreArn is real GetAnnotationStoreOutput/AnnotationStoreItem wire key "storeArn" (omics@v1.49.5 deserializers.go:6266) -- this struct previously tagged it "arn", a key no real Get/ListAnnotationStores deserializer reads.

type AnnotationStoreSummary added in v1.3.1

type AnnotationStoreSummary 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"`
	StoreArn       string         `json:"storeArn"`
	ID             string         `json:"id"`
	Name           string         `json:"name"`
	Description    string         `json:"description"`
	StoreFormat    string         `json:"storeFormat"`
	Status         string         `json:"status"`
	StatusMessage  string         `json:"statusMessage"`
	StoreSizeBytes int64          `json:"storeSizeBytes"`
}

AnnotationStoreSummary is the real ListAnnotationStoresOutput element shape (types.AnnotationStoreItem, omics@v1.49.5 types.go:152-211) -- narrower than GetAnnotationStoreOutput: no numVersions, storeOptions or tags. ListAnnotationStores previously marshaled AnnotationStore directly, leaking all three (gopherstack-dv4s).

type AnnotationStoreVersion

type AnnotationStoreVersion struct {
	CreationTime   time.Time         `json:"creationTime"`
	UpdateTime     time.Time         `json:"updateTime"`
	VersionOptions map[string]any    `json:"versionOptions,omitempty"`
	Tags           map[string]string `json:"tags"`
	VersionArn     string            `json:"versionArn"`
	ID             string            `json:"id"`
	StoreID        string            `json:"storeId"`
	StoreName      string            `json:"name"`
	VersionName    string            `json:"versionName"`
	Description    string            `json:"description"`
	Status         string            `json:"status"`
	// StatusMessage is real GetAnnotationStoreVersionOutput's required
	// "statusMessage" -- previously absent from this struct entirely, the
	// same gap fixed for import jobs in c41d36cb6 but missed here. Always
	// empty: this backend transitions version status synchronously with no
	// error state to describe.
	StatusMessage string `json:"statusMessage"`
	// VersionSizeBytes is real GetAnnotationStoreVersionOutput's required
	// "versionSizeBytes" (deserializers.go:6587). This backend does not
	// track actual stored bytes -- always 0 rather than a fabricated number.
	VersionSizeBytes int64 `json:"versionSizeBytes"`
}

AnnotationStoreVersion represents a version of an annotation store.

VersionArn is real GetAnnotationStoreVersionOutput/AnnotationStoreVersionItem wire key "versionArn" (omics@v1.49.5 deserializers.go:6564) -- this struct previously tagged it "arn", a key no real deserializer for this shape reads.

ID and StoreName's tag are both gopherstack-r80d (batch 7) fixes: Get/Update/CreateAnnotationStoreVersionOutput each require a distinct "id" (the version's own generated ID, api_op_GetAnnotationStoreVersion.go:15-17, deserializers.go:6501) and "name" (the parent store's name, api_op_GetAnnotationStoreVersion.go:19-21, deserializers.go:6510) that this struct never tracked at all -- StoreName held the right value but the wrong wire key ("storeName", a key no real deserializer for this shape reads), and no field existed for "id" at all. Flagged but deliberately left unfixed by two prior passes (lx5h/kb66, dv4s) as "the opposite class" from what those passes targeted; this is exactly gopherstack-r80d's cut.

type AnnotationStoreVersionSummary added in v1.3.1

type AnnotationStoreVersionSummary struct {
	CreationTime     time.Time `json:"creationTime"`
	UpdateTime       time.Time `json:"updateTime"`
	VersionArn       string    `json:"versionArn"`
	ID               string    `json:"id"`
	StoreID          string    `json:"storeId"`
	StoreName        string    `json:"name"`
	VersionName      string    `json:"versionName"`
	Description      string    `json:"description"`
	Status           string    `json:"status"`
	StatusMessage    string    `json:"statusMessage"`
	VersionSizeBytes int64     `json:"versionSizeBytes"`
}

AnnotationStoreVersionSummary is the real ListAnnotationStoreVersionsOutput element shape (types.AnnotationStoreVersionItem, omics@v1.49.5 types.go): narrower than GetAnnotationStoreVersionOutput -- no tags.

ID/StoreName ARE real AnnotationStoreVersionItem members too (required "id"/"name", same as Get -- see AnnotationStoreVersion's doc comment); gopherstack-dv4s's note that this type "has no storeName member" was about AnnotationStoreVersion.StoreName's WRONG tag of the time ("storeName", not a real key on any shape), not about the real "name" member being absent from List -- List genuinely has it too, fixed here (gopherstack-r80d batch 7) alongside the identical Get/Update/Create gap.

type Configuration

type Configuration struct {
	CreationTime      time.Time                       `json:"creationTime"`
	RunConfigurations *ConfigurationRunConfigurations `json:"runConfigurations,omitempty"`
	Tags              map[string]string               `json:"tags,omitempty"`
	Name              string                          `json:"name"`
	Description       string                          `json:"description,omitempty"`
	ARN               string                          `json:"arn,omitempty"`
	UUID              string                          `json:"uuid,omitempty"`
	Status            string                          `json:"status,omitempty"`
}

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 ConfigurationRunConfigurations added in v1.3.1

type ConfigurationRunConfigurations struct {
	VpcConfig *ConfigurationVpcConfig `json:"vpcConfig,omitempty"`
}

ConfigurationRunConfigurations mirrors types.RunConfigurations (request) and types.RunConfigurationsResponse (response) (types.go:1523/1532).

type ConfigurationSummary

type ConfigurationSummary struct {
	CreationTime time.Time `json:"creationTime"`
	Arn          string    `json:"arn,omitempty"`
	Name         string    `json:"name"`
	Description  string    `json:"description,omitempty"`
	Status       string    `json:"status,omitempty"`
}

ConfigurationSummary is the real ListConfigurationsOutput element shape (types.ConfigurationListItem, omics@v1.49.5 types.go) -- narrower than GetConfigurationOutput: no runConfigurations, tags or uuid.

type ConfigurationVpcConfig added in v1.3.1

type ConfigurationVpcConfig struct {
	VpcID            string   `json:"vpcId,omitempty"`
	SecurityGroupIDs []string `json:"securityGroupIds,omitempty"`
	SubnetIDs        []string `json:"subnetIds,omitempty"`
}

ConfigurationVpcConfig mirrors types.VpcConfig on the request side and types.VpcConfigResponse on the response side (types.go:2242/2254) -- both wire shapes share the same field set here. VpcID is the response-only "computed from the provided subnet IDs" field; left empty rather than fabricated since this backend does no real VPC/subnet resolution.

type CreateAnnotationStoreResponse added in v1.5.0

type CreateAnnotationStoreResponse struct {
	CreationTime time.Time      `json:"creationTime"`
	Reference    map[string]any `json:"reference,omitempty"`
	StoreOptions map[string]any `json:"storeOptions,omitempty"`
	ID           string         `json:"id"`
	Name         string         `json:"name"`
	Status       string         `json:"status"`
	VersionName  string         `json:"versionName"`
	StoreFormat  string         `json:"storeFormat,omitempty"`
}

CreateAnnotationStoreResponse is the real CreateAnnotationStoreOutput shape (omics@v1.49.5 api_op_CreateAnnotationStore.go:68-95) -- narrower than AnnotationStore (no description/reference/sseConfig/storeArn/storeFormat/ storeOptions/tags/updateTime/numVersions/storeSizeBytes/statusMessage) and with one member the domain struct never tracked at all: VersionName, real required "versionName" (deserializers.go:1290, CreateAnnotationStore's own deserializer -- distinct from GetAnnotationStoreOutput, which has no such member). Echoes the caller-supplied CreateAnnotationStoreInput.VersionName (also real, optional, api_op_CreateAnnotationStore.go:61-62) verbatim; left empty rather than fabricated when the caller didn't supply one.

type CreateAnnotationStoreVersionResponse

type CreateAnnotationStoreVersionResponse struct {
	CreationTime   time.Time      `json:"creationTime"`
	VersionOptions map[string]any `json:"versionOptions,omitempty"`
	ID             string         `json:"id"`
	StoreID        string         `json:"storeId"`
	Name           string         `json:"name"`
	VersionName    string         `json:"versionName"`
	Status         string         `json:"status"`
}

CreateAnnotationStoreVersionResponse is CreateAnnotationStoreVersionOutput.

type CreateSequenceStoreInput

type CreateSequenceStoreInput struct {
	SseConfig              map[string]any
	Tags                   map[string]string
	Name                   string
	Description            string
	ETagAlgorithmFamily    string
	AccessLogLocation      string
	FallbackLocation       string
	PropagatedSetLevelTags []string
}

CreateSequenceStoreInput holds CreateSequenceStore's request members.

type CreateWorkflowInput

type CreateWorkflowInput struct {
	ContainerRegistryMap  map[string]any
	ParameterTemplate     map[string]WorkflowParameter
	StorageCapacity       *int
	Tags                  map[string]string
	Name                  string
	Description           string
	DefinitionZip         string
	DefinitionURI         string
	Engine                string
	StorageType           string
	ReadmeMarkdown        string
	ReadmePath            string
	Accelerators          string
	Main                  string
	WorkflowBucketOwnerID string
}

CreateWorkflowInput holds input for CreateWorkflow (real CreateWorkflowInput fields this backend models; DefinitionZip/DefinitionUri are accepted but discarded -- this backend does not store or execute workflow definition content, see the Engine doc comment in PARITY.md).

type CreateWorkflowVersionInput

type CreateWorkflowVersionInput struct {
	ContainerRegistryMap  map[string]any
	ParameterTemplate     map[string]WorkflowParameter
	StorageCapacity       *int
	Tags                  map[string]string
	WorkflowID            string
	VersionName           string
	Description           string
	StorageType           string
	DefinitionURI         string
	ReadmeMarkdown        string
	ReadmePath            string
	Accelerators          string
	Main                  string
	Engine                string
	WorkflowBucketOwnerID string
}

CreateWorkflowVersionInput holds input for CreateWorkflowVersion.

type DefaultRunSetting added in v1.3.1

type DefaultRunSetting struct {
	Priority            *int32
	StorageCapacity     *int
	EngineSettings      any
	Parameters          map[string]any
	RunTags             map[string]string
	CacheID             string
	CacheBehavior       string
	LogLevel            string
	NetworkingMode      string
	RetentionMode       string
	ScratchStorageMode  string
	StorageType         string
	WorkflowOwnerID     string
	WorkflowType        string
	WorkflowVersionName string
	RoleARN             string
	WorkflowID          string
	Name                string
	OutputURI           string
	RunGroupID          string
}

DefaultRunSetting is the shared configuration StartRunBatch applies to every run in the batch (real types.DefaultRunSetting). ConfigurationName and OutputBucketOwnerId are accepted on the wire but not stored -- see PARITY.md items_still_open.

type Handler

type Handler struct {
	Backend StorageBackend
	// contains filtered or unexported fields
}

Handler handles HealthOmics HTTP requests.

func NewHandler

func NewHandler(b StorageBackend) *Handler

NewHandler constructs a new Handler.

func (*Handler) BackendFor

func (h *Handler) BackendFor(region string) StorageBackend

BackendFor returns the backend serving region: the home backend, or the sibling built on first use.

func (*Handler) EnableRegions

func (h *Handler) EnableRegions()

EnableRegions makes h serve every other region through lazily built per-region siblings.

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 serves each request from the handler of its region.

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) RegionBackends

func (h *Handler) RegionBackends() []StorageBackend

RegionBackends returns the home backend followed by every sibling built so far.

func (*Handler) RegionHandler

func (h *Handler) RegionHandler(region string) *Handler

RegionHandler returns the handler serving region: h itself for the home region, else its sibling.

func (*Handler) Reset

func (h *Handler) Reset()

Reset clears every region.

func (*Handler) Restore

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

Restore implements persistence.Persistable.

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; other regions ride in an additive "regions" key.

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, description, storeFormat, versionName 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,
	versionOptions map[string]any,
	tags map[string]string,
) (*AnnotationStoreVersion, error)

CreateAnnotationStoreVersion creates a version of an annotation store.

func (*InMemoryBackend) CreateConfiguration

func (b *InMemoryBackend) CreateConfiguration(
	name, description string, runConfigurations *ConfigurationRunConfigurations, tags map[string]string,
) (*Configuration, error)

CreateConfiguration creates a configuration. runConfigurations is a required CreateConfigurationInput member (verified against validateOpCreateConfigurationInput, validators.go) that the pre-fix request never read at all.

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,
	sseConfig map[string]any,
	tags map[string]string,
) (*ReferenceStore, error)

CreateReferenceStore creates a new reference store.

func (*InMemoryBackend) CreateRunCache

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

CreateRunCache creates a new run cache. cacheBehavior defaults to CreateRunCacheInput.CacheBehavior's own documented default (CACHE_ON_FAILURE) when empty.

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(in CreateSequenceStoreInput) (*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, description string,
	reference, sseConfig map[string]any,
	tags map[string]string,
) (*VariantStore, error)

CreateVariantStore creates a new variant store.

sseConfig is real CreateVariantStoreInput's optional "sseConfig" (api_op_CreateVariantStore.go) -- previously not even read by the handler, despite GetVariantStoreOutput/VariantStoreItem requiring it on every response (types.go); the same passthrough-map convention AnnotationStore already uses (gopherstack-r80d batch 7).

func (*InMemoryBackend) CreateWorkflow

func (b *InMemoryBackend) CreateWorkflow(input CreateWorkflowInput) (*Workflow, error)

CreateWorkflow creates a new workflow. StorageCapacity/StorageType are stored/echoed exactly as given, with no fabricated default: unlike StartRunInput.StorageType/.StorageCapacity (which do state fixed defaults, applied in startRunDefaults), CreateWorkflowInput's own doc comments for these two fields only describe what the value means for runs that inherit it -- neither states what CreateWorkflow itself defaults to when the field is omitted, so no value is invented here. ParameterTemplate is likewise stored/echoed only when explicitly supplied -- see the doc comment on Workflow.ParameterTemplate.

func (*InMemoryBackend) CreateWorkflowVersion

func (b *InMemoryBackend) CreateWorkflowVersion(input CreateWorkflowVersionInput) (*WorkflowVersion, error)

CreateWorkflowVersion creates a new workflow version. CreateWorkflowVersion creates a new workflow version. StorageCapacity/ StorageType/ParameterTemplate are stored/echoed exactly as given -- see the doc comment on CreateWorkflow for why no default is fabricated.

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. Real AWS requires any read set associated with the reference genome to be deleted first (api_op_DeleteReference.go: "The read set associated with the reference genome must first be deleted before deleting the reference genome.").

func (*InMemoryBackend) DeleteReferenceStore

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

DeleteReferenceStore deletes a reference store by ID. Real AWS only permits this when the store contains no reference genomes (api_op_DeleteReferenceStore.go: "You can only delete a reference store when it does not contain any reference genomes. To empty a reference store, use DeleteReference.").

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. Real AWS only permits this when the store contains no read sets (api_op_DeleteSequenceStore.go: "You can only delete a sequence store when it does not contain any read sets. Use the BatchDeleteReadSet API operation to ensure that all read sets in the sequence store are deleted.").

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) GetRunBatchSummary added in v1.3.1

func (b *InMemoryBackend) GetRunBatchSummary(id string) (RunBatchSummary, error)

GetRunBatchSummary computes the live RunSummary breakdown for GetBatch's response.

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, advancing ACTIVATING→ACTIVE on first poll, mirroring GetWorkflow/GetAnnotationStore/GetVariantStore's reap-on-read pattern. AcceptShare stamped Status ACTIVATING and nothing else in this backend ever advanced it -- a client polling GetShare for readiness never saw a terminal status. PENDING is left alone: it is the correct client-driven wait for AcceptShare/RejectShare, not a stall.

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,
	filter *StoreStatusFilter,
	maxResults int,
	nextToken string,
) ([]*AnnotationStoreVersion, string, error)

ListAnnotationStoreVersions lists versions of an annotation store, optionally filtered by status (real AWS ListAnnotationStoreVersionsInput body "filter", omics@v1.49.5 serializers.go:5608).

func (*InMemoryBackend) ListAnnotationStores

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

ListAnnotationStores lists annotation stores, optionally filtered by status and/or a specific set of store ids (real AWS ListAnnotationStoresInput body "filter"/"ids", omics@v1.49.5 serializers.go:5497).

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,
	filter *ReadSetJobFilter,
	maxResults int,
	nextToken string,
) ([]*ReadSetActivationJob, string, error)

ListReadSetActivationJobs lists read set activation jobs.

func (*InMemoryBackend) ListReadSetExportJobs

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

ListReadSetExportJobs lists read set export jobs.

func (*InMemoryBackend) ListReadSetImportJobs

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

ListReadSetImportJobs lists read set import jobs.

func (*InMemoryBackend) ListReadSetUploadParts

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

ListReadSetUploadParts lists the parts of one partSource, narrowed by the created window.

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)

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)

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 and runSettingId (real AWS ListRunsInBatchInput query parameters). filter.SubmissionStatus is accepted for wire compatibility but not applied: this backend has no async submission-status state machine, since batches complete submission 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,
	filter *ShareFilter,
	maxResults int,
	nextToken string,
) ([]*Share, string, error)

ListShares lists shares by resource owner, optionally filtered by resourceArns/status/type (real AWS ListSharesInput body "filter", omics@v1.49.5 types/types.go:678).

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(
	filter *StoreStatusFilter,
	ids0 []string,
	maxResults int,
	nextToken string,
) ([]*VariantStore, string, error)

ListVariantStores lists variant stores, optionally filtered by status and/or a specific set of store ids (real AWS ListVariantStoresInput body "filter"/"ids", omics@v1.49.5 serializers.go:7543).

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,
	annotationFields map[string]string,
	formatOptions map[string]any,
	runLeftNormalization bool,
	versionName string,
) (*AnnotationImportJob, error)

StartAnnotationImportJob starts an annotation import job. annotationFields, formatOptions, runLeftNormalization, and versionName are real optional StartAnnotationImportJobInput members (serializers.go:7892-7935) that were previously dropped on the floor -- the handler never read them at all.

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(input StartRunInput) (*Run, error)

StartRun starts a new workflow run. See StartRunInput for which real StartRunInput fields this backend models.

func (*InMemoryBackend) StartRunBatch

func (b *InMemoryBackend) StartRunBatch(
	batchName string,
	def DefaultRunSetting,
	inlineSettings []InlineRunSetting,
	tags map[string]string,
) (*RunBatch, error)

StartRunBatch starts a new run batch: it creates the RunBatch resource, then immediately creates one constituent Run per entry in inlineSettings (real BatchRunSettings.InlineSettings), merging each with def (real DefaultRunSetting) -- a run-level field is used when set, falling back to the batch default otherwise, matching the documented override semantics of types.InlineSetting. A duplicate RunSettingID within the same request is a submission failure for that entry (not a fatal error for the whole batch), matching real AWS's per-run submission-outcome model (see SubmissionSummary).

func (*InMemoryBackend) StartVariantImportJob

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

StartVariantImportJob starts a variant import job. annotationFields and runLeftNormalization are real optional StartVariantImportJobInput members (serializers.go:8737-8767) that were previously dropped on the floor -- the handler never read them at all. Unlike annotation import jobs, variant import jobs have no formatOptions or versionName field in the real API.

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 string, description *string,
) (*AnnotationStore, error)

UpdateAnnotationStore updates an annotation store.

func (*InMemoryBackend) UpdateAnnotationStoreVersion

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

UpdateAnnotationStoreVersion updates an annotation store version.

func (*InMemoryBackend) UpdateRunCache

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

UpdateRunCache updates a run cache. cacheBehavior, like name and description, is applied only when non-empty (real UpdateRunCacheInput.CacheBehavior: "Update the default run cache behavior" -- omitting it leaves the existing value).

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 string, in UpdateSequenceStoreInput) (*SequenceStore, error)

UpdateSequenceStore updates a sequence store's name and description.

func (*InMemoryBackend) UpdateVariantStore

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

UpdateVariantStore updates a variant store.

func (*InMemoryBackend) UpdateWorkflow

func (b *InMemoryBackend) UpdateWorkflow(
	id, name, description, storageType, readmeMarkdown string, storageCapacity *int,
) error

UpdateWorkflow updates a workflow.

func (*InMemoryBackend) UpdateWorkflowVersion

func (b *InMemoryBackend) UpdateWorkflowVersion(
	workflowID, versionName, description, storageType, readmeMarkdown string, storageCapacity *int,
) 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 InlineRunSetting added in v1.3.1

type InlineRunSetting struct {
	RunTags        map[string]string
	Parameters     map[string]any
	EngineSettings any
	Priority       *int32
	RunSettingID   string
	Name           string
	OutputURI      string
}

InlineRunSetting is one caller-supplied per-run override within a StartRunBatch request's BatchRunSettings.InlineSettings list (real types.InlineSetting). Overrides Name/OutputURI/Priority/RunTags from DefaultRunSetting when set; RunSettingID is required and has no default.

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 is real required MultipartReadSetUploadListItem's "generatedFrom"
	// (List element, types.go) despite being optional on CreateMultipartReadSetUploadOutput
	// -- present-but-empty (not omitted) is correct either way (gopherstack-r80d batch 7).
	GeneratedFrom string `json:"generatedFrom"`
	// ReferenceARN is real required CreateMultipartReadSetUploadOutput/
	// MultipartReadSetUploadListItem "referenceArn" (api_op_CreateMultipartReadSetUpload.go:82-85,
	// types.go) despite being an optional CreateMultipartReadSetUploadInput field --
	// previously omitempty dropped the key entirely whenever a caller didn't supply
	// one, which a real client decodes as a required-field-missing error
	// (gopherstack-r80d batch 7).
	ReferenceARN string `json:"referenceArn"`
	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 ReadSetActivationJobSummary

type ReadSetActivationJobSummary struct {
	CreationTime    time.Time  `json:"creationTime"`
	CompletionTime  *time.Time `json:"completionTime,omitempty"`
	ID              string     `json:"id"`
	SequenceStoreID string     `json:"sequenceStoreId"`
	Status          string     `json:"status"`
}

ReadSetActivationJobSummary is the real ListReadSetActivationJobsOutput element shape (types.ActivateReadSetJobItem, omics@v1.49.5 types.go) -- narrower than GetReadSetActivationJobOutput: no sources or statusMessage.

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
	ReferenceArn string
	SampleID     string `json:"sampleId"`
	SubjectID    string `json:"subjectId"`
	// contains filtered or unexported fields
}

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 ReadSetImportJobSummary

type ReadSetImportJobSummary 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"`
}

ReadSetImportJobSummary is the real ListReadSetImportJobsOutput element shape (types.ImportReadSetJobItem, omics@v1.49.5 types.go) -- narrower than GetReadSetImportJobOutput: no sources.

type ReadSetJobFilter

type ReadSetJobFilter struct {
	Status string `json:"status"`
	// contains filtered or unexported fields
}

ReadSetJobFilter is the status + created window filter of the read set import/export/activation job list operations.

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 ReadSetSummary

type ReadSetSummary struct {
	CreationTime    time.Time `json:"creationTime"`
	Arn             string    `json:"arn"`
	ID              string    `json:"id"`
	SequenceStoreID string    `json:"sequenceStoreId"`
	Name            string    `json:"name,omitempty"`
	Description     string    `json:"description,omitempty"`
	FileType        string    `json:"fileType"`
	Status          string    `json:"status"`
	StatusMessage   string    `json:"statusMessage,omitempty"`
	SubjectID       string    `json:"subjectId,omitempty"`
	SampleID        string    `json:"sampleId,omitempty"`
	ReferenceARN    string    `json:"referenceArn,omitempty"`
}

ReadSetSummary is the real ListReadSetsOutput element shape (types.ReadSetListItem, omics@v1.49.5 types.go) -- narrower than GetReadSetMetadataOutput: no files, tags or updateTime.

creationType/etag/sequenceInformation are real ReadSetListItem members this backend has no source for (not tracked anywhere at read-set creation) -- see PARITY.md items_still_open.

type ReadSetUploadPart

type ReadSetUploadPart struct {
	CreationTime    time.Time `json:"creationTime"`
	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 and is also this backend's persisted record for it (backendSnapshot. UploadParts) -- its json tags are the on-disk keys, so Source keeps the "source" tag here rather than the real wire key (see ReadSetUploadPartSummary for that). CreationTime is a real ReadSetUploadPartListItem required member, previously missing from this struct entirely (purely additive: an older snapshot decodes it as the zero Time).

type ReadSetUploadPartSummary

type ReadSetUploadPartSummary struct {
	CreationTime    time.Time `json:"creationTime"`
	LastUpdatedTime time.Time `json:"lastUpdatedTime"`
	Checksum        string    `json:"checksum"`
	Source          string    `json:"partSource"`
	PartNumber      int       `json:"partNumber"`
	PartSize        int64     `json:"partSize"`
}

ReadSetUploadPartSummary is the real ListReadSetUploadPartsOutput element wire shape (types.ReadSetUploadPartListItem, omics@v1.49.5 deserializers.go) -- Source is tagged "partSource", the real wire key (confirmed against the SDK deserializer); ReadSetUploadPart's own "source" tag is its on-disk persistence key instead (see its doc comment), so this backend cannot marshal that struct directly for the wire response.

type ReferenceFilter

type ReferenceFilter struct {
	Name string
	Md5  string
	// contains filtered or unexported fields
}

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
	// contains filtered or unexported fields
}

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 ReferenceImportJobSummary

type ReferenceImportJobSummary 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"`
}

ReferenceImportJobSummary is the real ListReferenceImportJobsOutput element shape (types.ImportReferenceJobItem, omics@v1.49.5 types.go) -- narrower than GetReferenceImportJobOutput: no sources.

type ReferenceMetadata

type ReferenceMetadata 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"`
	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
	// contains filtered or unexported fields
}

ReferenceStoreFilter is filter criteria for listing reference stores.

type ReferenceSummary

type ReferenceSummary struct {
	CreationTime     time.Time `json:"creationTime"`
	UpdateTime       time.Time `json:"updateTime"`
	Arn              string    `json:"arn"`
	ID               string    `json:"id"`
	ReferenceStoreID string    `json:"referenceStoreId"`
	Name             string    `json:"name,omitempty"`
	Description      string    `json:"description,omitempty"`
	Status           string    `json:"status,omitempty"`
	MD5              string    `json:"md5"`
}

ReferenceSummary is the real ListReferencesOutput element shape (types.ReferenceListItem, omics@v1.49.5 types.go) -- narrower than GetReferenceMetadataOutput: no files or tags.

type Run

type Run struct {
	Priority        *int32                `json:"priority,omitempty"`
	EngineSettings  any                   `json:"engineSettings,omitempty"`
	StartTime       *time.Time            `json:"startTime,omitempty"`
	StopTime        *time.Time            `json:"stopTime,omitempty"`
	StorageCapacity *int                  `json:"storageCapacity,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"`
	// RunSettingID mirrors the batch caller's InlineSetting.RunSettingId (real
	// StartRunBatch request field, see types.InlineSetting) so ListRunsInBatch can map
	// each created run back to the caller-supplied per-run configuration it came from.
	// Empty for runs started via plain StartRun (there is no such field on that op).
	RunSettingID   string `json:"runSettingId,omitempty"`
	NetworkingMode string `json:"networkingMode,omitempty"`
	RunOutputURI   string `json:"runOutputUri,omitempty"`
	// CacheID/CacheBehavior associate this run with a RunCache
	// (CreateRunCache/GetRunCache). CacheBehavior defaults to the referenced
	// cache's own CacheBehavior when a CacheID is given and this field is
	// omitted (real StartRunInput.CacheBehavior: "You had set the default
	// value when you created the cache").
	CacheID       string `json:"cacheId,omitempty"`
	CacheBehavior string `json:"cacheBehavior,omitempty"`
	// RetentionMode/ScratchStorageMode/StorageType/WorkflowType are stored
	// and echoed as documented defaults; this backend does not implement
	// RetentionMode=REMOVE's automatic eviction of old runs (it already
	// never auto-removes runs, which is what RETAIN, the default, already
	// describes) or WorkflowType=READY2RUN's public workflow catalog (only
	// PRIVATE workflows -- this backend's own workflow store -- exist here).
	RetentionMode       string `json:"retentionMode,omitempty"`
	ScratchStorageMode  string `json:"scratchStorageMode,omitempty"`
	StorageType         string `json:"storageType,omitempty"`
	WorkflowType        string `json:"workflowType,omitempty"`
	WorkflowVersionName string `json:"workflowVersionName,omitempty"`
	LogLevel            string `json:"logLevel,omitempty"`
	WorkflowOwnerID     string `json:"workflowOwnerId,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 {
	Defaults      *DefaultRunSetting `json:"defaultRunSetting,omitempty"`
	CreationTime  time.Time          `json:"creationTime"`
	SubmittedTime time.Time          `json:"submittedTime,omitzero"`
	ProcessedTime time.Time          `json:"processedTime,omitzero"`
	Tags          map[string]string  `json:"tags"`
	Arn           string             `json:"arn"`
	ID            string             `json:"id"`
	UUID          string             `json:"uuid"`
	Name          string             `json:"name,omitempty"`
	WorkflowID    string             `json:"workflowId"`
	RoleARN       string             `json:"roleArn"`
	RunGroupID    string             `json:"runGroupId,omitempty"`
	OutputURI     string             `json:"outputUri,omitempty"`
	Status        string             `json:"status"`
	// TotalRuns is the number of constituent runs requested at submission time
	// (len(InlineSettings)). SubmissionSuccessCount/SubmissionFailureCount and
	// DeletedRunCount are one-time/monotonic outcomes of synchronous events
	// (submission at StartRunBatch, deletion at DeleteRunsInBatch) and are stored
	// directly rather than derived, since the Run rows they summarize either never
	// existed (failed submissions) or are removed entirely (deleted runs) -- there is
	// nothing left to recompute them from later. The remaining RunSummary counts
	// (pending/running/completed/cancelled/failed) change as runs progress and are
	// computed live from surviving Run rows by summarizeRunBatchLocked instead.
	TotalRuns              int32
	SubmissionSuccessCount int32
	SubmissionFailureCount int32
	DeletedRunCount        int32
}

RunBatch represents an HealthOmics run batch (real GetBatchOutput shape -- RunSummary/SubmissionSummary/TotalRuns are NOT stored here; they are computed live from the batch's constituent Run records by summarizeRunBatchLocked, since this backend creates/completes them synchronously and a stored, independently-updated counter would drift from the real Run rows it's meant to summarize).

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 RunBatchSummary added in v1.3.1

type RunBatchSummary struct {
	PendingRunCount   int32
	RunningRunCount   int32
	CompletedRunCount int32
	CancelledRunCount int32
	FailedRunCount    int32
}

RunBatchSummary is the RunSummary breakdown (real types.RunSummary) computed live from a batch's surviving constituent Run rows.

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"`
	CacheBucketOwnerID string            `json:"cacheBucketOwnerId,omitempty"`
	CacheS3Location    string            `json:"cacheS3Uri"`
	Status             string            `json:"status"`
	// CacheBehavior is the cache's own documented default behavior for runs
	// that use it and don't override CacheBehavior on StartRun (real
	// CreateRunCacheInput.CacheBehavior: "If you don't specify a value, the
	// default behavior is CACHE_ON_FAILURE").
	CacheBehavior string `json:"cacheBehavior,omitempty"`
}

RunCache represents an HealthOmics run cache.

type RunCacheSummary

type RunCacheSummary struct {
	CreationTime    time.Time `json:"creationTime"`
	Arn             string    `json:"arn"`
	ID              string    `json:"id"`
	Name            string    `json:"name,omitempty"`
	CacheS3Location string    `json:"cacheS3Uri,omitempty"`
	Status          string    `json:"status"`
	CacheBehavior   string    `json:"cacheBehavior,omitempty"`
}

RunCacheSummary is the real ListRunCachesOutput element shape (types.RunCacheListItem, omics@v1.49.5 types.go) -- narrower than GetRunCacheOutput: no description or tags.

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 RunGroupSummary

type RunGroupSummary struct {
	CreationTime time.Time `json:"creationTime"`
	Arn          string    `json:"arn"`
	ID           string    `json:"id"`
	Name         string    `json:"name,omitempty"`
	MaxCPUs      int       `json:"maxCpus,omitempty"`
	MaxRuns      int       `json:"maxRuns,omitempty"`
	MaxDuration  int       `json:"maxDuration,omitempty"`
	MaxGPUs      int       `json:"maxGpus,omitempty"`
}

RunGroupSummary is the real ListRunGroupsOutput element shape (types.RunGroupListItem, omics@v1.49.5 types.go) -- narrower than GetRunGroupOutput: no tags.

type RunInBatchSummary

type RunInBatchSummary struct {
	RunArn           string `json:"runArn,omitempty"`
	RunID            string `json:"runId,omitempty"`
	RunUUID          string `json:"runInternalUuid,omitempty"`
	RunSettingID     string `json:"runSettingId,omitempty"`
	SubmissionStatus string `json:"submissionStatus,omitempty"`
}

RunInBatchSummary is the real ListRunsInBatchOutput element shape (types.RunBatchListItem, omics@v1.49.5 types.go) -- a much narrower shape than GetRunOutput/Run: only the run's identity plus its batch submission outcome. Every run in this backend's ListRunsInBatch result set was submitted successfully (StartRunBatch never creates a Run row for a failed submission -- see RunBatch.SubmissionFailureCount's doc comment), so SubmissionStatus is always the real SUCCESS enum value and the failure fields stay empty.

type RunSummary

type RunSummary struct {
	Priority            *int32     `json:"priority,omitempty"`
	StartTime           *time.Time `json:"startTime,omitempty"`
	StopTime            *time.Time `json:"stopTime,omitempty"`
	StorageCapacity     *int       `json:"storageCapacity,omitempty"`
	CreationTime        time.Time  `json:"creationTime"`
	Arn                 string     `json:"arn"`
	ID                  string     `json:"id"`
	Name                string     `json:"name,omitempty"`
	WorkflowID          string     `json:"workflowId,omitempty"`
	WorkflowName        string     `json:"workflowName,omitempty"`
	WorkflowVersionName string     `json:"workflowVersionName,omitempty"`
	RunBatchID          string     `json:"batchId,omitempty"`
	StorageType         string     `json:"storageType,omitempty"`
	Status              string     `json:"status"`
}

RunSummary is the real ListRunsOutput element shape (types.RunListItem, omics@v1.49.5 types.go) -- narrower than GetRunOutput: no configuration, tags, parameters, roleArn, runGroupId, runSettingId, networkingMode, runOutputUri, cacheId, cacheBehavior, retentionMode, scratchStorageMode, workflowType or uuid.

WorkflowName is a real RunListItem-only member -- GetRunOutput has no such field -- resolved from the run's stored WorkflowID by the caller (see newRunSummary).

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"`
	UUID         string     `json:"uuid,omitempty"`
	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 RunTaskSummary

type RunTaskSummary struct {
	StartTime    *time.Time `json:"startTime,omitempty"`
	StopTime     *time.Time `json:"stopTime,omitempty"`
	CreationTime time.Time  `json:"creationTime"`
	TaskID       string     `json:"taskId"`
	Name         string     `json:"name"`
	Status       string     `json:"status"`
	UUID         string     `json:"uuid,omitempty"`
	CPUs         int        `json:"cpus"`
	Memory       int        `json:"memory"`
}

RunTaskSummary is the real ListRunTasksOutput element shape (types.TaskListItem, omics@v1.49.5 types.go) -- narrower than GetRunTaskOutput: no runId, failureReason, imageDetails, logStream or statusMessage.

cacheHit/cacheS3Uri/gpus/instanceType are real TaskListItem members this backend has no source for (no cache-execution engine, no per-task compute type modeling -- every task is the same synchronous stub) -- see PARITY.md items_still_open.

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 {
	SseConfig              map[string]any    `json:"sseConfig,omitempty"`
	S3Access               map[string]any    `json:"s3Access,omitempty"`
	Tags                   map[string]string `json:"tags"`
	CreationTime           time.Time         `json:"creationTime"`
	UpdateTime             time.Time         `json:"updateTime"`
	Arn                    string            `json:"arn"`
	ID                     string            `json:"id"`
	Name                   string            `json:"name"`
	Description            string            `json:"description"`
	ETagAlgorithm          string            `json:"eTagAlgorithm,omitempty"`
	FallbackLocation       string            `json:"fallbackLocation,omitempty"`
	Status                 string            `json:"status"`
	PropagatedSetLevelTags []string          `json:"propagatedSetLevelTags,omitempty"`
}

SequenceStore represents an HealthOmics sequence store.

type SequenceStoreFilter

type SequenceStoreFilter struct {
	UpdatedAfter  *time.Time `json:"updatedAfter"`
	UpdatedBefore *time.Time `json:"updatedBefore"`
	Name          string
	Status        string
	// contains filtered or unexported fields
}

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:"shareName"`
	Status              string     `json:"status"`
	// contains filtered or unexported fields
}

Share represents an HealthOmics resource share.

type ShareFilter added in v1.3.1

type ShareFilter struct {
	ResourceArns []string
	Status       []string
	Type         []string
}

ShareFilter is filter criteria for ListShares (real AWS types.Filter, omics@v1.49.5 types/types.go:678: resourceArns/status/type are each an "any of" list).

type StartRunInput

type StartRunInput struct {
	StorageCapacity     *int
	Priority            *int32
	EngineSettings      any
	LogLevel            string
	WorkflowOwnerID     string
	Tags                map[string]string
	Params              map[string]any
	CacheID             string
	RetentionMode       string
	RunSettingID        string
	NetworkingMode      string
	RunOutputURI        string
	WorkflowID          string
	CacheBehavior       string
	RunBatchID          string
	ScratchStorageMode  string
	StorageType         string
	WorkflowType        string
	WorkflowVersionName string
	RunGroupID          string
	Name                string
	RoleARN             string
}

StartRunInput holds input for StartRun (real StartRunInput fields this backend models). RunBatchID/RunSettingID have no real StartRunInput counterpart -- they're set internally by StartRunBatch's constituent-run creation, never by a direct StartRun caller.

type StorageBackend

type StorageBackend interface {
	// ReferenceStore
	CreateReferenceStore(
		name, description string, sseConfig map[string]any, 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(in CreateSequenceStoreInput) (*SequenceStore, error)
	DeleteSequenceStore(id string) error
	GetSequenceStore(id string) (*SequenceStore, error)
	ListSequenceStores(
		filter *SequenceStoreFilter,
		maxResults int,
		nextToken string,
	) ([]*SequenceStore, string, error)
	UpdateSequenceStore(id string, in UpdateSequenceStoreInput) (*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,
		filter *ReadSetJobFilter,
		maxResults int,
		nextToken string,
	) ([]*ReadSetActivationJob, string, error)
	StartReadSetExportJob(
		sequenceStoreID, destination string,
		sources []ReadSetExportJobSource,
	) (*ReadSetExportJob, error)
	GetReadSetExportJob(sequenceStoreID, jobID string) (*ReadSetExportJob, error)
	ListReadSetExportJobs(
		sequenceStoreID string,
		filter *ReadSetJobFilter,
		maxResults int,
		nextToken string,
	) ([]*ReadSetExportJob, string, error)
	StartReadSetImportJob(
		sequenceStoreID, roleARN string,
		sources []ReadSetImportJobSource,
	) (*ReadSetImportJob, error)
	GetReadSetImportJob(sequenceStoreID, jobID string) (*ReadSetImportJob, error)
	ListReadSetImportJobs(
		sequenceStoreID string,
		filter *ReadSetJobFilter,
		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, partSource string,
		window *createdWindow,
		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(input StartRunInput) (*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(input CreateWorkflowInput) (*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, storageType, readmeMarkdown string, storageCapacity *int) error

	// AnnotationStore
	CreateAnnotationStore(
		name, description, storeFormat, versionName string,
		reference, sseConfig, storeOptions map[string]any,
		tags map[string]string,
	) (*AnnotationStore, error)
	DeleteAnnotationStore(name string) (*AnnotationStore, error)
	GetAnnotationStore(name string) (*AnnotationStore, error)
	ListAnnotationStores(
		filter *StoreStatusFilter,
		ids []string,
		maxResults int,
		nextToken string,
	) ([]*AnnotationStore, string, error)
	UpdateAnnotationStore(name string, description *string) (*AnnotationStore, error)
	StartAnnotationImportJob(
		destinationName, roleARN string,
		items []AnnotationImportItem,
		annotationFields map[string]string,
		formatOptions map[string]any,
		runLeftNormalization bool,
		versionName string,
	) (*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,
		versionOptions map[string]any,
		tags map[string]string,
	) (*AnnotationStoreVersion, error)
	DeleteAnnotationStoreVersions(name string, versionNames []string) ([]VersionDeleteError, error)
	GetAnnotationStoreVersion(name, versionName string) (*AnnotationStoreVersion, error)
	ListAnnotationStoreVersions(
		name string,
		filter *StoreStatusFilter,
		maxResults int,
		nextToken string,
	) ([]*AnnotationStoreVersion, string, error)
	UpdateAnnotationStoreVersion(
		name, versionName string, description *string,
	) (*AnnotationStoreVersion, error)

	// VariantStore
	CreateVariantStore(
		name, description string, reference, sseConfig map[string]any, tags map[string]string,
	) (*VariantStore, error)
	DeleteVariantStore(name string) (*VariantStore, error)
	GetVariantStore(name string) (*VariantStore, error)
	ListVariantStores(
		filter *StoreStatusFilter,
		ids []string,
		maxResults int,
		nextToken string,
	) ([]*VariantStore, string, error)
	UpdateVariantStore(name string, description *string) (*VariantStore, error)
	StartVariantImportJob(
		destinationName, roleARN string,
		items []VariantImportItem,
		annotationFields map[string]string,
		runLeftNormalization bool,
	) (*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,
		filter *ShareFilter,
		maxResults int,
		nextToken string,
	) ([]*Share, string, error)

	// RunCache
	CreateRunCache(
		name, description, cacheS3Location, cacheBehavior, cacheBucketOwnerID 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, cacheBehavior string) error

	// RunBatch
	StartRunBatch(
		batchName string, def DefaultRunSetting, inlineSettings []InlineRunSetting, tags map[string]string,
	) (*RunBatch, error)
	CancelRunBatch(id string) error
	DeleteRunBatch(id string) error
	GetRunBatch(id string) (*RunBatch, error)
	GetRunBatchSummary(id string) (RunBatchSummary, 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, runConfigurations *ConfigurationRunConfigurations, tags map[string]string,
	) (*Configuration, error)
	DeleteConfiguration(name string) error
	GetConfiguration(name string) (*Configuration, error)
	ListConfigurations(maxResults int, nextToken string) ([]*Configuration, string, error)

	// WorkflowVersion
	CreateWorkflowVersion(input CreateWorkflowVersionInput) (*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, storageType, readmeMarkdown string, storageCapacity *int,
	) 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 StoreStatusFilter added in v1.3.1

type StoreStatusFilter struct {
	Status string
}

StoreStatusFilter is filter criteria shared by ListAnnotationStores, ListVariantStores, and ListAnnotationStoreVersions (status only; real AWS ListAnnotationStoresFilter/ListVariantStoresFilter/ ListAnnotationStoreVersionsFilter, omics@v1.49.5 types/types.go:987,1018,997).

type UpdateSequenceStoreInput

type UpdateSequenceStoreInput struct {
	FallbackLocation       *string
	AccessLogLocation      *string
	Name                   *string
	Description            *string
	PropagatedSetLevelTags []string
}

UpdateSequenceStoreInput holds UpdateSequenceStore's optional members; nil means unchanged.

type VariantImportItem

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

VariantImportItem is a source item for a variant import job -- real types.VariantImportItemSource (types.go:2078-2086, omics@v1.49.5): Source only. This is StartVariantImportJobInput.Items' element shape, not the response shape GetVariantImportJobOutput.Items uses (see VariantImportItemDetail).

type VariantImportItemDetail added in v1.3.1

type VariantImportItemDetail struct {
	JobStatus     string `json:"jobStatus"`
	Source        string `json:"source"`
	StatusMessage string `json:"statusMessage,omitempty"`
}

VariantImportItemDetail is the real GetVariantImportJobOutput.Items element, types.VariantImportItemDetail (types.go:2058-2071): JobStatus and Source are required, StatusMessage is optional. JobStatus is set once from the job's own Status at Start time (see variantImportItemDetails, variant_stores.go): this backend completes import jobs synchronously in one step, so every item reaches its final status in that same step. StatusMessage is always empty, same convention as the job-level StatusMessage below.

gopherstack-7s8r assumed ListVariantImportJobs also returns this shape; it does not -- the real List element (VariantImportJobItem, types.go:2090-2132) has no Items field at all. See VariantImportJobSummary.

type VariantImportJob

type VariantImportJob struct {
	CreationTime         time.Time                 `json:"creationTime"`
	CompletionTime       *time.Time                `json:"completionTime,omitempty"`
	UpdateTime           time.Time                 `json:"updateTime"`
	AnnotationFields     map[string]string         `json:"annotationFields,omitempty"`
	ID                   string                    `json:"id"`
	DestinationName      string                    `json:"destinationName"`
	RoleARN              string                    `json:"roleArn"`
	Status               string                    `json:"status"`
	StatusMessage        string                    `json:"statusMessage"`
	Items                []VariantImportItemDetail `json:"items"`
	RunLeftNormalization bool                      `json:"runLeftNormalization,omitempty"`
}

VariantImportJob is the real GetVariantImportJobOutput shape (deserializers.go:11383-11444) and this backend's persisted job record.

ID is tagged "id" -- the real GetVariantImportJobOutput/ VariantImportJobItem wire key (deserializers.go:11383) -- which is right for Get/List but wrong for StartVariantImportJobOutput, whose only field is "jobId" (deserializers.go:18893); the start handler builds its own {"jobId": ...} response instead of marshaling this struct. ListVariantImportJobs doesn't marshal this struct either -- see VariantImportJobSummary. Unlike annotation import jobs, variant import jobs have no FormatOptions or VersionName field anywhere in the real API (StartVariantImportJobInput/GetVariantImportJobOutput both lack them) -- RunLeftNormalization/StatusMessage/UpdateTime are the real gaps here (deserializers.go:11406-11444), same schema-gap class as the annotation job. StatusMessage is always empty: this backend completes import jobs synchronously with no error state to describe.

type VariantImportJobSummary added in v1.3.1

type VariantImportJobSummary struct {
	CreationTime         time.Time         `json:"creationTime"`
	CompletionTime       *time.Time        `json:"completionTime,omitempty"`
	UpdateTime           time.Time         `json:"updateTime"`
	AnnotationFields     map[string]string `json:"annotationFields,omitempty"`
	ID                   string            `json:"id"`
	DestinationName      string            `json:"destinationName"`
	RoleARN              string            `json:"roleArn"`
	Status               string            `json:"status"`
	RunLeftNormalization bool              `json:"runLeftNormalization,omitempty"`
}

VariantImportJobSummary is the real ListVariantImportJobsOutput element, types.VariantImportJobItem (types.go:2090-2132). Deliberately narrower than VariantImportJob/GetVariantImportJobOutput: no Items or StatusMessage.

type VariantStore

type VariantStore struct {
	CreationTime time.Time      `json:"creationTime"`
	UpdateTime   time.Time      `json:"updateTime"`
	Reference    map[string]any `json:"reference,omitempty"`
	// SseConfig is real GetVariantStoreOutput/VariantStoreItem's required
	// "sseConfig" (types.go) -- previously not a field on this struct at
	// all, the same "member with no struct field" class as
	// AnnotationImportJob's pre-fix FormatOptions gap. CreateVariantStore
	// now threads the real (optional) CreateVariantStoreInput.SseConfig
	// through, mirroring AnnotationStore's existing convention
	// (gopherstack-r80d batch 7).
	SseConfig   map[string]any    `json:"sseConfig,omitempty"`
	Tags        map[string]string `json:"tags"`
	StoreArn    string            `json:"storeArn"`
	ID          string            `json:"id"`
	Name        string            `json:"name"`
	Description string            `json:"description"`
	Status      string            `json:"status"`
	// StatusMessage is real GetVariantStoreOutput's required
	// "statusMessage" -- previously absent from this struct entirely, the
	// same gap fixed for import jobs in c41d36cb6 but missed here. Always
	// empty: this backend transitions store status synchronously with no
	// error state to describe.
	StatusMessage string `json:"statusMessage"`
	// StoreSizeBytes is real GetVariantStoreOutput's required
	// "storeSizeBytes" (deserializers.go:11682). This backend does not track
	// actual stored bytes -- always 0 rather than a fabricated number.
	StoreSizeBytes int64 `json:"storeSizeBytes"`
	// contains filtered or unexported fields
}

VariantStore represents an HealthOmics variant store.

StoreArn is real GetVariantStoreOutput/VariantStoreItem wire key "storeArn" (omics@v1.49.5 deserializers.go:11673) -- this struct previously tagged it "arn", a key no real Get/ListVariantStores deserializer reads.

type VariantStoreSummary added in v1.3.1

type VariantStoreSummary 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"`
	StoreArn       string         `json:"storeArn"`
	ID             string         `json:"id"`
	Name           string         `json:"name"`
	Description    string         `json:"description"`
	Status         string         `json:"status"`
	StatusMessage  string         `json:"statusMessage"`
	StoreSizeBytes int64          `json:"storeSizeBytes"`
}

VariantStoreSummary is the real ListVariantStoresOutput element shape (types.VariantStoreItem, omics@v1.49.5 types.go) -- narrower than GetVariantStoreOutput: no tags. ListVariantStores previously marshaled VariantStore directly, leaking it (gopherstack-dv4s).

SseConfig IS a real required VariantStoreItem member too (types.go), same as GetVariantStoreOutput -- fixed here alongside Get (gopherstack-r80d batch 7); this type's own doc comment previously called it "the opposite bug class from the one this pass targets", but it is exactly gopherstack-r80d's "member with no struct field at all" class.

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"`
	// ContainerRegistryMap is echoed as given; no image pulls happen here.
	ContainerRegistryMap map[string]any `json:"containerRegistryMap,omitempty"`
	Accelerators         string         `json:"accelerators,omitempty"`
	Main                 string         `json:"main,omitempty"`
	// ParameterTemplate is stored/echoed only when explicitly supplied on
	// CreateWorkflow -- when blank, real AWS auto-parses it from the
	// workflow definition file, which this backend cannot honestly
	// simulate without parsing a real workflow archive (same restraint as
	// Engine's auto-detection, see PARITY.md).
	ParameterTemplate map[string]WorkflowParameter `json:"parameterTemplate,omitempty"`
	StorageCapacity   *int                         `json:"storageCapacity,omitempty"`
	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"`
	StorageType       string                       `json:"storageType,omitempty"`
	UUID              string                       `json:"uuid,omitempty"`
	Status            string                       `json:"status"`
	Readme            string                       `json:"readme,omitempty"`
	ReadmePath        string                       `json:"readmePath,omitempty"`
	// 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 WorkflowParameter

type WorkflowParameter struct {
	Description string `json:"description,omitempty"`
	Optional    bool   `json:"optional,omitempty"`
}

WorkflowParameter describes one entry of a workflow's ParameterTemplate (real types.WorkflowParameter).

type WorkflowSummary

type WorkflowSummary struct {
	CreationTime time.Time `json:"creationTime"`
	Arn          string    `json:"arn"`
	ID           string    `json:"id"`
	Name         string    `json:"name,omitempty"`
	Status       string    `json:"status"`
	Type         string    `json:"type,omitempty"`
}

WorkflowSummary is the real ListWorkflowsOutput element shape (types.WorkflowListItem, omics@v1.49.5 types.go) -- narrower than GetWorkflowOutput: no tags, parameterTemplate, storageCapacity, description, engine, storageType or uuid.

digest/metadata are real WorkflowListItem members this backend has no source for (no definition-content hashing, no metadata input anywhere on CreateWorkflow) -- see PARITY.md items_still_open.

type WorkflowVersion

type WorkflowVersion struct {
	CreationTime         time.Time                    `json:"creationTime"`
	ContainerRegistryMap map[string]any               `json:"containerRegistryMap,omitempty"`
	Accelerators         string                       `json:"accelerators,omitempty"`
	Main                 string                       `json:"main,omitempty"`
	UUID                 string                       `json:"uuid,omitempty"`
	Tags                 map[string]string            `json:"tags"`
	ParameterTemplate    map[string]WorkflowParameter `json:"parameterTemplate,omitempty"`
	StorageCapacity      *int                         `json:"storageCapacity,omitempty"`
	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"`
	StorageType          string                       `json:"storageType,omitempty"`
	Status               string                       `json:"status"`
	Readme               string                       `json:"readme,omitempty"`
	ReadmePath           string                       `json:"readmePath,omitempty"`
	BucketOwnerID        string                       `json:"workflowBucketOwnerId,omitempty"`
	// 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.

type WorkflowVersionSummary

type WorkflowVersionSummary struct {
	CreationTime time.Time `json:"creationTime"`
	Arn          string    `json:"arn"`
	WorkflowID   string    `json:"workflowId"`
	VersionName  string    `json:"versionName"`
	Description  string    `json:"description,omitempty"`
	Status       string    `json:"status"`
	Type         string    `json:"type,omitempty"`
}

WorkflowVersionSummary is the real ListWorkflowVersionsOutput element shape (types.WorkflowVersionListItem, omics@v1.49.5 types.go) -- narrower than GetWorkflowVersionOutput: no tags, parameterTemplate, storageCapacity, engine or storageType.

digest/metadata are real WorkflowVersionListItem members this backend has no source for -- see WorkflowSummary's doc comment and PARITY.md items_still_open.

Jump to

Keyboard shortcuts

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