Class: AWSCDK::MediaPackagev2::CfnOriginEndpoint::LowLatencyHlsManifestConfigurationProperty

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

Overview

Specify a low-latency HTTP live streaming (LL-HLS) manifest configuration.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(manifest_name:, child_manifest_name: nil, filter_configuration: nil, manifest_window_seconds: nil, program_date_time_interval_seconds: nil, scte_hls: nil, start_tag: nil, uri_path_type: nil, url: nil, url_encode_child_manifest: nil) ⇒ LowLatencyHlsManifestConfigurationProperty

Returns a new instance of LowLatencyHlsManifestConfigurationProperty.

Parameters:

  • manifest_name (String)

    A short string that's appended to the endpoint URL.

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

    The name of the child manifest associated with the low-latency HLS (LL-HLS) manifest configuration of the origin endpoint.

  • filter_configuration (AWSCDK::IResolvable, AWSCDK::MediaPackagev2::CfnOriginEndpoint::FilterConfigurationProperty, nil) (defaults to: nil)

    Filter configuration includes settings for manifest filtering, start and end times, and time delay that apply to all of your egress requests for this manifest.

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

    The total duration (in seconds) of the manifest's content.

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

    Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify.

  • scte_hls (AWSCDK::IResolvable, AWSCDK::MediaPackagev2::CfnOriginEndpoint::ScteHlsProperty, nil) (defaults to: nil)

    The SCTE-35 HLS configuration associated with the low-latency HLS (LL-HLS) manifest configuration of the origin endpoint.

  • start_tag (AWSCDK::IResolvable, AWSCDK::MediaPackagev2::CfnOriginEndpoint::StartTagProperty, nil) (defaults to: nil)

    To insert an EXT-X-START tag in your HLS playlist, specify a StartTag configuration object with a valid TimeOffset.

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

    The URL of the low-latency HLS (LL-HLS) manifest configuration of the origin endpoint.

  • url_encode_child_manifest (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    When enabled, MediaPackage URL-encodes the query string for API requests for LL-HLS child manifests to comply with AWS Signature Version 4 (SigV4) signature signing protocol.



1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1872

def initialize(manifest_name:, child_manifest_name: nil, filter_configuration: nil, manifest_window_seconds: nil, program_date_time_interval_seconds: nil, scte_hls: nil, start_tag: nil, uri_path_type: nil, url: nil, url_encode_child_manifest: nil)
  @manifest_name = manifest_name
  Jsii::Type.check_type(@manifest_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "manifestName")
  @child_manifest_name = child_manifest_name
  Jsii::Type.check_type(@child_manifest_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "childManifestName") unless @child_manifest_name.nil?
  @filter_configuration = filter_configuration.is_a?(Hash) ? ::AWSCDK::MediaPackagev2::CfnOriginEndpoint::FilterConfigurationProperty.new(**filter_configuration.transform_keys(&:to_sym)) : filter_configuration
  Jsii::Type.check_type(@filter_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2V2Mi5DZm5PcmlnaW5FbmRwb2ludC5GaWx0ZXJDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "filterConfiguration") unless @filter_configuration.nil?
  @manifest_window_seconds = manifest_window_seconds
  Jsii::Type.check_type(@manifest_window_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "manifestWindowSeconds") unless @manifest_window_seconds.nil?
  @program_date_time_interval_seconds = program_date_time_interval_seconds
  Jsii::Type.check_type(@program_date_time_interval_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "programDateTimeIntervalSeconds") unless @program_date_time_interval_seconds.nil?
  @scte_hls = scte_hls.is_a?(Hash) ? ::AWSCDK::MediaPackagev2::CfnOriginEndpoint::ScteHlsProperty.new(**scte_hls.transform_keys(&:to_sym)) : scte_hls
  Jsii::Type.check_type(@scte_hls, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2V2Mi5DZm5PcmlnaW5FbmRwb2ludC5TY3RlSGxzUHJvcGVydHkifV19fQ==")), "scteHls") unless @scte_hls.nil?
  @start_tag = start_tag.is_a?(Hash) ? ::AWSCDK::MediaPackagev2::CfnOriginEndpoint::StartTagProperty.new(**start_tag.transform_keys(&:to_sym)) : start_tag
  Jsii::Type.check_type(@start_tag, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2V2Mi5DZm5PcmlnaW5FbmRwb2ludC5TdGFydFRhZ1Byb3BlcnR5In1dfX0=")), "startTag") unless @start_tag.nil?
  @uri_path_type = uri_path_type
  Jsii::Type.check_type(@uri_path_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "uriPathType") unless @uri_path_type.nil?
  @url = url
  Jsii::Type.check_type(@url, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "url") unless @url.nil?
  @url_encode_child_manifest = url_encode_child_manifest
  Jsii::Type.check_type(@url_encode_child_manifest, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "urlEncodeChildManifest") unless @url_encode_child_manifest.nil?
end

Instance Attribute Details

#child_manifest_nameString? (readonly)

The name of the child manifest associated with the low-latency HLS (LL-HLS) manifest configuration of the origin endpoint.



1906
1907
1908
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1906

def child_manifest_name
  @child_manifest_name
end

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

Filter configuration includes settings for manifest filtering, start and end times, and time delay that apply to all of your egress requests for this manifest.



1911
1912
1913
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1911

def filter_configuration
  @filter_configuration
end

#manifest_nameString (readonly)

A short string that's appended to the endpoint URL.

The manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default manifest name, index . MediaPackage automatically inserts the format extension, such as .m3u8 . You can't use the same manifest name if you use HLS manifest and low-latency HLS manifest. The manifest_name on the HLSManifest object overrides the manifest_name you provided on the origin_endpoint object.



1901
1902
1903
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1901

def manifest_name
  @manifest_name
end

#manifest_window_secondsNumeric? (readonly)

The total duration (in seconds) of the manifest's content.



1916
1917
1918
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1916

def manifest_window_seconds
  @manifest_window_seconds
end

#program_date_time_interval_secondsNumeric? (readonly)

Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify.

If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags aren't included in the manifest. The tags sync the stream to the wall clock so that viewers can seek to a specific time in the playback timeline on the player.

Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, MediaPackage passes through that metadata to the HLS output.



1925
1926
1927
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1925

def program_date_time_interval_seconds
  @program_date_time_interval_seconds
end

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

The SCTE-35 HLS configuration associated with the low-latency HLS (LL-HLS) manifest configuration of the origin endpoint.



1930
1931
1932
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1930

def scte_hls
  @scte_hls
end

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

To insert an EXT-X-START tag in your HLS playlist, specify a StartTag configuration object with a valid TimeOffset.

When you do, you can also optionally specify whether to include a PRECISE value in the EXT-X-START tag.



1937
1938
1939
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1937

def start_tag
  @start_tag
end

#uri_path_typeString? (readonly)



1940
1941
1942
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1940

def uri_path_type
  @uri_path_type
end

#urlString? (readonly)

The URL of the low-latency HLS (LL-HLS) manifest configuration of the origin endpoint.



1945
1946
1947
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1945

def url
  @url
end

#url_encode_child_manifestBoolean, ... (readonly)

When enabled, MediaPackage URL-encodes the query string for API requests for LL-HLS child manifests to comply with AWS Signature Version 4 (SigV4) signature signing protocol.

For more information, see AWS Signature Version 4 for API requests in AWS Identity and Access Management User Guide .



1952
1953
1954
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1952

def url_encode_child_manifest
  @url_encode_child_manifest
end

Class Method Details

.jsii_propertiesObject



1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1954

def self.jsii_properties
  {
    :manifest_name => "manifestName",
    :child_manifest_name => "childManifestName",
    :filter_configuration => "filterConfiguration",
    :manifest_window_seconds => "manifestWindowSeconds",
    :program_date_time_interval_seconds => "programDateTimeIntervalSeconds",
    :scte_hls => "scteHls",
    :start_tag => "startTag",
    :uri_path_type => "uriPathType",
    :url => "url",
    :url_encode_child_manifest => "urlEncodeChildManifest",
  }
end

Instance Method Details

#to_jsiiObject



1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
# File 'media_packagev2/cfn_origin_endpoint.rb', line 1969

def to_jsii
  result = {}
  result.merge!({
    "manifestName" => @manifest_name,
    "childManifestName" => @child_manifest_name,
    "filterConfiguration" => @filter_configuration,
    "manifestWindowSeconds" => @manifest_window_seconds,
    "programDateTimeIntervalSeconds" => @program_date_time_interval_seconds,
    "scteHls" => @scte_hls,
    "startTag" => @start_tag,
    "uriPathType" => @uri_path_type,
    "url" => @url,
    "urlEncodeChildManifest" => @url_encode_child_manifest,
  })
  result.compact
end