mediaconvert

package
v1.1.4 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2026 License: MIT Imports: 21 Imported by: 0

README

MediaConvert

Parity grade: A · SDK aws-sdk-go-v2/service/mediaconvert@v1.87.3 · last audited 2026-07-13 (911ff167)

Coverage

Metric Value
Operations audited 34 (31 ok, 3 partial)
Feature families 6 (6 ok)
Known gaps 3
Deferred items 1
Resource leaks clean
Known gaps
  • UpdateJobTemplate/CreateJobTemplate do not model AccelerationSettings, HopDestinations, or StatusUpdateInterval (real API accepts them; gopherstack silently drops them since JobTemplate has no such fields) (bd: TODO -- file at session close)
  • Queue.ServiceOverrides is typed map[string]any in gopherstack vs a real []types.ServiceOverride list on the wire; currently dormant (CreateQueueInput has no serviceOverrides input member in the real API, so the field can never be populated by a real client) but the type would emit the wrong JSON shape (object instead of array) if ever populated internally
  • DescribeEndpoints does not parse its POST JSON body (maxResults/nextToken/mode) and accepts GET as well as POST; functionally harmless today (always returns exactly one synthetic endpoint) but not strictly wire-accurate
Deferred
  • JobSettings/JobTemplateSettings/PresetSettings deep-structure field-level validation (gopherstack stores these as opaque map[string]any and round-trips them verbatim, which is the established pattern for this service; no validation of e.g. OutputGroups internals was audited)

More

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNotFound is returned when a requested resource does not exist.
	ErrNotFound = awserr.New("NotFoundException", awserr.ErrNotFound)
	// ErrAlreadyExists is returned when a resource already exists.
	ErrAlreadyExists = awserr.New("ConflictException", awserr.ErrConflict)
	// ErrValidation is returned when request parameters fail validation.
	ErrValidation = awserr.New("BadRequestException", awserr.ErrInvalidParameter)
)
View Source
var ErrNilAppContext = errors.New("mediaconvert: nil AppContext")

ErrNilAppContext is returned when Init receives a nil AppContext.

Functions

func StartJanitor

func StartJanitor(ctx context.Context, b *InMemoryBackend)

StartJanitor launches the background goroutine that advances job phases and sweeps expired tokens. It runs until ctx is cancelled.

Types

type AccelerationSettings

type AccelerationSettings struct {
	Mode string `json:"mode,omitempty"`
}

AccelerationSettings holds the requested acceleration mode.

type Handler

type Handler struct {
	Backend StorageBackend
}

Handler is the Echo HTTP handler for Amazon MediaConvert operations.

func NewHandler

func NewHandler(backend StorageBackend) *Handler

NewHandler creates a new MediaConvert handler.

func (*Handler) ChaosOperations

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

ChaosOperations returns all operations that can be fault-injected.

func (*Handler) ChaosRegions

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

ChaosRegions returns all regions this handler instance handles.

func (*Handler) ChaosServiceName

func (h *Handler) ChaosServiceName() string

ChaosServiceName returns the lowercase AWS service name for fault rule matching.

func (*Handler) ExtractOperation

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

ExtractOperation returns the operation name from the request path and method.

func (*Handler) ExtractResource

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

ExtractResource extracts a resource ID from the request path.

func (*Handler) GetSupportedOperations

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

GetSupportedOperations returns the list of supported operations.

func (*Handler) Handler

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

Handler returns the Echo handler function.

func (*Handler) MatchPriority

func (h *Handler) MatchPriority() int

MatchPriority returns the routing priority.

func (*Handler) Name

func (h *Handler) Name() string

Name returns the service name.

func (*Handler) Reset

func (h *Handler) Reset()

Reset clears all backend state. Implements service.Resettable.

func (*Handler) Restore

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

Restore implements persistence.Persistable by delegating to the backend.

func (*Handler) RouteMatcher

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

RouteMatcher returns a function that matches MediaConvert requests. MediaConvert uses REST paths prefixed with /2017-08-29/.

func (*Handler) Snapshot

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

Snapshot implements persistence.Persistable by delegating to the backend.

