Skip to content

SnatEntry

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

Initializers

import com.aliyun.ros.cdk.vpc.SnatEntry;
SnatEntry.Builder.create(Construct scope, java.lang.String id, java.lang.Boolean enableResourcePropertyConstraint)
    .snatIp(java.lang.String)
    .snatIp(IResolvable)
    .snatTableId(java.lang.String)
    .snatTableId(IResolvable)
//  .eipAffinity(java.lang.Number)
//  .eipAffinity(IResolvable)
//  .networkInterfaceId(java.lang.String)
//  .networkInterfaceId(IResolvable)
//  .snatEntryName(java.lang.String)
//  .snatEntryName(IResolvable)
//  .sourceCidr(java.lang.String)
//  .sourceCidr(IResolvable)
//  .sourceVSwitchIds(IResolvable)
//  .sourceVSwitchIds(java.util.List<java.lang.String)
//  .sourceVSwitchIds(IResolvable>)
    .build();
Name Type Description
scope com.aliyun.ros.cdk.core.Construct No description.
id java.lang.String No description.
enableResourcePropertyConstraint java.lang.Boolean No description.
snatIp java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property snatIp: The public IP address.
snatTableId java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property snatTableId: The ID of the SNAT table.
eipAffinity java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property eipAffinity: Specifies whether to enable EIP affinity.
networkInterfaceId java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property networkInterfaceId: The ID of the elastic network interface.
snatEntryName java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property snatEntryName: The name of the SNAT entry.
sourceCidr java.lang.String OR com.aliyun.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.
sourceVSwitchIds com.aliyun.ros.cdk.core.IResolvable OR java.util.List Property sourceVSwitchIds: The ID of the VSwitch to access the Internet.

scopeRequired

  • Type: com.aliyun.ros.cdk.core.Construct

idRequired

  • Type: java.lang.String

enableResourcePropertyConstraintOptional

  • Type: java.lang.Boolean

snatIpRequired

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property snatIp: The public IP address.

Separate multiple EIPs with commas.


snatTableIdRequired

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property snatTableId: The ID of the SNAT table.


eipAffinityOptional

  • Type: java.lang.Number OR com.aliyun.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.


networkInterfaceIdOptional

  • Type: java.lang.String OR com.aliyun.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.


snatEntryNameOptional

  • Type: java.lang.String OR com.aliyun.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:\/\/.


sourceCidrOptional

  • Type: java.lang.String OR com.aliyun.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.

sourceVSwitchIdsOptional

  • Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List

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


Methods

Name Description
toString Returns a string representation of this construct.
synthesize Allows this construct to emit artifacts into the cloud assembly during synthesis.
addCondition No description.
addCount No description.
addDependency No description.
addResourceDesc No description.
applyRemovalPolicy No description.
fetchCondition No description.
fetchDependency No description.
fetchResourceDesc No description.
getAtt No description.
setMetadata No description.

toString

public java.lang.String toString()

Returns a string representation of this construct.

synthesize

public void synthesize(ISynthesisSession session)

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: com.aliyun.ros.cdk.core.ISynthesisSession

The synthesis session.


addCondition

public void addCondition(RosCondition condition)

conditionRequired

  • Type: com.aliyun.ros.cdk.core.RosCondition

addCount

public void addCount(java.lang.Number OR IResolvable count)

countRequired

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

addDependency

public void addDependency(Resource resource)

resourceRequired

  • Type: com.aliyun.ros.cdk.core.Resource

addResourceDesc

public void addResourceDesc(java.lang.String desc)

descRequired

  • Type: java.lang.String

applyRemovalPolicy

public void applyRemovalPolicy(RemovalPolicy policy)

policyRequired

  • Type: com.aliyun.ros.cdk.core.RemovalPolicy

fetchCondition

public RosCondition fetchCondition()

fetchDependency

public java.util.List<java.lang.String> fetchDependency()

fetchResourceDesc

public java.lang.String fetchResourceDesc()

getAtt

public IResolvable getAtt(java.lang.String name)

nameRequired

  • Type: java.lang.String

setMetadata

public void setMetadata(java.lang.String key, java.lang.Object value)

keyRequired

  • Type: java.lang.String

valueRequired

  • Type: java.lang.Object

Static Functions

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

isConstruct

import com.aliyun.ros.cdk.vpc.SnatEntry;
SnatEntry.isConstruct(java.lang.Object x)

Return whether the given object is a Construct.

xRequired

  • Type: java.lang.Object

Properties

Name Type Description
node com.aliyun.ros.cdk.core.ConstructNode The construct tree node associated with this construct.
env com.aliyun.ros.cdk.core.IResourceEnvironment The environment this resource belongs to.
ref java.lang.String No description.
stack com.aliyun.ros.cdk.core.Stack The stack in which this resource is defined.
resource com.aliyun.ros.cdk.core.RosResource No description.
attrSnatEntryIds java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Attribute SnatEntryIds: The IDS of the SNAT entry.
props SnatEntryProps No description.

nodeRequired

public ConstructNode getNode();
  • Type: com.aliyun.ros.cdk.core.ConstructNode

The construct tree node associated with this construct.


envRequired

public IResourceEnvironment getEnv();
  • Type: com.aliyun.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

public java.lang.String getRef();
  • Type: java.lang.String

stackRequired

public Stack getStack();
  • Type: com.aliyun.ros.cdk.core.Stack

The stack in which this resource is defined.


resourceOptional

public RosResource getResource();
  • Type: com.aliyun.ros.cdk.core.RosResource

attrSnatEntryIdsRequired

public java.lang.Object getAttrSnatEntryIds();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Attribute SnatEntryIds: The IDS of the SNAT entry.


propsRequired

public SnatEntryProps getProps();