Class: AWSCDK::MediaConnect::CfnFlowSourceProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
media_connect/cfn_flow_source_props.rb

Overview

Properties for defining a CfnFlowSource.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(description:, flow_arn:, name:, decryption: nil, entitlement_arn: nil, gateway_bridge_source: nil, ingest_port: nil, max_bitrate: nil, max_latency: nil, min_latency: nil, protocol: nil, sender_control_port: nil, sender_ip_address: nil, source_listener_address: nil, source_listener_port: nil, stream_id: nil, tags: nil, vpc_interface_name: nil, whitelist_cidr: nil) ⇒ CfnFlowSourceProps

Returns a new instance of CfnFlowSourceProps.

Parameters:

  • description (String)

    A description for the source.

  • flow_arn (String)

    The Amazon Resource Name (ARN) of the flow this source is connected to.

  • name (String)

    The name of the source.

  • decryption (AWSCDK::IResolvable, AWSCDK::MediaConnect::CfnFlowSource::EncryptionProperty, nil) (defaults to: nil)

    The type of encryption that is used on the content ingested from this source.

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

    The ARN of the entitlement that allows you to subscribe to this flow.

  • gateway_bridge_source (AWSCDK::IResolvable, AWSCDK::MediaConnect::CfnFlowSource::GatewayBridgeSourceProperty, nil) (defaults to: nil)

    The bridge's source.

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

    The port that the flow listens on for incoming content.

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

    The smoothing max bitrate (in bps) for RIST, RTP, and RTP-FEC streams.

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

    The maximum latency in milliseconds.

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

    The minimum latency in milliseconds for SRT-based streams.

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

    The protocol that the source uses to deliver the content to MediaConnect.

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

    The port that the flow uses to send outbound requests to initiate connection with the sender.

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

    The IP address that the flow communicates with to initiate connection with the sender.

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

    Source IP or domain name for SRT-caller protocol.

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

    Source port for SRT-caller protocol.

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

    The stream ID that you want to use for this transport.

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

    Key-value pairs that can be used to tag and organize this flow source.

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

    The name of the VPC interface to use for this source.

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

    The range of IP addresses that should be allowed to contribute content to your source.



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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'media_connect/cfn_flow_source_props.rb', line 28

