updateOriginEndpoint
inline suspend fun MediaPackageV2Client.updateOriginEndpoint(crossinline block: UpdateOriginEndpointRequest.Builder.() -> Unit): UpdateOriginEndpointResponse
Update the specified origin endpoint. Edit the packaging preferences on an endpoint to optimize the viewing experience. You can't edit the name of the endpoint.
Any edits you make that impact the video output may not be reflected for a few minutes.
Samples
import aws.sdk.kotlin.services.mediapackagev2.model.AdMarkerHls
import aws.sdk.kotlin.services.mediapackagev2.model.ContainerType
import aws.sdk.kotlin.services.mediapackagev2.model.CreateHlsManifestConfiguration
import aws.sdk.kotlin.services.mediapackagev2.model.CreateLowLatencyHlsManifestConfiguration
import aws.sdk.kotlin.services.mediapackagev2.model.CreateMssManifestConfiguration
import aws.sdk.kotlin.services.mediapackagev2.model.DrmSystem
import aws.sdk.kotlin.services.mediapackagev2.model.Encryption
import aws.sdk.kotlin.services.mediapackagev2.model.EncryptionContractConfiguration
import aws.sdk.kotlin.services.mediapackagev2.model.EncryptionMethod
import aws.sdk.kotlin.services.mediapackagev2.model.EndpointErrorCondition
import aws.sdk.kotlin.services.mediapackagev2.model.ForceEndpointErrorConfiguration
import aws.sdk.kotlin.services.mediapackagev2.model.IsmEncryptionMethod
import aws.sdk.kotlin.services.mediapackagev2.model.MssManifestLayout
import aws.sdk.kotlin.services.mediapackagev2.model.PresetSpeke20Audio
import aws.sdk.kotlin.services.mediapackagev2.model.PresetSpeke20Video
import aws.sdk.kotlin.services.mediapackagev2.model.Scte
import aws.sdk.kotlin.services.mediapackagev2.model.ScteFilter
import aws.sdk.kotlin.services.mediapackagev2.model.ScteHls
import aws.sdk.kotlin.services.mediapackagev2.model.Segment
import aws.sdk.kotlin.services.mediapackagev2.model.SpekeKeyProvider
import aws.sdk.kotlin.services.mediapackagev2.model.TsEncryptionMethod
fun main() {
//sampleStart
// Updating an OriginEndpoint
val resp = mediaPackageV2Client.updateOriginEndpoint {
channelGroupName = "exampleChannelGroup"
channelName = "exampleChannel"
originEndpointName = "exampleOriginEndpointTS"
containerType = ContainerType.fromValue("TS")
description = "Updated description for exampleOriginEndpointTS"
startoverWindowSeconds = 600
forceEndpointErrorConfiguration = ForceEndpointErrorConfiguration {
endpointErrorConditions = listOf<EndpointErrorCondition>(
EndpointErrorCondition.fromValue("STALE_MANIFEST"),
EndpointErrorCondition.fromValue("INCOMPLETE_MANIFEST"),
EndpointErrorCondition.fromValue("MISSING_DRM_KEY"),
EndpointErrorCondition.fromValue("SLATE_INPUT")
)
}
segment = Segment {
segmentDurationSeconds = 7
segmentName = "segmentName2"
tsUseAudioRenditionGroup = true
includeIframeOnlyStreams = false
tsIncludeDvbSubtitles = false
scte = Scte {
scteFilter = listOf<ScteFilter>(
ScteFilter.fromValue("SPLICE_INSERT")
)
}
encryption = Encryption {
constantInitializationVector = "A382A901F3C1F7718512266CFFBB0B7E"
encryptionMethod = EncryptionMethod {
tsEncryptionMethod = TsEncryptionMethod.fromValue("AES_128")
}
keyRotationIntervalSeconds = 300
spekeKeyProvider = SpekeKeyProvider {
encryptionContractConfiguration = EncryptionContractConfiguration {
presetSpeke20Audio = PresetSpeke20Audio.fromValue("SHARED")
presetSpeke20Video = PresetSpeke20Video.fromValue("SHARED")
}
resourceId = "ResourceId"
drmSystems = listOf<DrmSystem>(
DrmSystem.fromValue("CLEAR_KEY_AES_128")
)
roleArn = "arn:aws:iam::123456789012:role/empRole"
url = "https://foo.com"
}
}
}
hlsManifests = listOf<CreateHlsManifestConfiguration>(
CreateHlsManifestConfiguration {
manifestName = "exampleManifest1"
childManifestName = "exampleChildManifest1"
scteHls = ScteHls {
adMarkerHls = AdMarkerHls.fromValue("DATERANGE")
}
manifestWindowSeconds = 30
programDateTimeIntervalSeconds = 60
},
CreateHlsManifestConfiguration {
manifestName = "exampleManifest2"
childManifestName = "exampleManifest2"
scteHls = ScteHls {
adMarkerHls = AdMarkerHls.fromValue("DATERANGE")
}
manifestWindowSeconds = 30
programDateTimeIntervalSeconds = 60
}
)
lowLatencyHlsManifests = listOf<CreateLowLatencyHlsManifestConfiguration>(
CreateLowLatencyHlsManifestConfiguration {
manifestName = "exampleLLManifest1"
childManifestName = "exampleLLChildManifest1"
scteHls = ScteHls {
adMarkerHls = AdMarkerHls.fromValue("DATERANGE")
}
manifestWindowSeconds = 30
programDateTimeIntervalSeconds = 60
},
CreateLowLatencyHlsManifestConfiguration {
manifestName = "exampleLLManifest2"
childManifestName = "exampleLLManifest2"
scteHls = ScteHls {
adMarkerHls = AdMarkerHls.fromValue("DATERANGE")
}
manifestWindowSeconds = 30
programDateTimeIntervalSeconds = 60
}
)
}
//sampleEnd
}
import aws.sdk.kotlin.services.mediapackagev2.model.AdMarkerHls
import aws.sdk.kotlin.services.mediapackagev2.model.ContainerType
import aws.sdk.kotlin.services.mediapackagev2.model.CreateHlsManifestConfiguration
import aws.sdk.kotlin.services.mediapackagev2.model.CreateLowLatencyHlsManifestConfiguration
import aws.sdk.kotlin.services.mediapackagev2.model.CreateMssManifestConfiguration
import aws.sdk.kotlin.services.mediapackagev2.model.DrmSystem
import aws.sdk.kotlin.services.mediapackagev2.model.Encryption
import aws.sdk.kotlin.services.mediapackagev2.model.EncryptionContractConfiguration
import aws.sdk.kotlin.services.mediapackagev2.model.EncryptionMethod
import aws.sdk.kotlin.services.mediapackagev2.model.EndpointErrorCondition
import aws.sdk.kotlin.services.mediapackagev2.model.ForceEndpointErrorConfiguration
import aws.sdk.kotlin.services.mediapackagev2.model.IsmEncryptionMethod
import aws.sdk.kotlin.services.mediapackagev2.model.MssManifestLayout
import aws.sdk.kotlin.services.mediapackagev2.model.PresetSpeke20Audio
import aws.sdk.kotlin.services.mediapackagev2.model.PresetSpeke20Video
import aws.sdk.kotlin.services.mediapackagev2.model.Scte
import aws.sdk.kotlin.services.mediapackagev2.model.ScteFilter
import aws.sdk.kotlin.services.mediapackagev2.model.ScteHls
import aws.sdk.kotlin.services.mediapackagev2.model.Segment
import aws.sdk.kotlin.services.mediapackagev2.model.SpekeKeyProvider
import aws.sdk.kotlin.services.mediapackagev2.model.TsEncryptionMethod
fun main() {
//sampleStart
// Updating an OriginEndpoint with ISM container
val resp = mediaPackageV2Client.updateOriginEndpoint {
channelGroupName = "exampleChannelGroup"
channelName = "exampleChannel"
originEndpointName = "exampleOriginEndpointISM"
containerType = ContainerType.fromValue("ISM")
description = "Updated description for exampleOriginEndpointISM"
startoverWindowSeconds = 600
forceEndpointErrorConfiguration = ForceEndpointErrorConfiguration {
endpointErrorConditions = listOf<EndpointErrorCondition>(
EndpointErrorCondition.fromValue("STALE_MANIFEST"),
EndpointErrorCondition.fromValue("INCOMPLETE_MANIFEST"),
EndpointErrorCondition.fromValue("MISSING_DRM_KEY"),
EndpointErrorCondition.fromValue("SLATE_INPUT")
)
}
segment = Segment {
segmentDurationSeconds = 2
segmentName = "segmentName2"
encryption = Encryption {
encryptionMethod = EncryptionMethod {
ismEncryptionMethod = IsmEncryptionMethod.fromValue("CENC")
}
spekeKeyProvider = SpekeKeyProvider {
encryptionContractConfiguration = EncryptionContractConfiguration {
presetSpeke20Audio = PresetSpeke20Audio.fromValue("SHARED")
presetSpeke20Video = PresetSpeke20Video.fromValue("SHARED")
}
resourceId = "ResourceId"
drmSystems = listOf<DrmSystem>(
DrmSystem.fromValue("PLAYREADY")
)
roleArn = "arn:aws:iam::123456789012:role/empRole"
url = "https://speke-key-provider.example.com"
}
}
}
mssManifests = listOf<CreateMssManifestConfiguration>(
CreateMssManifestConfiguration {
manifestName = "exampleMssManifest1"
manifestWindowSeconds = 60
manifestLayout = MssManifestLayout.fromValue("FULL")
},
CreateMssManifestConfiguration {
manifestName = "exampleMssManifest2"
manifestWindowSeconds = 30
manifestLayout = MssManifestLayout.fromValue("COMPACT")
}
)
}
//sampleEnd
}