Without this delegation, cli.go's setupPersistence type-asserts the service.Registerable value returned by Provider.Init (this Handler, not InMemoryBackend) against a Snapshot/Restore interface -- since Handler itself never exposed either method, InMemoryBackend.Snapshot/Restore (persistence.go) were dead code and this service was never actually persisted, despite StorageBackend already declaring the Persistable contract.

type HopDestination

type HopDestination struct {
	Queue       string `json:"queue,omitempty"`
	WaitMinutes int    `json:"waitMinutes,omitempty"`
	Priority    int    `json:"priority,omitempty"`
}

HopDestination represents a queue hop destination for a job.

type InMemoryBackend

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

InMemoryBackend is the in-memory store for MediaConvert resources.

registry holds every "clean" store.Table (queues, jobTemplates, jobs, presets) so their Reset/Snapshot/Restore collapse to one call each via resetTablesLocked / persistence.go. queueCounters and tokenIndex are "dirty" tables -- their value types carry no natural identity field of their own (see queueJobCounter.queueArn / tokenEntry.token) -- so they are NOT on this registry; persistence.go round-trips them through a throwaway DTO registry instead. queries is a store.Table too (for keyed Get/Put/ Delete) but was never persisted pre-Phase-3.3 and stays that way: it is reset alongside the others but never appears in backendSnapshot. See store_setup.go for the full rationale.

func NewInMemoryBackend

func NewInMemoryBackend(accountID, region string) *InMemoryBackend

NewInMemoryBackend creates a new in-memory MediaConvert backend.

func (*InMemoryBackend) AccountID

func (b *InMemoryBackend) AccountID() string

AccountID returns the account ID configured for this backend.

func (*InMemoryBackend) AddJobInternal

func (b *InMemoryBackend) AddJobInternal(j *Job)

AddJobInternal inserts a job directly into the backend.

func (*InMemoryBackend) AddJobTemplateInternal

func (b *InMemoryBackend) AddJobTemplateInternal(jt *JobTemplate)

AddJobTemplateInternal inserts a job template directly into the backend.

func (*InMemoryBackend) AddPresetInternal

func (b *InMemoryBackend) AddPresetInternal(p *Preset)

AddPresetInternal inserts a preset directly into the backend.

func (*InMemoryBackend) AddQueueInternal

func (b *InMemoryBackend) AddQueueInternal(q *Queue)

AddQueueInternal inserts a queue directly into the backend, bypassing business logic.

func (*InMemoryBackend) AdvanceJobPhase

func (b *InMemoryBackend) AdvanceJobPhase() bool

AdvanceJobPhase advances job phase/status for the janitor. Returns true if any job was advanced.

func (*InMemoryBackend) AssociateCertificate

func (b *InMemoryBackend) AssociateCertificate(certARN string) error

AssociateCertificate registers an ACM certificate ARN with this backend.

func (*InMemoryBackend) CancelJob

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

CancelJob cancels a job by ID. Only SUBMITTED or PROGRESSING jobs can be canceled.

func (*InMemoryBackend) CreateJob

func (b *InMemoryBackend) CreateJob(
	role, queue, jobTemplate string,
	settings map[string]any,
	tags map[string]string,
	userMetadata map[string]string,
	billingTagsSource string,
) (*Job, error)

CreateJob creates a new MediaConvert job.

func (*InMemoryBackend) CreateJobFull

func (b *InMemoryBackend) CreateJobFull(
	role, queue, jobTemplate string,
	settings map[string]any,
	tags map[string]string,
	userMetadata map[string]string,
	billingTagsSource, clientRequestToken, accelerationMode, jobEngineVersionReq string,
	priority int,
	hopDestinations []HopDestination,
) (*Job, error)

CreateJobFull creates a new MediaConvert job with all optional fields.

func (*InMemoryBackend) CreateJobTemplate

func (b *InMemoryBackend) CreateJobTemplate(
	name, description, category, queue string,
	priority int,
	settings map[string]any,
	tags map[string]string,
) (*JobTemplate, error)

CreateJobTemplate creates a new MediaConvert job template.

func (*InMemoryBackend) CreatePreset

func (b *InMemoryBackend) CreatePreset(
	name, description, category string,
	settings map[string]any,
	tags map[string]string,
) (*Preset, error)

