Skip to content

SnatEntry

This class encapsulates and extends the ROS resource type ALIYUN::VPC::SnatEntry.

Initializers

import ros_cdk_vpc
ros_cdk_vpc.SnatEntry(
  scope: Construct,
  id: str,
  snat_ip: typing.Union[str, IResolvable],
  snat_table_id: typing.Union[str, IResolvable],
  eip_affinity: typing.Union[typing.Union[int, float], IResolvable] = None,
  network_interface_id: typing.Union[str, IResolvable] = None,
  snat_entry_name: typing.Union[str, IResolvable] = None,
  source_cidr: typing.Union[str, IResolvable] = None,
  source_v_switch_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  enable_resource_property_constraint: bool = None
)
Name Type Description
scope ros_cdk_core.Construct No description.
id str No description.
snat_ip typing.Union[str, ros_cdk_core.IResolvable] Property snatIp: The public IP address.
snat_table_id typing.Union[str, ros_cdk_core.IResolvable] Property snatTableId: The ID of the SNAT table.
eip_affinity typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property eipAffinity: Specifies whether to enable EIP affinity.
network_interface_id typing.Union[str, ros_cdk_core.IResolvable] Property networkInterfaceId: The ID of the elastic network interface.
snat_entry_name typing.Union[str, ros_cdk_core.IResolvable] Property snatEntryName: The name of the SNAT entry.
source_cidr typing.Union[str, ros_cdk_core.IResolvable] Property sourceCidr: You can specify the CIDR block of a VPC, a vSwitch, or an ECS instance or enter a custom CIDR block.
source_v_switch_ids typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property sourceVSwitchIds: The ID of the VSwitch to access the Internet.
enable_resource_property_constraint bool No description.

scopeRequired

  • Type: ros_cdk_core.Construct

idRequired

  • Type: str

snat_ipRequired

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

Property snatIp: The public IP address.

Separate multiple EIPs with commas.


snat_table_idRequired

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

Property snatTableId: The ID of the SNAT table.


eip_affinityOptional

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

Property eipAffinity: Specifies whether to enable EIP affinity.

Valid values: 0: no 1: yes If EIP affinity is enabled and the SNAT entry is associated with multiple EIPs, a client uses the same EIP to access the Internet. Otherwise, the client uses an EIP selected from the associated EIPs to access the Internet.


network_interface_idOptional

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

Property networkInterfaceId: The ID of the elastic network interface.

The IPv4 addresses of the elastic network interface will be used as the SNAT IP addresses.


snat_entry_nameOptional

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

Property snatEntryName: The name of the SNAT entry.

The name must be 2 to 128 characters in length. It must start with a letter but cannot start with http:\/\/ or https:\/\/.


source_cidrOptional

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

Property sourceCidr: You can specify the CIDR block of a VPC, a vSwitch, or an ECS instance or enter a custom CIDR block.

You can specify an SNAT entry in the following ways:

  • You can specify the CIDR block of the VPC where the NAT gateway is deployed. Then, all ECS instances in the VPC can access the Internet or external networks by using SNAT.
  • You can specify the CIDR block of a vSwitch, for example, 192.168.1.0/24. Then, the ECS instances in the vSwitch can access the Internet or external networks by using SNAT.
  • You can specify the IP address of an ECS instance, for example, 192.168.1.1/32. Then, the ECS instance can access the Internet or external networks by using SNAT.
  • You can specify a custom CIDR block. Then, all ECS instances within the specified CIDR block can access the Internet or external networks by using SNAT. When you add an SNAT entry to an Internet NAT gateway, if SnatIp is set to an EIP, the ECS instance uses the specified EIP to access the Internet. If SnatIp is set to multiple EIPs, the ECS instance randomly selects an EIP specified in the SnatIp parameter to access the Internet. You cannot specify this parameter and SourceVSwtichId at the same time. If SourceVSwitchId is specified, you cannot specify SourceCIDR. If SourceCIDR is specified, you cannot specify SourceVSwitchId.

source_v_switch_idsOptional

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

Property sourceVSwitchIds: The ID of the VSwitch to access the Internet.

When updating this list parameter, a new item will lead to a creation of new Snat Entry with latest properties, a removed item will lead to a deletion of the attached SnatEntry


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.SnatEntry.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_snat_entry_ids typing.Union[str, ros_cdk_core.IResolvable] Attribute SnatEntryIds: The IDS of the SNAT entry.
props SnatEntryProps 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_snat_entry_idsRequired

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

Attribute SnatEntryIds: The IDS of the SNAT entry.


propsRequired

props: SnatEntryProps