Class: AWSCDK::MediaPackagev2::CfnChannelProps

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

Overview

Properties for defining a CfnChannel.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(channel_group_name:, channel_name:, description: nil, input_switch_configuration: nil, input_type: nil, output_header_configuration: nil, tags: nil) ⇒ CfnChannelProps

Returns a new instance of CfnChannelProps.

Parameters:

  • channel_group_name (String)

    The name of the channel group associated with the channel configuration.

  • channel_name (String)

    The name of the channel.

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

    The description of the channel.

  • input_switch_configuration (AWSCDK::IResolvable, AWSCDK::MediaPackagev2::CfnChannel::InputSwitchConfigurationProperty, nil) (defaults to: nil)

    The configuration for input switching based on the media quality confidence score (MQCS) as provided from AWS Elemental MediaLive.

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

    The input type will be an immutable field which will be used to define whether the channel will allow CMAF ingest or HLS ingest.

  • output_header_configuration (AWSCDK::IResolvable, AWSCDK::MediaPackagev2::CfnChannel::OutputHeaderConfigurationProperty, nil) (defaults to: nil)

    The settings for what common media server data (CMSD) headers AWS Elemental MediaPackage includes in responses to the CDN.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)


16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'media_packagev2/cfn_channel_props.rb', line 16

def initialize(channel_group_name:, channel_name:, description: nil, input_switch_configuration: nil, input_type: nil, output_header_configuration: nil, tags: nil)
  @channel_group_name = channel_group_name
  Jsii::Type.check_type(@channel_group_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "channelGroupName")
  @channel_name = channel_name
  Jsii::Type.check_type(@channel_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "channelName")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @input_switch_configuration = input_switch_configuration.is_a?(Hash) ? ::AWSCDK::MediaPackagev2::CfnChannel::InputSwitchConfigurationProperty.new(**input_switch_configuration.transform_keys(&:to_sym)) : input_switch_configuration
  Jsii::Type.check_type(@input_switch_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2V2Mi5DZm5DaGFubmVsLklucHV0U3dpdGNoQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "inputSwitchConfiguration") unless @input_switch_configuration.nil?
  @input_type = input_type
  Jsii::Type.check_type(@input_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "inputType") unless @input_type.nil?
  @output_header_configuration = output_header_configuration.is_a?(Hash) ? ::AWSCDK::MediaPackagev2::CfnChannel::OutputHeaderConfigurationProperty.new(**output_header_configuration.transform_keys(&:to_sym)) : output_header_configuration
  Jsii::Type.check_type(@output_header_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2V2Mi5DZm5DaGFubmVsLk91dHB1dEhlYWRlckNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "outputHeaderConfiguration") unless @output_header_configuration.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#channel_group_nameString (readonly)

The name of the channel group associated with the channel configuration.



37
38
39
# File 'media_packagev2/cfn_channel_props.rb', line 37

def channel_group_name
  @channel_group_name
end

#channel_nameString (readonly)

The name of the channel.



42
43
44
# File 'media_packagev2/cfn_channel_props.rb', line 42

def channel_name
  @channel_name
end

#descriptionString? (readonly)

The description of the channel.



47
48
49
# File 'media_packagev2/cfn_channel_props.rb', line 47

def description
  @description
end

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

The configuration for input switching based on the media quality confidence score (MQCS) as provided from AWS Elemental MediaLive.



52
53
54
# File 'media_packagev2/cfn_channel_props.rb', line 52

def input_switch_configuration
  @input_switch_configuration
end

#input_typeString? (readonly)

The input type will be an immutable field which will be used to define whether the channel will allow CMAF ingest or HLS ingest.

If unprovided, it will default to HLS to preserve current behavior.

The allowed values are:

  • HLS - The HLS streaming specification (which defines M3U8 manifests and TS segments).
  • CMAF - The DASH-IF CMAF Ingest specification (which defines CMAF segments with optional DASH manifests).


64
65
66
# File 'media_packagev2/cfn_channel_props.rb', line 64

def input_type
  @input_type
end

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

The settings for what common media server data (CMSD) headers AWS Elemental MediaPackage includes in responses to the CDN.



69
70
71
# File 'media_packagev2/cfn_channel_props.rb', line 69

def output_header_configuration
  @output_header_configuration
end

#tagsArray<AWSCDK::CfnTag>? (readonly)



72
73
74
# File 'media_packagev2/cfn_channel_props.rb', line 72

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



74
75
76
77
78
79
80
81
82
83
84
# File 'media_packagev2/cfn_channel_props.rb', line 74

def self.jsii_properties
  {
    :channel_group_name => "channelGroupName",
    :channel_name => "channelName",
    :description => "description",
    :input_switch_configuration => "inputSwitchConfiguration",
    :input_type => "inputType",
    :output_header_configuration => "outputHeaderConfiguration",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'media_packagev2/cfn_channel_props.rb', line 86

def to_jsii
  result = {}
  result.merge!({
    "channelGroupName" => @channel_group_name,
    "channelName" => @channel_name,
    "description" => @description,
    "inputSwitchConfiguration" => @input_switch_configuration,
    "inputType" => @input_type,
    "outputHeaderConfiguration" => @output_header_configuration,
    "tags" => @tags,
  })
  result.compact
end