Class: AWSCDK::IVS::CfnStage::AutoParticipantRecordingConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ivs/cfn_stage.rb

Overview

The AWS::IVS::AutoParticipantRecordingConfiguration property type describes a configuration for individual participant recording.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(storage_configuration_arn:, hls_configuration: nil, media_types: nil, recording_reconnect_window_seconds: nil, thumbnail_configuration: nil) ⇒ AutoParticipantRecordingConfigurationProperty

Returns a new instance of AutoParticipantRecordingConfigurationProperty.

Parameters:

  • storage_configuration_arn (String)

    ARN of the StorageConfiguration resource to use for individual participant recording.

  • hls_configuration (AWSCDK::IResolvable, AWSCDK::IVS::CfnStage::HlsConfigurationProperty, nil) (defaults to: nil)

    HLS configuration object for individual participant recording.

  • media_types (Array<String>, nil) (defaults to: nil)

    Types of media to be recorded.

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

    If a stage publisher disconnects and then reconnects within the specified interval, the multiple recordings will be considered a single recording and merged together.

  • thumbnail_configuration (AWSCDK::IResolvable, AWSCDK::IVS::CfnStage::ThumbnailConfigurationProperty, nil) (defaults to: nil)

    A complex type that allows you to enable/disable the recording of thumbnails for individual participant recording and modify the interval at which thumbnails are generated for the live session.



562
563
564
565
566
567
568
569
570
571
572
573
# File 'ivs/cfn_stage.rb', line 562

def initialize(storage_configuration_arn:, hls_configuration: nil, media_types: nil, recording_reconnect_window_seconds: nil, thumbnail_configuration: nil)
  @storage_configuration_arn = storage_configuration_arn
  Jsii::Type.check_type(@storage_configuration_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "storageConfigurationArn")
  @hls_configuration = hls_configuration.is_a?(Hash) ? ::AWSCDK::IVS::CfnStage::HlsConfigurationProperty.new(**hls_configuration.transform_keys(&:to_sym)) : hls_configuration
  Jsii::Type.check_type(@hls_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pdnMuQ2ZuU3RhZ2UuSGxzQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "hlsConfiguration") unless @hls_configuration.nil?
  @media_types = media_types
  Jsii::Type.check_type(@media_types, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "mediaTypes") unless @media_types.nil?
  @recording_reconnect_window_seconds = recording_reconnect_window_seconds
  Jsii::Type.check_type(@recording_reconnect_window_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "recordingReconnectWindowSeconds") unless @recording_reconnect_window_seconds.nil?
  @thumbnail_configuration = thumbnail_configuration.is_a?(Hash) ? ::AWSCDK::IVS::CfnStage::ThumbnailConfigurationProperty.new(**thumbnail_configuration.transform_keys(&:to_sym)) : thumbnail_configuration
  Jsii::Type.check_type(@thumbnail_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pdnMuQ2ZuU3RhZ2UuVGh1bWJuYWlsQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "thumbnailConfiguration") unless @thumbnail_configuration.nil?
end

Instance Attribute Details

#hls_configurationAWSCDK::IResolvable, ... (readonly)

HLS configuration object for individual participant recording.



586
587
588
# File 'ivs/cfn_stage.rb', line 586

def hls_configuration
  @hls_configuration
end

#media_typesArray<String>? (readonly)

Types of media to be recorded.

Default: AUDIO_VIDEO .



593
594
595
# File 'ivs/cfn_stage.rb', line 593

def media_types
  @media_types
end

#recording_reconnect_window_secondsNumeric? (readonly)

Note:

Default: - 0

If a stage publisher disconnects and then reconnects within the specified interval, the multiple recordings will be considered a single recording and merged together.

The default value is 0, which disables merging.



601
602
603
# File 'ivs/cfn_stage.rb', line 601

def recording_reconnect_window_seconds
  @recording_reconnect_window_seconds
end

#storage_configuration_arnString (readonly)

ARN of the StorageConfiguration resource to use for individual participant recording.

Default: "" (empty string, no storage configuration is specified). Individual participant recording cannot be started unless a storage configuration is specified, when a Stage is created or updated.



581
582
583
# File 'ivs/cfn_stage.rb', line 581

def storage_configuration_arn
  @storage_configuration_arn
end

#thumbnail_configurationAWSCDK::IResolvable, ... (readonly)

A complex type that allows you to enable/disable the recording of thumbnails for individual participant recording and modify the interval at which thumbnails are generated for the live session.



606
607
608
# File 'ivs/cfn_stage.rb', line 606

def thumbnail_configuration
  @thumbnail_configuration
end

Class Method Details

.jsii_propertiesObject



608
609
610
611
612
613
614
615
616
# File 'ivs/cfn_stage.rb', line 608

def self.jsii_properties
  {
    :storage_configuration_arn => "storageConfigurationArn",
    :hls_configuration => "hlsConfiguration",
    :media_types => "mediaTypes",
    :recording_reconnect_window_seconds => "recordingReconnectWindowSeconds",
    :thumbnail_configuration => "thumbnailConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



618
619
620
621
622
623
624
625
626
627
628
# File 'ivs/cfn_stage.rb', line 618

def to_jsii
  result = {}
  result.merge!({
    "storageConfigurationArn" => @storage_configuration_arn,
    "hlsConfiguration" => @hls_configuration,
    "mediaTypes" => @media_types,
    "recordingReconnectWindowSeconds" => @recording_reconnect_window_seconds,
    "thumbnailConfiguration" => @thumbnail_configuration,
  })
  result.compact
end