CreatePreset creates a new MediaConvert output preset.

func (*InMemoryBackend) CreateQueue

func (b *InMemoryBackend) CreateQueue(
	name, description, pricingPlan, status string,
	tags map[string]string,
) (*Queue, error)

CreateQueue creates a new MediaConvert queue.

func (*InMemoryBackend) CreateQueueFull

func (b *InMemoryBackend) CreateQueueFull(
	name, description, pricingPlan, status string,
	tags map[string]string,
	concurrentJobs int,
	reservationPlan *ReservationPlan,
	serviceOverrides map[string]any,
) (*Queue, error)

CreateQueueFull creates a queue with all optional fields.

func (*InMemoryBackend) CreateResourceShare

func (b *InMemoryBackend) CreateResourceShare(jobID string) (string, error)

CreateResourceShare records a resource-share request for the given job ID. Sets ShareStatus = "SHARED" on the job and populates LastShareDetails.

func (*InMemoryBackend) DeleteJobTemplate

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

DeleteJobTemplate removes a job template by name.

func (*InMemoryBackend) DeletePolicy

func (b *InMemoryBackend) DeletePolicy() error

DeletePolicy removes the account policy.

func (*InMemoryBackend) DeletePreset

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

DeletePreset removes a preset by name.

func (*InMemoryBackend) DeleteQueue

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

DeleteQueue removes a queue by name.

func (*InMemoryBackend) DisassociateCertificate

func (b *InMemoryBackend) DisassociateCertificate(certARN string) error

DisassociateCertificate removes an ACM certificate ARN association.

func (*InMemoryBackend) GetJob

func (b *InMemoryBackend) GetJob(id string) (*Job, error)

GetJob returns a job by ID.

func (*InMemoryBackend) GetJobTemplate

func (b *InMemoryBackend) GetJobTemplate(name string) (*JobTemplate, error)

GetJobTemplate returns a job template by name.

func (*InMemoryBackend) GetJobsQueryResults

func (b *InMemoryBackend) GetJobsQueryResults(queryID string) []*Job

GetJobsQueryResults returns jobs matching the stored query for the given ID. If the queryID is unknown (not from a prior StartJobsQuery call), returns empty.

func (*InMemoryBackend) GetPolicy

func (b *InMemoryBackend) GetPolicy() (*Policy, error)

GetPolicy returns the current account policy, or nil if none has been set.

func (*InMemoryBackend) GetPreset

func (b *InMemoryBackend) GetPreset(name string) (*Preset, error)

GetPreset returns a preset by name.

func (*InMemoryBackend) GetQueue

func (b *InMemoryBackend) GetQueue(name string) (*Queue, error)

GetQueue returns a queue by name.

func (*InMemoryBackend) GetTags

func (b *InMemoryBackend) GetTags(resourceARN string) map[string]string

GetTags returns a copy of tags for the given resource ARN.

func (*InMemoryBackend) ListJobTemplates

func (b *InMemoryBackend) ListJobTemplates() []*JobTemplate

ListJobTemplates returns all job templates sorted by name.

func (*InMemoryBackend) ListJobs

func (b *InMemoryBackend) ListJobs() []*Job

ListJobs returns all jobs sorted by creation time (newest first).

func (*InMemoryBackend) ListJobsFiltered

func (b *InMemoryBackend) ListJobsFiltered(status, queue, order string) []*Job

ListJobsFiltered returns jobs filtered by status and/or queue ARN/name, sorted by creation time. order="" or "DESCENDING" → newest first; "ASCENDING" → oldest first.

func (*InMemoryBackend) ListPresets

func (b *InMemoryBackend) ListPresets() []*Preset

ListPresets returns all presets sorted by name.

func (*InMemoryBackend) ListQueues

func (b *InMemoryBackend) ListQueues() []*Queue

ListQueues returns all queues sorted by name.

func (*InMemoryBackend) PutPolicy

func (b *InMemoryBackend) PutPolicy(httpInputs, httpsInputs, s3Inputs string) *Policy

PutPolicy sets the account policy.

func (*InMemoryBackend) Region

func (b *InMemoryBackend) Region() string

Region returns the region configured for this backend.

func (*InMemoryBackend) Reset

