Class: AWSCDK::MediaPackage::CfnPackagingConfiguration::SpekeKeyProviderProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::MediaPackage::CfnPackagingConfiguration::SpekeKeyProviderProperty
- Defined in:
- media_package/cfn_packaging_configuration.rb
Overview
A configuration for accessing an external Secure Packager and Encoder Key Exchange (SPEKE) service that provides encryption keys.
Instance Attribute Summary collapse
-
#encryption_contract_configuration ⇒ AWSCDK::IResolvable, ...
readonly
Use
encryptionContractConfigurationto configure one or more content encryption keys for your endpoints that use SPEKE Version 2.0. -
#role_arn ⇒ String
readonly
The ARN for the IAM role that's granted by the key provider to provide access to the key provider API.
-
#system_ids ⇒ Array<String>
readonly
List of unique identifiers for the DRM systems to use, as defined in the CPIX specification.
-
#url ⇒ String
readonly
URL for the key provider's key retrieval API endpoint.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(role_arn:, system_ids:, url:, encryption_contract_configuration: nil) ⇒ SpekeKeyProviderProperty
constructor
A new instance of SpekeKeyProviderProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(role_arn:, system_ids:, url:, encryption_contract_configuration: nil) ⇒ SpekeKeyProviderProperty
Returns a new instance of SpekeKeyProviderProperty.
1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 |
# File 'media_package/cfn_packaging_configuration.rb', line 1369 def initialize(role_arn:, system_ids:, url:, encryption_contract_configuration: nil) @role_arn = role_arn Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn") @system_ids = system_ids Jsii::Type.check_type(@system_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "systemIds") @url = url Jsii::Type.check_type(@url, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "url") @encryption_contract_configuration = encryption_contract_configuration.is_a?(Hash) ? ::AWSCDK::MediaPackage::CfnPackagingConfiguration::EncryptionContractConfigurationProperty.new(**encryption_contract_configuration.transform_keys(&:to_sym)) : encryption_contract_configuration Jsii::Type.check_type(@encryption_contract_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2UuQ2ZuUGFja2FnaW5nQ29uZmlndXJhdGlvbi5FbmNyeXB0aW9uQ29udHJhY3RDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "encryptionContractConfiguration") unless @encryption_contract_configuration.nil? end |
Instance Attribute Details
#encryption_contract_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
Use encryptionContractConfiguration to configure one or more content encryption keys for your endpoints that use SPEKE Version 2.0. The encryption contract defines which content keys are used to encrypt the audio and video tracks in your stream. To configure the encryption contract, specify which audio and video encryption presets to use.
1403 1404 1405 |
# File 'media_package/cfn_packaging_configuration.rb', line 1403 def encryption_contract_configuration @encryption_contract_configuration end |
#role_arn ⇒ String (readonly)
The ARN for the IAM role that's granted by the key provider to provide access to the key provider API.
Valid format: arn:aws:iam::accountID:role/name
1386 1387 1388 |
# File 'media_package/cfn_packaging_configuration.rb', line 1386 def role_arn @role_arn end |
#system_ids ⇒ Array<String> (readonly)
List of unique identifiers for the DRM systems to use, as defined in the CPIX specification.
1391 1392 1393 |
# File 'media_package/cfn_packaging_configuration.rb', line 1391 def system_ids @system_ids end |
#url ⇒ String (readonly)
URL for the key provider's key retrieval API endpoint.
Must start with https://.
1398 1399 1400 |
# File 'media_package/cfn_packaging_configuration.rb', line 1398 def url @url end |
Class Method Details
.jsii_properties ⇒ Object
1405 1406 1407 1408 1409 1410 1411 1412 |
# File 'media_package/cfn_packaging_configuration.rb', line 1405 def self.jsii_properties { :role_arn => "roleArn", :system_ids => "systemIds", :url => "url", :encryption_contract_configuration => "encryptionContractConfiguration", } end |
Instance Method Details
#to_jsii ⇒ Object
1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 |
# File 'media_package/cfn_packaging_configuration.rb', line 1414 def to_jsii result = {} result.merge!({ "roleArn" => @role_arn, "systemIds" => @system_ids, "url" => @url, "encryptionContractConfiguration" => @encryption_contract_configuration, }) result.compact end |