Class: AWSCDK::Lambda::CfnNetworkConnector::VPCEgressConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
lambda/cfn_network_connector.rb

Overview

The VPC egress configuration for the network connector.

Specifies the subnets, security groups, and network protocol for routing outbound traffic through your VPC.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(associated_compute_resource_types:, subnet_ids:, network_protocol: nil, security_group_ids: nil) ⇒ VPCEgressConfigurationProperty

Returns a new instance of VPCEgressConfigurationProperty.

Parameters:

  • associated_compute_resource_types (Array<String>)

    The types of Lambda compute resources that can use this connector.

  • subnet_ids (Array<String>)

    The IDs of the VPC subnets where Lambda provisions elastic network interfaces (ENIs).

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

    The network protocol for the connector.

  • security_group_ids (Array<String>, nil) (defaults to: nil)

    The IDs of the VPC security groups to attach to the ENIs.



607
608
609
610
611
612
613
614
615
616
# File 'lambda/cfn_network_connector.rb', line 607

def initialize(associated_compute_resource_types:, subnet_ids:, network_protocol: nil, security_group_ids: nil)
  @associated_compute_resource_types = associated_compute_resource_types
  Jsii::Type.check_type(@associated_compute_resource_types, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "associatedComputeResourceTypes")
  @subnet_ids = subnet_ids
  Jsii::Type.check_type(@subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "subnetIds")
  @network_protocol = network_protocol
  Jsii::Type.check_type(@network_protocol, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "networkProtocol") unless @network_protocol.nil?
  @security_group_ids = security_group_ids
  Jsii::Type.check_type(@security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupIds") unless @security_group_ids.nil?
end

Instance Attribute Details

#associated_compute_resource_typesArray<String> (readonly)

The types of Lambda compute resources that can use this connector.

Currently, only MicroVm is supported.



624
625
626
# File 'lambda/cfn_network_connector.rb', line 624

def associated_compute_resource_types
  @associated_compute_resource_types
end

#network_protocolString? (readonly)

The network protocol for the connector.

Specify IPv4 for IPv4-only networking, or DualStack for both IPv4 and IPv6.



638
639
640
# File 'lambda/cfn_network_connector.rb', line 638

def network_protocol
  @network_protocol
end

#security_group_idsArray<String>? (readonly)

The IDs of the VPC security groups to attach to the ENIs.

Specify 0 to 5 security groups. All security groups must be in the same VPC as the subnets.



645
646
647
# File 'lambda/cfn_network_connector.rb', line 645

def security_group_ids
  @security_group_ids
end

#subnet_idsArray<String> (readonly)

The IDs of the VPC subnets where Lambda provisions elastic network interfaces (ENIs).

Specify 1 to 16 subnets. All subnets must be in the same VPC.



631
632
633
# File 'lambda/cfn_network_connector.rb', line 631

def subnet_ids
  @subnet_ids
end

Class Method Details

.jsii_propertiesObject



647
648
649
650
651
652
653
654
# File 'lambda/cfn_network_connector.rb', line 647

def self.jsii_properties
  {
    :associated_compute_resource_types => "associatedComputeResourceTypes",
    :subnet_ids => "subnetIds",
    :network_protocol => "networkProtocol",
    :security_group_ids => "securityGroupIds",
  }
end

Instance Method Details

#to_jsiiObject



656
657
658
659
660
661
662
663
664
665
# File 'lambda/cfn_network_connector.rb', line 656

def to_jsii
  result = {}
  result.merge!({
    "associatedComputeResourceTypes" => @associated_compute_resource_types,
    "subnetIds" => @subnet_ids,
    "networkProtocol" => @network_protocol,
    "securityGroupIds" => @security_group_ids,
  })
  result.compact
end