func (b *InMemoryBackend) Reset()

Reset clears all stored resources, resetting the backend to its initial 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) StartJobsQuery

func (b *InMemoryBackend) StartJobsQuery(filterList []map[string]any, maxResults int, order string) (string, error)

StartJobsQuery stores a jobs query and returns a query ID for deferred retrieval. Filters use key-value pairs where key is a field name (e.g. "queue", "status") and values are the allowed values for that field.

func (*InMemoryBackend) SweepExpiredTokens

func (b *InMemoryBackend) SweepExpiredTokens()

SweepExpiredTokens removes token entries that have exceeded the TTL. Called by the janitor; safe to call externally for testing.

func (*InMemoryBackend) TagResource

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

TagResource adds or updates tags for the given resource ARN.

func (*InMemoryBackend) UntagResource

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

UntagResource removes the specified tag keys from the resource ARN.

func (*InMemoryBackend) UpdateJob

func (b *InMemoryBackend) UpdateJob(id, queue string, priority *int, hopDestinations []HopDestination) (*Job, error)

UpdateJob updates a job's priority, queue, and hop destinations.

func (*InMemoryBackend) UpdateJobTemplate

func (b *InMemoryBackend) UpdateJobTemplate(
	name, description, category, queue string,
	priority *int,
	settings map[string]any,
) (*JobTemplate, error)

UpdateJobTemplate updates a job template's description, category, queue, priority, and settings.

func (*InMemoryBackend) UpdatePreset

func (b *InMemoryBackend) UpdatePreset(name, description, category string, settings map[string]any) (*Preset, error)

UpdatePreset updates a preset's description, category, and settings.

func (*InMemoryBackend) UpdateQueue

func (b *InMemoryBackend) UpdateQueue(
	name, description, status string,
	concurrentJobs *int,
	reservationPlanSettings *ReservationPlan,
) (*Queue, error)

UpdateQueue updates a queue's description, status, concurrent-job limit, and reservation plan settings. concurrentJobs and reservationPlanSettings are nil when the caller doesn't want to change that field (matches the real UpdateQueueInput, whose members are all optional).

type Job

type Job struct {
	AccelerationSettings      *AccelerationSettings `json:"accelerationSettings,omitempty"`
	Messages                  *JobMessages          `json:"messages,omitempty"`
	LastShareDetails          *ShareDetails         `json:"lastShareDetails,omitempty"`
	Timing                    *JobTiming            `json:"timing,omitempty"`
	Settings                  map[string]any        `json:"settings,omitempty"`
	Tags                      map[string]string     `json:"tags,omitempty"`
	UserMetadata              map[string]string     `json:"userMetadata,omitempty"`
	Arn                       string                `json:"arn"`
	ID                        string                `json:"id"`
	Queue                     string                `json:"queue,omitempty"`
	QueueArn                  string                `json:"queueArn,omitempty"`
	Role                      string                `json:"role"`
	Status                    string                `json:"status"`
	CurrentPhase              string                `json:"currentPhase,omitempty"`
	JobTemplate               string                `json:"jobTemplate,omitempty"`
	ErrorMessage              string                `json:"errorMessage,omitempty"`
	BillingTagsSource         string                `json:"billingTagsSource,omitempty"`
	AccelerationStatus        string                `json:"accelerationStatus,omitempty"`
	StatusUpdateInterval      string                `json:"statusUpdateInterval,omitempty"`
	SimulateReservedQueue     string                `json:"simulateReservedQueue,omitempty"`
	ClientRequestToken        string                `json:"clientRequestToken,omitempty"`
	JobEngineVersionRequested string                `json:"jobEngineVersionRequested,omitempty"`
	JobEngineVersionUsed      string                `json:"jobEngineVersionUsed,omitempty"`
	ShareStatus               string                `json:"shareStatus,omitempty"`
	OutputGroupDetails        []OutputGroupDetail   `json:"outputGroupDetails,omitempty"`
	QueueTransitions          []QueueTransition     `json:"queueTransitions,omitempty"`
	HopDestinations           []HopDestination      `json:"hopDestinations,omitempty"`
	Warnings                  []WarningGroup        `json:"warnings,omitempty"`
	CreatedAt                 float64               `json:"createdAt"`
	ErrorCode                 int                   `json:"errorCode,omitempty"`
	JobPercentComplete        int                   `json:"jobPercentComplete"`
	Priority                  int                   `json:"priority"`
	RetryCount                int                   `json:"retryCount"`
}

