Class: AWSCDK::MediaConnect::CfnFlowEntitlement::EncryptionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
media_connect/cfn_flow_entitlement.rb

Overview

Encryption information.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(algorithm:, role_arn:, constant_initialization_vector: nil, device_id: nil, key_type: nil, region: nil, resource_id: nil, secret_arn: nil, url: nil) ⇒ EncryptionProperty

Returns a new instance of EncryptionProperty.

Parameters:

  • algorithm (String)

    The type of algorithm that is used for static key encryption (such as aes128, aes192, or aes256).

  • role_arn (String)

    The ARN of the role that you created during setup (when you set up MediaConnect as a trusted entity).

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

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

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

    The value of one of the devices that you configured with your digital rights management (DRM) platform key provider.

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

    The type of key that is used for the encryption.

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

    The AWS Region that the API Gateway proxy endpoint was created in.

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

    An identifier for the content.

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

    The ARN of the secret that you created in AWS Secrets Manager to store the encryption key.

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

    The URL from the API Gateway proxy that you set up to talk to your key server.



612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
# File 'media_connect/cfn_flow_entitlement.rb', line 612

def initialize(algorithm:, role_arn:, constant_initialization_vector: nil, device_id: nil, key_type: nil, region: nil, resource_id: nil, secret_arn: nil, url: nil)
  @algorithm = algorithm
  Jsii::Type.check_type(@algorithm, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "algorithm")
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn")
  @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?
  @device_id = device_id
  Jsii::Type.check_type(@device_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deviceId") unless @device_id.nil?
  @key_type = key_type
  Jsii::Type.check_type(@key_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "keyType") unless @key_type.nil?
  @region = region
  Jsii::Type.check_type(@region, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "region") unless @region.nil?
  @resource_id = resource_id
  Jsii::Type.check_type(@resource_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceId") unless @resource_id.nil?
  @secret_arn = secret_arn
  Jsii::Type.check_type(@secret_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "secretArn") unless @secret_arn.nil?
  @url = url
  Jsii::Type.check_type(@url, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "url") unless @url.nil?
end

Instance Attribute Details

#algorithmString (readonly)

The type of algorithm that is used for static key encryption (such as aes128, aes192, or aes256).

If you are using SPEKE or SRT-password encryption, this property must be left blank.



639
640
641
# File 'media_connect/cfn_flow_entitlement.rb', line 639

def algorithm
  @algorithm
end

#constant_initialization_vectorString? (readonly)

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

This parameter is not valid for static key encryption.



651
652
653
# File 'media_connect/cfn_flow_entitlement.rb', line 651

def constant_initialization_vector
  @constant_initialization_vector
end

#device_idString? (readonly)

The value of one of the devices that you configured with your digital rights management (DRM) platform key provider.

This parameter is required for SPEKE encryption and is not valid for static key encryption.



658
659
660
# File 'media_connect/cfn_flow_entitlement.rb', line 658

def device_id
  @device_id
end

#key_typeString? (readonly)

Note:

Default: - "static-key"

The type of key that is used for the encryption.

If you don't specify a key_type value, the service uses the default setting ( static-key ). Valid key types are: static-key , speke , and srt-password .



666
667
668
# File 'media_connect/cfn_flow_entitlement.rb', line 666

def key_type
  @key_type
end

#regionString? (readonly)

The AWS Region that the API Gateway proxy endpoint was created in.

This parameter is required for SPEKE encryption and is not valid for static key encryption.



673
674
675
# File 'media_connect/cfn_flow_entitlement.rb', line 673

def region
  @region
end

#resource_idString? (readonly)

An identifier for the content.

The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption.



680
681
682
# File 'media_connect/cfn_flow_entitlement.rb', line 680

def resource_id
  @resource_id
end

#role_arnString (readonly)

The ARN of the role that you created during setup (when you set up MediaConnect as a trusted entity).



644
645
646
# File 'media_connect/cfn_flow_entitlement.rb', line 644

def role_arn
  @role_arn
end

#secret_arnString? (readonly)

The ARN of the secret that you created in AWS Secrets Manager to store the encryption key.

This parameter is required for static key encryption and is not valid for SPEKE encryption.



687
688
689
# File 'media_connect/cfn_flow_entitlement.rb', line 687

def secret_arn
  @secret_arn
end

#urlString? (readonly)

The URL from the API Gateway proxy that you set up to talk to your key server.

This parameter is required for SPEKE encryption and is not valid for static key encryption.



694
695
696
# File 'media_connect/cfn_flow_entitlement.rb', line 694

def url
  @url
end

Class Method Details

.jsii_propertiesObject



696
697
698
699
700
701
702
703
704
705
706
707
708
# File 'media_connect/cfn_flow_entitlement.rb', line 696

def self.jsii_properties
  {
    :algorithm => "algorithm",
    :role_arn => "roleArn",
    :constant_initialization_vector => "constantInitializationVector",
    :device_id => "deviceId",
    :key_type => "keyType",
    :region => "region",
    :resource_id => "resourceId",
    :secret_arn => "secretArn",
    :url => "url",
  }
end

Instance Method Details

#to_jsiiObject



710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
# File 'media_connect/cfn_flow_entitlement.rb', line 710

def to_jsii
  result = {}
  result.merge!({
    "algorithm" => @algorithm,
    "roleArn" => @role_arn,
    "constantInitializationVector" => @constant_initialization_vector,
    "deviceId" => @device_id,
    "keyType" => @key_type,
    "region" => @region,
    "resourceId" => @resource_id,
    "secretArn" => @secret_arn,
    "url" => @url,
  })
  result.compact
end