Class: AWSCDK::EC2::NatInstanceProviderV2
- Inherits:
-
NatProvider
- Object
- NatProvider
- AWSCDK::EC2::NatInstanceProviderV2
- Includes:
- IConnectable
- Defined in:
- ec2/nat_instance_provider_v2.rb
Overview
Modern NAT provider which uses NAT Instances.
The instance uses Amazon Linux 2023 as the operating system.
Class Method Summary collapse
-
.DEFAULT_USER_DATA_COMMANDS ⇒ Array<String>
Amazon Linux 2023 NAT instance user data commands Enable iptables on the instance, enable persistent IP forwarding, configure NAT on instance.
- .jsii_overridable_methods ⇒ Object
Instance Method Summary collapse
-
#configure_nat(options) ⇒ void
Called by the VPC to configure NAT.
-
#configure_subnet(subnet) ⇒ void
Configures subnet with the gateway.
-
#configured_gateways ⇒ Array<AWSCDK::EC2::GatewayConfig>
Return list of gateways spawned by the provider.
-
#connections ⇒ AWSCDK::EC2::Connections
Manage the Security Groups associated with the NAT instances.
-
#gateway_instances ⇒ Array<AWSCDK::EC2::Instance>
Array of gateway instances spawned by the provider after internal configuration.
-
#initialize(props) ⇒ NatInstanceProviderV2
constructor
A new instance of NatInstanceProviderV2.
-
#security_group ⇒ AWSCDK::EC2::ISecurityGroup
The Security Group associated with the NAT instances.
Constructor Details
#initialize(props) ⇒ NatInstanceProviderV2
Returns a new instance of NatInstanceProviderV2.
12 13 14 15 16 |
# File 'ec2/nat_instance_provider_v2.rb', line 12 def initialize(props) props = props.is_a?(Hash) ? ::AWSCDK::EC2::NatInstanceProps.new(**props.transform_keys(&:to_sym)) : props Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLk5hdEluc3RhbmNlUHJvcHMifQ==")), "props") Jsii::Object.instance_method(:initialize).bind(self).call(props) end |
Class Method Details
.DEFAULT_USER_DATA_COMMANDS ⇒ Array<String>
Amazon Linux 2023 NAT instance user data commands Enable iptables on the instance, enable persistent IP forwarding, configure NAT on instance.
40 41 42 |
# File 'ec2/nat_instance_provider_v2.rb', line 40 def self.DEFAULT_USER_DATA_COMMANDS() Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_ec2.NatInstanceProviderV2", "DEFAULT_USER_DATA_COMMANDS") end |
.jsii_overridable_methods ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'ec2/nat_instance_provider_v2.rb', line 18 def self.jsii_overridable_methods { :configured_gateways => { kind: :property, name: "configuredGateways", is_optional: false }, :connections => { kind: :property, name: "connections", is_optional: false }, :gateway_instances => { kind: :property, name: "gatewayInstances", is_optional: false }, :security_group => { kind: :property, name: "securityGroup", is_optional: false }, :configure_nat => { kind: :method, name: "configureNat", is_optional: false }, :configure_subnet => { kind: :method, name: "configureSubnet", is_optional: false }, } end |
Instance Method Details
#configure_nat(options) ⇒ void
This method returns an undefined value.
Called by the VPC to configure NAT.
Don't call this directly, the VPC will call it automatically.
71 72 73 74 75 |
# File 'ec2/nat_instance_provider_v2.rb', line 71 def configure_nat() = .is_a?(Hash) ? ::AWSCDK::EC2::ConfigureNatOptions.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkNvbmZpZ3VyZU5hdE9wdGlvbnMifQ==")), "options") jsii_call_method("configureNat", []) end |
#configure_subnet(subnet) ⇒ void
This method returns an undefined value.
Configures subnet with the gateway.
Don't call this directly, the VPC will call it automatically.
83 84 85 86 |
# File 'ec2/nat_instance_provider_v2.rb', line 83 def configure_subnet(subnet) Jsii::Type.check_type(subnet, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLlByaXZhdGVTdWJuZXQifQ==")), "subnet") jsii_call_method("configureSubnet", [subnet]) end |
#configured_gateways ⇒ Array<AWSCDK::EC2::GatewayConfig>
Return list of gateways spawned by the provider.
32 33 34 |
# File 'ec2/nat_instance_provider_v2.rb', line 32 def configured_gateways() jsii_get_property("configuredGateways") end |
#connections ⇒ AWSCDK::EC2::Connections
Manage the Security Groups associated with the NAT instances.
47 48 49 |
# File 'ec2/nat_instance_provider_v2.rb', line 47 def connections() jsii_get_property("connections") end |
#gateway_instances ⇒ Array<AWSCDK::EC2::Instance>
Array of gateway instances spawned by the provider after internal configuration.
54 55 56 |
# File 'ec2/nat_instance_provider_v2.rb', line 54 def gateway_instances() jsii_get_property("gatewayInstances") end |
#security_group ⇒ AWSCDK::EC2::ISecurityGroup
The Security Group associated with the NAT instances.
61 62 63 |
# File 'ec2/nat_instance_provider_v2.rb', line 61 def security_group() jsii_get_property("securityGroup") end |