Class: AWSCDK::MediaPackage::CfnOriginEndpointProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
media_package/cfn_origin_endpoint_props.rb

Overview

Properties for defining a CfnOriginEndpoint.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(channel_id:, id:, authorization: nil, cmaf_package: nil, dash_package: nil, description: nil, hls_package: nil, manifest_name: nil, mss_package: nil, origination: nil, startover_window_seconds: nil, tags: nil, time_delay_seconds: nil, whitelist: nil) ⇒ CfnOriginEndpointProps

Returns a new instance of CfnOriginEndpointProps.

Parameters:



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'media_package/cfn_origin_endpoint_props.rb', line 23

def initialize(channel_id:, id:, authorization: nil, cmaf_package: nil, dash_package: nil, description: nil, hls_package: nil, manifest_name: nil, mss_package: nil, origination: nil, startover_window_seconds: nil, tags: nil, time_delay_seconds: nil, whitelist: nil)
  @channel_id = channel_id
  Jsii::Type.check_type(@channel_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "channelId")
  @id = id
  Jsii::Type.check_type(@id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  @authorization = authorization.is_a?(Hash) ? ::AWSCDK::MediaPackage::CfnOriginEndpoint::AuthorizationProperty.new(**authorization.transform_keys(&:to_sym)) : authorization
  Jsii::Type.check_type(@authorization, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2UuQ2ZuT3JpZ2luRW5kcG9pbnQuQXV0aG9yaXphdGlvblByb3BlcnR5In1dfX0=")), "authorization") unless @authorization.nil?
  @cmaf_package = cmaf_package.is_a?(Hash) ? ::AWSCDK::MediaPackage::CfnOriginEndpoint::CmafPackageProperty.new(**cmaf_package.transform_keys(&:to_sym)) : cmaf_package
  Jsii::Type.check_type(@cmaf_package, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2UuQ2ZuT3JpZ2luRW5kcG9pbnQuQ21hZlBhY2thZ2VQcm9wZXJ0eSJ9XX19")), "cmafPackage") unless @cmaf_package.nil?
  @dash_package = dash_package.is_a?(Hash) ? ::AWSCDK::MediaPackage::CfnOriginEndpoint::DashPackageProperty.new(**dash_package.transform_keys(&:to_sym)) : dash_package
  Jsii::Type.check_type(@dash_package, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2UuQ2ZuT3JpZ2luRW5kcG9pbnQuRGFzaFBhY2thZ2VQcm9wZXJ0eSJ9XX19")), "dashPackage") unless @dash_package.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @hls_package = hls_package.is_a?(Hash) ? ::AWSCDK::MediaPackage::CfnOriginEndpoint::HlsPackageProperty.new(**hls_package.transform_keys(&:to_sym)) : hls_package
  Jsii::Type.check_type(@hls_package, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2UuQ2ZuT3JpZ2luRW5kcG9pbnQuSGxzUGFja2FnZVByb3BlcnR5In1dfX0=")), "hlsPackage") unless @hls_package.nil?
  @manifest_name = manifest_name
  Jsii::Type.check_type(@manifest_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "manifestName") unless @manifest_name.nil?
  @mss_package = mss_package.is_a?(Hash) ? ::AWSCDK::MediaPackage::CfnOriginEndpoint::MssPackageProperty.new(**mss_package.transform_keys(&:to_sym)) : mss_package
  Jsii::Type.check_type(@mss_package, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2UuQ2ZuT3JpZ2luRW5kcG9pbnQuTXNzUGFja2FnZVByb3BlcnR5In1dfX0=")), "mssPackage") unless @mss_package.nil?
  @origination = origination
  Jsii::Type.check_type(@origination, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "origination") unless @origination.nil?
  @startover_window_seconds = startover_window_seconds
  Jsii::Type.check_type(@startover_window_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "startoverWindowSeconds") unless @startover_window_seconds.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?
  @time_delay_seconds = time_delay_seconds
  Jsii::Type.check_type(@time_delay_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "timeDelaySeconds") unless @time_delay_seconds.nil?
  @whitelist = whitelist
  Jsii::Type.check_type(@whitelist, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "whitelist") unless @whitelist.nil?
end

Instance Attribute Details

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

Parameters for CDN authorization.



70
71
72
# File 'media_package/cfn_origin_endpoint_props.rb', line 70

def authorization
  @authorization
end

#channel_idString (readonly)

The ID of the channel associated with this endpoint.



58
59
60
# File 'media_package/cfn_origin_endpoint_props.rb', line 58

def channel_id
  @channel_id
end

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

Parameters for Common Media Application Format (CMAF) packaging.



75
76
77
# File 'media_package/cfn_origin_endpoint_props.rb', line 75

def cmaf_package
  @cmaf_package
end

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

Parameters for DASH packaging.



80
81
82
# File 'media_package/cfn_origin_endpoint_props.rb', line 80

def dash_package
  @dash_package
end

#descriptionString? (readonly)

Any descriptive information that you want to add to the endpoint for future identification purposes.



85
86
87
# File 'media_package/cfn_origin_endpoint_props.rb', line 85

def description
  @description
end

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

Parameters for Apple HLS packaging.



90
91
92
# File 'media_package/cfn_origin_endpoint_props.rb', line 90

def hls_package
  @hls_package
end

#idString (readonly)

The manifest ID is required and must be unique within the OriginEndpoint.

The ID can't be changed after the endpoint is created.



65
66
67
# File 'media_package/cfn_origin_endpoint_props.rb', line 65

def id
  @id
end

#manifest_nameString? (readonly)

A short string that's appended to the end of the endpoint URL to create a unique path to this endpoint.



95
96
97
# File 'media_package/cfn_origin_endpoint_props.rb', line 95

def manifest_name
  @manifest_name
end

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

Parameters for Microsoft Smooth Streaming packaging.



100
101
102
# File 'media_package/cfn_origin_endpoint_props.rb', line 100

def mss_package
  @mss_package
end

#originationString? (readonly)

Controls video origination from this endpoint.

Valid values:

  • ALLOW - enables this endpoint to serve content to requesting devices.
  • DENY - prevents this endpoint from serving content. Denying origination is helpful for harvesting live-to-VOD assets. For more information about harvesting and origination, see Live-to-VOD Requirements .


110
111
112
# File 'media_package/cfn_origin_endpoint_props.rb', line 110

def origination
  @origination
end

#startover_window_secondsNumeric? (readonly)

Maximum duration (seconds) of content to retain for startover playback.

Omit this attribute or enter 0 to indicate that startover playback is disabled for this endpoint.



117
118
119
# File 'media_package/cfn_origin_endpoint_props.rb', line 117

def startover_window_seconds
  @startover_window_seconds
end

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

The tags to assign to the endpoint.



122
123
124
# File 'media_package/cfn_origin_endpoint_props.rb', line 122

def tags
  @tags
end

#time_delay_secondsNumeric? (readonly)

Minimum duration (seconds) of delay to enforce on the playback of live content.

Omit this attribute or enter 0 to indicate that there is no time delay in effect for this endpoint.



129
130
131
# File 'media_package/cfn_origin_endpoint_props.rb', line 129

def time_delay_seconds
  @time_delay_seconds
end

#whitelistArray<String>? (readonly)

The IP addresses that can access this endpoint.



134
135
136
# File 'media_package/cfn_origin_endpoint_props.rb', line 134

def whitelist
  @whitelist
end

Class Method Details

.jsii_propertiesObject



136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# File 'media_package/cfn_origin_endpoint_props.rb', line 136

def self.jsii_properties
  {
    :channel_id => "channelId",
    :id => "id",
    :authorization => "authorization",
    :cmaf_package => "cmafPackage",
    :dash_package => "dashPackage",
    :description => "description",
    :hls_package => "hlsPackage",
    :manifest_name => "manifestName",
    :mss_package => "mssPackage",
    :origination => "origination",
    :startover_window_seconds => "startoverWindowSeconds",
    :tags => "tags",
    :time_delay_seconds => "timeDelaySeconds",
    :whitelist => "whitelist",
  }
end

Instance Method Details

#to_jsiiObject



155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
# File 'media_package/cfn_origin_endpoint_props.rb', line 155

def to_jsii
  result = {}
  result.merge!({
    "channelId" => @channel_id,
    "id" => @id,
    "authorization" => @authorization,
    "cmafPackage" => @cmaf_package,
    "dashPackage" => @dash_package,
    "description" => @description,
    "hlsPackage" => @hls_package,
    "manifestName" => @manifest_name,
    "mssPackage" => @mss_package,
    "origination" => @origination,
    "startoverWindowSeconds" => @startover_window_seconds,
    "tags" => @tags,
    "timeDelaySeconds" => @time_delay_seconds,
    "whitelist" => @whitelist,
  })
  result.compact
end