Class: AWSCDK::MediaPackage::CfnPackagingConfiguration::HlsEncryptionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
media_package/cfn_packaging_configuration.rb

Overview

Holds encryption information so that access to the content can be controlled by a DRM solution.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(speke_key_provider:, constant_initialization_vector: nil, encryption_method: nil) ⇒ HlsEncryptionProperty

Returns a new instance of HlsEncryptionProperty.

Parameters:



1008
1009
1010
1011
1012
1013
1014
1015
# File 'media_package/cfn_packaging_configuration.rb', line 1008

def initialize(speke_key_provider:, constant_initialization_vector: nil, encryption_method: nil)
  @speke_key_provider = speke_key_provider.is_a?(Hash) ? ::AWSCDK::MediaPackage::CfnPackagingConfiguration::SpekeKeyProviderProperty.new(**speke_key_provider.transform_keys(&:to_sym)) : speke_key_provider
  Jsii::Type.check_type(@speke_key_provider, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2UuQ2ZuUGFja2FnaW5nQ29uZmlndXJhdGlvbi5TcGVrZUtleVByb3ZpZGVyUHJvcGVydHkifV19fQ==")), "spekeKeyProvider")
  @constant_initialization_vector = constant_initialization_vector
  Jsii::Type.check_type(@constant_initialization_vector, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "constantInitializationVector") unless @constant_initialization_vector.nil?
  @encryption_method = encryption_method
  Jsii::Type.check_type(@encryption_method, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "encryptionMethod") unless @encryption_method.nil?
end

Instance Attribute Details

#constant_initialization_vectorString? (readonly)

A 128-bit, 16-byte hex value represented by a 32-character string, used with the key for encrypting blocks.

If you don't specify a constant initialization vector (IV), AWS Elemental MediaPackage periodically rotates the IV.



1028
1029
1030
# File 'media_package/cfn_packaging_configuration.rb', line 1028

def constant_initialization_vector
  @constant_initialization_vector
end

#encryption_methodString? (readonly)

HLS encryption type.



1033
1034
1035
# File 'media_package/cfn_packaging_configuration.rb', line 1033

def encryption_method
  @encryption_method
end

Class Method Details

.jsii_propertiesObject



1035
1036
1037
1038
1039
1040
1041
# File 'media_package/cfn_packaging_configuration.rb', line 1035

def self.jsii_properties
  {
    :speke_key_provider => "spekeKeyProvider",
    :constant_initialization_vector => "constantInitializationVector",
    :encryption_method => "encryptionMethod",
  }
end

Instance Method Details

#to_jsiiObject



1043
1044
1045
1046
1047
1048
1049
1050
1051
# File 'media_package/cfn_packaging_configuration.rb', line 1043

def to_jsii
  result = {}
  result.merge!({
    "spekeKeyProvider" => @speke_key_provider,
    "constantInitializationVector" => @constant_initialization_vector,
    "encryptionMethod" => @encryption_method,
  })
  result.compact
end