Class: AWSCDK::MediaLive::CfnMultiplexprogramProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
media_live/cfn_multiplexprogram_props.rb

Overview

Properties for defining a CfnMultiplexprogram.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(multiplex_id: nil, multiplex_program_settings: nil, packet_identifiers_map: nil, pipeline_details: nil, preferred_channel_pipeline: nil, program_name: nil) ⇒ CfnMultiplexprogramProps

Returns a new instance of CfnMultiplexprogramProps.

Parameters:



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'media_live/cfn_multiplexprogram_props.rb', line 15

def initialize(multiplex_id: nil, multiplex_program_settings: nil, packet_identifiers_map: nil, pipeline_details: nil, preferred_channel_pipeline: nil, program_name: nil)
  @multiplex_id = multiplex_id
  Jsii::Type.check_type(@multiplex_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "multiplexId") unless @multiplex_id.nil?
  @multiplex_program_settings = multiplex_program_settings.is_a?(Hash) ? ::AWSCDK::MediaLive::CfnMultiplexprogram::MultiplexProgramSettingsProperty.new(**multiplex_program_settings.transform_keys(&:to_sym)) : multiplex_program_settings
  Jsii::Type.check_type(@multiplex_program_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYWxpdmUuQ2ZuTXVsdGlwbGV4cHJvZ3JhbS5NdWx0aXBsZXhQcm9ncmFtU2V0dGluZ3NQcm9wZXJ0eSJ9XX19")), "multiplexProgramSettings") unless @multiplex_program_settings.nil?
  @packet_identifiers_map = packet_identifiers_map.is_a?(Hash) ? ::AWSCDK::MediaLive::CfnMultiplexprogram::MultiplexProgramPacketIdentifiersMapProperty.new(**packet_identifiers_map.transform_keys(&:to_sym)) : packet_identifiers_map
  Jsii::Type.check_type(@packet_identifiers_map, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYWxpdmUuQ2ZuTXVsdGlwbGV4cHJvZ3JhbS5NdWx0aXBsZXhQcm9ncmFtUGFja2V0SWRlbnRpZmllcnNNYXBQcm9wZXJ0eSJ9XX19")), "packetIdentifiersMap") unless @packet_identifiers_map.nil?
  @pipeline_details = pipeline_details
  Jsii::Type.check_type(@pipeline_details, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbWVkaWFsaXZlLkNmbk11bHRpcGxleHByb2dyYW0uTXVsdGlwbGV4UHJvZ3JhbVBpcGVsaW5lRGV0YWlsUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "pipelineDetails") unless @pipeline_details.nil?
  @preferred_channel_pipeline = preferred_channel_pipeline
  Jsii::Type.check_type(@preferred_channel_pipeline, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preferredChannelPipeline") unless @preferred_channel_pipeline.nil?
  @program_name = program_name
  Jsii::Type.check_type(@program_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "programName") unless @program_name.nil?
end

Instance Attribute Details

#multiplex_idString? (readonly)

The unique id of the multiplex.



34
35
36
# File 'media_live/cfn_multiplexprogram_props.rb', line 34

def multiplex_id
  @multiplex_id
end

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

Multiplex Program settings configuration.



39
40
41
# File 'media_live/cfn_multiplexprogram_props.rb', line 39

def multiplex_program_settings
  @multiplex_program_settings
end

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

Packet identifiers map for a given Multiplex program.



44
45
46
# File 'media_live/cfn_multiplexprogram_props.rb', line 44

def packet_identifiers_map
  @packet_identifiers_map
end

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

Contains information about the current sources for the specified program in the specified multiplex.

Keep in mind that each multiplex pipeline connects to both pipelines in a given source channel (the channel identified by the program). But only one of those channel pipelines is ever active at one time.



51
52
53
# File 'media_live/cfn_multiplexprogram_props.rb', line 51

def pipeline_details
  @pipeline_details
end

#preferred_channel_pipelineString? (readonly)

Indicates which pipeline is preferred by the multiplex for program ingest.

If set to "PIPELINE_0" or "PIPELINE_1" and an unhealthy ingest causes the multiplex to switch to the non-preferred pipeline, it will switch back once that ingest is healthy again. If set to "CURRENTLY_ACTIVE", it will not switch back to the other pipeline based on it recovering to a healthy state, it will only switch if the active pipeline becomes unhealthy.



61
62
63
# File 'media_live/cfn_multiplexprogram_props.rb', line 61

def preferred_channel_pipeline
  @preferred_channel_pipeline
end

#program_nameString? (readonly)

The name of the multiplex program.



66
67
68
# File 'media_live/cfn_multiplexprogram_props.rb', line 66

def program_name
  @program_name
end

Class Method Details

.jsii_propertiesObject



68
69
70
71
72
73
74
75
76
77
# File 'media_live/cfn_multiplexprogram_props.rb', line 68

def self.jsii_properties
  {
    :multiplex_id => "multiplexId",
    :multiplex_program_settings => "multiplexProgramSettings",
    :packet_identifiers_map => "packetIdentifiersMap",
    :pipeline_details => "pipelineDetails",
    :preferred_channel_pipeline => "preferredChannelPipeline",
    :program_name => "programName",
  }
end

Instance Method Details

#to_jsiiObject



79
80
81
82
83
84
85
86
87
88
89
90
# File 'media_live/cfn_multiplexprogram_props.rb', line 79

def to_jsii
  result = {}
  result.merge!({
    "multiplexId" => @multiplex_id,
    "multiplexProgramSettings" => @multiplex_program_settings,
    "packetIdentifiersMap" => @packet_identifiers_map,
    "pipelineDetails" => @pipeline_details,
    "preferredChannelPipeline" => @preferred_channel_pipeline,
    "programName" => @program_name,
  })
  result.compact
end