Class: AWSCDK::Directconnect::CfnPublicVirtualInterfaceProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
directconnect/cfn_public_virtual_interface_props.rb

Overview

Properties for defining a CfnPublicVirtualInterface.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bgp_peers:, connection_id:, virtual_interface_name:, vlan:, allocate_public_virtual_interface_role_arn: nil, route_filter_prefixes: nil, tags: nil) ⇒ CfnPublicVirtualInterfaceProps

Returns a new instance of CfnPublicVirtualInterfaceProps.

Parameters:



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'directconnect/cfn_public_virtual_interface_props.rb', line 16

def initialize(bgp_peers:, connection_id:, virtual_interface_name:, vlan:, allocate_public_virtual_interface_role_arn: nil, route_filter_prefixes: nil, tags: nil)
  @bgp_peers = bgp_peers
  Jsii::Type.check_type(@bgp_peers, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZGlyZWN0Y29ubmVjdC5DZm5QdWJsaWNWaXJ0dWFsSW50ZXJmYWNlLkJncFBlZXJQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "bgpPeers")
  @connection_id = connection_id
  Jsii::Type.check_type(@connection_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19kaXJlY3Rjb25uZWN0LklDb25uZWN0aW9uUmVmIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19kaXJlY3Rjb25uZWN0LklMYWdSZWYifV19fQ==")), "connectionId")
  @virtual_interface_name = virtual_interface_name
  Jsii::Type.check_type(@virtual_interface_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "virtualInterfaceName")
  @vlan = vlan
  Jsii::Type.check_type(@vlan, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "vlan")
  @allocate_public_virtual_interface_role_arn = allocate_public_virtual_interface_role_arn
  Jsii::Type.check_type(@allocate_public_virtual_interface_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "allocatePublicVirtualInterfaceRoleArn") unless @allocate_public_virtual_interface_role_arn.nil?
  @route_filter_prefixes = route_filter_prefixes
  Jsii::Type.check_type(@route_filter_prefixes, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "routeFilterPrefixes") unless @route_filter_prefixes.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?
end

Instance Attribute Details

#allocate_public_virtual_interface_role_arnString? (readonly)

The Amazon Resource Name (ARN) of the role to allocate the public virtual interface.

Needs directconnect:AllocatePublicVirtualInterface permissions and tag permissions if applicable.



59
60
61
# File 'directconnect/cfn_public_virtual_interface_props.rb', line 59

def allocate_public_virtual_interface_role_arn
  @allocate_public_virtual_interface_role_arn
end

#connection_idString, ... (readonly)



40
41
42
# File 'directconnect/cfn_public_virtual_interface_props.rb', line 40

def connection_id
  @connection_id
end

#route_filter_prefixesArray<String>? (readonly)

The routes to be advertised to the AWS network in this region.



64
65
66
# File 'directconnect/cfn_public_virtual_interface_props.rb', line 64

def route_filter_prefixes
  @route_filter_prefixes
end

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

The tags associated with the public virtual interface.



69
70
71
# File 'directconnect/cfn_public_virtual_interface_props.rb', line 69

def tags
  @tags
end

#virtual_interface_nameString (readonly)

The name of the virtual interface assigned by the customer network.

The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).



47
48
49
# File 'directconnect/cfn_public_virtual_interface_props.rb', line 47

def virtual_interface_name
  @virtual_interface_name
end

#vlanNumeric (readonly)

The ID of the VLAN.



52
53
54
# File 'directconnect/cfn_public_virtual_interface_props.rb', line 52

def vlan
  @vlan
end

Class Method Details

.jsii_propertiesObject



71
72
73
74
75
76
77
78
79
80
81
# File 'directconnect/cfn_public_virtual_interface_props.rb', line 71

def self.jsii_properties
  {
    :bgp_peers => "bgpPeers",
    :connection_id => "connectionId",
    :virtual_interface_name => "virtualInterfaceName",
    :vlan => "vlan",
    :allocate_public_virtual_interface_role_arn => "allocatePublicVirtualInterfaceRoleArn",
    :route_filter_prefixes => "routeFilterPrefixes",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'directconnect/cfn_public_virtual_interface_props.rb', line 83

def to_jsii
  result = {}
  result.merge!({
    "bgpPeers" => @bgp_peers,
    "connectionId" => @connection_id,
    "virtualInterfaceName" => @virtual_interface_name,
    "vlan" => @vlan,
    "allocatePublicVirtualInterfaceRoleArn" => @allocate_public_virtual_interface_role_arn,
    "routeFilterPrefixes" => @route_filter_prefixes,
    "tags" => @tags,
  })
  result.compact
end