Class: AWSCDK::MediaConnect::CfnFlowVPCInterfaceProps

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

Overview

Properties for defining a CfnFlowVpcInterface.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(flow_arn:, name:, role_arn:, security_group_ids:, subnet_id:, tags: nil) ⇒ CfnFlowVPCInterfaceProps

Returns a new instance of CfnFlowVPCInterfaceProps.

Parameters:

  • flow_arn (String)

    The Amazon Resource Name (ARN) of the flow.

  • name (String)

    The name for the VPC interface.

  • role_arn (String)

    The Amazon Resource Name (ARN) of the role that you created when you set up MediaConnect as a trusted service.

  • security_group_ids (Array<String>)

    A virtual firewall to control inbound and outbound traffic.

  • subnet_id (String)

    The subnet IDs that you want to use for your VPC interface.

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

    Key-value pairs that can be used to tag and organize this VPC network interface.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'media_connect/cfn_flow_vpc_interface_props.rb', line 15

def initialize(flow_arn:, name:, role_arn:, security_group_ids:, subnet_id:, tags: nil)
  @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")
  @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")
  @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?
end

Instance Attribute Details

#flow_arnString (readonly)

The Amazon Resource Name (ARN) of the flow.



34
35
36
# File 'media_connect/cfn_flow_vpc_interface_props.rb', line 34

def flow_arn
  @flow_arn
end

#nameString (readonly)

The name for the VPC interface.

This name must be unique within the flow.



41
42
43
# File 'media_connect/cfn_flow_vpc_interface_props.rb', line 41

def name
  @name
end

#role_arnString (readonly)

The Amazon Resource Name (ARN) of the role that you created when you set up MediaConnect as a trusted service.



46
47
48
# File 'media_connect/cfn_flow_vpc_interface_props.rb', line 46

def role_arn
  @role_arn
end

#security_group_idsArray<String> (readonly)

A virtual firewall to control inbound and outbound traffic.



51
52
53
# File 'media_connect/cfn_flow_vpc_interface_props.rb', line 51

def security_group_ids
  @security_group_ids
end

#subnet_idString (readonly)

The subnet IDs that you want to use for your VPC interface.

A range of IP addresses in your VPC. When you create your VPC, you specify a range of IPv4 addresses for the VPC in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. This is the primary CIDR block for your VPC. When you create a subnet for your VPC, you specify the CIDR block for the subnet, which is a subset of the VPC CIDR block. The subnets that you use across all VPC interfaces on the flow must be in the same Availability Zone as the flow.



58
59
60
# File 'media_connect/cfn_flow_vpc_interface_props.rb', line 58

def subnet_id
  @subnet_id
end

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

Key-value pairs that can be used to tag and organize this VPC network interface.



63
64
65
# File 'media_connect/cfn_flow_vpc_interface_props.rb', line 63

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



65
66
67
68
69
70
71
72
73
74
# File 'media_connect/cfn_flow_vpc_interface_props.rb', line 65

def self.jsii_properties
  {
    :flow_arn => "flowArn",
    :name => "name",
    :role_arn => "roleArn",
    :security_group_ids => "securityGroupIds",
    :subnet_id => "subnetId",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



76
77
78
79
80
81
82
83
84
85
86
87
# File 'media_connect/cfn_flow_vpc_interface_props.rb', line 76

def to_jsii
  result = {}
  result.merge!({
    "flowArn" => @flow_arn,
    "name" => @name,
    "roleArn" => @role_arn,
    "securityGroupIds" => @security_group_ids,
    "subnetId" => @subnet_id,
    "tags" => @tags,
  })
  result.compact
end