def initialize(description:, flow_arn:, name:, decryption: nil, entitlement_arn: nil, gateway_bridge_source: nil, ingest_port: nil, max_bitrate: nil, max_latency: nil, min_latency: nil, protocol: nil, sender_control_port: nil, sender_ip_address: nil, source_listener_address: nil, source_listener_port: nil, stream_id: nil, tags: nil, vpc_interface_name: nil, whitelist_cidr: nil)
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description")
  @flow_arn = flow_arn
  Jsii::Type.check_type(@flow_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "flowArn")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @decryption = decryption.is_a?(Hash) ? ::AWSCDK::MediaConnect::CfnFlowSource::EncryptionProperty.new(**decryption.transform_keys(&:to_sym)) : decryption
  Jsii::Type.check_type(@decryption, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYWNvbm5lY3QuQ2ZuRmxvd1NvdXJjZS5FbmNyeXB0aW9uUHJvcGVydHkifV19fQ==")), "decryption") unless @decryption.nil?
  @entitlement_arn = entitlement_arn
  Jsii::Type.check_type(@entitlement_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "entitlementArn") unless @entitlement_arn.nil?
  @gateway_bridge_source = gateway_bridge_source.is_a?(Hash) ? ::AWSCDK::MediaConnect::CfnFlowSource::GatewayBridgeSourceProperty.new(**gateway_bridge_source.transform_keys(&:to_sym)) : gateway_bridge_source
  Jsii::Type.check_type(@gateway_bridge_source, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYWNvbm5lY3QuQ2ZuRmxvd1NvdXJjZS5HYXRld2F5QnJpZGdlU291cmNlUHJvcGVydHkifV19fQ==")), "gatewayBridgeSource") unless @gateway_bridge_source.nil?
  @ingest_port = ingest_port
  Jsii::Type.check_type(@ingest_port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "ingestPort") unless @ingest_port.nil?
  @max_bitrate = max_bitrate
  Jsii::Type.check_type(@max_bitrate, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxBitrate") unless @max_bitrate.nil?
  @max_latency = max_latency
  Jsii::Type.check_type(@max_latency, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxLatency") unless @max_latency.nil?
  @min_latency = min_latency
  Jsii::Type.check_type(@min_latency, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minLatency") unless @min_latency.nil?
  @protocol = protocol
  Jsii::Type.check_type(@protocol, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "protocol") unless @protocol.nil?
  @sender_control_port = sender_control_port
  Jsii::Type.check_type(@sender_control_port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "senderControlPort") unless @sender_control_port.nil?
  @sender_ip_address = sender_ip_address
  Jsii::Type.check_type(@sender_ip_address, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "senderIpAddress") unless @sender_ip_address.nil?
  @source_listener_address = source_listener_address
  Jsii::Type.check_type(@source_listener_address, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sourceListenerAddress") unless @source_listener_address.nil?
  @source_listener_port = source_listener_port
  Jsii::Type.check_type(@source_listener_port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "sourceListenerPort") unless @source_listener_port.nil?
  @stream_id = stream_id
  Jsii::Type.check_type(@stream_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "streamId") unless @stream_id.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?
  @vpc_interface_name = vpc_interface_name
  Jsii::Type.check_type(@vpc_interface_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpcInterfaceName") unless @vpc_interface_name.nil?
  @whitelist_cidr = whitelist_cidr
  Jsii::Type.check_type(@whitelist_cidr, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "whitelistCidr") unless @whitelist_cidr.nil?
end

Instance Attribute Details

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

The type of encryption that is used on the content ingested from this source.

Allowable encryption types: static-key.



94
95
96
# File 'media_connect/cfn_flow_source_props.rb', line 94

def decryption
  @decryption
end

#descriptionString (readonly)

A description for the source.

This value is not used or seen outside of the current MediaConnect account.



75
76
77
# File 'media_connect/cfn_flow_source_props.rb', line 75

def description
  @description
end

#entitlement_arnString? (readonly)

Deprecated.

this property has been deprecated

The ARN of the entitlement that allows you to subscribe to this flow.

The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow.



102
103
104
# File 'media_connect/cfn_flow_source_props.rb', line 102

def entitlement_arn
  @entitlement_arn
end

#flow_arnString (readonly)

The Amazon Resource Name (ARN) of the flow this source is connected to.

The flow must have Failover enabled to add an additional source.



82
83
84
# File 'media_connect/cfn_flow_source_props.rb', line 82

def flow_arn
  @flow_arn
end

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

The bridge's source.



107
108
109
# File 'media_connect/cfn_flow_source_props.rb', line 107

def gateway_bridge_source
  @gateway_bridge_source
end

#ingest_portNumeric? (readonly)

The port that the flow listens on for incoming content.

If the protocol of the source is Zixi, the port must be set to 2088.



114
115
116
# File 'media_connect/cfn_flow_source_props.rb', line 114

def ingest_port
  @ingest_port
end

#max_bitrateNumeric? (readonly)

The smoothing max bitrate (in bps) for RIST, RTP, and RTP-FEC streams.



119
120
121
# File 'media_connect/cfn_flow_source_props.rb', line 119

def max_bitrate
  @max_bitrate
end

#max_latencyNumeric? (readonly)

The maximum latency in milliseconds.

This parameter applies only to RIST-based and Zixi-based streams.



126
127
128
# File 'media_connect/cfn_flow_source_props.rb', line 126

def max_latency
  @max_latency
end

#min_latencyNumeric? (readonly)

The minimum latency in milliseconds for SRT-based streams.

In streams that use the SRT protocol, this value that you set on your MediaConnect source or output represents the minimal potential latency of that connection. The latency of the stream is set to the highest number between the sender’s minimum latency and the receiver’s minimum latency.



133
134
135
# File 'media_connect/cfn_flow_source_props.rb', line 133

def min_latency
  @min_latency
end

#nameString (readonly)

The name of the source.



87
88
89
# File 'media_connect/cfn_flow_source_props.rb', line 87

def name
  @name
end

#protocolString? (readonly)

The protocol that the source uses to deliver the content to MediaConnect.

Adding additional sources to an existing flow requires Failover to be enabled. When you enable Failover, the additional source must use the same protocol as the existing source. Only the following protocols support failover: Zixi-push, RTP-FEC, RTP, RIST and SRT protocols.

If you use failover with SRT caller or listener, the FailoverMode property must be set to FAILOVER . The FailoverMode property is found in the FailoverConfig resource of the same flow ARN you used for the source's FlowArn property. SRT caller/listener does not support merge mode failover.



142
143
144
# File 'media_connect/cfn_flow_source_props.rb', line 142

def protocol
  @protocol
end

#sender_control_portNumeric? (readonly)

Deprecated.

this property has been deprecated

The port that the flow uses to send outbound requests to initiate connection with the sender.



148
149
150
# File 'media_connect/cfn_flow_source_props.rb', line 148

def sender_control_port
  @sender_control_port
end

#sender_ip_addressString? (readonly)

Deprecated.

this property has been deprecated

The IP address that the flow communicates with to initiate connection with the sender.



154
155
156
# File 'media_connect/cfn_flow_source_props.rb', line 154

def sender_ip_address
  @sender_ip_address
end

#source_listener_addressString? (readonly)

Source IP or domain name for SRT-caller protocol.



159
160
161
# File 'media_connect/cfn_flow_source_props.rb', line 159

def source_listener_address
  @source_listener_address
end

#source_listener_portNumeric? (readonly)

Source port for SRT-caller protocol.



164
165
166
# File 'media_connect/cfn_flow_source_props.rb', line 164

def source_listener_port
  @source_listener_port
end

#stream_idString? (readonly)

The stream ID that you want to use for this transport.

This parameter applies only to Zixi and SRT caller-based streams.



171
172
173
# File 'media_connect/cfn_flow_source_props.rb', line 171

def stream_id
  @stream_id
end

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

Key-value pairs that can be used to tag and organize this flow source.



176
177
178
# File 'media_connect/cfn_flow_source_props.rb', line 176

def tags
  @tags
end

#vpc_interface_nameString? (readonly)

The name of the VPC interface to use for this source.



181
182
183
# File 'media_connect/cfn_flow_source_props.rb', line 181

def vpc_interface_name
  @vpc_interface_name
end

#whitelist_cidrString? (readonly)

The range of IP addresses that should be allowed to contribute content to your source.

These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.



188
189
190
# File 'media_connect/cfn_flow_source_props.rb', line 188

def whitelist_cidr
  @whitelist_cidr
end

Class Method Details

.jsii_propertiesObject



190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
# File 'media_connect/cfn_flow_source_props.rb', line 190

def self.jsii_properties
  {
    :description => "description",
    :flow_arn => "flowArn",
    :name => "name",
    :decryption => "decryption",
    :entitlement_arn => "entitlementArn",
    :gateway_bridge_source => "gatewayBridgeSource",
    :ingest_port => "ingestPort",
    :max_bitrate => "maxBitrate",
    :max_latency => "maxLatency",
    :min_latency => "minLatency",
    :protocol => "protocol",
    :sender_control_port => "senderControlPort",
    :sender_ip_address => "senderIpAddress",
    :source_listener_address => "sourceListenerAddress",
    :source_listener_port => "sourceListenerPort",
    :stream_id => "streamId",
    :tags => "tags",
    :vpc_interface_name => "vpcInterfaceName",
    :whitelist_cidr => "whitelistCidr",
  }
end

Instance Method Details

#to_jsiiObject



214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
# File 'media_connect/cfn_flow_source_props.rb', line 214

def to_jsii
  result = {}
  result.merge!({
    "description" => @description,
    "flowArn" => @flow_arn,
    "name" => @name,
    "decryption" => @decryption,
    "entitlementArn" => @entitlement_arn,
    "gatewayBridgeSource" => @gateway_bridge_source,
    "ingestPort" => @ingest_port,
    "maxBitrate" => @max_bitrate,
    "maxLatency" => @max_latency,
    "minLatency" => @min_latency,
    "protocol" => @protocol,
    "senderControlPort" => @sender_control_port,
    "senderIpAddress" => @sender_ip_address,
    "sourceListenerAddress" => @source_listener_address,
    "sourceListenerPort" => @source_listener_port,
    "streamId" => @stream_id,
    "tags" => @tags,
    "vpcInterfaceName" => @vpc_interface_name,
    "whitelistCidr" => @whitelist_cidr,
  })
  result.compact
end