Class: AWSCDK::MediaPackage::CfnOriginEndpoint::CmafEncryptionProperty

Inherits:
Jsii::Struct
  • Object
show all
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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(speke_key_provider:, constant_initialization_vector: nil, encryption_method: nil, key_rotation_interval_seconds: nil) ⇒ CmafEncryptionProperty

Returns a new instance of CmafEncryptionProperty.

Parameters:

  • speke_key_provider (AWSCDK::IResolvable, AWSCDK::MediaPackage::CfnOriginEndpoint::SpekeKeyProviderProperty)

    Parameters for the SPEKE key provider.

  • constant_initialization_vector (String, nil) (defaults to: nil)

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

  • encryption_method (String, nil) (defaults to: nil)

    The encryption method to use.

  • key_rotation_interval_seconds (Numeric, nil) (defaults to: nil)

    Number of seconds before AWS Elemental MediaPackage rotates to a new key.



751
752
753
754
755
756
757
758
759
760
# File 'media_package/cfn_origin_endpoint.rb', line 751

def initialize(speke_key_provider:, constant_initialization_vector: nil, encryption_method: nil, key_rotation_interval_seconds: 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?
end

Instance Attribute Details

#constant_initialization_vectorString? (readonly)

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

If you don't specify a value, then AWS Elemental MediaPackage creates the constant initialization vector (IV).



773
774
775
# File 'media_package/cfn_origin_endpoint.rb', line 773

def constant_initialization_vector
  @constant_initialization_vector
end

#encryption_methodString? (readonly)

The encryption method to use.



778
779
780
# File 'media_package/cfn_origin_endpoint.rb', line 778

def encryption_method
  @encryption_method
end

#key_rotation_interval_secondsNumeric? (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.



785
786
787
# File 'media_package/cfn_origin_endpoint.rb', line 785

def key_rotation_interval_seconds
  @key_rotation_interval_seconds
end

Class Method Details

.jsii_propertiesObject



787
788
789
790
791
792
793
794
# File 'media_package/cfn_origin_endpoint.rb', line 787

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

Instance Method Details

#to_jsiiObject



796
797
798
799
800
801
802
803
804
805
# File 'media_package/cfn_origin_endpoint.rb', line 796

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