All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointHlsEncryption.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.mediapackage.kotlin.outputs

import com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointHlsEncryptionEncryptionMethod
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress

/**
 * An HTTP Live Streaming (HLS) encryption configuration.
 * @property constantInitializationVector A constant initialization vector for encryption (optional). When not specified the initialization vector will be periodically rotated.
 * @property encryptionMethod The encryption method to use.
 * @property keyRotationIntervalSeconds Interval (in seconds) between each encryption key rotation.
 * @property repeatExtXKey When enabled, the EXT-X-KEY tag will be repeated in output manifests.
 * @property spekeKeyProvider Parameters for the SPEKE key provider.
 */
public data class OriginEndpointHlsEncryption(
    public val constantInitializationVector: String? = null,
    public val encryptionMethod: OriginEndpointHlsEncryptionEncryptionMethod? = null,
    public val keyRotationIntervalSeconds: Int? = null,
    public val repeatExtXKey: Boolean? = null,
    public val spekeKeyProvider: OriginEndpointSpekeKeyProvider,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.mediapackage.outputs.OriginEndpointHlsEncryption): OriginEndpointHlsEncryption = OriginEndpointHlsEncryption(
            constantInitializationVector = javaType.constantInitializationVector().map({ args0 ->
                args0
            }).orElse(null),
            encryptionMethod = javaType.encryptionMethod().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointHlsEncryptionEncryptionMethod.Companion.toKotlin(args0)
                })
            }).orElse(null),
            keyRotationIntervalSeconds = javaType.keyRotationIntervalSeconds().map({ args0 ->
                args0
            }).orElse(null),
            repeatExtXKey = javaType.repeatExtXKey().map({ args0 -> args0 }).orElse(null),
            spekeKeyProvider = javaType.spekeKeyProvider().let({ args0 ->
                com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointSpekeKeyProvider.Companion.toKotlin(args0)
            }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy