Skip to content

NatGateway

This class encapsulates and extends the ROS resource type ALIYUN::VPC::NatGatewayThe , which resource type creates a NAT Gateway.

Initializers

import ros_cdk_vpc
ros_cdk_vpc.NatGateway(
  scope: Construct,
  id: str,
  vpc_id: typing.Union[str, IResolvable],
  v_switch_id: typing.Union[str, IResolvable],
  access_mode: typing.Union[IResolvable, AccessModeProperty] = None,
  availability_mode: typing.Union[str, IResolvable] = None,
  deletion_force: typing.Union[bool, IResolvable] = None,
  deletion_protection: typing.Union[bool, IResolvable] = None,
  description: typing.Union[str, IResolvable] = None,
  eip_bind_mode: typing.Union[str, IResolvable] = None,
  icmp_reply_enabled: typing.Union[bool, IResolvable] = None,
  instance_charge_type: typing.Union[str, IResolvable] = None,
  internet_charge_type: typing.Union[str, IResolvable] = None,
  ipv4_prefix: typing.Union[str, IResolvable] = None,
  nat_gateway_name: typing.Union[str, IResolvable] = None,
  nat_ip: typing.Union[str, IResolvable] = None,
  nat_type: typing.Union[str, IResolvable] = None,
  network_type: typing.Union[str, IResolvable] = None,
  private_link_enabled: typing.Union[bool, IResolvable] = None,
  security_protection_enabled: typing.Union[bool, IResolvable] = None,
  tags: typing.List[TagsProperty] = None,
  enable_resource_property_constraint: bool = None
)
Name Type Description
scope ros_cdk_core.Construct No description.
id str No description.
vpc_id typing.Union[str, ros_cdk_core.IResolvable] Property vpcId: The VPC id to create NAT gateway.
v_switch_id typing.Union[str, ros_cdk_core.IResolvable] Property vSwitchId: The VSwitch id to create NAT gateway.
access_mode typing.Union[ros_cdk_core.IResolvable, AccessModeProperty] Property accessMode: Reverse access mode to the VPC NAT gateway.
availability_mode typing.Union[str, ros_cdk_core.IResolvable] Property availabilityMode: The availability mode of the NAT gateway.
deletion_force typing.Union[bool, ros_cdk_core.IResolvable] Property deletionForce: Whether force delete the relative snat and dnat entries in the net gateway and unbind eips.
deletion_protection typing.Union[bool, ros_cdk_core.IResolvable] Property deletionProtection: Whether to enable deletion protection.
description typing.Union[str, ros_cdk_core.IResolvable] Property description: Description of the NAT gateway, [2, 256] characters.
eip_bind_mode typing.Union[str, ros_cdk_core.IResolvable] Property eipBindMode: The mode in which the EIP is associated with the NAT gateway.
icmp_reply_enabled typing.Union[bool, ros_cdk_core.IResolvable] Property icmpReplyEnabled: Specifies whether to enable the ICMP non-retrieval feature.
instance_charge_type typing.Union[str, ros_cdk_core.IResolvable] Property instanceChargeType: The billing method.
internet_charge_type typing.Union[str, ros_cdk_core.IResolvable] Property internetChargeType: The billing method for the NAT gateway.
ipv4_prefix typing.Union[str, ros_cdk_core.IResolvable] Property ipv4Prefix: The IPv4 prefix.
nat_gateway_name typing.Union[str, ros_cdk_core.IResolvable] Property natGatewayName: Display name of the NAT gateway, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, '_' or '.', '-'.
nat_ip typing.Union[str, ros_cdk_core.IResolvable] Property natIp: The NAT IP address.
nat_type typing.Union[str, ros_cdk_core.IResolvable] Property natType: The type of the NAT gateway.
network_type typing.Union[str, ros_cdk_core.IResolvable] Property networkType: The type of the created NAT gateway.
private_link_enabled typing.Union[bool, ros_cdk_core.IResolvable] Property privateLinkEnabled: Whether to support private network connection.
security_protection_enabled typing.Union[bool, ros_cdk_core.IResolvable] Property securityProtectionEnabled: Specifies whether to enable the firewall feature.
tags typing.List[TagsProperty] Property tags: Tags to attach to natgateway.
enable_resource_property_constraint bool No description.

scopeRequired

  • Type: ros_cdk_core.Construct

idRequired

  • Type: str

vpc_idRequired

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property vpcId: The VPC id to create NAT gateway.


v_switch_idRequired

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property vSwitchId: The VSwitch id to create NAT gateway.


access_modeOptional

Property accessMode: Reverse access mode to the VPC NAT gateway.


availability_modeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property availabilityMode: The availability mode of the NAT gateway.

Valid values: CrossAZ, SingleAZ


deletion_forceOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property deletionForce: Whether force delete the relative snat and dnat entries in the net gateway and unbind eips.

Default value is false.


deletion_protectionOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property deletionProtection: Whether to enable deletion protection.

Default to False.


descriptionOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property description: Description of the NAT gateway, [2, 256] characters.

Do not fill or empty, the default is empty.


eip_bind_modeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property eipBindMode: The mode in which the EIP is associated with the NAT gateway.

Valid values:MULTI_BINDED (default): the multi-EIP-to-ENI mode. NAT: NAT mode. IPv4 gateways are supported. Note If the EIP is associated with the NAT gateway in NAT mode, the EIP occupies a private IP address of the vSwitch to which the NAT gateway belongs. Make sure that the vSwitch has sufficient private IP addresses. Otherwise, the EIP cannot be associated with the NAT gateway. In NAT mode, a maximum number of 50 EIPs can be associated with each NAT gateway.


icmp_reply_enabledOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property icmpReplyEnabled: Specifies whether to enable the ICMP non-retrieval feature.

Default: True


instance_charge_typeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property instanceChargeType: The billing method.

The default value is PostPaid (which means pay-as-you-go).


internet_charge_typeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property internetChargeType: The billing method for the NAT gateway.

Valid values: PayBySpec: billed on a pay-by-specification basis.


ipv4_prefixOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property ipv4Prefix: The IPv4 prefix.


nat_gateway_nameOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property natGatewayName: Display name of the NAT gateway, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, '_' or '.', '-'.


nat_ipOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property natIp: The NAT IP address.


nat_typeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property natType: The type of the NAT gateway.

Valid values:

  • Enhanced: enhanced NAT gateway.

network_typeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property networkType: The type of the created NAT gateway.

Internet: public network NAT gateway. Intranet: VPC NAT gateway.


  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property privateLinkEnabled: Whether to support private network connection.


security_protection_enabledOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property securityProtectionEnabled: Specifies whether to enable the firewall feature.

Default: False


tagsOptional

Property tags: Tags to attach to natgateway.

Max support 20 tags to add during create natgateway. Each tag with two properties Key and Value, and Key is required.


enable_resource_property_constraintOptional

  • Type: bool

Methods

Name Description
to_string Returns a string representation of this construct.
synthesize Allows this construct to emit artifacts into the cloud assembly during synthesis.
add_condition No description.
add_count No description.
add_dependency No description.
add_resource_desc No description.
apply_removal_policy No description.
fetch_condition No description.
fetch_dependency No description.
fetch_resource_desc No description.
get_att No description.
set_metadata No description.

to_string

def to_string() -> str

Returns a string representation of this construct.

synthesize

def synthesize(
  session: ISynthesisSession
) -> None

Allows this construct to emit artifacts into the cloud assembly during synthesis.

This method is usually implemented by framework-level constructs such as Stack and Asset as they participate in synthesizing the cloud assembly.

sessionRequired

  • Type: ros_cdk_core.ISynthesisSession

The synthesis session.


add_condition

def add_condition(
  condition: RosCondition
) -> None

conditionRequired

  • Type: ros_cdk_core.RosCondition

add_count

def add_count(
  count: typing.Union[typing.Union[int, float], IResolvable]
) -> None

countRequired

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

add_dependency

def add_dependency(
  resource: Resource
) -> None

resourceRequired

  • Type: ros_cdk_core.Resource

add_resource_desc

def add_resource_desc(
  desc: str
) -> None

descRequired

  • Type: str

apply_removal_policy

def apply_removal_policy(
  policy: RemovalPolicy
) -> None

policyRequired

  • Type: ros_cdk_core.RemovalPolicy

fetch_condition

def fetch_condition() -> RosCondition

fetch_dependency

def fetch_dependency() -> typing.List[str]

fetch_resource_desc

def fetch_resource_desc() -> str

get_att

def get_att(
  name: str
) -> IResolvable

nameRequired

  • Type: str

set_metadata

def set_metadata(
  key: str,
  value: typing.Any
) -> None

keyRequired

  • Type: str

valueRequired

  • Type: typing.Any

Static Functions

Name Description
is_construct Return whether the given object is a Construct.

is_construct

import ros_cdk_vpc
ros_cdk_vpc.NatGateway.is_construct(
  x: typing.Any
)

Return whether the given object is a Construct.

xRequired

  • Type: typing.Any

Properties

Name Type Description
node ros_cdk_core.ConstructNode The construct tree node associated with this construct.
env ros_cdk_core.IResourceEnvironment The environment this resource belongs to.
ref str No description.
stack ros_cdk_core.Stack The stack in which this resource is defined.
resource ros_cdk_core.RosResource No description.
attr_forward_table_id typing.Union[str, ros_cdk_core.IResolvable] Attribute ForwardTableId: The forward table id.
attr_nat_gateway_id typing.Union[str, ros_cdk_core.IResolvable] Attribute NatGatewayId: The Id of created NAT gateway.
attr_s_nat_table_id typing.Union[str, ros_cdk_core.IResolvable] Attribute SNatTableId: The SNAT table id.
props NatGatewayProps No description.

nodeRequired

node: ConstructNode
  • Type: ros_cdk_core.ConstructNode

The construct tree node associated with this construct.


envRequired

env: IResourceEnvironment
  • Type: ros_cdk_core.IResourceEnvironment

The environment this resource belongs to.

For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.


refRequired

ref: str
  • Type: str

stackRequired

stack: Stack
  • Type: ros_cdk_core.Stack

The stack in which this resource is defined.


resourceOptional

resource: RosResource
  • Type: ros_cdk_core.RosResource

attr_forward_table_idRequired

attr_forward_table_id: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute ForwardTableId: The forward table id.


attr_nat_gateway_idRequired

attr_nat_gateway_id: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute NatGatewayId: The Id of created NAT gateway.


attr_s_nat_table_idRequired

attr_s_nat_table_id: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute SNatTableId: The SNAT table id.


propsRequired

props: NatGatewayProps