Class: AWSCDK::Lambda::CfnFunction::VPCConfigProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Lambda::CfnFunction::VPCConfigProperty
- Defined in:
- lambda/cfn_function.rb
Overview
The VPC security groups and subnets that are attached to a Lambda function.
When you connect a function to a VPC, Lambda creates an elastic network interface for each combination of security group and subnet in the function's VPC configuration. The function can only access resources and the internet through that VPC. For more information, see VPC Settings .
When you delete a function, CloudFormation monitors the state of its network interfaces and waits for Lambda to delete them before proceeding. If the VPC is defined in the same stack, the network interfaces need to be deleted by Lambda before CloudFormation can delete the VPC's resources.
To monitor network interfaces, CloudFormation needs the
ec2:DescribeNetworkInterfacespermission. It obtains this from the user or role that modifies the stack. If you don't provide this permission, CloudFormation does not wait for network interfaces to be deleted.
Instance Attribute Summary collapse
-
#ipv6_allowed_for_dual_stack ⇒ Boolean, ...
readonly
Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.
-
#security_group_ids ⇒ Array<String>?
readonly
A list of VPC security group IDs.
-
#subnet_ids ⇒ Array<String>?
readonly
A list of VPC subnet IDs.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(ipv6_allowed_for_dual_stack: nil, security_group_ids: nil, subnet_ids: nil) ⇒ VPCConfigProperty
constructor
A new instance of VPCConfigProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(ipv6_allowed_for_dual_stack: nil, security_group_ids: nil, subnet_ids: nil) ⇒ VPCConfigProperty
Returns a new instance of VPCConfigProperty.
1744 1745 1746 1747 1748 1749 1750 1751 |
# File 'lambda/cfn_function.rb', line 1744 def initialize(ipv6_allowed_for_dual_stack: nil, security_group_ids: nil, subnet_ids: nil) @ipv6_allowed_for_dual_stack = ipv6_allowed_for_dual_stack Jsii::Type.check_type(@ipv6_allowed_for_dual_stack, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "ipv6AllowedForDualStack") unless @ipv6_allowed_for_dual_stack.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? @subnet_ids = subnet_ids Jsii::Type.check_type(@subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "subnetIds") unless @subnet_ids.nil? end |
Instance Attribute Details
#ipv6_allowed_for_dual_stack ⇒ Boolean, ... (readonly)
Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.
1757 1758 1759 |
# File 'lambda/cfn_function.rb', line 1757 def ipv6_allowed_for_dual_stack @ipv6_allowed_for_dual_stack end |
#security_group_ids ⇒ Array<String>? (readonly)
A list of VPC security group IDs.
1762 1763 1764 |
# File 'lambda/cfn_function.rb', line 1762 def security_group_ids @security_group_ids end |
#subnet_ids ⇒ Array<String>? (readonly)
A list of VPC subnet IDs.
1767 1768 1769 |
# File 'lambda/cfn_function.rb', line 1767 def subnet_ids @subnet_ids end |
Class Method Details
.jsii_properties ⇒ Object
1769 1770 1771 1772 1773 1774 1775 |
# File 'lambda/cfn_function.rb', line 1769 def self.jsii_properties { :ipv6_allowed_for_dual_stack => "ipv6AllowedForDualStack", :security_group_ids => "securityGroupIds", :subnet_ids => "subnetIds", } end |
Instance Method Details
#to_jsii ⇒ Object
1777 1778 1779 1780 1781 1782 1783 1784 1785 |
# File 'lambda/cfn_function.rb', line 1777 def to_jsii result = {} result.merge!({ "ipv6AllowedForDualStack" => @ipv6_allowed_for_dual_stack, "securityGroupIds" => @security_group_ids, "subnetIds" => @subnet_ids, }) result.compact end |