Class: AWSCDK::MediaPackage::CfnOriginEndpoint::HlsEncryptionProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::MediaPackage::CfnOriginEndpoint::HlsEncryptionProperty
- Defined in:
- media_package/cfn_origin_endpoint.rb
Overview
Holds encryption information so that access to the content can be controlled by a DRM solution.
Instance Attribute Summary collapse
-
#constant_initialization_vector ⇒ String?
readonly
A 128-bit, 16-byte hex value represented by a 32-character string, used with the key for encrypting blocks.
-
#encryption_method ⇒ String?
readonly
HLS encryption type.
-
#key_rotation_interval_seconds ⇒ Numeric?
readonly
Number of seconds before AWS Elemental MediaPackage rotates to a new key.
-
#repeat_ext_x_key ⇒ Boolean, ...
readonly
Repeat the
EXT-X-KEYdirective for every media segment. -
#speke_key_provider ⇒ AWSCDK::IResolvable, AWSCDK::MediaPackage::CfnOriginEndpoint::SpekeKeyProviderProperty
readonly
Parameters for the SPEKE key provider.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(speke_key_provider:, constant_initialization_vector: nil, encryption_method: nil, key_rotation_interval_seconds: nil, repeat_ext_x_key: nil) ⇒ HlsEncryptionProperty
constructor
A new instance of HlsEncryptionProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(speke_key_provider:, constant_initialization_vector: nil, encryption_method: nil, key_rotation_interval_seconds: nil, repeat_ext_x_key: nil) ⇒ HlsEncryptionProperty
Returns a new instance of HlsEncryptionProperty.
1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 |
# File 'media_package/cfn_origin_endpoint.rb', line 1237 def initialize(speke_key_provider:, constant_initialization_vector: nil, encryption_method: nil, key_rotation_interval_seconds: nil, repeat_ext_x_key: nil) @speke_key_provider = speke_key_provider.is_a?(Hash) ? ::AWSCDK::MediaPackage::CfnOriginEndpoint::SpekeKeyProviderProperty.new(**speke_key_provider.transform_keys(&:to_sym)) : speke_key_provider Jsii::Type.check_type(@speke_key_provider, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2UuQ2ZuT3JpZ2luRW5kcG9pbnQuU3Bla2VLZXlQcm92aWRlclByb3BlcnR5In1dfX0=")), "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? @key_rotation_interval_seconds = key_rotation_interval_seconds Jsii::Type.check_type(@key_rotation_interval_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "keyRotationIntervalSeconds") unless @key_rotation_interval_seconds.nil? @repeat_ext_x_key = repeat_ext_x_key Jsii::Type.check_type(@repeat_ext_x_key, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "repeatExtXKey") unless @repeat_ext_x_key.nil? end |
Instance Attribute Details
#constant_initialization_vector ⇒ String? (readonly)
A 128-bit, 16-byte hex value represented by a 32-character string, used with the key for encrypting blocks.
1259 1260 1261 |
# File 'media_package/cfn_origin_endpoint.rb', line 1259 def constant_initialization_vector @constant_initialization_vector end |
#encryption_method ⇒ String? (readonly)
HLS encryption type.
1264 1265 1266 |
# File 'media_package/cfn_origin_endpoint.rb', line 1264 def encryption_method @encryption_method end |
#key_rotation_interval_seconds ⇒ Numeric? (readonly)
Number of seconds before AWS Elemental MediaPackage rotates to a new key.
By default, rotation is set to 60 seconds. Set to 0 to disable key rotation.
1271 1272 1273 |
# File 'media_package/cfn_origin_endpoint.rb', line 1271 def key_rotation_interval_seconds @key_rotation_interval_seconds end |
#repeat_ext_x_key ⇒ Boolean, ... (readonly)
Repeat the EXT-X-KEY directive for every media segment.
This might result in an increase in client requests to the DRM server.
1278 1279 1280 |
# File 'media_package/cfn_origin_endpoint.rb', line 1278 def repeat_ext_x_key @repeat_ext_x_key end |
#speke_key_provider ⇒ AWSCDK::IResolvable, AWSCDK::MediaPackage::CfnOriginEndpoint::SpekeKeyProviderProperty (readonly)
Parameters for the SPEKE key provider.
1254 1255 1256 |
# File 'media_package/cfn_origin_endpoint.rb', line 1254 def speke_key_provider @speke_key_provider end |
Class Method Details
.jsii_properties ⇒ Object
1280 1281 1282 1283 1284 1285 1286 1287 1288 |
# File 'media_package/cfn_origin_endpoint.rb', line 1280 def self.jsii_properties { :speke_key_provider => "spekeKeyProvider", :constant_initialization_vector => "constantInitializationVector", :encryption_method => "encryptionMethod", :key_rotation_interval_seconds => "keyRotationIntervalSeconds", :repeat_ext_x_key => "repeatExtXKey", } end |
Instance Method Details
#to_jsii ⇒ Object
1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 |
# File 'media_package/cfn_origin_endpoint.rb', line 1290 def to_jsii result = {} result.merge!({ "spekeKeyProvider" => @speke_key_provider, "constantInitializationVector" => @constant_initialization_vector, "encryptionMethod" => @encryption_method, "keyRotationIntervalSeconds" => @key_rotation_interval_seconds, "repeatExtXKey" => @repeat_ext_x_key, }) result.compact end |