Class: AWSCDK::MediaConnect::CfnFlow::VPCInterfaceProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::MediaConnect::CfnFlow::VPCInterfaceProperty
- Defined in:
- media_connect/cfn_flow.rb
Overview
The details of a VPC interface.
When configuring VPC interfaces for NDI outputs, keep in mind the following:
- VPC interfaces must be defined as nested attributes within the
AWS::MediaConnect::Flowresource, and not within the top-levelAWS::MediaConnect::FlowVpcInterfaceresource.- There's a maximum limit of three VPC interfaces for each flow. If you've already reached this limit, you can't update the flow to use a different VPC interface without first removing an existing one.
To update your VPC interfaces in this scenario, you must first remove the VPC interface that’s not being used. Next, add the new VPC interfaces. Lastly, update the
VpcInterfaceAdapterin theNDIConfigproperty. These changes must be performed as separate manual operations and cannot be done through a single template update.
Instance Attribute Summary collapse
-
#name ⇒ String
readonly
Immutable and has to be a unique against other VpcInterfaces in this Flow.
-
#network_interface_ids ⇒ Array<String>?
readonly
IDs of the network interfaces created in customer's account by MediaConnect .
-
#network_interface_type ⇒ String?
readonly
The type of network interface.
-
#role_arn ⇒ String
readonly
A role Arn MediaConnect can assume to create ENIs in your account.
-
#security_group_ids ⇒ Array<String>
readonly
Security Group IDs to be used on ENI.
-
#subnet_id ⇒ String
readonly
Subnet must be in the AZ of the Flow.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
Key-value pairs that can be used to tag this VPC interface.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(name:, role_arn:, security_group_ids:, subnet_id:, network_interface_ids: nil, network_interface_type: nil, tags: nil) ⇒ VPCInterfaceProperty
constructor
A new instance of VPCInterfaceProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(name:, role_arn:, security_group_ids:, subnet_id:, network_interface_ids: nil, network_interface_type: nil, tags: nil) ⇒ VPCInterfaceProperty
Returns a new instance of VPCInterfaceProperty.
2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 |
# File 'media_connect/cfn_flow.rb', line 2369 def initialize(name:, role_arn:, security_group_ids:, subnet_id:, network_interface_ids: nil, network_interface_type: nil, tags: nil) @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") @role_arn = role_arn Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn") @security_group_ids = security_group_ids Jsii::Type.check_type(@security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupIds") @subnet_id = subnet_id Jsii::Type.check_type(@subnet_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "subnetId") @network_interface_ids = network_interface_ids Jsii::Type.check_type(@network_interface_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "networkInterfaceIds") unless @network_interface_ids.nil? @network_interface_type = network_interface_type Jsii::Type.check_type(@network_interface_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "networkInterfaceType") unless @network_interface_type.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? end |
Instance Attribute Details
#name ⇒ String (readonly)
Immutable and has to be a unique against other VpcInterfaces in this Flow.
2390 2391 2392 |
# File 'media_connect/cfn_flow.rb', line 2390 def name @name end |
#network_interface_ids ⇒ Array<String>? (readonly)
IDs of the network interfaces created in customer's account by MediaConnect .
2410 2411 2412 |
# File 'media_connect/cfn_flow.rb', line 2410 def network_interface_ids @network_interface_ids end |
#network_interface_type ⇒ String? (readonly)
The type of network interface.
2415 2416 2417 |
# File 'media_connect/cfn_flow.rb', line 2415 def network_interface_type @network_interface_type end |
#role_arn ⇒ String (readonly)
A role Arn MediaConnect can assume to create ENIs in your account.
2395 2396 2397 |
# File 'media_connect/cfn_flow.rb', line 2395 def role_arn @role_arn end |
#security_group_ids ⇒ Array<String> (readonly)
Security Group IDs to be used on ENI.
2400 2401 2402 |
# File 'media_connect/cfn_flow.rb', line 2400 def security_group_ids @security_group_ids end |
#subnet_id ⇒ String (readonly)
Subnet must be in the AZ of the Flow.
2405 2406 2407 |
# File 'media_connect/cfn_flow.rb', line 2405 def subnet_id @subnet_id end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
Key-value pairs that can be used to tag this VPC interface.
2420 2421 2422 |
# File 'media_connect/cfn_flow.rb', line 2420 def @tags end |
Class Method Details
.jsii_properties ⇒ Object
2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 |
# File 'media_connect/cfn_flow.rb', line 2422 def self.jsii_properties { :name => "name", :role_arn => "roleArn", :security_group_ids => "securityGroupIds", :subnet_id => "subnetId", :network_interface_ids => "networkInterfaceIds", :network_interface_type => "networkInterfaceType", :tags => "tags", } end |
Instance Method Details
#to_jsii ⇒ Object
2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 |
# File 'media_connect/cfn_flow.rb', line 2434 def to_jsii result = {} result.merge!({ "name" => @name, "roleArn" => @role_arn, "securityGroupIds" => @security_group_ids, "subnetId" => @subnet_id, "networkInterfaceIds" => @network_interface_ids, "networkInterfaceType" => @network_interface_type, "tags" => @tags, }) result.compact end |