SnatEntry
- Implements: ISnatEntry
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.
- Type: com.aliyun.ros.cdk.core.ISynthesisSession
The synthesis session.
addCondition
public void addCondition(RosCondition condition)
- Type: com.aliyun.ros.cdk.core.RosCondition
addCount
public void addCount(java.lang.Number OR IResolvable count)
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
addDependency
public void addDependency(Resource resource)
- Type: com.aliyun.ros.cdk.core.Resource
addResourceDesc
public void addResourceDesc(java.lang.String desc)
- Type: java.lang.String
applyRemovalPolicy
public void applyRemovalPolicy(RemovalPolicy policy)
- 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)
- Type: java.lang.String
setMetadata
public void setMetadata(java.lang.String key, java.lang.Object value)
- Type: java.lang.String
- 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.
- 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();
- Type: SnatEntryProps