Job represents a MediaConvert transcoding job.

type JobMessages

type JobMessages struct {
	Info    []string `json:"info,omitempty"`
	Warning []string `json:"warning,omitempty"`
}

JobMessages holds informational and warning messages for a job.

type JobTemplate

type JobTemplate struct {
	Settings    map[string]any    `json:"settings,omitempty"`
	Tags        map[string]string `json:"tags,omitempty"`
	Arn         string            `json:"arn"`
	Name        string            `json:"name"`
	Description string            `json:"description,omitempty"`
	Category    string            `json:"category,omitempty"`
	Queue       string            `json:"queue,omitempty"`
	Type        string            `json:"type"`
	CreatedAt   float64           `json:"createdAt"`
	LastUpdated float64           `json:"lastUpdated"`
	Priority    int               `json:"priority"`
}

JobTemplate represents a MediaConvert job template.

type JobTiming

type JobTiming struct {
	SubmitTime float64 `json:"submitTime,omitempty"`
	StartTime  float64 `json:"startTime,omitempty"`
	FinishTime float64 `json:"finishTime,omitempty"`
}

JobTiming holds timing information for a MediaConvert job.

type OutputDetail

type OutputDetail struct {
	VideoDetails *VideoDetail `json:"videoDetails,omitempty"`
	DurationInMs int          `json:"durationInMs,omitempty"`
}

OutputDetail contains output-level detail for a completed job.

type OutputGroupDetail

type OutputGroupDetail struct {
	OutputDetails []OutputDetail `json:"outputDetails,omitempty"`
}

OutputGroupDetail contains details for one output group.

type Policy

type Policy struct {
	HTTPInputs  string `json:"httpInputs,omitempty"`
	HTTPSInputs string `json:"httpsInputs,omitempty"`
	S3Inputs    string `json:"s3Inputs,omitempty"`
}

Policy represents a MediaConvert account policy.

type Preset

type Preset struct {
	Settings    map[string]any    `json:"settings,omitempty"`
	Tags        map[string]string `json:"tags,omitempty"`
	Arn         string            `json:"arn"`
	Name        string            `json:"name"`
	Description string            `json:"description,omitempty"`
	Category    string            `json:"category,omitempty"`
	Type        string            `json:"type"`
	CreatedAt   float64           `json:"createdAt"`
	LastUpdated float64           `json:"lastUpdated"`
}

Preset represents a MediaConvert output preset.

type Provider

type Provider struct{}

Provider implements service.Provider for MediaConvert.

func (*Provider) Init

Init initializes the MediaConvert backend and handler.

func (*Provider) Name

func (p *Provider) Name() string

Name returns the provider name.

type Queue

type Queue struct {
	ReservationPlan      *ReservationPlan  `json:"reservationPlan,omitempty"`
	ServiceOverrides     map[string]any    `json:"serviceOverrides,omitempty"`
	Tags                 map[string]string `json:"tags,omitempty"`
	Arn                  string            `json:"arn"`
	Name                 string            `json:"name"`
	Description          string            `json:"description,omitempty"`
	PricingPlan          string            `json:"pricingPlan"`
	Status               string            `json:"status"`
	Type                 string            `json:"type"`
	CreatedAt            float64           `json:"createdAt"`
	LastUpdated          float64           `json:"lastUpdated"`
	ProgressingJobsCount int               `json:"progressingJobsCount"`
	SubmittedJobsCount   int               `json:"submittedJobsCount"`
	ConcurrentJobs       int               `json:"concurrentJobs,omitempty"`
}

Queue represents a MediaConvert queue.

type QueueTransition

type QueueTransition struct {
	SourceQueue      string  `json:"sourceQueue,omitempty"`
	DestinationQueue string  `json:"destinationQueue,omitempty"`
	Timestamp        float64 `json:"timestamp,omitempty"`
}

QueueTransition records a queue change event for a job.

type ReservationPlan

