Class: AWSCDK::MediaPackage::CfnOriginEndpoint::SpekeKeyProviderProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::MediaPackage::CfnOriginEndpoint::SpekeKeyProviderProperty
- Defined in:
- media_package/cfn_origin_endpoint.rb
Overview
Key provider settings for DRM.
Instance Attribute Summary collapse
-
#certificate_arn ⇒ String?
readonly
The Amazon Resource Name (ARN) for the certificate that you imported to Certificate Manager to add content key encryption to this endpoint.
-
#encryption_contract_configuration ⇒ AWSCDK::IResolvable, ...
readonly
Use
encryptionContractConfigurationto configure one or more content encryption keys for your endpoints that use SPEKE Version 2.0. -
#resource_id ⇒ String
readonly
Unique identifier for this endpoint, as it is configured in the key provider service.
-
#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(resource_id:, role_arn:, system_ids:, url:, certificate_arn: nil, encryption_contract_configuration: nil) ⇒ SpekeKeyProviderProperty
constructor
A new instance of SpekeKeyProviderProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(resource_id:, role_arn:, system_ids:, url:, certificate_arn: nil, encryption_contract_configuration: nil) ⇒ SpekeKeyProviderProperty
Returns a new instance of SpekeKeyProviderProperty.
1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 |
# File 'media_package/cfn_origin_endpoint.rb', line 1741 def initialize(resource_id:, role_arn:, system_ids:, url:, certificate_arn: nil, encryption_contract_configuration: nil) @resource_id = resource_id Jsii::Type.check_type(@resource_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceId") @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") @certificate_arn = certificate_arn Jsii::Type.check_type(@certificate_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "certificateArn") unless @certificate_arn.nil? @encryption_contract_configuration = encryption_contract_configuration.is_a?(Hash) ? ::AWSCDK::MediaPackage::CfnOriginEndpoint::EncryptionContractConfigurationProperty.new(**encryption_contract_configuration.transform_keys(&:to_sym)) : encryption_contract_configuration Jsii::Type.check_type(@encryption_contract_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2UuQ2ZuT3JpZ2luRW5kcG9pbnQuRW5jcnlwdGlvbkNvbnRyYWN0Q29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "encryptionContractConfiguration") unless @encryption_contract_configuration.nil? end |
Instance Attribute Details
#certificate_arn ⇒ String? (readonly)
The Amazon Resource Name (ARN) for the certificate that you imported to Certificate Manager to add content key encryption to this endpoint.
For this feature to work, your DRM key provider must support content key encryption.
1786 1787 1788 |
# File 'media_package/cfn_origin_endpoint.rb', line 1786 def certificate_arn @certificate_arn end |
#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.
1791 1792 1793 |
# File 'media_package/cfn_origin_endpoint.rb', line 1791 def encryption_contract_configuration @encryption_contract_configuration end |
#resource_id ⇒ String (readonly)
Unique identifier for this endpoint, as it is configured in the key provider service.
1760 1761 1762 |
# File 'media_package/cfn_origin_endpoint.rb', line 1760 def resource_id @resource_id 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.
This role must have a trust policy that allows AWS Elemental MediaPackage to assume the role, and it must have a sufficient permissions policy to allow access to the specific key retrieval URL. Valid format: arn:aws:iam::accountID:role/name
1767 1768 1769 |
# File 'media_package/cfn_origin_endpoint.rb', line 1767 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.
1772 1773 1774 |
# File 'media_package/cfn_origin_endpoint.rb', line 1772 def system_ids @system_ids end |
#url ⇒ String (readonly)
URL for the key provider’s key retrieval API endpoint.
Must start with https://.
1779 1780 1781 |
# File 'media_package/cfn_origin_endpoint.rb', line 1779 def url @url end |
Class Method Details
.jsii_properties ⇒ Object
1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 |
# File 'media_package/cfn_origin_endpoint.rb', line 1793 def self.jsii_properties { :resource_id => "resourceId", :role_arn => "roleArn", :system_ids => "systemIds", :url => "url", :certificate_arn => "certificateArn", :encryption_contract_configuration => "encryptionContractConfiguration", } end |
Instance Method Details
#to_jsii ⇒ Object
1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 |
# File 'media_package/cfn_origin_endpoint.rb', line 1804 def to_jsii result = {} result.merge!({ "resourceId" => @resource_id, "roleArn" => @role_arn, "systemIds" => @system_ids, "url" => @url, "certificateArn" => @certificate_arn, "encryptionContractConfiguration" => @encryption_contract_configuration, }) result.compact end |