Class CmafSpekeEncryptionProps.Builder
java.lang.Object
software.amazon.awscdk.services.mediapackagev2.alpha.CmafSpekeEncryptionProps.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<CmafSpekeEncryptionProps>
- Enclosing interface:
CmafSpekeEncryptionProps
@Stability(Experimental)
public static final class CmafSpekeEncryptionProps.Builder
extends Object
implements software.amazon.jsii.Builder<CmafSpekeEncryptionProps>
A builder for
CmafSpekeEncryptionProps-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaudioPreset(PresetSpeke20Audio audioPreset) Sets the value ofCmafSpekeEncryptionProps.getAudioPreset()build()Builds the configured instance.certificate(ICertificate certificate) Sets the value ofCmafSpekeEncryptionProps.getCertificate()constantInitializationVector(String constantInitializationVector) Sets the value ofCmafSpekeEncryptionProps.getConstantInitializationVector()drmSystems(List<? extends CmafDrmSystem> drmSystems) Sets the value ofCmafSpekeEncryptionProps.getDrmSystems()excludeSegmentDrmMetadata(Boolean excludeSegmentDrmMetadata) Sets the value ofCmafSpekeEncryptionProps.getExcludeSegmentDrmMetadata()keyRotationInterval(Duration keyRotationInterval) Sets the value ofCmafSpekeEncryptionProps.getKeyRotationInterval()method(CmafEncryptionMethod method) Sets the value ofCmafSpekeEncryptionProps.getMethod()resourceId(String resourceId) Sets the value ofCmafSpekeEncryptionProps.getResourceId()Sets the value ofCmafSpekeEncryptionProps.getRole()Sets the value ofCmafSpekeEncryptionProps.getUrl()videoPreset(PresetSpeke20Video videoPreset) Sets the value ofCmafSpekeEncryptionProps.getVideoPreset()
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
drmSystems
@Stability(Experimental) public CmafSpekeEncryptionProps.Builder drmSystems(List<? extends CmafDrmSystem> drmSystems) Sets the value ofCmafSpekeEncryptionProps.getDrmSystems()- Parameters:
drmSystems- The DRM systems to use for content protection. This parameter is required. CENC supports PlayReady, Widevine, and Irdeto. CBCS supports PlayReady, Widevine, and FairPlay.- Returns:
this
-
method
@Stability(Experimental) public CmafSpekeEncryptionProps.Builder method(CmafEncryptionMethod method) Sets the value ofCmafSpekeEncryptionProps.getMethod()- Parameters:
method- The encryption method to use. This parameter is required.- Returns:
this
-
resourceId
Sets the value ofCmafSpekeEncryptionProps.getResourceId()- Parameters:
resourceId- The unique identifier for the content. This parameter is required. The service sends this identifier to the key server to identify the current endpoint. How unique you make this identifier 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.- Returns:
this
-
role
Sets the value ofCmafSpekeEncryptionProps.getRole()- Parameters:
role- IAM role for accessing the key provider API. This parameter is required. This role must have a trust policy that allows MediaPackage to assume the role, and it must have sufficient permissions to access the key retrieval URL.- Returns:
this
-
url
Sets the value ofCmafSpekeEncryptionProps.getUrl()- Parameters:
url- URL of the SPEKE key provider. This parameter is required.- Returns:
this
-
audioPreset
@Stability(Experimental) public CmafSpekeEncryptionProps.Builder audioPreset(PresetSpeke20Audio audioPreset) Sets the value ofCmafSpekeEncryptionProps.getAudioPreset()- Parameters:
audioPreset- Audio encryption preset.- Returns:
this
-
certificate
@Stability(Experimental) public CmafSpekeEncryptionProps.Builder certificate(ICertificate certificate) Sets the value ofCmafSpekeEncryptionProps.getCertificate()- Parameters:
certificate- The ARN of the certificate that you imported to AWS Certificate Manager to add content key encryption to this endpoint. For this feature to work, your DRM key provider must support content key encryption.- Returns:
this
-
constantInitializationVector
@Stability(Experimental) public CmafSpekeEncryptionProps.Builder constantInitializationVector(String constantInitializationVector) Sets the value ofCmafSpekeEncryptionProps.getConstantInitializationVector()- Parameters:
constantInitializationVector- Constant initialization vector (32-character hex string). A 128-bit, 16-byte hex value represented by a 32-character string, used in conjunction with the key for encrypting content.- Returns:
this
-
excludeSegmentDrmMetadata
@Stability(Experimental) public CmafSpekeEncryptionProps.Builder excludeSegmentDrmMetadata(Boolean excludeSegmentDrmMetadata) Sets the value ofCmafSpekeEncryptionProps.getExcludeSegmentDrmMetadata()- Parameters:
excludeSegmentDrmMetadata- When enabled, DRM metadata is excluded from CMAF segments.- Returns:
this
-
keyRotationInterval
@Stability(Experimental) public CmafSpekeEncryptionProps.Builder keyRotationInterval(Duration keyRotationInterval) Sets the value ofCmafSpekeEncryptionProps.getKeyRotationInterval()- Parameters:
keyRotationInterval- Key rotation interval.- Returns:
this
-
videoPreset
@Stability(Experimental) public CmafSpekeEncryptionProps.Builder videoPreset(PresetSpeke20Video videoPreset) Sets the value ofCmafSpekeEncryptionProps.getVideoPreset()- Parameters:
videoPreset- Video encryption preset.- Returns:
this
-
build
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<CmafSpekeEncryptionProps>- Returns:
- a new instance of
CmafSpekeEncryptionProps - Throws:
NullPointerException- if any required attribute was not provided
-