Class: AWSCDK::MediaPackagev2::CfnOriginEndpoint::EncryptionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
media_packagev2/cfn_origin_endpoint.rb

Overview

The parameters for encrypting content.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of EncryptionProperty.

Parameters:



1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1521

def initialize(encryption_method:, speke_key_provider:, cmaf_exclude_segment_drm_metadata: nil, constant_initialization_vector: nil, key_rotation_interval_seconds: nil)
  @encryption_method = encryption_method.is_a?(Hash) ? ::AWSCDK::MediaPackagev2::CfnOriginEndpoint::EncryptionMethodProperty.new(**encryption_method.transform_keys(&:to_sym)) : encryption_method
  Jsii::Type.check_type(@encryption_method, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2V2Mi5DZm5PcmlnaW5FbmRwb2ludC5FbmNyeXB0aW9uTWV0aG9kUHJvcGVydHkifV19fQ==")), "encryptionMethod")
  @speke_key_provider = speke_key_provider.is_a?(Hash) ? ::AWSCDK::MediaPackagev2::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("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2V2Mi5DZm5PcmlnaW5FbmRwb2ludC5TcGVrZUtleVByb3ZpZGVyUHJvcGVydHkifV19fQ==")), "spekeKeyProvider")
  @cmaf_exclude_segment_drm_metadata = 
  Jsii::Type.check_type(@cmaf_exclude_segment_drm_metadata, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "cmafExcludeSegmentDrmMetadata") unless @cmaf_exclude_segment_drm_metadata.nil?
  @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?
  @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

#cmaf_exclude_segment_drm_metadataBoolean, ... (readonly)

Excludes SEIG and SGPD boxes from segment metadata in CMAF containers.

When set to true , MediaPackage omits these DRM metadata boxes from CMAF segments, which can improve compatibility with certain devices and players that don't support these boxes.

Important considerations:

  • This setting only affects CMAF container formats
  • Key rotation can still be handled through media playlist signaling
  • PSSH and TENC boxes remain unaffected
  • Default behavior is preserved when this setting is disabled

Valid values: true | false

Default: false



1561
1562
1563
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1561

def 
  @cmaf_exclude_segment_drm_metadata
end

#constant_initialization_vectorString? (readonly)

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

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



1568
1569
1570
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1568

def constant_initialization_vector
  @constant_initialization_vector
end

#key_rotation_interval_secondsNumeric? (readonly)

The interval, in seconds, to rotate encryption keys for the origin endpoint.



1573
1574
1575
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1573

def key_rotation_interval_seconds
  @key_rotation_interval_seconds
end

Class Method Details

.jsii_propertiesObject



1575
1576
1577
1578
1579
1580
1581
1582
1583
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1575

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

Instance Method Details

#to_jsiiObject



1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1585

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