Class: AWSCDK::MediaConnect::CfnFlowProps

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

Overview

Properties for defining a CfnFlow.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, source:, availability_zone: nil, encoding_config: nil, flow_size: nil, maintenance: nil, media_streams: nil, ndi_config: nil, source_failover_config: nil, source_monitoring_config: nil, tags: nil, vpc_interfaces: nil) ⇒ CfnFlowProps

Returns a new instance of CfnFlowProps.

Parameters:



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'media_connect/cfn_flow_props.rb', line 21

def initialize(name:, source:, availability_zone: nil, encoding_config: nil, flow_size: nil, maintenance: nil, media_streams: nil, ndi_config: nil, source_failover_config: nil, source_monitoring_config: nil, tags: nil, vpc_interfaces: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @source = source.is_a?(Hash) ? ::AWSCDK::MediaConnect::CfnFlow::SourceProperty.new(**source.transform_keys(&:to_sym)) : source
  Jsii::Type.check_type(@source, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYWNvbm5lY3QuQ2ZuRmxvdy5Tb3VyY2VQcm9wZXJ0eSJ9XX19")), "source")
  @availability_zone = availability_zone
  Jsii::Type.check_type(@availability_zone, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "availabilityZone") unless @availability_zone.nil?
  @encoding_config = encoding_config.is_a?(Hash) ? ::AWSCDK::MediaConnect::CfnFlow::EncodingConfigProperty.new(**encoding_config.transform_keys(&:to_sym)) : encoding_config
  Jsii::Type.check_type(@encoding_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYWNvbm5lY3QuQ2ZuRmxvdy5FbmNvZGluZ0NvbmZpZ1Byb3BlcnR5In1dfX0=")), "encodingConfig") unless @encoding_config.nil?
  @flow_size = flow_size
  Jsii::Type.check_type(@flow_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "flowSize") unless @flow_size.nil?
  @maintenance = maintenance.is_a?(Hash) ? ::AWSCDK::MediaConnect::CfnFlow::MaintenanceProperty.new(**maintenance.transform_keys(&:to_sym)) : maintenance
  Jsii::Type.check_type(@maintenance, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYWNvbm5lY3QuQ2ZuRmxvdy5NYWludGVuYW5jZVByb3BlcnR5In1dfX0=")), "maintenance") unless @maintenance.nil?
  @media_streams = media_streams
  Jsii::Type.check_type(@media_streams, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbWVkaWFjb25uZWN0LkNmbkZsb3cuTWVkaWFTdHJlYW1Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "mediaStreams") unless @media_streams.nil?
  @ndi_config = ndi_config.is_a?(Hash) ? ::AWSCDK::MediaConnect::CfnFlow::NdiConfigProperty.new(**ndi_config.transform_keys(&:to_sym)) : ndi_config
  Jsii::Type.check_type(@ndi_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYWNvbm5lY3QuQ2ZuRmxvdy5OZGlDb25maWdQcm9wZXJ0eSJ9XX19")), "ndiConfig") unless @ndi_config.nil?
  @source_failover_config = source_failover_config.is_a?(Hash) ? ::AWSCDK::MediaConnect::CfnFlow::FailoverConfigProperty.new(**source_failover_config.transform_keys(&:to_sym)) : source_failover_config
  Jsii::Type.check_type(@source_failover_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYWNvbm5lY3QuQ2ZuRmxvdy5GYWlsb3ZlckNvbmZpZ1Byb3BlcnR5In1dfX0=")), "sourceFailoverConfig") unless @source_failover_config.nil?
  @source_monitoring_config = source_monitoring_config.is_a?(Hash) ? ::AWSCDK::MediaConnect::CfnFlow::SourceMonitoringConfigProperty.new(**source_monitoring_config.transform_keys(&:to_sym)) : source_monitoring_config
  Jsii::Type.check_type(@source_monitoring_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYWNvbm5lY3QuQ2ZuRmxvdy5Tb3VyY2VNb25pdG9yaW5nQ29uZmlnUHJvcGVydHkifV19fQ==")), "sourceMonitoringConfig") unless @source_monitoring_config.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_interfaces = vpc_interfaces
  Jsii::Type.check_type(@vpc_interfaces, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbWVkaWFjb25uZWN0LkNmbkZsb3cuVnBjSW50ZXJmYWNlUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "vpcInterfaces") unless @vpc_interfaces.nil?
end

Instance Attribute Details

#availability_zoneString? (readonly)

The Availability Zone that you want to create the flow in.

These options are limited to the Availability Zones within the current AWS Region.



64
65
66
# File 'media_connect/cfn_flow_props.rb', line 64

def availability_zone
  @availability_zone
end

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



67
68
69
# File 'media_connect/cfn_flow_props.rb', line 67

def encoding_config
  @encoding_config
end

#flow_sizeString? (readonly)

Determines the processing capacity and feature set of the flow.

Set this optional parameter to LARGE if you want to enable NDI outputs on the flow.



74
75
76
# File 'media_connect/cfn_flow_props.rb', line 74

def flow_size
  @flow_size
end

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

The maintenance settings you want to use for the flow.



79
80
81
# File 'media_connect/cfn_flow_props.rb', line 79

def maintenance
  @maintenance
end

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

The media streams that are associated with the flow.

After you associate a media stream with a source, you can also associate it with outputs on the flow.



86
87
88
# File 'media_connect/cfn_flow_props.rb', line 86

def media_streams
  @media_streams
end

#nameString (readonly)

The name of the flow.



52
53
54
# File 'media_connect/cfn_flow_props.rb', line 52

def name
  @name
end

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

Specifies the configuration settings for NDI outputs.

Required when the flow includes NDI outputs.



93
94
95
# File 'media_connect/cfn_flow_props.rb', line 93

def ndi_config
  @ndi_config
end

#sourceAWSCDK::IResolvable, AWSCDK::MediaConnect::CfnFlow::SourceProperty (readonly)

The settings for the source that you want to use for the new flow.



57
58
59
# File 'media_connect/cfn_flow_props.rb', line 57

def source
  @source
end

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

The settings for source failover.



98
99
100
# File 'media_connect/cfn_flow_props.rb', line 98

def source_failover_config
  @source_failover_config
end

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

The settings for source monitoring.



103
104
105
# File 'media_connect/cfn_flow_props.rb', line 103

def source_monitoring_config
  @source_monitoring_config
end

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

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



108
109
110
# File 'media_connect/cfn_flow_props.rb', line 108

def tags
  @tags
end

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

The VPC Interfaces for this flow.



113
114
115
# File 'media_connect/cfn_flow_props.rb', line 113

def vpc_interfaces
  @vpc_interfaces
end

Class Method Details

.jsii_propertiesObject



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'media_connect/cfn_flow_props.rb', line 115

def self.jsii_properties
  {
    :name => "name",
    :source => "source",
    :availability_zone => "availabilityZone",
    :encoding_config => "encodingConfig",
    :flow_size => "flowSize",
    :maintenance => "maintenance",
    :media_streams => "mediaStreams",
    :ndi_config => "ndiConfig",
    :source_failover_config => "sourceFailoverConfig",
    :source_monitoring_config => "sourceMonitoringConfig",
    :tags => "tags",
    :vpc_interfaces => "vpcInterfaces",
  }
end

Instance Method Details

#to_jsiiObject



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'media_connect/cfn_flow_props.rb', line 132

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "source" => @source,
    "availabilityZone" => @availability_zone,
    "encodingConfig" => @encoding_config,
    "flowSize" => @flow_size,
    "maintenance" => @maintenance,
    "mediaStreams" => @media_streams,
    "ndiConfig" => @ndi_config,
    "sourceFailoverConfig" => @source_failover_config,
    "sourceMonitoringConfig" => @source_monitoring_config,
    "tags" => @tags,
    "vpcInterfaces" => @vpc_interfaces,
  })
  result.compact
end