
com.pulumi.awsnative.mediapackagev2.kotlin.outputs.OriginEndpointSpekeKeyProvider.kt Maven / Gradle / Ivy
Show all versions of pulumi-aws-native-kotlin Show documentation
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.mediapackagev2.kotlin.outputs
import com.pulumi.awsnative.mediapackagev2.kotlin.enums.OriginEndpointDrmSystem
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
/**
* The parameters for the SPEKE key provider.
* @property drmSystems The DRM solution provider you're using to protect your content during distribution.
* @property encryptionContractConfiguration The encryption contract configuration associated with the SPEKE key provider.
* @property resourceId The unique identifier for the content. The service sends this to the key server to identify the current endpoint. How unique you make this depends on how fine-grained you want access controls to be. The service does not permit you to use the same ID for two simultaneous encryption processes. The resource ID is also known as the content ID.
* The following example shows a resource ID: MovieNight20171126093045
*
* @property roleArn The ARN for the IAM role granted by the key provider that provides access to the key provider API. This role must have a trust policy that allows MediaPackage to assume the role, and it must have a sufficient permissions policy to allow access to the specific key retrieval URL. Get this from your DRM solution provider.
* Valid format: arn:aws:iam::{accountID}:role/{name}
. The following example shows a role ARN: arn:aws:iam::444455556666:role/SpekeAccess
*
* @property url The URL of the API Gateway proxy that you set up to talk to your key server. The API Gateway proxy must reside in the same AWS Region as MediaPackage and must start with https://.
* The following example shows a URL: https://1wm2dx1f33.execute-api.us-west-2.amazonaws.com/SpekeSample/copyProtection
*
*/
public data class OriginEndpointSpekeKeyProvider(
public val drmSystems: List,
public val encryptionContractConfiguration: OriginEndpointEncryptionContractConfiguration,
public val resourceId: String,
public val roleArn: String,
public val url: String,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.mediapackagev2.outputs.OriginEndpointSpekeKeyProvider): OriginEndpointSpekeKeyProvider = OriginEndpointSpekeKeyProvider(
drmSystems = javaType.drmSystems().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.mediapackagev2.kotlin.enums.OriginEndpointDrmSystem.Companion.toKotlin(args0)
})
}),
encryptionContractConfiguration = javaType.encryptionContractConfiguration().let({ args0 ->
com.pulumi.awsnative.mediapackagev2.kotlin.outputs.OriginEndpointEncryptionContractConfiguration.Companion.toKotlin(args0)
}),
resourceId = javaType.resourceId(),
roleArn = javaType.roleArn(),
url = javaType.url(),
)
}
}