Interface TsSpekeEncryptionProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
TsSpekeEncryptionProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.127.0 (build 2117ad5)", date="2026-04-02T21:55:36.091Z") @Stability(Experimental) public interface TsSpekeEncryptionProps extends software.amazon.jsii.JsiiSerializable
(experimental) Properties for TS SPEKE encryption configuration.

Example:

 Channel channel;
 IRole spekeRole;
 OriginEndpoint.Builder.create(this, "TsEndpoint")
         .channel(channel)
         .segment(Segment.ts(TsSegmentProps.builder()
                 .encryption(TsEncryption.speke(TsSpekeEncryptionProps.builder()
                         .method(TsEncryptionMethod.SAMPLE_AES)
                         .resourceId("my-content-id")
                         .url("https://example.com/speke")
                         .role(spekeRole)
                         .build()))
                 .build()))
         .manifests(List.of(Manifest.hls(HlsManifestConfiguration.builder().manifestName("index").build())))
         .build();
 
  • Method Details

    • getMethod

      @Stability(Experimental) @NotNull TsEncryptionMethod getMethod()
      (experimental) The encryption method to use.
    • getResourceId

      @Stability(Experimental) @NotNull String getResourceId()
      (experimental) The unique identifier for the content.

      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.

    • getRole

      @Stability(Experimental) @NotNull IRole getRole()
      (experimental) IAM role for accessing the key provider API.

      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.

    • getUrl

      @Stability(Experimental) @NotNull String getUrl()
      (experimental) URL of the SPEKE key provider.
    • getAudioPreset

      @Stability(Experimental) @Nullable default PresetSpeke20Audio getAudioPreset()
      (experimental) Audio encryption preset.

      Default: PresetSpeke20Audio.PRESET_AUDIO_1

    • getCertificate

      @Stability(Experimental) @Nullable default ICertificate getCertificate()
      (experimental) 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.

      Default: - no content key encryption

    • getConstantInitializationVector

      @Stability(Experimental) @Nullable default String getConstantInitializationVector()
      (experimental) 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.

      Default: - MediaPackage generates the IV

    • getDrmSystems

      @Stability(Experimental) @Nullable default List<TsDrmSystem> getDrmSystems()
      (experimental) The DRM systems to use for content protection.

      Default: - FairPlay for SAMPLE_AES, Clear Key AES 128 for AES_128

    • getKeyRotationInterval

      @Stability(Experimental) @Nullable default Duration getKeyRotationInterval()
      (experimental) Key rotation interval.

      Default: - no rotation

    • getVideoPreset

      @Stability(Experimental) @Nullable default PresetSpeke20Video getVideoPreset()
      (experimental) Video encryption preset.

      Default: PresetSpeke20Video.PRESET_VIDEO_1

    • builder

      @Stability(Experimental) static TsSpekeEncryptionProps.Builder builder()
      Returns:
      a TsSpekeEncryptionProps.Builder of TsSpekeEncryptionProps