type ReservationPlan struct {
	Status        string  `json:"status,omitempty"`
	Commitment    string  `json:"commitment,omitempty"`
	RenewalType   string  `json:"renewalType,omitempty"`
	ExpiresAt     float64 `json:"expiresAt,omitempty"`
	PurchasedAt   float64 `json:"purchasedAt,omitempty"`
	ReservedSlots int     `json:"reservedSlots,omitempty"`
}

ReservationPlan holds reservation plan details for a queue.

type ShareDetails

type ShareDetails struct {
	ShareToken string  `json:"shareToken,omitempty"`
	SharedAt   float64 `json:"sharedAt,omitempty"`
}

ShareDetails holds resource share token details.

type StorageBackend

type StorageBackend interface {
	// Queue operations
	CreateQueue(name, description, pricingPlan, status string, tags map[string]string) (*Queue, error)
	CreateQueueFull(
		name, description, pricingPlan, status string,
		tags map[string]string,
		concurrentJobs int,
		reservationPlan *ReservationPlan,
		serviceOverrides map[string]any,
	) (*Queue, error)
	GetQueue(name string) (*Queue, error)
	ListQueues() []*Queue
	UpdateQueue(
		name, description, status string,
		concurrentJobs *int,
		reservationPlanSettings *ReservationPlan,
	) (*Queue, error)
	DeleteQueue(name string) error

	// Job Template operations
	CreateJobTemplate(
		name, description, category, queue string,
		priority int,
		settings map[string]any,
		tags map[string]string,
	) (*JobTemplate, error)
	GetJobTemplate(name string) (*JobTemplate, error)
	ListJobTemplates() []*JobTemplate
	UpdateJobTemplate(
		name, description, category, queue string,
		priority *int,
		settings map[string]any,
	) (*JobTemplate, error)
	DeleteJobTemplate(name string) error

	// Job operations
	CreateJob(
		role, queue, jobTemplate string,
		settings map[string]any,
		tags map[string]string,
		userMetadata map[string]string,
		billingTagsSource string,
	) (*Job, error)
	CreateJobFull(
		role, queue, jobTemplate string,
		settings map[string]any,
		tags map[string]string,
		userMetadata map[string]string,
		billingTagsSource, clientRequestToken, accelerationMode, jobEngineVersionReq string,
		priority int,
		hopDestinations []HopDestination,
	) (*Job, error)
	GetJob(id string) (*Job, error)
	ListJobs() []*Job
	ListJobsFiltered(status, queue, order string) []*Job
	CancelJob(id string) error
	UpdateJob(id, queue string, priority *int, hopDestinations []HopDestination) (*Job, error)

	// Preset operations
	CreatePreset(name, description, category string, settings map[string]any, tags map[string]string) (*Preset, error)
	GetPreset(name string) (*Preset, error)
	ListPresets() []*Preset
	UpdatePreset(name, description, category string, settings map[string]any) (*Preset, error)
	DeletePreset(name string) error

	// Policy operations
	GetPolicy() (*Policy, error)
	PutPolicy(httpInputs, httpsInputs, s3Inputs string) *Policy
	DeletePolicy() error

	// Certificate operations
	AssociateCertificate(certARN string) error
	DisassociateCertificate(certARN string) error

	// Jobs query / resource share operations
	GetJobsQueryResults(queryID string) []*Job
	StartJobsQuery(filterList []map[string]any, maxResults int, order string) (string, error)
	CreateResourceShare(jobID string) (string, error)

	// Tag operations
	GetTags(resourceARN string) map[string]string
	TagResource(resourceARN string, tags map[string]string)
	UntagResource(resourceARN string, tagKeys []string)

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

StorageBackend defines the interface for MediaConvert backend implementations. All mutating methods must be safe for concurrent use.

type VideoDetail

type VideoDetail struct {
	WidthInPx  int `json:"widthInPx,omitempty"`
	HeightInPx int `json:"heightInPx,omitempty"`
}

VideoDetail holds video dimension details.

type WarningGroup

type WarningGroup struct {
	Code  string `json:"code,omitempty"`
	Count int    `json:"count,omitempty"`
}

WarningGroup represents an aggregated warning count.

Jump to

Keyboard shortcuts

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