medialive

package
v1.3.5 Latest Latest
Warning

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

Go to latest
Published: Aug 19, 2026 License: MIT Imports: 20 Imported by: 0

README

MediaLive

Parity grade: A · SDK aws-sdk-go-v2/service/medialive@v1.101.4 · last audited 2026-08-13 (6c48ab50cb35a7b8834b7fea50407931c6df3119)

Coverage

Metric Value
Known gaps 4
Deferred items 0
Resource leaks clean
Known gaps
  • Channel's EncoderSettings is modeled to a deliberately bounded depth (sweep 6, gopherstack-jb9i; extended by gopherstack-sthr across two sub-passes, then gopherstack-hj9n, then gopherstack-1szb). See Channel's note above for the full list of what IS modeled: AvailConfiguration/ColorCorrectionSettings/MotionGraphicsConfiguration/NielsenConfiguration (gopherstack-sthr pass 1 -- none turned out to be a large per-format union, each is a small flat struct or a small tagged union); AudioDescription's CodecSettings/ AudioNormalizationSettings/AudioWatermarkingSettings/RemixSettings/AudioDashRoles/ DvbDashAccessibility (gopherstack-sthr pass 2 -- the AudioCodecSettings union verified as 7 variants of flat scalar structs, not the ~20 the bd issue title estimated); OutputGroup.OutputGroupSettings + Output.OutputSettings, modeled together (gopherstack-hj9n -- 11 variants each, down through every nested container/CDN/stream sub-union: M2tsSettings, MultiplexM2tsSettings, HlsSettings, HlsCdnSettings, KeyProviderSettings, ArchiveCdnSettings, FrameCaptureCdnSettings, M3u8Settings, MediaPackageV2GroupSettings/ MediaPackageV2DestinationSettings); CaptionDescription.DestinationSettings + CaptionDashRoles (gopherstack-1szb, first sub-pass -- types.CaptionDestinationSettings is 13 variants, not the 12 the bd issue counted: 8 empty-marker structs, Ttml/Webvtt single-field, EbuTtD 6 fields, BurnIn/DvbSub 18 fields each, not 19 as originally estimated); and VideoDescription.CodecSettings (gopherstack-1szb, final sub-pass -- types.VideoCodecSettings, 5 variants, measured at Av1Settings 24 fields, H264Settings 44, H265Settings 42, Mpeg2Settings 17, FrameCaptureSettings 3, all sharing TimecodeBurninSettings; H264/H265's FilterSettings sub-union is identical between the two and shares one wire struct). This closes the last EncoderSettings union -- no gap remains in this family at the union level. (bd: gopherstack-jb9i closed the 12-of-17-member gap; gopherstack-sthr closed AvailConfiguration/ColorCorrectionSettings/MotionGraphicsConfiguration/NielsenConfiguration and, in a second sub-pass, AudioDescription's codec/normalization/watermarking/remix/ dash-role/accessibility fields; gopherstack-hj9n closed OutputGroupSettings/OutputSettings together per its explicit ordering instruction; gopherstack-1szb closed CaptionDestinationSettings and, in a follow-up sub-pass once measured and confirmed tractable, VideoCodecSettings -- the union this whole gap entry originally tracked.)
  • InputAttachment.InputSettings is now modeled in full (gopherstack-sthr, this pass) -- see Channel's note above. InputAttachmentName/InputId/LogicalInterfaceNames/ AutomaticInputFailoverSettings (including all 3 failover-condition variants) were already modeled (sweep 6). No open gap remains in this family.
  • Channel.Vpc's response-side availabilityZones/networkInterfaceIds (types. VpcOutputSettingsDescription) are always omitted -- MediaLive computes them from a real VPC/ENI integration gopherstack does not have. The request-side subnetIds/ publicAddressAllocationIds/securityGroupIds ARE modeled and echoed back (sweep 6).
  • Deep state/error-code audit of Cluster, Node, SignalMap, Reservation/Offering purchase flow, Batch semantics beyond the wire-casing scope of sweep 4 and the association/ leak/new-field fixes sweep 5 made was not re-performed (route matching for all of them was verified correct in sweep 4; op-by-op state-machine correctness beyond what these two passes touched was not re-verified).

More

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrConflict = awserr.New("ConflictException", awserr.ErrAlreadyExists)

ErrConflict is returned for state conflict operations.

View Source
var ErrInvalidParameter = awserr.New("BadRequestException", awserr.ErrInvalidParameter)

ErrInvalidParameter is returned for invalid input.

View Source
var ErrNilAppContext = errors.New("AppContext is required")

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

View Source
var ErrNotFound = awserr.New("NotFoundException", awserr.ErrNotFound)

ErrNotFound is returned when a resource does not exist.

Functions

This section is empty.

Types

type AacSettings added in v1.3.1

type AacSettings struct {
	CodingMode      string
	InputType       string
	Profile         string
	RateControlMode string
	RawFormat       string
	Spec            string
	VbrQuality      string
	Bitrate         float64
	SampleRate      float64
}

AacSettings configures AAC audio encoding. Wire keys "bitrate"/ "codingMode"/"inputType"/"profile"/"rateControlMode"/"rawFormat"/ "sampleRate"/"spec"/"vbrQuality" -- verified against types.AacSettings.

type Ac3Settings added in v1.3.1

type Ac3Settings struct {
	AttenuationControl string
	BitstreamMode      string
	CodingMode         string
	DrcProfile         string
	LfeFilter          string
	MetadataControl    string
	Bitrate            float64
	Dialnorm           int32
}

Ac3Settings configures AC3 (Dolby Digital) audio encoding. Wire keys "attenuationControl"/"bitrate"/"bitstreamMode"/"codingMode"/"dialnorm"/ "drcProfile"/"lfeFilter"/"metadataControl" -- verified against types.Ac3Settings.

type AccountConfiguration

type AccountConfiguration struct {
	KmsKeyID string
}

AccountConfiguration holds account-wide MediaLive settings.

type AncillarySourceSettings added in v1.3.1

type AncillarySourceSettings struct {
	SourceAncillaryChannelNumber int32
}

AncillarySourceSettings extracts captions from an ancillary data channel. Wire key "sourceAncillaryChannelNumber" -- verified against types.AncillarySourceSettings.

type ArchiveCdnSettings added in v1.3.1

type ArchiveCdnSettings struct {
	ArchiveS3Settings *ArchiveS3Settings
}

ArchiveCdnSettings configures CDN interaction for an Archive output group (types.ArchiveCdnSettings, types.go:140). Wire key "archiveS3Settings".

type ArchiveContainerSettings added in v1.3.1

type ArchiveContainerSettings struct {
	M2tsSettings *M2tsSettings
	RawSettings  bool
}

ArchiveContainerSettings is the tagged union of Archive output container formats (types.ArchiveContainerSettings, types.go:149). The Raw variant (types.RawSettings, types.go:6950) has no fields on the wire, so a bool records "this variant is set" -- same convention as PassThroughSettings.

type ArchiveGroupSettings added in v1.3.1

type ArchiveGroupSettings struct {
	Destination        *OutputLocationRef
	ArchiveCdnSettings *ArchiveCdnSettings
	RolloverInterval   int32
}

ArchiveGroupSettings configures an Archive output group (types. ArchiveGroupSettings, types.go:161). Wire keys "archiveCdnSettings"/ "destination"/"rolloverInterval".

type ArchiveOutputSettings added in v1.3.1

type ArchiveOutputSettings struct {
	ContainerSettings *ArchiveContainerSettings
	Extension         string
	NameModifier      string
}

ArchiveOutputSettings configures one Archive output (types. ArchiveOutputSettings, types.go:179). Wire keys "containerSettings"/ "extension"/"nameModifier".

type ArchiveS3Settings added in v1.3.1

type ArchiveS3Settings struct {
	CannedACL string
}

ArchiveS3Settings configures S3 delivery for Archive outputs (types. ArchiveS3Settings, types.go:198). Wire key "cannedAcl".

type AudioChannelMapping added in v1.3.1

type AudioChannelMapping struct {
	InputChannelLevels []InputChannelLevel
	OutputChannel      int32
}

AudioChannelMapping is one output-channel entry of RemixSettings. Wire keys "inputChannelLevels"/"outputChannel" -- verified against types.AudioChannelMapping.

type AudioCodecSettings added in v1.3.1

type AudioCodecSettings struct {
	AacSettings         *AacSettings
	Ac3Settings         *Ac3Settings
	Eac3AtmosSettings   *Eac3AtmosSettings
	Eac3Settings        *Eac3Settings
	Mp2Settings         *Mp2Settings
	WavSettings         *WavSettings
	PassThroughSettings bool
}

AudioCodecSettings is the tagged union of audio codecs (types.AudioCodecSettings); at most one variant is set. PassThroughSettings (types.PassThroughSettings) has no fields on the real wire, so a bool records "this variant is set" -- same convention as ChannelMotionGraphicsSettings.HTMLMotionGraphicsSettings.

type AudioDescription added in v1.2.0

type AudioDescription struct {
	AudioNormalizationSettings *AudioNormalizationSettings
	CodecSettings              *AudioCodecSettings
	AudioWatermarkingSettings  *AudioWatermarkSettings
	RemixSettings              *RemixSettings
	LanguageCodeControl        string
	AudioTypeControl           string
	StreamName                 string
	DvbDashAccessibility       string
	AudioType                  string
	Name                       string
	LanguageCode               string
	AudioSelectorName          string
	AudioDashRoles             []string
}

AudioDescription names one audio encode derived from an input audio selector. Wire keys "audioDashRoles"/"audioNormalizationSettings"/ "audioSelectorName"/"audioType"/"audioTypeControl"/ "audioWatermarkingSettings"/"codecSettings"/"dvbDashAccessibility"/ "languageCode"/"languageCodeControl"/"name"/"remixSettings"/ "streamName" -- verified against types.AudioDescription. AudioNormalizationSettings/RemixSettings reuse the same domain types InputSettings' AudioPreMixerSettings uses (types.AudioNormalizationSettings/ types.RemixSettings are the same SDK shapes in both places).

type AudioDolbyEDecode added in v1.3.1

type AudioDolbyEDecode struct {
	ProgramSelection string
}

AudioDolbyEDecode configures Dolby E program extraction. Wire key "programSelection" -- verified against types.AudioDolbyEDecode.

type AudioFeedInputMapping added in v1.2.0

type AudioFeedInputMapping struct {
	AudioSelectorName string
	FeedInput         string
}

AudioFeedInputMapping maps an audio selector in the channel to a feed input on an associated Elemental Inference feed. Wire keys "audioSelectorName"/"feedInput" -- verified against types.AudioFeedInput.

type AudioHlsRenditionSelection added in v1.3.1

type AudioHlsRenditionSelection struct {
	GroupID string
	Name    string
}

AudioHlsRenditionSelection picks an audio rendition out of an HLS input's #EXT-X-MEDIA tags. Wire keys "groupId"/"name" -- verified against types.AudioHlsRenditionSelection.

type AudioLanguageSelection added in v1.3.1

type AudioLanguageSelection struct {
	LanguageCode            string
	LanguageSelectionPolicy string
}

AudioLanguageSelection picks an audio stream by its 3-letter language code. Wire keys "languageCode"/"languageSelectionPolicy" -- verified against types.AudioLanguageSelection.

type AudioNormalizationSettings added in v1.3.1

type AudioNormalizationSettings struct {
	Algorithm            string
	AlgorithmControl     string
	PeakCalculation      string
	PeakLimiterThreshold float64
	TargetLkfs           float64
}

AudioNormalizationSettings configures loudness normalization. Wire keys "algorithm"/"algorithmControl"/"peakCalculation"/"peakLimiterThreshold"/ "targetLkfs" -- verified against types.AudioNormalizationSettings.

type AudioOnlyHlsSettings added in v1.3.1

type AudioOnlyHlsSettings struct {
	AudioOnlyImage InputLocation
	AudioGroupID   string
	AudioTrackType string
	SegmentType    string
}

AudioOnlyHlsSettings configures an audio-only HLS output (types. AudioOnlyHlsSettings, types.go:438). Wire keys "audioGroupId"/ "audioOnlyImage"/"audioTrackType"/"segmentType".

type AudioPid added in v1.3.1

type AudioPid struct {
	DolbyEDecode   *AudioDolbyEDecode
	PremixSettings *AudioPreMixerSettings
	Pid            int32
}

AudioPid is one PID entry of an AudioPidSelection. Wire keys "dolbyEDecode"/"pid"/"premixSettings" -- verified against types.AudioPid.

type AudioPidSelection added in v1.3.1

type AudioPidSelection struct {
	Pids []AudioPid
	Pid  int32
}

AudioPidSelection selects one or more audio PIDs from a source. Wire keys "pid"/"pids" -- verified against types.AudioPidSelection.

type AudioPreMixerSettings added in v1.3.1

type AudioPreMixerSettings struct {
	AudioNormalizationSettings *AudioNormalizationSettings
	RemixSettings              *RemixSettings
	GainDB                     float64
	Channels                   int32
}

AudioPreMixerSettings configures per-PID/per-track audio remixing before interleaving (types.AudioPreMixerSettings). Wire keys "audioNormalizationSettings"/"channels"/"gainDb"/"remixSettings".

type AudioSelector added in v1.3.1

type AudioSelector struct {
	SelectorSettings AudioSelectorSettings
	Name             string
}

AudioSelector names one audio selector an input exposes for AudioDescriptions to reference. Wire keys "name"/"selectorSettings" -- verified against types.AudioSelector.

type AudioSelectorSettings added in v1.3.1

type AudioSelectorSettings struct {
	AudioHlsRenditionSelection *AudioHlsRenditionSelection
	AudioLanguageSelection     *AudioLanguageSelection
	AudioPidSelection          *AudioPidSelection
	AudioTrackSelection        *AudioTrackSelection
}

AudioSelectorSettings is the tagged union of audio-selection methods (types.AudioSelectorSettings); at most one variant is set.

type AudioSilenceFailoverSettings added in v1.2.0

type AudioSilenceFailoverSettings struct {
	AudioSelectorName         string
	AudioSilenceThresholdMsec int32
}

AudioSilenceFailoverSettings / InputLossFailoverSettings / VideoBlackFailoverSettings are the three named failover-condition variants (types.AudioSilenceFailoverSettings/types.InputLossFailoverSettings/ types.VideoBlackFailoverSettings). Unlike the codec-settings unions (dozens of variants, each itself deep), this union has exactly 3 small flat variants, so it's modeled in full rather than treated as a gap.

type AudioTrack added in v1.3.1

type AudioTrack struct {
	PremixSettings *AudioPreMixerSettings
	Track          int32
}

AudioTrack is one track entry of an AudioTrackSelection. Wire keys "premixSettings"/"track" -- verified against types.AudioTrack.

type AudioTrackSelection added in v1.3.1

type AudioTrackSelection struct {
	DolbyEDecode *AudioDolbyEDecode
	Tracks       []AudioTrack
}

AudioTrackSelection selects one or more audio tracks from a source. Wire keys "dolbyEDecode"/"tracks" -- verified against types.AudioTrackSelection.

type AudioWatermarkSettings added in v1.3.1

type AudioWatermarkSettings struct {
	NielsenWatermarksSettings *NielsenWatermarksSettings
}

AudioWatermarkSettings configures audio watermarking solutions (types.AudioWatermarkSettings). Wire key "nielsenWatermarksSettings".

type Av1ColorSpaceSettings added in v1.3.1

type Av1ColorSpaceSettings struct {
	Hdr10Settings                 *Hdr10Settings
	ColorSpacePassthroughSettings bool
	Hlg2020Settings               bool
	Rec601Settings                bool
	Rec709Settings                bool
}

Av1ColorSpaceSettings is the tagged union of AV1 color space conversions (types.Av1ColorSpaceSettings, types.go:656); at most one variant is set. ColorSpacePassthroughSettings/Hlg2020Settings/Rec601Settings/ Rec709Settings have no fields on the wire -- bools record "this variant is set", same convention as AudioCodecSettings.PassThroughSettings.

type Av1Settings added in v1.3.1

type Av1Settings struct {
	ColorSpaceSettings     *Av1ColorSpaceSettings
	TimecodeBurninSettings *TimecodeBurninSettings
	AfdSignaling           string
	BitDepth               string
	FixedAfd               string
	GopSizeUnits           string
	Level                  string
	LookAheadRateControl   string
	RateControlMode        string
	SceneChangeDetect      string
	SpatialAq              string
	TemporalAq             string
	TimecodeInsertion      string
	GopSize                float64
	Bitrate                int32
	BufSize                int32
	FramerateDenominator   int32
	FramerateNumerator     int32
	MaxBitrate             int32
	MinBitrate             int32
	MinIInterval           int32
	ParDenominator         int32
	ParNumerator           int32
	QvbrQualityLevel       int32
}

Av1Settings configures the AV1 video codec (types.Av1Settings, types.go:677); 24 fields, verified field-by-field against the serializer. FramerateDenominator/FramerateNumerator are AWS-required but modeled the same as every other field, matching this file's convention.

type AvailBlanking added in v1.2.0

type AvailBlanking struct {
	AvailBlankingImage InputLocation
	State              string
}

AvailBlanking configures ad-avail blanking. Wire keys "availBlankingImage"/"state" -- verified against types.AvailBlanking.

type BandwidthReductionFilterSettings added in v1.3.1

type BandwidthReductionFilterSettings struct {
	PostFilterSharpening string
	Strength             string
}

BandwidthReductionFilterSettings configures the bandwidth reduction video pre-filter (types.BandwidthReductionFilterSettings, types.go:871). Wire keys "postFilterSharpening"/"strength".

type BatchFailedResult

type BatchFailedResult struct {
	Arn     string
	ID      string
	Code    string
	Message string
}

BatchFailedResult is a failed result in a batch operation.

type BatchResult

type BatchResult struct {
	Successful []BatchSuccessfulResult
	Failed     []BatchFailedResult
}

BatchResult holds results of a batch start/stop/delete.

type BatchSuccessfulResult

type BatchSuccessfulResult struct {
	Arn   string
	ID    string
	State string
}

BatchSuccessfulResult is a successful result in a batch operation.

type BatchUpdateScheduleResult

type BatchUpdateScheduleResult struct {
	Creates []ScheduleAction
	Deletes []ScheduleAction
}

BatchUpdateScheduleResult holds the result of BatchUpdateSchedule.

type BlackoutSlate added in v1.2.0

type BlackoutSlate struct {
	BlackoutSlateImage      InputLocation
	NetworkEndBlackoutImage InputLocation
	NetworkEndBlackout      string
	NetworkID               string
	State                   string
}

BlackoutSlate configures SCTE-104/35 network-blackout behavior. Wire keys "blackoutSlateImage"/"networkEndBlackout"/"networkEndBlackoutImage"/ "networkId"/"state" -- verified against types.BlackoutSlate.

type BurnInDestinationSettings added in v1.3.1

type BurnInDestinationSettings struct {
	Font                InputLocation
	Alignment           string
	BackgroundColor     string
	FontColor           string
	FontSize            string
	OutlineColor        string
	ShadowColor         string
	SubtitleRows        string
	TeletextGridControl string
	BackgroundOpacity   int32
	FontOpacity         int32
	FontResolution      int32
	OutlineSize         int32
	ShadowOpacity       int32
	ShadowXOffset       int32
	ShadowYOffset       int32
	XPosition           int32
	YPosition           int32
}

BurnInDestinationSettings configures burned-in captions (types.BurnInDestinationSettings, types.go:998). Wire keys "alignment"/ "backgroundColor"/"backgroundOpacity"/"font"/"fontColor"/"fontOpacity"/ "fontResolution"/"fontSize"/"outlineColor"/"outlineSize"/"shadowColor"/ "shadowOpacity"/"shadowXOffset"/"shadowYOffset"/"subtitleRows"/ "teletextGridControl"/"xPosition"/"yPosition". Font reuses InputLocation.

type CaptionDescription added in v1.2.0

type CaptionDescription struct {
	DestinationSettings  *CaptionDestinationSettings
	CaptionSelectorName  string
	Name                 string
	Accessibility        string
	DvbDashAccessibility string
	LanguageCode         string
	LanguageDescription  string
	CaptionDashRoles     []string
}

CaptionDescription names one caption output derived from an input caption selector. Wire keys "captionDashRoles"/"captionSelectorName"/"name"/ "accessibility"/"destinationSettings"/"dvbDashAccessibility"/ "languageCode"/"languageDescription" -- verified against types.CaptionDescription, types.go:1107.

type CaptionDestinationSettings added in v1.3.1

type CaptionDestinationSettings struct {
	BurnInDestinationSettings             *BurnInDestinationSettings
	DvbSubDestinationSettings             *DvbSubDestinationSettings
	EbuTtDDestinationSettings             *EbuTtDDestinationSettings
	TtmlDestinationSettings               *TtmlDestinationSettings
	WebvttDestinationSettings             *WebvttDestinationSettings
	AribDestinationSettings               bool
	EmbeddedDestinationSettings           bool
	EmbeddedPlusScte20DestinationSettings bool
	RtmpCaptionInfoDestinationSettings    bool
	Scte20PlusEmbeddedDestinationSettings bool
	Scte27DestinationSettings             bool
	SmpteTtDestinationSettings            bool
	TeletextDestinationSettings           bool
}

CaptionDestinationSettings is the tagged union of caption output formats (types.CaptionDestinationSettings, types.go:1151); at most one variant is set. Arib/Embedded/EmbeddedPlusScte20/RtmpCaptionInfo/ Scte20PlusEmbedded/Scte27/SmpteTt/TeletextDestinationSettings have no fields on the real wire, so a bool records "this variant is set" -- same convention as AudioCodecSettings.PassThroughSettings.

type CaptionLanguageMapping added in v1.3.1

type CaptionLanguageMapping struct {
	LanguageCode        string
	LanguageDescription string
	CaptionChannel      int32
}

CaptionLanguageMapping maps one embedded-captions channel to a language (types.CaptionLanguageMapping, types.go:1197; shared by HlsGroupSettings and MediaPackageV2GroupSettings). Wire keys "captionChannel"/ "languageCode"/"languageDescription".

type CaptionRectangle added in v1.3.1

type CaptionRectangle struct {
	Height     float64
	LeftOffset float64
	TopOffset  float64
	Width      float64
}

CaptionRectangle positions a TTML/EBU-TT-D caption display region as frame-relative percentages. Wire keys "height"/"leftOffset"/"topOffset"/ "width" -- verified against types.CaptionRectangle.

type CaptionSelector added in v1.3.1

type CaptionSelector struct {
	Name             string
	LanguageCode     string
	SelectorSettings CaptionSelectorSettings
}

CaptionSelector names one caption selector an input exposes for CaptionDescriptions to reference. Wire keys "languageCode"/"name"/ "selectorSettings" -- verified against types.CaptionSelector.

type CaptionSelectorSettings added in v1.3.1

type CaptionSelectorSettings struct {
	AncillarySourceSettings     *AncillarySourceSettings
	DvbSubSourceSettings        *DvbSubSourceSettings
	EmbeddedSourceSettings      *EmbeddedSourceSettings
	Scte20SourceSettings        *Scte20SourceSettings
	Scte27SourceSettings        *Scte27SourceSettings
	SmartSubtitleSourceSettings *SmartSubtitleSourceSettings
	TeletextSourceSettings      *TeletextSourceSettings
	AribSourceSettings          bool
}

CaptionSelectorSettings is the tagged union of caption-source formats (types.CaptionSelectorSettings); at most one variant is set. AribSourceSettings (types.AribSourceSettings) has no fields on the real wire, so a bool records "this variant is set" -- same convention as ChannelMotionGraphicsSettings.HTMLMotionGraphicsSettings.

type CdiInputSpecification added in v1.2.0

type CdiInputSpecification struct {
	Resolution string
}

CdiInputSpecification specifies the maximum CDI input resolution for a channel. Wire key "cdiInputSpecification.resolution" -- verified against types.CdiInputSpecification.

type Channel

type Channel struct {
	Tags                  map[string]string
	Maintenance           ChannelMaintenance
	InputSpecification    InputSpecification
	AnywhereSettings      ChannelAnywhereSettings
	ChannelEngineVersion  ChannelEngineVersion
	CdiInputSpecification CdiInputSpecification
	Name                  string
	LogLevel              string
	RoleARN               string
	State                 string
	ChannelClass          string
	ARN                   string
	ID                    string
	LinkedChannelSettings ChannelLinkedChannelSettings
	Vpc                   ChannelVpcSettings
	InferenceSettings     ChannelInferenceSettings
	InputAttachments      []ChannelInputAttachment
	Destinations          []ChannelOutputDestination
	ChannelSecurityGroups []string
	EncoderSettings       EncoderSettings
}

Channel represents a MediaLive channel. Tags first: reduces GC pointer scan from 104 to 96 bytes.

type ChannelAnywhereSettings added in v1.2.0

type ChannelAnywhereSettings struct {
	ClusterID               string
	ChannelPlacementGroupID string
}

ChannelAnywhereSettings holds the MediaLive Anywhere Cluster/ ChannelPlacementGroup association for a Channel. Wire keys (anywhereSettings.clusterId/channelPlacementGroupId) verified against aws-sdk-go-v2/service/medialive's types.AnywhereSettings. Before this fix, gopherstack didn't track this at all: CreateChannel/UpdateChannel silently dropped a caller's anywhereSettings, and Cluster.ChannelIds/ ChannelPlacementGroup.Channels/Node.ChannelPlacementGroups (all real wire fields) had nothing to derive from and were hardcoded to empty lists.

type ChannelAutomaticInputFailoverSettings added in v1.2.0

type ChannelAutomaticInputFailoverSettings struct {
	SecondaryInputID   string
	InputPreference    string
	FailoverConditions []ChannelFailoverCondition
	ErrorClearTimeMsec int32
}

ChannelAutomaticInputFailoverSettings configures automatic input failover for an InputAttachment. Wire keys "secondaryInputId"/"errorClearTimeMsec"/ "failoverConditions"/"inputPreference" -- verified against types.AutomaticInputFailoverSettings.

type ChannelAvailConfiguration added in v1.3.1

type ChannelAvailConfiguration struct {
	AvailSettings           ChannelAvailSettings
	Scte35SegmentationScope string
}

ChannelAvailConfiguration configures how EncoderSettings creates SCTE-35 ad-avail cues (types.AvailConfiguration). Wire keys "availSettings"/ "scte35SegmentationScope".

type ChannelAvailSettings added in v1.3.1

type ChannelAvailSettings struct {
	Esam                 *EsamSettings
	Scte35SpliceInsert   *Scte35SpliceInsertSettings
	Scte35TimeSignalApos *Scte35TimeSignalAposSettings
}

ChannelAvailSettings is the tagged union of ad-avail signaling methods (types.AvailSettings); at most one variant is set.

type ChannelColorCorrection added in v1.3.1

type ChannelColorCorrection struct {
	InputColorSpace  string
	OutputColorSpace string
	URI              string
}

ChannelColorCorrection is one 3D-LUT color-space conversion entry (types. ColorCorrection). Wire keys "inputColorSpace"/"outputColorSpace"/"uri".

type ChannelColorCorrectionSettings added in v1.3.1

type ChannelColorCorrectionSettings struct {
	GlobalColorCorrections []ChannelColorCorrection
}

ChannelColorCorrectionSettings configures 3D-LUT-based color conversion (types.ColorCorrectionSettings). Wire key "globalColorCorrections".

type ChannelCreateExtras added in v1.2.0

type ChannelCreateExtras struct {
	InputSpecification    InputSpecification
	Maintenance           ChannelMaintenance
	ChannelEngineVersion  ChannelEngineVersion
	CdiInputSpecification CdiInputSpecification
	LogLevel              string
	LinkedChannelSettings ChannelLinkedChannelSettings
	Vpc                   ChannelVpcSettings
	InferenceSettings     ChannelInferenceSettings
	ChannelSecurityGroups []string
	Destinations          []ChannelOutputDestination
	InputAttachments      []ChannelInputAttachment
	EncoderSettings       EncoderSettings
}

ChannelCreateExtras bundles the 11 CreateChannelInput members added by gopherstack-jb9i beyond name/channelClass/roleArn/tags/anywhereSettings (which remain direct CreateChannel parameters, matching the pre-existing convention) so CreateChannel's signature doesn't balloon to 15+ positional parameters. A zero-valued field means "not configured", matching a real CreateChannelInput that omits the corresponding member -- no presence tracking is needed for Create, unlike Update (see ChannelUpdateExtras).

type ChannelEngineVersion

type ChannelEngineVersion struct {
	ExpirationDate string
	Version        string
}

ChannelEngineVersion is an available channel engine version.

type ChannelFailoverCondition added in v1.2.0

type ChannelFailoverCondition struct {
	Settings ChannelFailoverConditionSettings
}

ChannelFailoverCondition wraps one FailoverConditionSettings entry (types.FailoverCondition -- a single-field wrapper struct on the real SDK too, kept here for wire-shape fidelity rather than flattened away).

type ChannelFailoverConditionSettings added in v1.2.0

type ChannelFailoverConditionSettings struct {
	AudioSilenceSettings *AudioSilenceFailoverSettings
	InputLossSettings    *InputLossFailoverSettings
	VideoBlackSettings   *VideoBlackFailoverSettings
}

ChannelFailoverConditionSettings is the tagged union of failover-detection methods (types.FailoverConditionSettings); at most one variant is set.

type ChannelFollowerSettings added in v1.2.0

type ChannelFollowerSettings struct {
	LinkedChannelType string
	PrimaryChannelArn string
}

ChannelFollowerSettings holds a follower channel's linked-channel configuration. Wire keys "linkedChannelType"/"primaryChannelArn" -- verified against types.FollowerChannelSettings (request). The response shape's primary side (types.DescribePrimaryChannelSettings) additionally reports "followingChannelArns", a value MediaLive derives from every OTHER channel's follower settings; gopherstack derives it the same way at read time (see followingChannelArns in channels.go) rather than storing it -- see ChannelPrimarySettings below.

type ChannelInferenceSettings added in v1.2.0

type ChannelInferenceSettings struct {
	FeedArn         string
	AudioFeedInputs []AudioFeedInputMapping
}

ChannelInferenceSettings configures Elemental Inference features for a channel. Wire keys "audioFeedInputs"/"feedArn" -- verified against types.InferenceSettings/types.DescribeInferenceSettings (identical shape on request and response).

type ChannelInputAttachment added in v1.2.0

type ChannelInputAttachment struct {
	InputSettings                  InputSettings
	InputAttachmentName            string
	InputID                        string
	LogicalInterfaceNames          []string
	AutomaticInputFailoverSettings ChannelAutomaticInputFailoverSettings
}

ChannelInputAttachment attaches an Input to a Channel (types.InputAttachment). InputSettings (per-attachment audio/caption/video selector configuration) is modeled in full below (gopherstack-sthr).

type ChannelLinkedChannelSettings added in v1.2.0

type ChannelLinkedChannelSettings struct {
	Follower ChannelFollowerSettings
	Primary  ChannelPrimarySettings
}

ChannelLinkedChannelSettings is a channel's linked-channel configuration (types.LinkedChannelSettings). Only one of Follower/Primary is normally set, matching AWS: a channel is either a follower or a primary, never both.

type ChannelMaintenance added in v1.2.0

type ChannelMaintenance struct {
	Day           string
	StartTime     string
	ScheduledDate string
}

ChannelMaintenance holds a channel's maintenance window configuration. Create accepts day/startTime (types.MaintenanceCreateSettings); Update additionally accepts scheduledDate (types.MaintenanceUpdateSettings). The response shape (types.MaintenanceStatus) also reports a computed maintenanceDeadline that gopherstack has no scheduler to derive -- always omitted, never fabricated.

type ChannelMotionGraphicsConfiguration added in v1.3.1

type ChannelMotionGraphicsConfiguration struct {
	MotionGraphicsInsertion string
	MotionGraphicsSettings  ChannelMotionGraphicsSettings
}

ChannelMotionGraphicsConfiguration configures motion-graphics overlay insertion (types.MotionGraphicsConfiguration). Wire keys "motionGraphicsInsertion"/"motionGraphicsSettings".

type ChannelMotionGraphicsSettings added in v1.3.1

type ChannelMotionGraphicsSettings struct {
	HTMLMotionGraphicsSettings bool
}

ChannelMotionGraphicsSettings is the tagged union of motion-graphics sources (types.MotionGraphicsSettings). The real SDK currently defines exactly one variant, HtmlMotionGraphicsSettings -- itself an empty marker struct on the wire (types.HtmlMotionGraphicsSettings has no fields) -- so a bool records "this variant is set" instead of an empty pointer-to-empty struct.

type ChannelNielsenConfiguration added in v1.3.1

type ChannelNielsenConfiguration struct {
	DistributorID          string
	NielsenPcmToID3Tagging string
}

ChannelNielsenConfiguration configures Nielsen watermark-to-ID3 tagging (types.NielsenConfiguration). Wire keys "distributorId"/ "nielsenPcmToId3Tagging".

type ChannelOutputDestination added in v1.2.0

type ChannelOutputDestination struct {
	ID                         string
	LogicalInterfaceNames      []string
	MediaConnectRouterSettings []MediaConnectRouterDestinationSettings
	MediaPackageSettings       []MediaPackageDestinationSettings
	MultiplexSettings          *MultiplexDestinationSettings
	Settings                   []OutputDestinationSetting
	SrtSettings                []SrtDestinationSettings
}

ChannelOutputDestination is one entry of EncoderSettings' output routing table (types.OutputDestination). Modeled in full -- unlike EncoderSettings' per-output-group/per-output settings (see OutputGroup below), every OutputDestination member is itself a flat, small, non-recursive struct, so there is no "genuinely impractical union depth" carve-out needed here.

type ChannelPlacementGroup

type ChannelPlacementGroup struct {
	Tags      map[string]string
	ARN       string
	ID        string
	Name      string
	ClusterID string
	State     string
	Channels  []string
	Nodes     []string
}

ChannelPlacementGroup represents a placement group within a cluster.

type ChannelPrimarySettings added in v1.2.0

type ChannelPrimarySettings struct {
	LinkedChannelType    string
	FollowingChannelArns []string
}

ChannelPrimarySettings is a primary channel's linked-channel settings. FollowingChannelArns is derived (never accepted on a request -- extraction never populates it), same pattern as Cluster.ChannelIDs/ ChannelPlacementGroup.Channels: computed at read time by followingChannelArns (channels.go) and stamped onto the returned domain object right before Describe/Create/Update/List/Start/Stop hand it back.

type ChannelSummary

type ChannelSummary struct {
	ARN                   string
	ID                    string
	Name                  string
	ChannelClass          string
	State                 string
	LogLevel              string
	ChannelSecurityGroups []string
	Destinations          []ChannelOutputDestination
	InputAttachments      []ChannelInputAttachment
	AnywhereSettings      ChannelAnywhereSettings
	CdiInputSpecification CdiInputSpecification
	ChannelEngineVersion  ChannelEngineVersion
	InferenceSettings     ChannelInferenceSettings
	InputSpecification    InputSpecification
	LinkedChannelSettings ChannelLinkedChannelSettings
	Maintenance           ChannelMaintenance
	Vpc                   ChannelVpcSettings
}

ChannelSummary is a channel in a list response. Same shape as Channel minus EncoderSettings -- a real ListChannelsOutput/ChannelSummary never returns the (potentially huge) encoder configuration, verified against types.ChannelSummary.

type ChannelUpdateExtras added in v1.2.0

type ChannelUpdateExtras struct {
	Maintenance              ChannelMaintenance
	InputSpecification       InputSpecification
	ChannelEngineVersion     ChannelEngineVersion
	LogLevel                 string
	CdiInputSpecification    CdiInputSpecification
	Vpc                      ChannelVpcSettings
	LinkedChannelSettings    ChannelLinkedChannelSettings
	InferenceSettings        ChannelInferenceSettings
	Destinations             []ChannelOutputDestination
	InputAttachments         []ChannelInputAttachment
	ChannelSecurityGroups    []string
	EncoderSettings          EncoderSettings
	HasChannelSecurityGroups bool
	HasInputAttachments      bool
	HasDestinations          bool
	HasInputSpecification    bool
	HasEncoderSettings       bool
	HasLinkedChannelSettings bool
	HasInferenceSettings     bool
	HasLogLevel              bool
	HasChannelEngineVersion  bool
	HasMaintenance           bool
	HasCdiInputSpecification bool
	HasVpc                   bool
}

ChannelUpdateExtras is ChannelCreateExtras' Update-side counterpart. Each field is paired with a HasX flag so UpdateChannel can distinguish "the caller omitted this member" (leave unchanged) from "the caller sent an explicit, possibly zero, value" (overwrite) -- the same "include this parameter only if you want to change it" convention already used by UpdateChannel's anywhereSettings and UpdateCluster's networkSettings.

type ChannelVpcSettings added in v1.2.0

type ChannelVpcSettings struct {
	SubnetIDs                  []string
	PublicAddressAllocationIDs []string
	SecurityGroupIDs           []string
}

ChannelVpcSettings holds the caller-supplied VPC output configuration (request shape types.VpcOutputSettings: subnetIds/publicAddressAllocationIds/ securityGroupIds). The response shape (types.VpcOutputSettingsDescription) additionally reports availabilityZones/networkInterfaceIds -- values MediaLive computes from a real VPC/ENI integration that gopherstack does not have; left omitted on output rather than fabricated (same convention as ChannelEngineVersion's ExpirationDate below).

type CloudWatchAlarmTemplate

type CloudWatchAlarmTemplate struct {
	CreatedAt          time.Time
	ModifiedAt         time.Time
	Tags               map[string]string
	Arn                string
	ID                 string
	Name               string
	Description        string
	GroupID            string
	GroupIdentifier    string
	MetricName         string
	Namespace          string
	Statistic          string
	ComparisonOperator string
	TargetResourceType string
	TreatMissingData   string
	Threshold          float64
	EvaluationPeriods  int32
	DatapointsToAlarm  int32
	Period             int32
}

CloudWatchAlarmTemplate is a template for generating CloudWatch alarms.

type CloudWatchAlarmTemplateGroup

type CloudWatchAlarmTemplateGroup struct {
	CreatedAt   time.Time
	ModifiedAt  time.Time
	Tags        map[string]string
	Arn         string
	ID          string
	Name        string
	Description string
}

CloudWatchAlarmTemplateGroup is a named group for CloudWatch alarm templates.

type CloudWatchAlarmTemplateGroupSummary added in v1.2.0

type CloudWatchAlarmTemplateGroupSummary struct {
	CloudWatchAlarmTemplateGroup
	TemplateCount int32
}

CloudWatchAlarmTemplateGroupSummary is a CloudWatchAlarmTemplateGroup in a list response. The real ListCloudWatchAlarmTemplateGroupsOutput items use the CloudWatchAlarmTemplateGroupSummary shape, which has "templateCount" -- a field that does NOT exist on Get/Create/Update's response shape (verified against aws-sdk-go-v2/service/medialive's CloudWatchAlarmTemplateGroupSummary vs CloudWatchAlarmTemplateGroup types).

type Cluster

type Cluster struct {
	Tags            map[string]string
	NetworkSettings ClusterNetworkSettings
	ARN             string
	ID              string
	Name            string
	ClusterType     string
	InstanceRoleArn string
	State           string
	ChannelIDs      []string
}

Cluster represents a MediaLive Anywhere Cluster resource. Tags first: reduces GC pointer scan.

type ClusterNetworkSettings added in v1.2.0

type ClusterNetworkSettings struct {
	DefaultRoute      string
	InterfaceMappings []InterfaceMapping
}

ClusterNetworkSettings connects the Nodes in a Cluster to one or more of the Networks the Cluster is associated with. A real DescribeCluster/ CreateCluster/UpdateCluster/ListClusters response's "networkSettings" is nil/absent until the caller configures it (verified against aws-sdk-go-v2/service/medialive's ClusterNetworkSettings type and DescribeClusterOutput's deserializer) -- gopherstack tracked NO fields for this at all before this fix, silently dropping every caller's networkSettings on Create/UpdateCluster.

type ClusterSummary

type ClusterSummary struct {
	NetworkSettings ClusterNetworkSettings
	ARN             string
	ID              string
	Name            string
	ClusterType     string
	InstanceRoleArn string
	State           string
	ChannelIDs      []string
}

ClusterSummary is a Cluster in a list response.

type CmafIngestCaptionLanguageMapping added in v1.3.1

type CmafIngestCaptionLanguageMapping struct {
	LanguageCode   string
	CaptionChannel int32
}

CmafIngestCaptionLanguageMapping maps one embedded-captions channel to a language for CMAF Ingest output groups (types. CmafIngestCaptionLanguageMapping, types.go:1778). Wire keys "captionChannel"/"languageCode".

type CmafIngestGroupSettings added in v1.3.1

type CmafIngestGroupSettings struct {
	Destination              *OutputLocationRef
	NielsenID3NameModifier   string
	Scte35Type               string
	ID3Behavior              string
	ID3NameModifier          string
	KlvBehavior              string
	KlvNameModifier          string
	TimedMetadataPassthrough string
	NielsenID3Behavior       string
	Scte35NameModifier       string
	TimedMetadataID3Frame    string
	SegmentLengthUnits       string
	AdditionalDestinations   []OutputAdditionalDestination
	CaptionLanguageMappings  []CmafIngestCaptionLanguageMapping
	SegmentLength            int32
	SendDelayMs              int32
	TimedMetadataID3Period   int32
}

CmafIngestGroupSettings configures a CMAF Ingest output group (types. CmafIngestGroupSettings, types.go:1795).

type CmafIngestOutputSettings added in v1.3.1

type CmafIngestOutputSettings struct {
	NameModifier string
}

CmafIngestOutputSettings configures one CMAF Ingest output (types. CmafIngestOutputSettings, types.go:1882). Wire key "nameModifier".

type DisabledLockingSettings added in v1.2.0

type DisabledLockingSettings struct {
	CustomEpoch string
}

DisabledLockingSettings / EpochLockingSettings / PipelineLockingSettings are the three OutputLockingSettings variants (types.DisabledLockingSettings/ types.EpochLockingSettings/types.PipelineLockingSettings) -- a 3-way union of small flat structs, modeled in full like the failover-condition union above.

type DvbNitSettings added in v1.3.1

type DvbNitSettings struct {
	NetworkName string
	NetworkID   int32
	RepInterval int32
}

DvbNitSettings configures the DVB Network Information Table (types. DvbNitSettings, types.go:2168). Wire keys "networkId"/"networkName"/ "repInterval".

type DvbSdtSettings added in v1.3.1

type DvbSdtSettings struct {
	OutputSdt           string
	ServiceName         string
	ServiceProviderName string
	RepInterval         int32
}

DvbSdtSettings configures the DVB Service Description Table (types. DvbSdtSettings, types.go:2189). Wire keys "outputSdt"/"repInterval"/ "serviceName"/"serviceProviderName".

type DvbSubDestinationSettings added in v1.3.1

type DvbSubDestinationSettings struct {
	Font                InputLocation
	Alignment           string
	BackgroundColor     string
	FontColor           string
	FontSize            string
	OutlineColor        string
	ShadowColor         string
	SubtitleRows        string
	TeletextGridControl string
	BackgroundOpacity   int32
	FontOpacity         int32
	FontResolution      int32
	OutlineSize         int32
	ShadowOpacity       int32
	ShadowXOffset       int32
	ShadowYOffset       int32
	XPosition           int32
	YPosition           int32
}

DvbSubDestinationSettings configures DVB-Sub captions (types.DvbSubDestinationSettings, types.go:2216) -- the same field set as BurnInDestinationSettings, under DVB-Sub-scoped enum types on the SDK side (both are plain strings here).

type DvbSubSourceSettings added in v1.3.1

type DvbSubSourceSettings struct {
	OcrLanguage string
	Pid         int32
}

DvbSubSourceSettings extracts DVB-Sub captions. Wire keys "ocrLanguage"/"pid" -- verified against types.DvbSubSourceSettings.

type DvbTdtSettings added in v1.3.1

type DvbTdtSettings struct {
	RepInterval int32
}

DvbTdtSettings configures the DVB Time and Date Table (types. DvbTdtSettings, types.go:2348). Wire key "repInterval".

type Eac3AtmosSettings added in v1.3.1

type Eac3AtmosSettings struct {
	CodingMode   string
	DrcLine      string
	DrcRf        string
	Bitrate      float64
	HeightTrim   float64
	SurroundTrim float64
	Dialnorm     int32
}

Eac3AtmosSettings configures Dolby Digital Plus with Dolby Atmos audio encoding. Wire keys "bitrate"/"codingMode"/"dialnorm"/"drcLine"/"drcRf"/ "heightTrim"/"surroundTrim" -- verified against types.Eac3AtmosSettings.

type Eac3Settings added in v1.3.1

type Eac3Settings struct {
	AttenuationControl   string
	BitstreamMode        string
	CodingMode           string
	DcFilter             string
	DrcLine              string
	DrcRf                string
	LfeControl           string
	LfeFilter            string
	MetadataControl      string
	PassthroughControl   string
	PhaseControl         string
	StereoDownmix        string
	SurroundExMode       string
	SurroundMode         string
	Bitrate              float64
	LoRoCenterMixLevel   float64
	LoRoSurroundMixLevel float64
	LtRtCenterMixLevel   float64
	LtRtSurroundMixLevel float64
	Dialnorm             int32
}

Eac3Settings configures Dolby Digital Plus audio encoding (types.Eac3Settings). Wire keys "attenuationControl"/"bitrate"/ "bitstreamMode"/"codingMode"/"dcFilter"/"dialnorm"/"drcLine"/"drcRf"/ "lfeControl"/"lfeFilter"/"loRoCenterMixLevel"/"loRoSurroundMixLevel"/ "ltRtCenterMixLevel"/"ltRtSurroundMixLevel"/"metadataControl"/ "passthroughControl"/"phaseControl"/"stereoDownmix"/"surroundExMode"/ "surroundMode".

type EbuTtDDestinationSettings added in v1.3.1

type EbuTtDDestinationSettings struct {
	CopyrightHolder   string
	FontFamily        string
	FillLineGap       string
	StyleControl      string
	DefaultFontSize   int32
	DefaultLineHeight int32
}

EbuTtDDestinationSettings configures EBU-TT-D captions (types.EbuTtDDestinationSettings, types.go:2469). Wire keys "copyrightHolder"/"defaultFontSize"/"defaultLineHeight"/"fillLineGap"/ "fontFamily"/"styleControl".

type EmbeddedSourceSettings added in v1.3.1

type EmbeddedSourceSettings struct {
	Convert608To708        string
	Scte20Detection        string
	Source608ChannelNumber int32
	Source608TrackNumber   int32
}

EmbeddedSourceSettings extracts embedded 608/708 captions. Wire keys "convert608To708"/"scte20Detection"/"source608ChannelNumber"/ "source608TrackNumber" -- verified against types.EmbeddedSourceSettings.

type EncoderOutput added in v1.2.0

type EncoderOutput struct {
	OutputSettings          *OutputSettings
	OutputName              string
	VideoDescriptionName    string
	AudioDescriptionNames   []string
	CaptionDescriptionNames []string
}

EncoderOutput names one encoder output and the AudioDescription/ CaptionDescription/VideoDescription names it draws from (types.Output -- named EncoderOutput here, not Output, to avoid colliding with this package's unrelated Output* helper types). Wire keys "audioDescriptionNames"/"captionDescriptionNames"/"outputName"/ "outputSettings"/"videoDescriptionName" -- verified against types.Output, types.go:6827.

type EncoderSettings added in v1.2.0

type EncoderSettings struct {
	BlackoutSlate               BlackoutSlate
	AvailBlanking               AvailBlanking
	AvailConfiguration          ChannelAvailConfiguration
	FeatureActivations          FeatureActivations
	NielsenConfiguration        ChannelNielsenConfiguration
	MotionGraphicsConfiguration ChannelMotionGraphicsConfiguration
	ThumbnailConfiguration      ThumbnailConfiguration
	CaptionDescriptions         []CaptionDescription
	TimecodeConfig              TimecodeConfig
	OutputGroups                []OutputGroup
	ColorCorrectionSettings     ChannelColorCorrectionSettings
	VideoDescriptions           []VideoDescription
	AudioDescriptions           []AudioDescription
	GlobalConfiguration         GlobalConfiguration
}

EncoderSettings is EncoderSettings' modeled subset -- see the per-type doc comments above and PARITY.md's gaps entry for exactly what's excluded (the per-codec AudioCodecSettings/VideoCodecSettings unions and the per-output-technology OutputGroupSettings/OutputSettings unions). CaptionDestinationSettings (gopherstack-1szb) IS modeled in full, alongside its BurnIn/DvbSub/EbuTtD/Ttml/Webvtt sub-shapes above. AvailConfiguration/ ColorCorrectionSettings/MotionGraphicsConfiguration/NielsenConfiguration (gopherstack-sthr) ARE modeled in full below -- unlike the codec/ output-technology unions, none of these four is itself a large per-format union (AvailConfiguration's AvailSettings is only a 3-way union of small flat structs, comparable to the failover-condition/output-locking unions already modeled above). AudioDescriptions/VideoDescriptions/OutputGroups/ TimecodeConfig are required on a real CreateChannelInput's EncoderSettings; gopherstack accepts a partial value (matching every other optional-nested-object family in this service) since it does not perform AWS's own request validation.

type EpochLockingSettings added in v1.2.0

type EpochLockingSettings struct {
	CustomEpoch string
	JamSyncTime string
}

EpochLockingSettings locks pipeline output to the Unix epoch (optionally a custom one).

type EsamSettings added in v1.3.1

type EsamSettings struct {
	AcquisitionPointID string
	PoisEndpoint       string
	PasswordParam      string
	Username           string
	ZoneIdentity       string
	AdAvailOffset      int32
}

EsamSettings configures ESAM ad-avail signaling to a POIS server. Wire keys "acquisitionPointId"/"adAvailOffset"/"passwordParam"/"poisEndpoint"/ "username"/"zoneIdentity" -- verified against types.Esam.

type EventBridgeRuleTemplate

type EventBridgeRuleTemplate struct {
	CreatedAt       time.Time
	ModifiedAt      time.Time
	Tags            map[string]string
	Arn             string
	ID              string
	Name            string
	Description     string
	GroupID         string
	GroupIdentifier string
	EventType       string
	EventTargets    []EventBridgeRuleTemplateTarget
}

EventBridgeRuleTemplate is a template for EventBridge rules.

type EventBridgeRuleTemplateGroup

type EventBridgeRuleTemplateGroup struct {
	CreatedAt   time.Time
	ModifiedAt  time.Time
	Tags        map[string]string
	Arn         string
	ID          string
	Name        string
	Description string
}

EventBridgeRuleTemplateGroup is a named group for EventBridge rule templates.

type EventBridgeRuleTemplateGroupSummary added in v1.2.0

type EventBridgeRuleTemplateGroupSummary struct {
	EventBridgeRuleTemplateGroup
	TemplateCount int32
}

EventBridgeRuleTemplateGroupSummary is an EventBridgeRuleTemplateGroup in a list response -- same "templateCount only on the List Summary shape" nuance as CloudWatchAlarmTemplateGroupSummary (see its doc comment).

type EventBridgeRuleTemplateSummary added in v1.2.0

type EventBridgeRuleTemplateSummary struct {
	EventBridgeRuleTemplate
	EventTargetCount int32
}

EventBridgeRuleTemplateSummary is an EventBridgeRuleTemplate in a list response. The real ListEventBridgeRuleTemplatesOutput items use the EventBridgeRuleTemplateSummary shape, which has "eventTargetCount" (an integer) instead of the full "eventTargets" array (verified against aws-sdk-go-v2/service/medialive's EventBridgeRuleTemplateSummary vs EventBridgeRuleTemplate types).

type EventBridgeRuleTemplateTarget

type EventBridgeRuleTemplateTarget struct {
	Arn string `json:"arn"`
}

EventBridgeRuleTemplateTarget is a target ARN for an EventBridge rule.

type FeatureActivations added in v1.2.0

type FeatureActivations struct {
	InputPrepareScheduleActions             string
	OutputStaticImageOverlayScheduleActions string
}

FeatureActivations toggles opt-in encoder features. Wire keys "inputPrepareScheduleActions"/"outputStaticImageOverlayScheduleActions" -- verified against types.FeatureActivations.

type FecOutputSettings added in v1.3.1

type FecOutputSettings struct {
	IncludeFec  string
	ColumnDepth int32
	RowLength   int32
}

FecOutputSettings configures Forward Error Correction for a UDP output (types.FecOutputSettings, types.go:2803). Wire keys "columnDepth"/ "includeFec"/"rowLength".

type Fmp4HlsSettings added in v1.3.1

type Fmp4HlsSettings struct {
	AudioRenditionSets    string
	NielsenID3Behavior    string
	TimedMetadataBehavior string
}

Fmp4HlsSettings configures a fragmented-MP4 HLS output (types. Fmp4HlsSettings, types.go:2840). Wire keys "audioRenditionSets"/ "nielsenId3Behavior"/"timedMetadataBehavior".

type FrameCaptureCdnSettings added in v1.3.1

type FrameCaptureCdnSettings struct {
	FrameCaptureS3Settings *FrameCaptureS3Settings
}

FrameCaptureCdnSettings configures CDN interaction for a Frame Capture output group (types.FrameCaptureCdnSettings, types.go:2889). Wire key "frameCaptureS3Settings".

type FrameCaptureGroupSettings added in v1.3.1

type FrameCaptureGroupSettings struct {
	Destination             *OutputLocationRef
	FrameCaptureCdnSettings *FrameCaptureCdnSettings
}

FrameCaptureGroupSettings configures a Frame Capture output group (types. FrameCaptureGroupSettings, types.go:2898). Wire keys "destination"/ "frameCaptureCdnSettings".

type FrameCaptureOutputSettings added in v1.3.1

type FrameCaptureOutputSettings struct {
	NameModifier string
}

FrameCaptureOutputSettings configures one Frame Capture output (types. FrameCaptureOutputSettings, types.go:2924). Wire key "nameModifier".

type FrameCaptureS3Settings added in v1.3.1

type FrameCaptureS3Settings struct {
	CannedACL string
}

FrameCaptureS3Settings configures S3 delivery for Frame Capture outputs (types.FrameCaptureS3Settings, types.go:2934). Wire key "cannedAcl".

type FrameCaptureSettings added in v1.3.1

type FrameCaptureSettings struct {
	TimecodeBurninSettings *TimecodeBurninSettings
	CaptureIntervalUnits   string
	CaptureInterval        int32
}

FrameCaptureSettings configures the frame-capture pseudo-codec (types.FrameCaptureSettings, types.go:2943); 3 fields, verified against the serializer.

type GlobalConfiguration added in v1.2.0

type GlobalConfiguration struct {
	OutputLockingSettings     OutputLockingSettings
	InputEndAction            string
	OutputLockingMode         string
	OutputTimingSource        string
	SupportLowFramerateInputs string
	InputLossBehavior         InputLossBehavior
	InitialAudioGain          int32
}

GlobalConfiguration holds event-wide encoder settings. Wire keys "initialAudioGain"/"inputEndAction"/"inputLossBehavior"/ "outputLockingMode"/"outputLockingSettings"/"outputTimingSource"/ "supportLowFramerateInputs" -- verified against types.GlobalConfiguration.

type H264ColorSpaceSettings added in v1.3.1

type H264ColorSpaceSettings struct {
	ColorSpacePassthroughSettings bool
	Rec601Settings                bool
	Rec709Settings                bool
}

H264ColorSpaceSettings is the tagged union of H264 color space conversions (types.H264ColorSpaceSettings, types.go:3005); at most one variant is set.

type H264FilterSettings added in v1.3.1

type H264FilterSettings struct {
	BandwidthReductionFilterSettings *BandwidthReductionFilterSettings
	TemporalFilterSettings           *TemporalFilterSettings
}

H264FilterSettings is the tagged union of H264 pre-encode video filters (types.H264FilterSettings, types.go:3020); at most one variant is set. H265FilterSettings (types.go:3306) has the identical field set, so both convert through one shared wire struct -- see toVideoFilterSettingsOutput.

type H264Settings added in v1.3.1

type H264Settings struct {
	ColorSpaceSettings     *H264ColorSpaceSettings
	FilterSettings         *H264FilterSettings
	TimecodeBurninSettings *TimecodeBurninSettings
	AdaptiveQuantization   string
	AfdSignaling           string
	ColorMetadata          string
	EntropyEncoding        string
	FixedAfd               string
	FlickerAq              string
	ForceFieldPictures     string
	FramerateControl       string
	GopBReference          string
	GopSizeUnits           string
	Level                  string
	LookAheadRateControl   string
	ParControl             string
	Profile                string
	QualityLevel           string
	RateControlMode        string
	ScanType               string
	SceneChangeDetect      string
	SpatialAq              string
	SubgopLength           string
	Syntax                 string
	TemporalAq             string
	TimecodeInsertion      string
	GopSize                float64
	Bitrate                int32
	BufFillPct             int32
	BufSize                int32
	FramerateDenominator   int32
	FramerateNumerator     int32
	GopClosedCadence       int32
	GopNumBFrames          int32
	MaxBitrate             int32
	MinBitrate             int32
	MinIInterval           int32
	MinQp                  int32
	NumRefFrames           int32
	ParDenominator         int32
	ParNumerator           int32
	QvbrQualityLevel       int32
	Slices                 int32
	Softness               int32
}

H264Settings configures the H264 video codec (types.H264Settings, types.go:3032); 44 fields, verified field-by-field against the serializer -- the largest single variant in the union.

type H265ColorSpaceSettings added in v1.3.1

type H265ColorSpaceSettings struct {
	Hdr10Settings                 *Hdr10Settings
	ColorSpacePassthroughSettings bool
	DolbyVision81Settings         bool
	Hlg2020Settings               bool
	Rec601Settings                bool
	Rec709Settings                bool
}

H265ColorSpaceSettings is the tagged union of H265 color space conversions (types.H265ColorSpaceSettings, types.go:3282); at most one variant is set.

type H265FilterSettings added in v1.3.1

type H265FilterSettings struct {
	BandwidthReductionFilterSettings *BandwidthReductionFilterSettings
	TemporalFilterSettings           *TemporalFilterSettings
}

H265FilterSettings mirrors H264FilterSettings -- see its doc comment.

type H265Settings added in v1.3.1

type H265Settings struct {
	ColorSpaceSettings          *H265ColorSpaceSettings
	FilterSettings              *H265FilterSettings
	TimecodeBurninSettings      *TimecodeBurninSettings
	AdaptiveQuantization        string
	AfdSignaling                string
	AlternativeTransferFunction string
	ColorMetadata               string
	Deblocking                  string
	FixedAfd                    string
	FlickerAq                   string
	GopBReference               string
	GopSizeUnits                string
	Level                       string
	LookAheadRateControl        string
	MvOverPictureBoundaries     string
	MvTemporalPredictor         string
	Profile                     string
	RateControlMode             string
	ScanType                    string
	SceneChangeDetect           string
	SubgopLength                string
	Tier                        string
	TilePadding                 string
	TimecodeInsertion           string
	TreeblockSize               string
	GopSize                     float64
	Bitrate                     int32
	BufSize                     int32
	FramerateDenominator        int32
	FramerateNumerator          int32
	GopClosedCadence            int32
	GopNumBFrames               int32
	MaxBitrate                  int32
	MinBitrate                  int32
	MinIInterval                int32
	MinQp                       int32
	ParDenominator              int32
	ParNumerator                int32
	QvbrQualityLevel            int32
	Slices                      int32
	TileHeight                  int32
	TileWidth                   int32
}

H265Settings configures the H265 video codec (types.H265Settings, types.go:3318); 42 fields, verified field-by-field against the serializer.

type Handler

type Handler struct {
	Backend StorageBackend
}

Handler handles MediaLive HTTP requests.

func NewHandler

func NewHandler(b StorageBackend) *Handler

NewHandler constructs a new Handler.

func (*Handler) ExtractOperation

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

ExtractOperation classifies the request into an operation name.

func (*Handler) ExtractResource

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

ExtractResource returns the resource identifier from the request.

func (*Handler) GetSupportedOperations

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

GetSupportedOperations returns all 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 resets the backend.

func (*Handler) Restore

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

Restore implements persistence.Persistable by delegating to the backend.

func (*Handler) RouteMatcher

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

RouteMatcher returns a function that matches MediaLive requests by path.

func (*Handler) Snapshot

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

Snapshot implements persistence.Persistable by delegating to the backend.

h.Backend is the StorageBackend interface, which already declares Snapshot(ctx context.Context) []byte (see interfaces.go) with a shape matching persistence.Persistable exactly, so this can call it directly -- no local type assertion needed. But interface membership alone does not help: h.Backend is a named field, not an embedded one, so InMemoryBackend's methods are never promoted onto *Handler. Without this delegation, cli.go's setupPersistence type-asserts the registered service.Registerable (this *Handler) against persistence.Persistable, fails silently, and never registers medialive for snapshot/restore despite the backend being fully capable. Mirrors services/securityhub's Handler-level delegation.

type Hdr10Settings added in v1.3.1

type Hdr10Settings struct {
	MaxCll  int32
	MaxFall int32
}

Hdr10Settings supplies HDR10 color-space metadata missing from an AWS Elemental Link source. Wire keys "maxCll"/"maxFall" -- verified against types.Hdr10Settings.

type HlsAkamaiSettings added in v1.3.1

type HlsAkamaiSettings struct {
	HTTPTransferMode        string
	Salt                    string
	Token                   string
	ConnectionRetryInterval int32
	FilecacheDuration       int32
	NumRetries              int32
	RestartDelay            int32
}

HlsAkamaiSettings configures Akamai CDN delivery for an HLS output group (types.HlsAkamaiSettings, types.go:3568).

type HlsBasicPutSettings added in v1.3.1

type HlsBasicPutSettings struct {
	ConnectionRetryInterval int32
	FilecacheDuration       int32
	NumRetries              int32
	RestartDelay            int32
}

HlsBasicPutSettings configures basic-PUT CDN delivery for an HLS output group (types.HlsBasicPutSettings, types.go:3600).

type HlsCdnSettings added in v1.3.1

type HlsCdnSettings struct {
	HlsAkamaiSettings     *HlsAkamaiSettings
	HlsBasicPutSettings   *HlsBasicPutSettings
	HlsMediaStoreSettings *HlsMediaStoreSettings
	HlsS3Settings         *HlsS3Settings
	HlsWebdavSettings     *HlsWebdavSettings
}

HlsCdnSettings is the tagged union of CDN delivery mechanisms for an HLS output group (types.HlsCdnSettings, types.go:3622).

type HlsGroupSettings added in v1.3.1

type HlsGroupSettings struct {
	Destination                *OutputLocationRef
	HlsCdnSettings             *HlsCdnSettings
	KeyProviderSettings        *KeyProviderSettings
	IvInManifest               string
	IFrameOnlyPlaylists        string
	BaseURLContent             string
	BaseURLContent1            string
	BaseURLManifest            string
	BaseURLManifest1           string
	CaptionLanguageSetting     string
	ClientCache                string
	CodecSpecification         string
	ConstantIv                 string
	DirectoryStructure         string
	DiscontinuityTags          string
	EncryptionType             string
	HlsID3SegmentTagging       string
	KeyFormat                  string
	IncompleteSegmentBehavior  string
	InputLossAction            string
	TSFileMode                 string
	TimedMetadataID3Frame      string
	IvSource                   string
	ProgramDateTime            string
	ManifestCompression        string
	ManifestDurationFormat     string
	Mode                       string
	OutputSelection            string
	KeyFormatVersions          string
	ProgramDateTimeClock       string
	RedundantManifest          string
	SegmentationMode           string
	StreamInfResolution        string
	CaptionLanguageMappings    []CaptionLanguageMapping
	AdMarkers                  []string
	IndexNSegments             int32
	KeepSegments               int32
	MinSegmentLength           int32
	ProgramDateTimePeriod      int32
	SegmentLength              int32
	SegmentsPerSubdirectory    int32
	TimedMetadataID3Period     int32
	TimestampDeltaMilliseconds int32
}

HlsGroupSettings configures an Apple HLS output group (types. HlsGroupSettings, types.go:3643). The largest OutputGroupSettings variant.

type HlsInputSettings added in v1.3.1

type HlsInputSettings struct {
	Scte35Source   string
	Bandwidth      int32
	BufferSegments int32
	Retries        int32
	RetryInterval  int32
}

HlsInputSettings configures HLS-manifest-specific input behavior. Wire keys "bandwidth"/"bufferSegments"/"retries"/"retryInterval"/ "scte35Source" -- verified against types.HlsInputSettings.

type HlsMediaStoreSettings added in v1.3.1

type HlsMediaStoreSettings struct {
	MediaStoreStorageClass  string
	ConnectionRetryInterval int32
	FilecacheDuration       int32
	NumRetries              int32
	RestartDelay            int32
}

HlsMediaStoreSettings configures MediaStore CDN delivery for an HLS output group (types.HlsMediaStoreSettings, types.go:3949).

type HlsOutputSettings added in v1.3.1

type HlsOutputSettings struct {
	HlsSettings       *HlsSettings
	H265PackagingType string
	NameModifier      string
	SegmentModifier   string
}

HlsOutputSettings configures one HLS output (types.HlsOutputSettings, types.go:3975). Wire keys "h265PackagingType"/"hlsSettings"/ "nameModifier"/"segmentModifier".

type HlsS3Settings added in v1.3.1

type HlsS3Settings struct {
	CannedACL string
}

HlsS3Settings configures S3 CDN delivery for an HLS output group (types. HlsS3Settings, types.go:3998). Wire key "cannedAcl".

type HlsSettings added in v1.3.1

type HlsSettings struct {
	AudioOnlyHlsSettings    *AudioOnlyHlsSettings
	Fmp4HlsSettings         *Fmp4HlsSettings
	StandardHlsSettings     *StandardHlsSettings
	FrameCaptureHlsSettings bool
}

HlsSettings is the tagged union of per-output-type HLS settings (types. HlsSettings, types.go:4007). FrameCaptureHlsSettings (types. FrameCaptureHlsSettings, types.go:2919) has no fields on the wire, so a bool records "this variant is set".

type HlsWebdavSettings added in v1.3.1

type HlsWebdavSettings struct {
	HTTPTransferMode        string
	ConnectionRetryInterval int32
	FilecacheDuration       int32
	NumRetries              int32
	RestartDelay            int32
}

HlsWebdavSettings configures WebDAV CDN delivery for an HLS output group (types.HlsWebdavSettings, types.go:4038).

type IPPool

type IPPool struct {
	Cidr string `json:"cidr"`
}

IPPool is a CIDR pool for a Network.

type InMemoryBackend

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

InMemoryBackend is an in-memory implementation of StorageBackend.

func NewInMemoryBackend

func NewInMemoryBackend(accountID, region string) *InMemoryBackend

NewInMemoryBackend creates a new InMemoryBackend.

func (*InMemoryBackend) AcceptInputDeviceTransfer

func (b *InMemoryBackend) AcceptInputDeviceTransfer(deviceID string) error

AcceptInputDeviceTransfer accepts an incoming transfer and completes it.

func (*InMemoryBackend) AccountID

func (b *InMemoryBackend) AccountID() string

AccountID returns the configured account ID.

func (*InMemoryBackend) BatchDelete

func (b *InMemoryBackend) BatchDelete(
	channelIDs, inputIDs, multiplexIDs, inputSecurityGroupIDs []string,
) (*BatchResult, error)

BatchDelete deletes channels/inputs/multiplexes/input-security-groups in bulk.

func (*InMemoryBackend) BatchStart

func (b *InMemoryBackend) BatchStart(
	channelIDs, multiplexIDs []string,
) (*BatchResult, error)

BatchStart starts channels/multiplexes in bulk (BatchStartInput has no inputIds field in the real API).

func (*InMemoryBackend) BatchStop

func (b *InMemoryBackend) BatchStop(
	channelIDs, multiplexIDs []string,
) (*BatchResult, error)

BatchStop stops channels/multiplexes in bulk (BatchStopInput has no inputIds field in the real API).

func (*InMemoryBackend) BatchUpdateSchedule

func (b *InMemoryBackend) BatchUpdateSchedule(
	channelID string,
	creates []ScheduleAction,
	deleteActionNames []string,
) (*BatchUpdateScheduleResult, error)

BatchUpdateSchedule adds/removes schedule actions for a channel.

func (*InMemoryBackend) CancelInputDeviceTransfer

func (b *InMemoryBackend) CancelInputDeviceTransfer(deviceID string) error

CancelInputDeviceTransfer cancels an outgoing transfer.

func (*InMemoryBackend) ClaimDevice

func (b *InMemoryBackend) ClaimDevice(id string) (*InputDevice, error)

ClaimDevice registers a device (by ID) into this account.

func (*InMemoryBackend) CreateChannel

func (b *InMemoryBackend) CreateChannel(
	name, channelClass, roleArn string,
	anywhereSettings ChannelAnywhereSettings,
	extras ChannelCreateExtras,
	tags map[string]string,
) (*Channel, error)

CreateChannel creates a new channel.

func (*InMemoryBackend) CreateChannelPlacementGroup

func (b *InMemoryBackend) CreateChannelPlacementGroup(
	clusterID, name string,
	nodes []string,
	tags map[string]string,
) (*ChannelPlacementGroup, error)

CreateChannelPlacementGroup creates a placement group within a cluster.

func (*InMemoryBackend) CreateCloudWatchAlarmTemplate

func (b *InMemoryBackend) CreateCloudWatchAlarmTemplate(
	name string,
	description string,
	groupIdentifier string,
	metricName string,
	namespace string,
	statistic string,
	comparisonOperator string,
	targetResourceType string,
	treatMissingData string,
	threshold float64,
	evaluationPeriods, datapointsToAlarm, period int32,
	tags map[string]string,
) (*CloudWatchAlarmTemplate, error)

CreateCloudWatchAlarmTemplate creates a new CW alarm template.

func (*InMemoryBackend) CreateCloudWatchAlarmTemplateGroup

func (b *InMemoryBackend) CreateCloudWatchAlarmTemplateGroup(
	name, description string, tags map[string]string,
) (*CloudWatchAlarmTemplateGroup, error)

CreateCloudWatchAlarmTemplateGroup creates a new CW alarm template group.

func (*InMemoryBackend) CreateCluster

func (b *InMemoryBackend) CreateCluster(
	name, clusterType, instanceRoleArn string,
	networkSettings ClusterNetworkSettings,
	tags map[string]string,
) (*Cluster, error)

CreateCluster creates a new Cluster.

func (*InMemoryBackend) CreateEventBridgeRuleTemplate

func (b *InMemoryBackend) CreateEventBridgeRuleTemplate(
	name, description, groupIdentifier, eventType string,
	eventTargets []EventBridgeRuleTemplateTarget,
	tags map[string]string,
) (*EventBridgeRuleTemplate, error)

CreateEventBridgeRuleTemplate creates a new EB rule template.

func (*InMemoryBackend) CreateEventBridgeRuleTemplateGroup

func (b *InMemoryBackend) CreateEventBridgeRuleTemplateGroup(
	name, description string, tags map[string]string,
) (*EventBridgeRuleTemplateGroup, error)

CreateEventBridgeRuleTemplateGroup creates a new EB rule template group.

func (*InMemoryBackend) CreateInput

func (b *InMemoryBackend) CreateInput(
	name, inputType, roleArn string,
	tags map[string]string,
) (*Input, error)

CreateInput creates a new input.

func (*InMemoryBackend) CreateInputSecurityGroup

func (b *InMemoryBackend) CreateInputSecurityGroup(
	whitelistRules []WhitelistRule,
	tags map[string]string,
) (*InputSecurityGroup, error)

CreateInputSecurityGroup creates a new input security group.

func (*InMemoryBackend) CreateMultiplex

func (b *InMemoryBackend) CreateMultiplex(
	name string,
	availabilityZones []string,
	settings MultiplexSettings,
	tags map[string]string,
) (*Multiplex, error)

CreateMultiplex creates a new Multiplex.

func (*InMemoryBackend) CreateMultiplexProgram

func (b *InMemoryBackend) CreateMultiplexProgram(
	multiplexID string,
	prog MultiplexProgramSettings,
) (*MultiplexProgram, error)

CreateMultiplexProgram creates a program within a Multiplex.

func (*InMemoryBackend) CreateNetwork

func (b *InMemoryBackend) CreateNetwork(
	name string,
	ipPools []IPPool,
	routes []Route,
	tags map[string]string,
) (*Network, error)

CreateNetwork creates a new Network.

func (*InMemoryBackend) CreateNode

func (b *InMemoryBackend) CreateNode(
	clusterID, name, role string,
	tags map[string]string,
) (*Node, error)

CreateNode creates a Node within a Cluster.

func (*InMemoryBackend) CreateNodeRegistrationScript

func (b *InMemoryBackend) CreateNodeRegistrationScript(clusterID string) (string, error)

CreateNodeRegistrationScript returns a registration script for a Cluster Node.

func (*InMemoryBackend) CreatePartnerInput

func (b *InMemoryBackend) CreatePartnerInput(
	inputID string,
	tags map[string]string,
) (*Input, error)

CreatePartnerInput creates a partner input linked to an existing input.

func (*InMemoryBackend) CreateSdiSource

func (b *InMemoryBackend) CreateSdiSource(
	name, sdiType, mode string,
	tags map[string]string,
) (*SdiSource, error)

CreateSdiSource creates a new SDI source. Unlike the resource kinds taggableResourceTags covers, real DescribeSdiSourceResult has no Tags field (verified: types.SdiSource, medialive@v1.101.4 types/types.go:7622), so tags go into the legacy per-ARN b.tags store, not the resource struct.

func (*InMemoryBackend) CreateSignalMap

func (b *InMemoryBackend) CreateSignalMap(
	name, description, discoveryEntryPointArn string,
	cwGroupIDs, ebGroupIDs []string,
	tags map[string]string,
) (*SignalMap, error)

CreateSignalMap creates a new signal map.

func (*InMemoryBackend) CreateTags

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

CreateTags adds tags to a resource.

func (*InMemoryBackend) DeleteChannel

func (b *InMemoryBackend) DeleteChannel(channelID string) (*Channel, error)

DeleteChannel deletes a channel.

func (*InMemoryBackend) DeleteChannelPlacementGroup

func (b *InMemoryBackend) DeleteChannelPlacementGroup(
	clusterID, groupID string,
) (*ChannelPlacementGroup, error)

DeleteChannelPlacementGroup deletes a placement group.

func (*InMemoryBackend) DeleteCloudWatchAlarmTemplate

func (b *InMemoryBackend) DeleteCloudWatchAlarmTemplate(identifier string) error

DeleteCloudWatchAlarmTemplate deletes a CW alarm template.

func (*InMemoryBackend) DeleteCloudWatchAlarmTemplateGroup

func (b *InMemoryBackend) DeleteCloudWatchAlarmTemplateGroup(identifier string) error

DeleteCloudWatchAlarmTemplateGroup deletes a CW alarm template group.

func (*InMemoryBackend) DeleteCluster

func (b *InMemoryBackend) DeleteCluster(clusterID string) (*Cluster, error)

DeleteCluster deletes a Cluster.

func (*InMemoryBackend) DeleteEventBridgeRuleTemplate

func (b *InMemoryBackend) DeleteEventBridgeRuleTemplate(identifier string) error

DeleteEventBridgeRuleTemplate deletes an EB rule template.

func (*InMemoryBackend) DeleteEventBridgeRuleTemplateGroup

func (b *InMemoryBackend) DeleteEventBridgeRuleTemplateGroup(identifier string) error

DeleteEventBridgeRuleTemplateGroup deletes an EB rule template group.

func (*InMemoryBackend) DeleteInput

func (b *InMemoryBackend) DeleteInput(inputID string) error

DeleteInput deletes an input.

func (*InMemoryBackend) DeleteInputSecurityGroup

func (b *InMemoryBackend) DeleteInputSecurityGroup(groupID string) error

DeleteInputSecurityGroup deletes an input security group.

func (*InMemoryBackend) DeleteMultiplex

func (b *InMemoryBackend) DeleteMultiplex(multiplexID string) (*Multiplex, error)

DeleteMultiplex deletes a Multiplex.

func (*InMemoryBackend) DeleteMultiplexProgram

func (b *InMemoryBackend) DeleteMultiplexProgram(
	multiplexID, programName string,
) (*MultiplexProgram, error)

DeleteMultiplexProgram removes a program from a Multiplex.

func (*InMemoryBackend) DeleteNetwork

func (b *InMemoryBackend) DeleteNetwork(networkID string) (*Network, error)

DeleteNetwork deletes a Network.

func (*InMemoryBackend) DeleteNode

func (b *InMemoryBackend) DeleteNode(clusterID, nodeID string) (*Node, error)

DeleteNode removes a Node from a Cluster.

func (*InMemoryBackend) DeleteReservation

func (b *InMemoryBackend) DeleteReservation(reservationID string) (*Reservation, error)

DeleteReservation cancels a reservation.

func (*InMemoryBackend) DeleteSchedule

func (b *InMemoryBackend) DeleteSchedule(channelID string) error

DeleteSchedule removes all schedule actions for a channel.

func (*InMemoryBackend) DeleteSdiSource

func (b *InMemoryBackend) DeleteSdiSource(sdiSourceID string) (*SdiSource, error)

DeleteSdiSource deletes an SDI source.

func (*InMemoryBackend) DeleteSignalMap

func (b *InMemoryBackend) DeleteSignalMap(identifier string) error

DeleteSignalMap deletes a signal map.

func (*InMemoryBackend) DeleteTags

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

DeleteTags removes tag keys from a resource.

func (*InMemoryBackend) DescribeAccountConfiguration

func (b *InMemoryBackend) DescribeAccountConfiguration() (*AccountConfiguration, error)

DescribeAccountConfiguration returns the account-wide configuration.

func (*InMemoryBackend) DescribeChannel

func (b *InMemoryBackend) DescribeChannel(channelID string) (*Channel, error)

DescribeChannel returns a channel by ID.

func (*InMemoryBackend) DescribeChannelPlacementGroup

func (b *InMemoryBackend) DescribeChannelPlacementGroup(
	clusterID, groupID string,
) (*ChannelPlacementGroup, error)

DescribeChannelPlacementGroup returns a placement group by cluster and group ID.

func (*InMemoryBackend) DescribeCluster

func (b *InMemoryBackend) DescribeCluster(clusterID string) (*Cluster, error)

DescribeCluster returns a Cluster by ID.

func (*InMemoryBackend) DescribeInput

func (b *InMemoryBackend) DescribeInput(inputID string) (*Input, error)

DescribeInput returns an input by ID.

func (*InMemoryBackend) DescribeInputDevice

func (b *InMemoryBackend) DescribeInputDevice(deviceID string) (*InputDevice, error)

DescribeInputDevice returns an input device by ID.

func (*InMemoryBackend) DescribeInputDeviceThumbnail

func (b *InMemoryBackend) DescribeInputDeviceThumbnail(deviceID string) (*InputDevice, error)

DescribeInputDeviceThumbnail returns the device (thumbnail image data is not emulated).

func (*InMemoryBackend) DescribeInputSecurityGroup

func (b *InMemoryBackend) DescribeInputSecurityGroup(groupID string) (*InputSecurityGroup, error)

DescribeInputSecurityGroup returns an input security group by ID.

func (*InMemoryBackend) DescribeMultiplex

func (b *InMemoryBackend) DescribeMultiplex(multiplexID string) (*Multiplex, error)

DescribeMultiplex returns a Multiplex by ID.

func (*InMemoryBackend) DescribeMultiplexProgram

func (b *InMemoryBackend) DescribeMultiplexProgram(
	multiplexID, programName string,
) (*MultiplexProgram, error)

DescribeMultiplexProgram returns a program by multiplex ID and program name.

func (*InMemoryBackend) DescribeNetwork

func (b *InMemoryBackend) DescribeNetwork(networkID string) (*Network, error)

DescribeNetwork returns a Network by ID.

func (*InMemoryBackend) DescribeNode

func (b *InMemoryBackend) DescribeNode(clusterID, nodeID string) (*Node, error)

DescribeNode returns a Node by cluster ID and node ID.

func (*InMemoryBackend) DescribeOffering

func (b *InMemoryBackend) DescribeOffering(offeringID string) (*Offering, error)

DescribeOffering returns a single offering by ID.

func (*InMemoryBackend) DescribeReservation

func (b *InMemoryBackend) DescribeReservation(reservationID string) (*Reservation, error)

DescribeReservation returns a single reservation.

func (*InMemoryBackend) DescribeSchedule

func (b *InMemoryBackend) DescribeSchedule(channelID string) ([]ScheduleAction, error)

DescribeSchedule returns the schedule actions for a channel.

func (*InMemoryBackend) DescribeSdiSource

func (b *InMemoryBackend) DescribeSdiSource(sdiSourceID string) (*SdiSource, error)

DescribeSdiSource returns an SDI source by ID.

func (*InMemoryBackend) DescribeThumbnails

func (b *InMemoryBackend) DescribeThumbnails(channelID string) (*Channel, error)

DescribeThumbnails returns the channel (thumbnails are not emulated as image data).

func (*InMemoryBackend) GetCloudWatchAlarmTemplate

func (b *InMemoryBackend) GetCloudWatchAlarmTemplate(
	identifier string,
) (*CloudWatchAlarmTemplate, error)

GetCloudWatchAlarmTemplate returns a CW alarm template by identifier.

func (*InMemoryBackend) GetCloudWatchAlarmTemplateGroup

func (b *InMemoryBackend) GetCloudWatchAlarmTemplateGroup(
	identifier string,
) (*CloudWatchAlarmTemplateGroup, error)

GetCloudWatchAlarmTemplateGroup returns a CW alarm template group by identifier.

func (*InMemoryBackend) GetEventBridgeRuleTemplate

func (b *InMemoryBackend) GetEventBridgeRuleTemplate(
	identifier string,
) (*EventBridgeRuleTemplate, error)

GetEventBridgeRuleTemplate returns an EB rule template.

func (*InMemoryBackend) GetEventBridgeRuleTemplateGroup

func (b *InMemoryBackend) GetEventBridgeRuleTemplateGroup(
	identifier string,
) (*EventBridgeRuleTemplateGroup, error)

GetEventBridgeRuleTemplateGroup returns an EB rule template group.

func (*InMemoryBackend) GetSignalMap

func (b *InMemoryBackend) GetSignalMap(identifier string) (*SignalMap, error)

GetSignalMap returns a signal map by identifier.

func (*InMemoryBackend) ListAlerts

func (b *InMemoryBackend) ListAlerts(channelID string) ([]map[string]any, error)

ListAlerts returns alerts for a channel (always empty in emulation).

func (*InMemoryBackend) ListChannelPlacementGroups

func (b *InMemoryBackend) ListChannelPlacementGroups(
	clusterID string,
	maxResults int,
	nextToken string,
) ([]*ChannelPlacementGroup, string, error)

ListChannelPlacementGroups returns a paginated list of placement groups in a cluster.

func (*InMemoryBackend) ListChannels

func (b *InMemoryBackend) ListChannels(
	maxResults int,
	nextToken string,
) ([]*ChannelSummary, string, error)

ListChannels returns a paginated list of channels.

func (*InMemoryBackend) ListCloudWatchAlarmTemplateGroups

func (b *InMemoryBackend) ListCloudWatchAlarmTemplateGroups(
	maxResults int,
	nextToken string,
) ([]*CloudWatchAlarmTemplateGroupSummary, string, error)

ListCloudWatchAlarmTemplateGroups returns all CW alarm template groups, each annotated with its live templateCount (see CloudWatchAlarmTemplateGroupSummary's doc comment).

func (*InMemoryBackend) ListCloudWatchAlarmTemplates

func (b *InMemoryBackend) ListCloudWatchAlarmTemplates(
	maxResults int,
	nextToken string,
) ([]*CloudWatchAlarmTemplate, string, error)

ListCloudWatchAlarmTemplates returns all CW alarm templates.

func (*InMemoryBackend) ListClusterAlerts

func (b *InMemoryBackend) ListClusterAlerts(
	clusterID string,
	_ int,
	_ string,
) ([]map[string]any, string, error)

ListClusterAlerts returns alerts for a Cluster.

func (*InMemoryBackend) ListClusters

func (b *InMemoryBackend) ListClusters(
	maxResults int,
	nextToken string,
) ([]*ClusterSummary, string, error)

ListClusters returns a paginated list of Clusters.

func (*InMemoryBackend) ListEventBridgeRuleTemplateGroups

func (b *InMemoryBackend) ListEventBridgeRuleTemplateGroups(
	maxResults int,
	nextToken string,
) ([]*EventBridgeRuleTemplateGroupSummary, string, error)

ListEventBridgeRuleTemplateGroups returns all EB rule template groups, each annotated with its live templateCount (see EventBridgeRuleTemplateGroupSummary's doc comment).

func (*InMemoryBackend) ListEventBridgeRuleTemplates

func (b *InMemoryBackend) ListEventBridgeRuleTemplates(
	maxResults int,
	nextToken string,
) ([]*EventBridgeRuleTemplateSummary, string, error)

ListEventBridgeRuleTemplates returns all EB rule templates using the real List Summary shape (eventTargetCount, not the full eventTargets array -- see EventBridgeRuleTemplateSummary's doc comment).

func (*InMemoryBackend) ListInputDeviceTransfers

func (b *InMemoryBackend) ListInputDeviceTransfers(
	transferType string,
	maxResults int,
	nextToken string,
) ([]*InputDeviceTransfer, string, error)

ListInputDeviceTransfers lists devices with pending transfers. transferType must be "OUTGOING" or "INCOMING"; in this mock both resolve against the same pending-transfer store (we don't track the recipient side separately).

func (*InMemoryBackend) ListInputDevices

func (b *InMemoryBackend) ListInputDevices(
	maxResults int,
	nextToken string,
) ([]*InputDevice, string, error)

ListInputDevices returns a paginated list of input devices.

func (*InMemoryBackend) ListInputSecurityGroups

func (b *InMemoryBackend) ListInputSecurityGroups(
	maxResults int,
	nextToken string,
) ([]*InputSecurityGroupSummary, string, error)

ListInputSecurityGroups returns a paginated list of input security groups.

func (*InMemoryBackend) ListInputs

func (b *InMemoryBackend) ListInputs(
	maxResults int,
	nextToken string,
) ([]*InputSummary, string, error)

ListInputs returns a paginated list of inputs.

func (*InMemoryBackend) ListMultiplexAlerts

func (b *InMemoryBackend) ListMultiplexAlerts(multiplexID string) ([]map[string]any, error)

ListMultiplexAlerts returns alerts for a multiplex (always empty in emulation).

func (*InMemoryBackend) ListMultiplexPrograms

func (b *InMemoryBackend) ListMultiplexPrograms(
	multiplexID string,
	maxResults int,
	nextToken string,
) ([]*MultiplexProgramSummary, string, error)

ListMultiplexPrograms returns a paginated list of programs for a Multiplex.

func (*InMemoryBackend) ListMultiplexes

func (b *InMemoryBackend) ListMultiplexes(
	maxResults int,
	nextToken string,
) ([]*MultiplexSummary, string, error)

ListMultiplexes returns a paginated list of multiplexes.

func (*InMemoryBackend) ListNetworks

func (b *InMemoryBackend) ListNetworks(
	maxResults int,
	nextToken string,
) ([]*Network, string, error)

ListNetworks returns a paginated list of Networks.

func (*InMemoryBackend) ListNodes

func (b *InMemoryBackend) ListNodes(
	clusterID string,
	maxResults int,
	nextToken string,
) ([]*NodeSummary, string, error)

ListNodes returns a paginated list of Nodes in a Cluster.

func (*InMemoryBackend) ListOfferings

func (b *InMemoryBackend) ListOfferings(
	maxResults int,
	nextToken string,
) ([]*Offering, string, error)

ListOfferings returns the seeded offering catalog.

func (*InMemoryBackend) ListReservations

func (b *InMemoryBackend) ListReservations(
	maxResults int,
	nextToken string,
) ([]*Reservation, string, error)

ListReservations returns all reservations.

func (*InMemoryBackend) ListSdiSources

func (b *InMemoryBackend) ListSdiSources(
	maxResults int,
	nextToken string,
) ([]*SdiSource, string, error)

ListSdiSources returns a paginated list of SDI sources.

func (*InMemoryBackend) ListSignalMaps

func (b *InMemoryBackend) ListSignalMaps(
	maxResults int,
	nextToken string,
) ([]*SignalMap, string, error)

ListSignalMaps returns all signal maps.

func (*InMemoryBackend) ListTagsForResource

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

ListTagsForResource returns all tags for a resource.

func (*InMemoryBackend) ListVersions

func (b *InMemoryBackend) ListVersions() []ChannelEngineVersion

ListVersions returns the available channel engine versions.

func (*InMemoryBackend) PurchaseOffering

func (b *InMemoryBackend) PurchaseOffering(
	offeringID, name string,
	count int32,
	renewalSettings RenewalSettings,
	tags map[string]string,
) (*Reservation, error)

PurchaseOffering creates a Reservation from an Offering.

func (*InMemoryBackend) RebootInputDevice

func (b *InMemoryBackend) RebootInputDevice(deviceID string) error

RebootInputDevice initiates a reboot of the device (no-op in emulation).

func (*InMemoryBackend) Region

func (b *InMemoryBackend) Region() string

Region returns the configured region.

func (*InMemoryBackend) RejectInputDeviceTransfer

func (b *InMemoryBackend) RejectInputDeviceTransfer(deviceID string) error

RejectInputDeviceTransfer rejects an incoming transfer.

func (*InMemoryBackend) Reset

func (b *InMemoryBackend) Reset()

Reset clears all stored data.

func (*InMemoryBackend) RestartChannelPipelines

func (b *InMemoryBackend) RestartChannelPipelines(
	channelID string,
	_ []string,
) (*Channel, error)

RestartChannelPipelines restarts a channel's pipelines (returns the channel).

func (*InMemoryBackend) Restore

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

Restore deserializes state from JSON.

func (*InMemoryBackend) Snapshot

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

Snapshot serializes current state to JSON.

func (*InMemoryBackend) StartChannel

func (b *InMemoryBackend) StartChannel(channelID string) (*Channel, error)

StartChannel transitions a channel toward RUNNING. The stored state advances immediately to RUNNING (deterministic emulation), but the API response carries STARTING to match the real AWS intermediate-state contract.

func (*InMemoryBackend) StartDeleteMonitorDeployment

func (b *InMemoryBackend) StartDeleteMonitorDeployment(identifier string) (*SignalMap, error)

StartDeleteMonitorDeployment tears down the monitor deployment for a signal map.

func (*InMemoryBackend) StartInputDevice

func (b *InMemoryBackend) StartInputDevice(deviceID string) error

StartInputDevice starts an input device (no-op aside from existence check).

func (*InMemoryBackend) StartInputDeviceMaintenanceWindow

func (b *InMemoryBackend) StartInputDeviceMaintenanceWindow(deviceID string) error

StartInputDeviceMaintenanceWindow opens a maintenance window for the device (no-op aside from existence check). StartInputDeviceMaintenanceWindowOutput carries no fields on the real wire, and the device shapes have no maintenanceWindowActive member to flip -- see gopherstack-7ux2.

func (*InMemoryBackend) StartMonitorDeployment

func (b *InMemoryBackend) StartMonitorDeployment(identifier string) (*SignalMap, error)

StartMonitorDeployment deploys monitoring for a signal map.

func (*InMemoryBackend) StartMultiplex

func (b *InMemoryBackend) StartMultiplex(multiplexID string) (*Multiplex, error)

StartMultiplex transitions a Multiplex toward RUNNING. Stored state advances immediately; response carries STARTING per AWS contract.

func (*InMemoryBackend) StartUpdateSignalMap

func (b *InMemoryBackend) StartUpdateSignalMap(
	identifier, name, description string,
	cwGroupIDs, ebGroupIDs []string,
) (*SignalMap, error)

StartUpdateSignalMap updates a signal map's configuration.

func (*InMemoryBackend) StopChannel

func (b *InMemoryBackend) StopChannel(channelID string) (*Channel, error)

StopChannel transitions a channel toward IDLE. The stored state advances immediately to IDLE (deterministic emulation), but the API response carries STOPPING to match the real AWS intermediate-state contract.

func (*InMemoryBackend) StopInputDevice

func (b *InMemoryBackend) StopInputDevice(deviceID string) error

StopInputDevice stops an input device (no-op aside from existence check).

func (*InMemoryBackend) StopMultiplex

func (b *InMemoryBackend) StopMultiplex(multiplexID string) (*Multiplex, error)

StopMultiplex transitions a Multiplex toward IDLE. Stored state advances immediately; response carries STOPPING per AWS contract.

func (*InMemoryBackend) TransferInputDevice

func (b *InMemoryBackend) TransferInputDevice(
	deviceID, targetCustomerID, targetRegion, message string,
) error

TransferInputDevice initiates a transfer of the device to another account.

func (*InMemoryBackend) UpdateAccountConfiguration

func (b *InMemoryBackend) UpdateAccountConfiguration(
	kmsKeyID string,
) (*AccountConfiguration, error)

UpdateAccountConfiguration updates the account-wide configuration.

func (*InMemoryBackend) UpdateChannel

func (b *InMemoryBackend) UpdateChannel(
	channelID, name, roleArn string,
	anywhereSettings ChannelAnywhereSettings,
	hasAnywhereSettings bool,
	extras ChannelUpdateExtras,
) (*Channel, error)

UpdateChannel updates a channel's mutable fields.

func (*InMemoryBackend) UpdateChannelClass

func (b *InMemoryBackend) UpdateChannelClass(channelID, channelClass string) (*Channel, error)

UpdateChannelClass changes a channel's class.

func (*InMemoryBackend) UpdateChannelPlacementGroup

func (b *InMemoryBackend) UpdateChannelPlacementGroup(
	clusterID, groupID, name string,
	nodes []string,
) (*ChannelPlacementGroup, error)

UpdateChannelPlacementGroup updates a placement group's mutable fields.

func (*InMemoryBackend) UpdateCloudWatchAlarmTemplate

func (b *InMemoryBackend) UpdateCloudWatchAlarmTemplate(
	identifier string,
	name string,
	description string,
	groupIdentifier string,
	metricName string,
	namespace string,
	statistic string,
	comparisonOperator string,
	targetResourceType string,
	treatMissingData string,
	threshold float64,
	evaluationPeriods, datapointsToAlarm, period int32,
) (*CloudWatchAlarmTemplate, error)

UpdateCloudWatchAlarmTemplate updates a CW alarm template.

func (*InMemoryBackend) UpdateCloudWatchAlarmTemplateGroup

func (b *InMemoryBackend) UpdateCloudWatchAlarmTemplateGroup(
	identifier, name, description string,
) (*CloudWatchAlarmTemplateGroup, error)

UpdateCloudWatchAlarmTemplateGroup updates a CW alarm template group.

func (*InMemoryBackend) UpdateCluster

func (b *InMemoryBackend) UpdateCluster(
	clusterID, name string,
	networkSettings ClusterNetworkSettings,
	hasNetworkSettings bool,
) (*Cluster, error)

UpdateCluster updates a Cluster's mutable fields. A zero-value networkSettings leaves the stored NetworkSettings untouched (mirrors UpdateClusterInput's "include this parameter only if you want to change it" semantics for NetworkSettings).

func (*InMemoryBackend) UpdateEventBridgeRuleTemplate

func (b *InMemoryBackend) UpdateEventBridgeRuleTemplate(
	identifier, name, description, groupIdentifier, eventType string,
	eventTargets []EventBridgeRuleTemplateTarget,
) (*EventBridgeRuleTemplate, error)

UpdateEventBridgeRuleTemplate updates an EB rule template.

func (*InMemoryBackend) UpdateEventBridgeRuleTemplateGroup

func (b *InMemoryBackend) UpdateEventBridgeRuleTemplateGroup(
	identifier, name, description string,
) (*EventBridgeRuleTemplateGroup, error)

UpdateEventBridgeRuleTemplateGroup updates an EB rule template group.

func (*InMemoryBackend) UpdateInput

func (b *InMemoryBackend) UpdateInput(inputID, name, roleArn string) (*Input, error)

UpdateInput updates an input's mutable fields.

func (*InMemoryBackend) UpdateInputDevice

func (b *InMemoryBackend) UpdateInputDevice(deviceID, name string) (*InputDevice, error)

UpdateInputDevice updates the name of an input device.

func (*InMemoryBackend) UpdateInputSecurityGroup

func (b *InMemoryBackend) UpdateInputSecurityGroup(
	groupID string,
	whitelistRules []WhitelistRule,
) (*InputSecurityGroup, error)

UpdateInputSecurityGroup updates an input security group's whitelist rules.

func (*InMemoryBackend) UpdateMultiplex

func (b *InMemoryBackend) UpdateMultiplex(
	multiplexID, name string,
	settings MultiplexSettings,
) (*Multiplex, error)

UpdateMultiplex updates a Multiplex's mutable fields.

func (*InMemoryBackend) UpdateMultiplexProgram

func (b *InMemoryBackend) UpdateMultiplexProgram(
	multiplexID string,
	prog MultiplexProgramSettings,
) (*MultiplexProgram, error)

UpdateMultiplexProgram updates a program's settings.

func (*InMemoryBackend) UpdateNetwork

func (b *InMemoryBackend) UpdateNetwork(
	networkID, name string,
	ipPools []IPPool,
	routes []Route,
) (*Network, error)

UpdateNetwork updates a Network's mutable fields.

func (*InMemoryBackend) UpdateNode

func (b *InMemoryBackend) UpdateNode(clusterID, nodeID, name, role string) (*Node, error)

UpdateNode updates a Node's mutable fields.

func (*InMemoryBackend) UpdateNodeState

func (b *InMemoryBackend) UpdateNodeState(clusterID, nodeID, state string) (*Node, error)

UpdateNodeState updates the state of a Node.

func (*InMemoryBackend) UpdateReservation

func (b *InMemoryBackend) UpdateReservation(
	reservationID, name string,
	renewalSettings RenewalSettings,
	hasRenewalSettings bool,
) (*Reservation, error)

UpdateReservation updates a reservation's name and, optionally, its renewal settings.

func (*InMemoryBackend) UpdateSdiSource

func (b *InMemoryBackend) UpdateSdiSource(
	sdiSourceID, name, sdiType, mode string,
) (*SdiSource, error)

UpdateSdiSource updates an SDI source's mutable fields.

type Input

type Input struct {
	Tags      map[string]string
	ARN       string
	ID        string
	Name      string
	InputType string
	RoleARN   string
	State     string
}

Input represents a MediaLive input. Tags first: reduces GC pointer scan from 104 to 96 bytes.

type InputChannelLevel added in v1.3.1

type InputChannelLevel struct {
	Gain         int32
	InputChannel int32
}

InputChannelLevel maps one input channel into an AudioChannelMapping's output channel with a gain adjustment. Wire keys "gain"/"inputChannel" -- verified against types.InputChannelLevel.

type InputDevice

type InputDevice struct {
	Tags                    map[string]string
	ARN                     string
	ID                      string
	Name                    string
	SerialNumber            string
	MacAddress              string
	DeviceType              string
	ConnectionState         string
	DeviceSettingsSyncState string
	DeviceUpdateStatus      string
}

InputDevice represents a MediaLive input device.

type InputDeviceTransfer

type InputDeviceTransfer struct {
	DeviceID         string
	TargetCustomerID string
	TransferType     string
	Message          string
}

InputDeviceTransfer represents a pending input device transfer.

type InputLocation added in v1.2.0

type InputLocation struct {
	URI           string
	PasswordParam string
	Username      string
}

InputLocation is a URI plus optional Parameter-Store-backed credentials, reused by several EncoderSettings sub-shapes (avail/blackout slate images, input-loss slate). Wire keys "uri"/"passwordParam"/"username" -- verified against types.InputLocation.

type InputLossBehavior added in v1.2.0

type InputLossBehavior struct {
	InputLossImageSlate InputLocation
	InputLossImageColor string
	InputLossImageType  string
	BlackFrameMsec      int32
	RepeatFrameMsec     int32
}

InputLossBehavior configures encoder behavior when the input signal is lost. Wire keys "blackFrameMsec"/"inputLossImageColor"/ "inputLossImageSlate"/"inputLossImageType"/"repeatFrameMsec" -- verified against types.InputLossBehavior.

type InputLossFailoverSettings added in v1.2.0

type InputLossFailoverSettings struct {
	InputLossThresholdMsec int32
}

InputLossFailoverSettings triggers failover after a period with no input detected.

type InputSecurityGroup

type InputSecurityGroup struct {
	Tags           map[string]string
	ARN            string
	ID             string
	State          string
	WhitelistRules []WhitelistRule
}

InputSecurityGroup represents a MediaLive input security group. Tags first, then strings, then slice: reduces GC pointer scan from 80 to 64 bytes.

type InputSecurityGroupSummary

type InputSecurityGroupSummary struct {
	ARN            string
	ID             string
	State          string
	WhitelistRules []WhitelistRule
}

InputSecurityGroupSummary is a security group in a list response.

type InputSettings added in v1.3.1

type InputSettings struct {
	VideoSelector           VideoSelector
	NetworkInputSettings    NetworkInputSettings
	DeblockFilter           string
	DenoiseFilter           string
	InputFilter             string
	Smpte2038DataPreference string
	SourceEndBehavior       string
	AudioSelectors          []AudioSelector
	CaptionSelectors        []CaptionSelector
	FilterStrength          int32
	Scte35Pid               int32
}

InputSettings configures per-attachment audio/caption/video selectors and filtering for a ChannelInputAttachment (types.InputSettings). Wire keys "audioSelectors"/"captionSelectors"/"deblockFilter"/"denoiseFilter"/ "filterStrength"/"inputFilter"/"networkInputSettings"/"scte35Pid"/ "smpte2038DataPreference"/"sourceEndBehavior"/"videoSelector" -- verified against types.InputSettings.

type InputSpecification added in v1.2.0

type InputSpecification struct {
	Codec          string
	MaximumBitrate string
	Resolution     string
}

InputSpecification describes the class of network/file inputs a channel expects. Wire keys "inputSpecification.codec/maximumBitrate/resolution" -- verified against types.InputSpecification.

type InputSummary

type InputSummary struct {
	ARN       string
	ID        string
	Name      string
	InputType string
	State     string
}

InputSummary is an input in a list response.

type InterfaceMapping added in v1.2.0

type InterfaceMapping struct {
	LogicalInterfaceName string
	NetworkID            string
}

InterfaceMapping logically connects one interface on every Node in a Cluster with one Network. Wire keys (networkSettings.interfaceMappings[]) are lowerCamel "logicalInterfaceName"/"networkId" -- verified against aws-sdk-go-v2/service/medialive's types.InterfaceMapping.

type KeyProviderSettings added in v1.3.1

type KeyProviderSettings struct {
	StaticKeySettings *StaticKeySettings
}

KeyProviderSettings is the tagged union of HLS encryption key providers (types.KeyProviderSettings, types.go:4995).

type M2tsSettings added in v1.3.1

type M2tsSettings struct {
	DvbNitSettings                  *DvbNitSettings
	DvbSdtSettings                  *DvbSdtSettings
	DvbTdtSettings                  *DvbTdtSettings
	AbsentInputAudioBehavior        string
	Arib                            string
	AribCaptionsPid                 string
	AribCaptionsPidControl          string
	AudioBufferModel                string
	AudioPids                       string
	AudioStreamType                 string
	BufferModel                     string
	CcDescriptor                    string
	DvbSubPids                      string
	DvbTeletextPid                  string
	Ebif                            string
	EbpAudioInterval                string
	EbpPlacement                    string
	EcmPid                          string
	EsRateInPes                     string
	EtvPlatformPid                  string
	EtvSignalPid                    string
	Klv                             string
	KlvDataPids                     string
	NielsenID3Behavior              string
	PcrControl                      string
	PcrPid                          string
	PmtPid                          string
	RateMode                        string
	Scte27Pids                      string
	Scte35Control                   string
	Scte35Pid                       string
	SegmentationMarkers             string
	SegmentationStyle               string
	TimedMetadataBehavior           string
	TimedMetadataPid                string
	VideoPid                        string
	FragmentTime                    float64
	NullPacketBitrate               float64
	Scte35PrerollPullupMilliseconds float64
	SegmentationTime                float64
	AudioFramesPerPes               int32
	Bitrate                         int32
	EbpLookaheadMs                  int32
	PatInterval                     int32
	PcrPeriod                       int32
	PmtInterval                     int32
	ProgramNum                      int32
	TransportStreamID               int32
}

M2tsSettings configures MPEG-2 Transport Stream container packaging, shared by ArchiveContainerSettings/MediaConnectRouterContainerSettings/ UDPContainerSettings (types.M2tsSettings, types.go:5016).

type M3u8Settings added in v1.3.1

type M3u8Settings struct {
	AudioPids             string
	EcmPid                string
	KlvBehavior           string
	KlvDataPids           string
	NielsenID3Behavior    string
	PcrControl            string
	PcrPid                string
	PmtPid                string
	Scte35Behavior        string
	Scte35Pid             string
	TimedMetadataBehavior string
	TimedMetadataPid      string
	AudioFramesPerPes     int32
	PatInterval           int32
	PcrPeriod             int32
	PmtInterval           int32
	ProgramNum            int32
	TransportStreamID     int32
}

M3u8Settings configures the .m3u8 container for a Standard HLS output (types.M3u8Settings, types.go:5261).

type MediaConnectRouterContainerSettings added in v1.3.1

type MediaConnectRouterContainerSettings struct {
	M2tsSettings *M2tsSettings
}

MediaConnectRouterContainerSettings wraps M2tsSettings for MediaConnect Router outputs (types.MediaConnectRouterContainerSettings, types.go:5414). Wire key "m2tsSettings".

type MediaConnectRouterDestinationSettings added in v1.2.0

type MediaConnectRouterDestinationSettings struct {
	EncryptionType string
	SecretArn      string
}

MediaConnectRouterDestinationSettings targets a MediaConnect Router output. Wire keys "encryptionType"/"secretArn" -- verified against types.MediaConnectRouterOutputDestinationSettings.

type MediaConnectRouterGroupSettings added in v1.3.1

type MediaConnectRouterGroupSettings struct {
	AvailabilityZones []string
}

MediaConnectRouterGroupSettings configures a MediaConnect Router output group (types.MediaConnectRouterGroupSettings, types.go:5423). Wire key "availabilityZones".

type MediaConnectRouterOutputSettings added in v1.3.1

type MediaConnectRouterOutputSettings struct {
	ContainerSettings *MediaConnectRouterContainerSettings
	Destination       *OutputLocationRef
}

MediaConnectRouterOutputSettings configures one MediaConnect Router output (types.MediaConnectRouterOutputSettings, types.go:5471). Wire keys "containerSettings"/"destination". ConnectedRouterInputs is deliberately excluded -- the SDK documents it as "deprecated and unused".

type MediaPackageDestinationSettings added in v1.2.0

type MediaPackageDestinationSettings struct {
	ChannelEndpointID      string
	ChannelGroup           string
	ChannelID              string
	ChannelName            string
	MediaPackageRegionName string
}

MediaPackageDestinationSettings targets a MediaPackage channel. Wire keys "channelEndpointId"/"channelGroup"/"channelId"/"channelName"/ "mediaPackageRegionName" -- verified against types.MediaPackageOutputDestinationSettings.

type MediaPackageGroupSettings added in v1.3.1

type MediaPackageGroupSettings struct {
	Destination                 *OutputLocationRef
	MediaPackageV2GroupSettings *MediaPackageV2GroupSettings
}

MediaPackageGroupSettings configures a MediaPackage output group (types. MediaPackageGroupSettings, types.go:5502). Wire keys "destination"/ "mediapackageV2GroupSettings".

type MediaPackageOutputSettings added in v1.3.1

type MediaPackageOutputSettings struct {
	MediaPackageV2DestinationSettings *MediaPackageV2DestinationSettings
}

MediaPackageOutputSettings configures one MediaPackage output (types. MediaPackageOutputSettings, types.go:5551). Wire key "mediaPackageV2DestinationSettings".

type MediaPackageV2DestinationSettings added in v1.3.1

type MediaPackageV2DestinationSettings struct {
	AudioGroupID       string
	AudioRenditionSets string
	HlsAutoSelect      string
	HlsDefault         string
}

MediaPackageV2DestinationSettings configures MediaPackage V2 (CMAF Ingest) delivery for a MediaPackage output (types. MediaPackageV2DestinationSettings, types.go:5560). Wire keys "audioGroupId"/"audioRenditionSets"/"hlsAutoSelect"/"hlsDefault".

type MediaPackageV2GroupSettings added in v1.3.1

type MediaPackageV2GroupSettings struct {
	ID3Behavior              string
	KlvBehavior              string
	NielsenID3Behavior       string
	Scte35Type               string
	SegmentLengthUnits       string
	TimedMetadataID3Frame    string
	TimedMetadataPassthrough string
	AdditionalDestinations   []OutputAdditionalDestination
	CaptionLanguageMappings  []CaptionLanguageMapping
	SegmentLength            int32
	TimedMetadataID3Period   int32
}

MediaPackageV2GroupSettings configures MediaPackage V2 (CMAF Ingest) output when the group destination specifies a channelGroup/channelName (types.MediaPackageV2GroupSettings, types.go:5601).

type Mp2Settings added in v1.3.1

type Mp2Settings struct {
	CodingMode string
	Bitrate    float64
	SampleRate float64
}

Mp2Settings configures MPEG-1 Layer 2 audio encoding. Wire keys "bitrate"/"codingMode"/"sampleRate" -- verified against types.Mp2Settings.

type Mpeg2FilterSettings added in v1.3.1

type Mpeg2FilterSettings struct {
	TemporalFilterSettings *TemporalFilterSettings
}

Mpeg2FilterSettings wraps MPEG2's single pre-encode video filter (types.Mpeg2FilterSettings, types.go:5761). Wire key "temporalFilterSettings".

type Mpeg2Settings added in v1.3.1

type Mpeg2Settings struct {
	FilterSettings         *Mpeg2FilterSettings
	TimecodeBurninSettings *TimecodeBurninSettings
	AdaptiveQuantization   string
	AfdSignaling           string
	ColorMetadata          string
	ColorSpace             string
	DisplayAspectRatio     string
	FixedAfd               string
	GopSizeUnits           string
	ScanType               string
	SubgopLength           string
	TimecodeInsertion      string
	GopSize                float64
	FramerateDenominator   int32
	FramerateNumerator     int32
	GopClosedCadence       int32
	GopNumBFrames          int32
}

Mpeg2Settings configures the MPEG2 video codec (types.Mpeg2Settings, types.go:5770); 17 fields, verified field-by-field against the serializer. Unlike the other four variants, MPEG2 has no ColorSpaceSettings sub-union -- ColorSpace is a plain enum here.

type MsSmoothGroupSettings added in v1.3.1

type MsSmoothGroupSettings struct {
	Destination              *OutputLocationRef
	AcquisitionPointID       string
	AudioOnlyTimecodeControl string
	CertificateMode          string
	EventID                  string
	EventIDMode              string
	EventStopBehavior        string
	InputLossAction          string
	SegmentationMode         string
	SparseTrackType          string
	StreamManifestBehavior   string
	TimestampOffset          string
	TimestampOffsetMode      string
	ConnectionRetryInterval  int32
	FilecacheDuration        int32
	FragmentLength           int32
	NumRetries               int32
	RestartDelay             int32
	SendDelayMs              int32
}

MsSmoothGroupSettings configures an MS Smooth output group (types. MsSmoothGroupSettings, types.go:5872).

type MsSmoothOutputSettings added in v1.3.1

type MsSmoothOutputSettings struct {
	H265PackagingType string
	NameModifier      string
}

MsSmoothOutputSettings configures one MS Smooth output (types. MsSmoothOutputSettings, types.go:5970). Wire keys "h265PackagingType"/ "nameModifier".

type MulticastInputSettings added in v1.3.1

type MulticastInputSettings struct {
	SourceIPAddress string
}

MulticastInputSettings restricts a multicast input to a specific source IP (Source-Specific Multicast). Wire key "sourceIpAddress" -- verified against types.MulticastInputSettings.

type Multiplex

type Multiplex struct {
	Tags              map[string]string
	ARN               string
	ID                string
	Name              string
	State             string
	AvailabilityZones []string
	Settings          MultiplexSettings
	ProgramCount      int
}

Multiplex represents a MediaLive Multiplex resource. Tags first, value struct last: reduces GC pointer scan.

type MultiplexContainerSettings added in v1.3.1

type MultiplexContainerSettings struct {
	MultiplexM2tsSettings *MultiplexM2tsSettings
}

MultiplexContainerSettings wraps MultiplexM2tsSettings for Multiplex outputs (types.MultiplexContainerSettings, types.go:6131). Wire key "multiplexM2tsSettings".

type MultiplexDestinationSettings added in v1.2.0

type MultiplexDestinationSettings struct {
	MultiplexID string
	ProgramName string
}

MultiplexDestinationSettings targets a Multiplex program. Wire keys "multiplexId"/"programName" -- verified against types.MultiplexProgramChannelDestinationSettings.

type MultiplexM2tsSettings added in v1.3.1

type MultiplexM2tsSettings struct {
	AbsentInputAudioBehavior        string
	Arib                            string
	AudioBufferModel                string
	AudioStreamType                 string
	CcDescriptor                    string
	Ebif                            string
	EsRateInPes                     string
	Klv                             string
	NielsenID3Behavior              string
	PcrControl                      string
	Scte35Control                   string
	AudioFramesPerPes               int32
	PcrPeriod                       int32
	Scte35PrerollPullupMilliseconds float64
}

MultiplexM2tsSettings configures MPEG-2 TS packaging for a Multiplex output (types.MultiplexM2tsSettings, types.go:6145).

type MultiplexOutputSettings added in v1.3.1

type MultiplexOutputSettings struct {
	Destination       *OutputLocationRef
	ContainerSettings *MultiplexContainerSettings
}

MultiplexOutputSettings configures one Multiplex output (types. MultiplexOutputSettings, types.go:6229). Wire keys "containerSettings"/ "destination".

type MultiplexProgram

type MultiplexProgram struct {
	ChannelID   string
	ProgramName string
	Settings    MultiplexProgramSettings
}

MultiplexProgram represents a program within a Multiplex. Strings first, value struct last: reduces GC pointer scan.

type MultiplexProgramSettings

type MultiplexProgramSettings struct {
	ServiceDescriptor        ServiceDescriptor
	ProgramName              string
	PreferredChannelPipeline string
	ProgramNumber            int
}

MultiplexProgramSettings holds the settings for a MultiplexProgram.

type MultiplexProgramSummary

type MultiplexProgramSummary struct {
	ProgramName string
	ChannelID   string
}

MultiplexProgramSummary is a program in a list response.

type MultiplexSettings

type MultiplexSettings struct {
	TransportStreamBitrate              int
	TransportStreamID                   int
	TransportStreamReservedBitrate      int
	MaximumVideoBufferDelayMilliseconds int
}

MultiplexSettings holds transport-stream parameters for a Multiplex.

type MultiplexSummary

type MultiplexSummary struct {
	ARN               string
	ID                string
	Name              string
	State             string
	AvailabilityZones []string
	ProgramCount      int
}

MultiplexSummary is a Multiplex in a list response.

type Network

type Network struct {
	Tags                 map[string]string
	ARN                  string
	ID                   string
	Name                 string
	State                string
	AssociatedClusterIDs []string
	IPPools              []IPPool
	Routes               []Route
}

Network represents a MediaLive Anywhere network resource.

type NetworkInputSettings added in v1.3.1

type NetworkInputSettings struct {
	HlsInputSettings       *HlsInputSettings
	MulticastInputSettings *MulticastInputSettings
	ServerValidation       string
}

NetworkInputSettings configures HLS/multicast-specific input behavior and TLS certificate validation (types.NetworkInputSettings). Wire keys "hlsInputSettings"/"multicastInputSettings"/"serverValidation".

type NielsenCBET added in v1.3.1

type NielsenCBET struct {
	CbetCheckDigitString string
	CbetStepaside        string
	Csid                 string
}

NielsenCBET configures Nielsen CBET watermarking. Wire keys "cbetCheckDigitString"/"cbetStepaside"/"csid" -- verified against types.NielsenCBET.

type NielsenNaesIiNw added in v1.3.1

type NielsenNaesIiNw struct {
	CheckDigitString string
	Timezone         string
	Sid              float64
}

NielsenNaesIiNw configures Nielsen NAES II / NW watermarking. Wire keys "checkDigitString"/"sid"/"timezone" -- verified against types.NielsenNaesIiNw.

type NielsenWatermarksSettings added in v1.3.1

type NielsenWatermarksSettings struct {
	NielsenCbetSettings     *NielsenCBET
	NielsenNaesIiNwSettings *NielsenNaesIiNw
	NielsenDistributionType string
}

NielsenWatermarksSettings configures which Nielsen watermark(s) to embed (types.NielsenWatermarksSettings). Wire keys "nielsenCbetSettings"/ "nielsenDistributionType"/"nielsenNaesIiNwSettings".

type Node

type Node struct {
	Tags                   map[string]string
	ARN                    string
	ID                     string
	Name                   string
	ClusterID              string
	Role                   string
	State                  string
	ConnectionState        string
	ChannelPlacementGroups []string
}

Node represents a MediaLive Anywhere Node within a Cluster. Tags first: reduces GC pointer scan.

type NodeSummary

type NodeSummary struct {
	ARN                    string
	ID                     string
	Name                   string
	ClusterID              string
	Role                   string
	State                  string
	ConnectionState        string
	ChannelPlacementGroups []string
}

NodeSummary is a Node in a list response.

type Offering

type Offering struct {
	ResourceSpecification OfferingResourceSpecification
	Arn                   string
	OfferingID            string
	OfferingDescription   string
	OfferingType          string
	CurrencyCode          string
	DurationUnits         string
	Region                string
	FixedPrice            float64
	UsagePrice            float64
	Duration              int32
}

Offering is a pre-defined reserved resource listing from the MediaLive catalog.

type OfferingResourceSpecification

type OfferingResourceSpecification struct {
	ResourceType     string `json:"resourceType"`
	VideoQuality     string `json:"videoQuality"`
	Resolution       string `json:"resolution"`
	SpecialFeature   string `json:"specialFeature"`
	MaximumBitrate   string `json:"maximumBitrate"`
	MaximumFramerate string `json:"maximumFramerate"`
	Codec            string `json:"codec"`
}

OfferingResourceSpecification describes the resource type for an offering.

type OutputAdditionalDestination added in v1.3.1

type OutputAdditionalDestination struct {
	Destination *OutputLocationRef
}

OutputAdditionalDestination is an extra HTTP destination for a CMAF Ingest/MediaPackage V2 output group (types.AdditionalDestinations, types.go:104, and the identically-shaped types. MediaPackageAdditionalDestinations, types.go:5491 -- reused for both). Wire key "destination".

type OutputDestinationSetting added in v1.2.0

type OutputDestinationSetting struct {
	PasswordParam string
	StreamName    string
	URL           string
	Username      string
}

OutputDestinationSetting is one standard-output destination endpoint (RTMP/etc). Wire keys "passwordParam"/"streamName"/"url"/"username" -- verified against types.OutputDestinationSettings.

type OutputGroup added in v1.2.0

type OutputGroup struct {
	OutputGroupSettings *OutputGroupSettings
	Name                string
	Outputs             []EncoderOutput
}

OutputGroup names one output group and its member Outputs. Wire keys "name"/"outputGroupSettings"/"outputs" -- verified against types. OutputGroup, types.go:6764.

type OutputGroupSettings added in v1.3.1

type OutputGroupSettings struct {
	ArchiveGroupSettings            *ArchiveGroupSettings
	CmafIngestGroupSettings         *CmafIngestGroupSettings
	FrameCaptureGroupSettings       *FrameCaptureGroupSettings
	HlsGroupSettings                *HlsGroupSettings
	MediaConnectRouterGroupSettings *MediaConnectRouterGroupSettings
	MediaPackageGroupSettings       *MediaPackageGroupSettings
	MsSmoothGroupSettings           *MsSmoothGroupSettings
	RtmpGroupSettings               *RtmpGroupSettings
	SrtGroupSettings                *SrtGroupSettings
	UDPGroupSettings                *UDPGroupSettings
	MultiplexGroupSettings          bool
}

OutputGroupSettings is the tagged union of per-output-technology group settings (types.OutputGroupSettings, types.go:6764); at most one variant is set. All 11 variants are modeled in full. MultiplexGroupSettings (types.MultiplexGroupSettings, types.go:6140) has no fields on the wire, so a bool records "this variant is set" -- same convention used throughout this file for empty-marker unions.

type OutputLocationRef added in v1.3.1

type OutputLocationRef struct {
	DestinationRefID string
}

OutputLocationRef references an OutputDestination by ID (types. OutputLocationRef, types.go:6803). Wire key "destinationRefId".

type OutputLockingSettings added in v1.2.0

type OutputLockingSettings struct {
	Disabled *DisabledLockingSettings
	Epoch    *EpochLockingSettings
	Pipeline *PipelineLockingSettings
}

OutputLockingSettings is the tagged union of pipeline-locking strategies (types.OutputLockingSettings); at most one variant is set.

type OutputSettings added in v1.3.1

type OutputSettings struct {
	ArchiveOutputSettings            *ArchiveOutputSettings
	CmafIngestOutputSettings         *CmafIngestOutputSettings
	FrameCaptureOutputSettings       *FrameCaptureOutputSettings
	HlsOutputSettings                *HlsOutputSettings
	MediaConnectRouterOutputSettings *MediaConnectRouterOutputSettings
	MediaPackageOutputSettings       *MediaPackageOutputSettings
	MsSmoothOutputSettings           *MsSmoothOutputSettings
	MultiplexOutputSettings          *MultiplexOutputSettings
	RtmpOutputSettings               *RtmpOutputSettings
	SrtOutputSettings                *SrtOutputSettings
	UDPOutputSettings                *UDPOutputSettings
}

OutputSettings is the tagged union of per-output-technology settings (types.OutputSettings, types.go:6827); at most one variant is set. All 11 variants are modeled in full, along with the container/CDN/HLS-stream sub-unions they reference (M2tsSettings, HlsSettings, HlsCdnSettings, KeyProviderSettings, ArchiveCdnSettings, FrameCaptureCdnSettings).

type PipelineLockingSettings added in v1.2.0

type PipelineLockingSettings struct {
	CustomEpoch           string
	PipelineLockingMethod string
}

PipelineLockingSettings locks pipeline output to each other.

type Provider

type Provider struct{}

Provider implements service.Provider for the MediaLive service.

func (*Provider) Init

Init initializes the MediaLive backend and handler.

func (*Provider) Name

func (p *Provider) Name() string

Name returns the logical name of the provider.

type RemixSettings added in v1.3.1

type RemixSettings struct {
	ChannelMappings []AudioChannelMapping
	ChannelsIn      int32
	ChannelsOut     int32
}

RemixSettings controls fine-grained input-to-output audio channel remixing. Wire keys "channelMappings"/"channelsIn"/"channelsOut" -- verified against types.RemixSettings.

type RenewalSettings added in v1.2.0

type RenewalSettings struct {
	AutomaticRenewal string
	RenewalCount     int32
}

RenewalSettings holds a Reservation's renewal configuration. Wire keys (renewalSettings.automaticRenewal/renewalCount) verified against aws-sdk-go-v2/service/medialive's awsRestjson1_serializeDocumentRenewalSettings.

type Reservation

type Reservation struct {
	Tags                  map[string]string
	ResourceSpecification OfferingResourceSpecification
	OfferingType          string
	End                   string
	Start                 string
	Name                  string
	OfferingID            string
	OfferingDescription   string
	DurationUnits         string
	Arn                   string
	ReservationID         string
	CurrencyCode          string
	Region                string
	State                 string
	RenewalSettings       RenewalSettings
	UsagePrice            float64
	FixedPrice            float64
	Duration              int32
	Count                 int32
}

Reservation is a purchased Offering.

type Route

type Route struct {
	Cidr    string `json:"cidr"`
	Gateway string `json:"gateway"`
}

Route is a static route for a Network.

type RtmpGroupSettings added in v1.3.1

type RtmpGroupSettings struct {
	AuthenticationScheme  string
	CacheFullBehavior     string
	CaptionData           string
	IncludeFillerNalUnits string
	InputLossAction       string
	AdMarkers             []string
	CacheLength           int32
	RestartDelay          int32
}

RtmpGroupSettings configures an RTMP output group (types. RtmpGroupSettings, types.go:7192).

type RtmpOutputSettings added in v1.3.1

type RtmpOutputSettings struct {
	Destination             *OutputLocationRef
	CertificateMode         string
	ConnectionRetryInterval int32
	NumRetries              int32
}

RtmpOutputSettings configures one RTMP output (types.RtmpOutputSettings, types.go:7243). Wire keys "certificateMode"/"connectionRetryInterval"/ "destination"/"numRetries".

type ScheduleAction

type ScheduleAction struct {
	ActionName string
	ActionType string
}

ScheduleAction represents a single schedule action for BatchUpdateSchedule.

type Scte20SourceSettings added in v1.3.1

type Scte20SourceSettings struct {
	Convert608To708        string
	Source608ChannelNumber int32
}

Scte20SourceSettings extracts SCTE-20 captions. Wire keys "convert608To708"/"source608ChannelNumber" -- verified against types.Scte20SourceSettings.

type Scte27SourceSettings added in v1.3.1

type Scte27SourceSettings struct {
	OcrLanguage string
	Pid         int32
}

Scte27SourceSettings extracts SCTE-27 captions. Wire keys "ocrLanguage"/"pid" -- verified against types.Scte27SourceSettings.

type Scte35SpliceInsertSettings added in v1.3.1

type Scte35SpliceInsertSettings struct {
	NoRegionalBlackoutFlag string
	WebDeliveryAllowedFlag string
	AdAvailOffset          int32
}

Scte35SpliceInsertSettings is the "typical" SCTE-35 avail-insertion mode: all segmentation signals create breaks (types.Scte35SpliceInsert). Wire keys "adAvailOffset"/"noRegionalBlackoutFlag"/"webDeliveryAllowedFlag".

type Scte35TimeSignalAposSettings added in v1.3.1

type Scte35TimeSignalAposSettings struct {
	NoRegionalBlackoutFlag string
	WebDeliveryAllowedFlag string
	AdAvailOffset          int32
}

Scte35TimeSignalAposSettings is the "atypical" SCTE-35 avail-insertion mode: only Time Signal Placement Opportunity/Break messages create breaks (types.Scte35TimeSignalApos). Same field shape as Scte35SpliceInsertSettings but a distinct wire object.

type SdiSource

type SdiSource struct {
	ARN    string
	ID     string
	Name   string
	Type   string
	Mode   string
	State  string
	Inputs []string
}

SdiSource represents a MediaLive SDI source resource.

type ServiceDescriptor

type ServiceDescriptor struct {
	ProviderName string
	ServiceName  string
}

ServiceDescriptor holds provider/service name for a program.

type SignalMap

type SignalMap struct {
	CreatedAt                       time.Time
	ModifiedAt                      time.Time
	Tags                            map[string]string
	Arn                             string
	ID                              string
	Name                            string
	Description                     string
	DiscoveryEntryPointArn          string
	Status                          string
	MonitorDeploymentStatus         string
	CloudWatchAlarmTemplateGroupIDs []string
	EventBridgeRuleTemplateGroupIDs []string
}

SignalMap represents a MediaLive signal map resource.

type SmartSubtitleSourceSettings added in v1.3.1

type SmartSubtitleSourceSettings struct {
	CaptionSynchronizationMode string
	InferenceFeedOutput        string
}

SmartSubtitleSourceSettings extracts Elemental-Inference-generated subtitles. Wire keys "captionSynchronizationMode"/"inferenceFeedOutput" -- verified against types.SmartSubtitleSourceSettings.

type SrtDestinationSettings added in v1.2.0

type SrtDestinationSettings struct {
	ConnectionMode                string
	EncryptionPassphraseSecretArn string
	StreamID                      string
	URL                           string
	ListenerPort                  int32
}

SrtDestinationSettings targets an SRT output. Wire keys "connectionMode"/"encryptionPassphraseSecretArn"/"listenerPort"/ "streamId"/"url" -- verified against types.SrtOutputDestinationSettings.

type SrtGroupSettings added in v1.3.1

type SrtGroupSettings struct {
	InputLossAction string
}

SrtGroupSettings configures an SRT output group (types.SrtGroupSettings, types.go:7933). Wire key "inputLossAction".

type SrtOutputSettings added in v1.3.1

type SrtOutputSettings struct {
	ContainerSettings *UDPContainerSettings
	Destination       *OutputLocationRef
	EncryptionType    string
	BufferMsec        int32
	Latency           int32
}

SrtOutputSettings configures one SRT output (types.SrtOutputSettings, types.go:8046). Wire keys "bufferMsec"/"containerSettings"/"destination"/ "encryptionType"/"latency".

type StandardHlsSettings added in v1.3.1

type StandardHlsSettings struct {
	M3u8Settings       *M3u8Settings
	AudioRenditionSets string
}

StandardHlsSettings configures a standard (MPEG-TS) HLS output (types. StandardHlsSettings, types.go:8109). Wire keys "audioRenditionSets"/ "m3u8Settings".

type StaticKeySettings added in v1.3.1

type StaticKeySettings struct {
	KeyProviderServer InputLocation
	StaticKeyValue    string
}

StaticKeySettings configures static-key HLS encryption (types. StaticKeySettings, types.go:8285). Wire keys "keyProviderServer"/ "staticKeyValue".

type StorageBackend

type StorageBackend interface {
	// Channels
	CreateChannel(
		name, channelClass, roleArn string,
		anywhereSettings ChannelAnywhereSettings,
		extras ChannelCreateExtras,
		tags map[string]string,
	) (*Channel, error)
	DescribeChannel(channelID string) (*Channel, error)
	UpdateChannel(
		channelID, name, roleArn string,
		anywhereSettings ChannelAnywhereSettings,
		hasAnywhereSettings bool,
		extras ChannelUpdateExtras,
	) (*Channel, error)
	DeleteChannel(channelID string) (*Channel, error)
	ListChannels(maxResults int, nextToken string) ([]*ChannelSummary, string, error)
	StartChannel(channelID string) (*Channel, error)
	StopChannel(channelID string) (*Channel, error)

	// Inputs
	CreateInput(name, inputType, roleArn string, tags map[string]string) (*Input, error)
	DescribeInput(inputID string) (*Input, error)
	UpdateInput(inputID, name, roleArn string) (*Input, error)
	DeleteInput(inputID string) error
	ListInputs(maxResults int, nextToken string) ([]*InputSummary, string, error)

	// InputSecurityGroups
	CreateInputSecurityGroup(
		whitelistRules []WhitelistRule,
		tags map[string]string,
	) (*InputSecurityGroup, error)
	DescribeInputSecurityGroup(groupID string) (*InputSecurityGroup, error)
	UpdateInputSecurityGroup(
		groupID string,
		whitelistRules []WhitelistRule,
	) (*InputSecurityGroup, error)
	DeleteInputSecurityGroup(groupID string) error
	ListInputSecurityGroups(
		maxResults int,
		nextToken string,
	) ([]*InputSecurityGroupSummary, string, error)

	// Multiplexes
	CreateMultiplex(
		name string,
		availabilityZones []string,
		settings MultiplexSettings,
		tags map[string]string,
	) (*Multiplex, error)
	DescribeMultiplex(multiplexID string) (*Multiplex, error)
	UpdateMultiplex(multiplexID, name string, settings MultiplexSettings) (*Multiplex, error)
	DeleteMultiplex(multiplexID string) (*Multiplex, error)
	ListMultiplexes(maxResults int, nextToken string) ([]*MultiplexSummary, string, error)
	StartMultiplex(multiplexID string) (*Multiplex, error)
	StopMultiplex(multiplexID string) (*Multiplex, error)

	// MultiplexPrograms
	CreateMultiplexProgram(
		multiplexID string,
		prog MultiplexProgramSettings,
	) (*MultiplexProgram, error)
	DescribeMultiplexProgram(multiplexID, programName string) (*MultiplexProgram, error)
	UpdateMultiplexProgram(
		multiplexID string,
		prog MultiplexProgramSettings,
	) (*MultiplexProgram, error)
	DeleteMultiplexProgram(multiplexID, programName string) (*MultiplexProgram, error)
	ListMultiplexPrograms(
		multiplexID string,
		maxResults int,
		nextToken string,
	) ([]*MultiplexProgramSummary, string, error)

	// Tags
	CreateTags(resourceARN string, tags map[string]string) error
	DeleteTags(resourceARN string, tagKeys []string) error
	ListTagsForResource(resourceARN string) (map[string]string, error)

	// InputDevices
	ClaimDevice(id string) (*InputDevice, error)
	ListInputDevices(maxResults int, nextToken string) ([]*InputDevice, string, error)
	DescribeInputDevice(deviceID string) (*InputDevice, error)
	UpdateInputDevice(deviceID, name string) (*InputDevice, error)
	RebootInputDevice(deviceID string) error
	TransferInputDevice(deviceID, targetCustomerID, targetRegion, message string) error
	AcceptInputDeviceTransfer(deviceID string) error
	CancelInputDeviceTransfer(deviceID string) error
	RejectInputDeviceTransfer(deviceID string) error
	ListInputDeviceTransfers(
		transferType string,
		maxResults int,
		nextToken string,
	) ([]*InputDeviceTransfer, string, error)

	// Clusters
	CreateCluster(
		name, clusterType, instanceRoleArn string,
		networkSettings ClusterNetworkSettings,
		tags map[string]string,
	) (*Cluster, error)
	DescribeCluster(clusterID string) (*Cluster, error)
	UpdateCluster(
		clusterID, name string,
		networkSettings ClusterNetworkSettings,
		hasNetworkSettings bool,
	) (*Cluster, error)
	DeleteCluster(clusterID string) (*Cluster, error)
	ListClusters(maxResults int, nextToken string) ([]*ClusterSummary, string, error)

	// Nodes
	CreateNode(clusterID, name, role string, tags map[string]string) (*Node, error)
	DescribeNode(clusterID, nodeID string) (*Node, error)
	UpdateNode(clusterID, nodeID, name, role string) (*Node, error)
	UpdateNodeState(clusterID, nodeID, state string) (*Node, error)
	DeleteNode(clusterID, nodeID string) (*Node, error)
	ListNodes(clusterID string, maxResults int, nextToken string) ([]*NodeSummary, string, error)
	CreateNodeRegistrationScript(clusterID string) (string, error)
	ListClusterAlerts(
		clusterID string,
		maxResults int,
		nextToken string,
	) ([]map[string]any, string, error)

	// SignalMaps
	CreateSignalMap(
		name, description, discoveryEntryPointArn string,
		cwGroupIDs, ebGroupIDs []string,
		tags map[string]string,
	) (*SignalMap, error)
	GetSignalMap(identifier string) (*SignalMap, error)
	ListSignalMaps(maxResults int, nextToken string) ([]*SignalMap, string, error)
	DeleteSignalMap(identifier string) error
	StartUpdateSignalMap(
		identifier, name, description string,
		cwGroupIDs, ebGroupIDs []string,
	) (*SignalMap, error)
	StartMonitorDeployment(identifier string) (*SignalMap, error)

	// CloudWatch Alarm Template Groups
	CreateCloudWatchAlarmTemplateGroup(
		name, description string,
		tags map[string]string,
	) (*CloudWatchAlarmTemplateGroup, error)
	GetCloudWatchAlarmTemplateGroup(identifier string) (*CloudWatchAlarmTemplateGroup, error)
	ListCloudWatchAlarmTemplateGroups(
		maxResults int,
		nextToken string,
	) ([]*CloudWatchAlarmTemplateGroupSummary, string, error)
	UpdateCloudWatchAlarmTemplateGroup(
		identifier, name, description string,
	) (*CloudWatchAlarmTemplateGroup, error)
	DeleteCloudWatchAlarmTemplateGroup(identifier string) error

	// CloudWatch Alarm Templates
	CreateCloudWatchAlarmTemplate(
		name string,
		description string,
		groupIdentifier string,
		metricName string,
		namespace string,
		statistic string,
		comparisonOperator string,
		targetResourceType string,
		treatMissingData string,
		threshold float64,
		evaluationPeriods, datapointsToAlarm, period int32,
		tags map[string]string,
	) (*CloudWatchAlarmTemplate, error)
	GetCloudWatchAlarmTemplate(identifier string) (*CloudWatchAlarmTemplate, error)
	ListCloudWatchAlarmTemplates(
		maxResults int,
		nextToken string,
	) ([]*CloudWatchAlarmTemplate, string, error)
	UpdateCloudWatchAlarmTemplate(
		identifier string,
		name string,
		description string,
		groupIdentifier string,
		metricName string,
		namespace string,
		statistic string,
		comparisonOperator string,
		targetResourceType string,
		treatMissingData string,
		threshold float64,
		evaluationPeriods, datapointsToAlarm, period int32,
	) (*CloudWatchAlarmTemplate, error)
	DeleteCloudWatchAlarmTemplate(identifier string) error

	// EventBridge Rule Template Groups
	CreateEventBridgeRuleTemplateGroup(
		name, description string,
		tags map[string]string,
	) (*EventBridgeRuleTemplateGroup, error)
	GetEventBridgeRuleTemplateGroup(identifier string) (*EventBridgeRuleTemplateGroup, error)
	ListEventBridgeRuleTemplateGroups(
		maxResults int,
		nextToken string,
	) ([]*EventBridgeRuleTemplateGroupSummary, string, error)
	UpdateEventBridgeRuleTemplateGroup(
		identifier, name, description string,
	) (*EventBridgeRuleTemplateGroup, error)
	DeleteEventBridgeRuleTemplateGroup(identifier string) error

	// EventBridge Rule Templates
	CreateEventBridgeRuleTemplate(
		name, description, groupIdentifier, eventType string,
		eventTargets []EventBridgeRuleTemplateTarget,
		tags map[string]string,
	) (*EventBridgeRuleTemplate, error)
	GetEventBridgeRuleTemplate(identifier string) (*EventBridgeRuleTemplate, error)
	ListEventBridgeRuleTemplates(
		maxResults int,
		nextToken string,
	) ([]*EventBridgeRuleTemplateSummary, string, error)
	UpdateEventBridgeRuleTemplate(
		identifier, name, description, groupIdentifier, eventType string,
		eventTargets []EventBridgeRuleTemplateTarget,
	) (*EventBridgeRuleTemplate, error)
	DeleteEventBridgeRuleTemplate(identifier string) error

	// Offerings (read-only catalog)
	ListOfferings(maxResults int, nextToken string) ([]*Offering, string, error)
	DescribeOffering(offeringID string) (*Offering, error)

	// Reservations
	PurchaseOffering(
		offeringID, name string,
		count int32,
		renewalSettings RenewalSettings,
		tags map[string]string,
	) (*Reservation, error)
	ListReservations(maxResults int, nextToken string) ([]*Reservation, string, error)
	DescribeReservation(reservationID string) (*Reservation, error)
	DeleteReservation(reservationID string) (*Reservation, error)
	UpdateReservation(
		reservationID, name string,
		renewalSettings RenewalSettings,
		hasRenewalSettings bool,
	) (*Reservation, error)

	// Batch ops
	// BatchStart/BatchStop take only channel and multiplex IDs -- the real
	// BatchStartInput/BatchStopInput shapes have NO inputIds field (verified
	// against aws-sdk-go-v2/service/medialive's api_op_BatchStart.go /
	// api_op_BatchStop.go; only ChannelIds+MultiplexIds).
	BatchStart(channelIDs, multiplexIDs []string) (*BatchResult, error)
	BatchStop(channelIDs, multiplexIDs []string) (*BatchResult, error)
	// BatchDelete takes channel, input, multiplex, AND input-security-group
	// IDs -- BatchDeleteInput is the one Batch* shape with all four fields.
	BatchDelete(channelIDs, inputIDs, multiplexIDs, inputSecurityGroupIDs []string) (*BatchResult, error)
	BatchUpdateSchedule(
		channelID string,
		creates []ScheduleAction,
		deleteActionNames []string,
	) (*BatchUpdateScheduleResult, error)

	// Networks
	CreateNetwork(
		name string,
		ipPools []IPPool,
		routes []Route,
		tags map[string]string,
	) (*Network, error)
	DescribeNetwork(networkID string) (*Network, error)
	UpdateNetwork(networkID, name string, ipPools []IPPool, routes []Route) (*Network, error)
	DeleteNetwork(networkID string) (*Network, error)
	ListNetworks(maxResults int, nextToken string) ([]*Network, string, error)

	// SdiSources
	CreateSdiSource(name, sdiType, mode string, tags map[string]string) (*SdiSource, error)
	DescribeSdiSource(sdiSourceID string) (*SdiSource, error)
	UpdateSdiSource(sdiSourceID, name, sdiType, mode string) (*SdiSource, error)
	DeleteSdiSource(sdiSourceID string) (*SdiSource, error)
	ListSdiSources(maxResults int, nextToken string) ([]*SdiSource, string, error)

	// ChannelPlacementGroups (nested under a cluster)
	CreateChannelPlacementGroup(
		clusterID, name string,
		nodes []string,
		tags map[string]string,
	) (*ChannelPlacementGroup, error)
	DescribeChannelPlacementGroup(clusterID, groupID string) (*ChannelPlacementGroup, error)
	UpdateChannelPlacementGroup(
		clusterID, groupID, name string,
		nodes []string,
	) (*ChannelPlacementGroup, error)
	DeleteChannelPlacementGroup(clusterID, groupID string) (*ChannelPlacementGroup, error)
	ListChannelPlacementGroups(
		clusterID string,
		maxResults int,
		nextToken string,
	) ([]*ChannelPlacementGroup, string, error)

	// Account configuration
	DescribeAccountConfiguration() (*AccountConfiguration, error)
	UpdateAccountConfiguration(kmsKeyID string) (*AccountConfiguration, error)

	// Schedule
	DescribeSchedule(channelID string) ([]ScheduleAction, error)
	DeleteSchedule(channelID string) error

	// Alerts and versions
	ListAlerts(channelID string) ([]map[string]any, error)
	ListMultiplexAlerts(multiplexID string) ([]map[string]any, error)
	ListVersions() []ChannelEngineVersion

	// Channel lifecycle extras
	UpdateChannelClass(channelID, channelClass string) (*Channel, error)
	RestartChannelPipelines(channelID string, pipelineIDs []string) (*Channel, error)
	DescribeThumbnails(channelID string) (*Channel, error)

	// InputDevice lifecycle extras
	StartInputDevice(deviceID string) error
	StopInputDevice(deviceID string) error
	StartInputDeviceMaintenanceWindow(deviceID string) error
	DescribeInputDeviceThumbnail(deviceID string) (*InputDevice, error)

	// SignalMap monitor deployment teardown
	StartDeleteMonitorDeployment(identifier string) (*SignalMap, error)

	// Partner inputs
	CreatePartnerInput(inputID string, tags map[string]string) (*Input, error)

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

StorageBackend is the interface for MediaLive storage operations.

type TeletextSourceSettings added in v1.3.1

type TeletextSourceSettings struct {
	OutputRectangle *CaptionRectangle
	PageNumber      string
}

TeletextSourceSettings extracts Teletext captions. Wire keys "outputRectangle"/"pageNumber" -- verified against types.TeletextSourceSettings.

type TemporalFilterSettings added in v1.3.1

type TemporalFilterSettings struct {
	PostFilterSharpening string
	Strength             string
}

TemporalFilterSettings configures the temporal video pre-filter (types.TemporalFilterSettings, types.go:8350). Wire keys "postFilterSharpening"/"strength".

type ThumbnailConfiguration added in v1.2.0

type ThumbnailConfiguration struct {
	State string
}

ThumbnailConfiguration enables/disables per-pipeline thumbnail generation. Wire key "state" -- verified against types.ThumbnailConfiguration.

type TimecodeBurninSettings added in v1.3.1

type TimecodeBurninSettings struct {
	FontSize string
	Position string
	Prefix   string
}

TimecodeBurninSettings configures timecode burn-in (types.TimecodeBurninSettings, types.go:8411). Wire keys "fontSize"/ "position"/"prefix". Shared by all five VideoCodecSettings variants.

type TimecodeConfig added in v1.2.0

type TimecodeConfig struct {
	Source        string
	SyncThreshold int32
}

TimecodeConfig configures how EncoderSettings acquires/adjusts source timecodes. Wire keys "source"/"syncThreshold" -- verified against types.TimecodeConfig.

type TtmlDestinationSettings added in v1.3.1

type TtmlDestinationSettings struct {
	StyleControl string
}

TtmlDestinationSettings configures TTML captions (types.TtmlDestinationSettings, types.go:8483). Wire key "styleControl".

type UDPContainerSettings added in v1.3.1

type UDPContainerSettings struct {
	M2tsSettings *M2tsSettings
}

UDPContainerSettings wraps M2tsSettings for SRT/UDP outputs (types. UDPContainerSettings, types.go:8493). Wire key "m2tsSettings".

type UDPGroupSettings added in v1.3.1

type UDPGroupSettings struct {
	InputLossAction        string
	TimedMetadataID3Frame  string
	TimedMetadataID3Period int32
}

UDPGroupSettings configures a UDP output group (types.UDPGroupSettings, types.go:8502). Wire keys "inputLossAction"/"timedMetadataId3Frame"/ "timedMetadataId3Period".

type UDPOutputSettings added in v1.3.1

type UDPOutputSettings struct {
	ContainerSettings *UDPContainerSettings
	Destination       *OutputLocationRef
	FecOutputSettings *FecOutputSettings
	BufferMsec        int32
}

UDPOutputSettings configures one UDP output (types.UDPOutputSettings, types.go:8523). Wire keys "bufferMsec"/"containerSettings"/"destination"/ "fecOutputSettings".

type VideoBlackFailoverSettings added in v1.2.0

type VideoBlackFailoverSettings struct {
	BlackDetectThreshold    float64
	VideoBlackThresholdMsec int32
}

VideoBlackFailoverSettings triggers failover after a period of black video.

type VideoCodecSettings added in v1.3.1

type VideoCodecSettings struct {
	Av1Settings          *Av1Settings
	FrameCaptureSettings *FrameCaptureSettings
	H264Settings         *H264Settings
	H265Settings         *H265Settings
	Mpeg2Settings        *Mpeg2Settings
}

VideoCodecSettings is the tagged union of video codecs (types.VideoCodecSettings, types.go:8582); at most one variant is set.

type VideoDescription added in v1.2.0

type VideoDescription struct {
	CodecSettings   *VideoCodecSettings
	Name            string
	RespondToAfd    string
	ScalingBehavior string
	Height          int32
	Width           int32
	Sharpness       int32
}

VideoDescription names one video encode. Wire keys "name"/"codecSettings"/ "height"/"respondToAfd"/"scalingBehavior"/"sharpness"/"width" -- verified against types.VideoDescription. VideoPreprocessors is deliberately NOT modeled; see PARITY.md's gaps entry.

type VideoSelector added in v1.3.1

type VideoSelector struct {
	SelectorSettings   VideoSelectorSettings
	ColorSpaceSettings VideoSelectorColorSpaceSettings
	ColorSpace         string
	ColorSpaceUsage    string
}

VideoSelector configures which video elementary stream an input decodes and how its color-space metadata is handled. Wire keys "colorSpace"/ "colorSpaceSettings"/"colorSpaceUsage"/"selectorSettings" -- verified against types.VideoSelector.

type VideoSelectorColorSpaceSettings added in v1.3.1

type VideoSelectorColorSpaceSettings struct {
	Hdr10Settings *Hdr10Settings
}

VideoSelectorColorSpaceSettings is the tagged union of color-space metadata sources (types.VideoSelectorColorSpaceSettings). The real SDK currently defines exactly one variant, Hdr10Settings.

type VideoSelectorPid added in v1.3.1

type VideoSelectorPid struct {
	Pid int32
}

VideoSelectorPid selects a video PID from a source. Wire key "pid" -- verified against types.VideoSelectorPid.

type VideoSelectorProgramID added in v1.3.1

type VideoSelectorProgramID struct {
	ProgramID int32
}

VideoSelectorProgramID selects a program from a multi-program transport stream. Wire key "programId" -- verified against types.VideoSelectorProgramId.

type VideoSelectorSettings added in v1.3.1

type VideoSelectorSettings struct {
	VideoSelectorPid       *VideoSelectorPid
	VideoSelectorProgramID *VideoSelectorProgramID
}

VideoSelectorSettings is the tagged union of video-selection methods (types.VideoSelectorSettings); at most one variant is set.

type WavSettings added in v1.3.1

type WavSettings struct {
	CodingMode string
	BitDepth   float64
	SampleRate float64
}

WavSettings configures WAV audio encoding. Wire keys "bitDepth"/ "codingMode"/"sampleRate" -- verified against types.WavSettings.

type WebvttDestinationSettings added in v1.3.1

type WebvttDestinationSettings struct {
	StyleControl string
}

WebvttDestinationSettings configures WebVTT captions (types.WebvttDestinationSettings, types.go:8792). Wire key "styleControl".

type WhitelistRule

type WhitelistRule struct {
	Cidr string `json:"cidr"`
}

WhitelistRule is a CIDR-based whitelist entry.

Jump to

Keyboard shortcuts

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