NetworkInterface
This class encapsulates and extends the ROS resource type ALIYUN::ECS::NetworkInterface
, which is used to create an elastic network interface (ENI).
Initializers
import com.aliyun.ros.cdk.ecs.NetworkInterface;
NetworkInterface.Builder.create(Construct scope, java.lang.String id, java.lang.Boolean enableResourcePropertyConstraint)
.vSwitchId(java.lang.String)
.vSwitchId(IResolvable)
// .deleteOnRelease(java.lang.Boolean)
// .deleteOnRelease(IResolvable)
// .description(java.lang.String)
// .description(IResolvable)
// .ipv4PrefixCount(java.lang.Number)
// .ipv4PrefixCount(IResolvable)
// .ipv4Prefixes(IResolvable)
// .ipv4Prefixes(java.util.List<java.lang.String)
// .ipv4Prefixes(IResolvable>)
// .ipv6AddressCount(java.lang.Number)
// .ipv6AddressCount(IResolvable)
// .ipv6Addresses(IResolvable)
// .ipv6Addresses(java.util.List<java.lang.String)
// .ipv6Addresses(IResolvable>)
// .ipv6PrefixCount(java.lang.Number)
// .ipv6PrefixCount(IResolvable)
// .ipv6Prefixes(IResolvable)
// .ipv6Prefixes(java.util.List<java.lang.String)
// .ipv6Prefixes(IResolvable>)
// .networkInterfaceName(java.lang.String)
// .networkInterfaceName(IResolvable)
// .networkInterfaceTrafficMode(java.lang.String)
// .networkInterfaceTrafficMode(IResolvable)
// .primaryIpAddress(java.lang.String)
// .primaryIpAddress(IResolvable)
// .privateIpAddresses(IResolvable)
// .privateIpAddresses(java.util.List<java.lang.String)
// .privateIpAddresses(IResolvable>)
// .queueNumber(java.lang.Number)
// .queueNumber(IResolvable)
// .resourceGroupId(java.lang.String)
// .resourceGroupId(IResolvable)
// .rxQueueSize(java.lang.Number)
// .rxQueueSize(IResolvable)
// .secondaryPrivateIpAddressCount(java.lang.Number)
// .secondaryPrivateIpAddressCount(IResolvable)
// .securityGroupId(java.lang.String)
// .securityGroupId(IResolvable)
// .securityGroupIds(IResolvable)
// .securityGroupIds(java.util.List<java.lang.String)
// .securityGroupIds(IResolvable>)
// .tags(java.util.List<TagsProperty>)
// .txQueueSize(java.lang.Number)
// .txQueueSize(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. |
vSwitchId |
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable |
Property vSwitchId: VSwitch ID of the specified VPC. |
deleteOnRelease |
java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable |
Property deleteOnRelease: Specifies whether to delete the ENI when the instance is released. |
description |
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable |
Property description: Description of your ENI. |
ipv4PrefixCount |
java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable |
Property ipv4PrefixCount: Specifies one or more IPv4 prefixes for the elastic network interface. |
ipv4Prefixes |
com.aliyun.ros.cdk.core.IResolvable OR java.util.List |
Property ipv4Prefixes: Specifies one or more IPv4 prefixes for the elastic network interface. |
ipv6AddressCount |
java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable |
Property ipv6AddressCount: The number of randomly generated IPv6 addresses that are assigned to the ENI. |
ipv6Addresses |
com.aliyun.ros.cdk.core.IResolvable OR java.util.List |
Property ipv6Addresses: The IPv6 address N to assign to the ENI. |
ipv6PrefixCount |
java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable |
Property ipv6PrefixCount: Specifies one or more IPv6 prefixes for the elastic network interface. |
ipv6Prefixes |
com.aliyun.ros.cdk.core.IResolvable OR java.util.List |
Property ipv6Prefixes: Specifies one or more IPv6 prefixes for the elastic network interface. |
networkInterfaceName |
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable |
Property networkInterfaceName: Name of your ENI. |
networkInterfaceTrafficMode |
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable |
Property networkInterfaceTrafficMode: The communication mode of the ENI. |
primaryIpAddress |
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable |
Property primaryIpAddress: The primary private IP address of the ENI. |
privateIpAddresses |
com.aliyun.ros.cdk.core.IResolvable OR java.util.List |
Property privateIpAddresses: Specifies secondary private IP addresses of the ENI. |
queueNumber |
java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable |
Property queueNumber: The number of queues that are supported by the ENI. |
resourceGroupId |
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable |
Property resourceGroupId: Resource group id. |
rxQueueSize |
java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable |
Property rxQueueSize: Elastic network card inbound queue depth. |
secondaryPrivateIpAddressCount |
java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable |
Property secondaryPrivateIpAddressCount: The number of private IP addresses that can be created automatically by ECS. |
securityGroupId |
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable |
Property securityGroupId: The ID of the security group that the ENI joins. |
securityGroupIds |
com.aliyun.ros.cdk.core.IResolvable OR java.util.List |
Property securityGroupIds: The IDs of the security groups that the ENI joins. |
tags |
java.util.List<TagsProperty> |
Property tags: Tags to attach to instance. |
txQueueSize |
java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable |
Property txQueueSize: Elastic network card outbound queue depth. |
scope
Required
- Type: com.aliyun.ros.cdk.core.Construct
id
Required
- Type: java.lang.String
enableResourcePropertyConstraint
Optional
- Type: java.lang.Boolean
vSwitchId
Required
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property vSwitchId: VSwitch ID of the specified VPC.
Specifies the switch ID for the VPC.
deleteOnRelease
Optional
- Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable
Property deleteOnRelease: Specifies whether to delete the ENI when the instance is released.
description
Optional
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property description: Description of your ENI.
It is a string of [2, 256] English or Chinese characters.
ipv4PrefixCount
Optional
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
Property ipv4PrefixCount: Specifies one or more IPv4 prefixes for the elastic network interface.
Range: 1-10 Note: If you need to set an IPv4 prefix for an elastic network interface, you must set either Ipv4Prefixes or Ipv4PrefixCount, but not both.
ipv4Prefixes
Optional
- Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List
Property ipv4Prefixes: Specifies one or more IPv4 prefixes for the elastic network interface.
ipv6AddressCount
Optional
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
Property ipv6AddressCount: The number of randomly generated IPv6 addresses that are assigned to the ENI.
ipv6Addresses
Optional
- Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List
Property ipv6Addresses: The IPv6 address N to assign to the ENI.
ipv6PrefixCount
Optional
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
Property ipv6PrefixCount: Specifies one or more IPv6 prefixes for the elastic network interface.
Range: 1-10 Note: If you need to set an IPv6 prefix for an elastic network interface, you must set either Ipv6Prefixes or Ipv6PrefixCount, but not both.
ipv6Prefixes
Optional
- Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List
Property ipv6Prefixes: Specifies one or more IPv6 prefixes for the elastic network interface.
networkInterfaceName
Optional
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property networkInterfaceName: Name of your ENI.
It is a string of [2, 128] Chinese or English characters. It must begin with a letter and can contain numbers, underscores (_), colons (:), or hyphens (-).
networkInterfaceTrafficMode
Optional
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property networkInterfaceTrafficMode: The communication mode of the ENI.
Valid values: Standard: uses the TCP communication mode. HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the remote direct memory access (RDMA) communication mode.
primaryIpAddress
Optional
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property primaryIpAddress: The primary private IP address of the ENI.
The specified IP address must have the same Host ID as the VSwitch. If no IP addresses are specified, a random network ID is assigned for the ENI.
privateIpAddresses
Optional
- Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List
Property privateIpAddresses: Specifies secondary private IP addresses of the ENI.
This IP address must be an available IP address in the CIDR block of the VSwitch to which the ENI belongs.
queueNumber
Optional
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
Property queueNumber: The number of queues that are supported by the ENI.
Valid values: 1 to 2048. When you attach the ENI to an instance, make sure that the value of this parameter is less than the maximum number of queues per ENI that is allowed for the instance type. To view the maximum number of queues per ENI allowed for an instance type, you can call DescribeInstanceTypes and then check the return value of MaximumQueueNumberPerEni. By default, this parameter is empty. If you do not specify this parameter, the default number of queues per ENI for the instance type of an instance is used when you attach the ENI to the instance. To learn about the default number of queues per ENI for an instance type, you can call DescribeInstanceTypes and then check the return value of SecondaryEniQueueNumber.
resourceGroupId
Optional
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property resourceGroupId: Resource group id.
rxQueueSize
Optional
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
Property rxQueueSize: Elastic network card inbound queue depth.
Note: The inbound queue depth of the network card must be equal to the outbound queue depth, ranging from 8192 to 16384, and must be a power of two. Larger inbound queue depth can improve inbound throughput, but it consumes more memory.
secondaryPrivateIpAddressCount
Optional
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
Property secondaryPrivateIpAddressCount: The number of private IP addresses that can be created automatically by ECS.
securityGroupId
Optional
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property securityGroupId: The ID of the security group that the ENI joins.
The security group and the ENI must be in a same VPC.
securityGroupIds
Optional
- Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List
Property securityGroupIds: The IDs of the security groups that the ENI joins.
The security groups and the ENI must belong to the same VPC.
tags
Optional
- Type: java.util.List<TagsProperty>
Property tags: Tags to attach to instance.
Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required.
txQueueSize
Optional
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
Property txQueueSize: Elastic network card outbound queue depth.
Note: The outbound queue depth of the network card must be equal to the inbound queue depth, ranging from 8192 to 16384, and must be a power of two. Larger outbound queue depth can improve outbound throughput, but it consumes more memory.
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. |
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
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.ecs.NetworkInterface;
NetworkInterface.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. |
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. |
attrMacAddress |
com.aliyun.ros.cdk.core.IResolvable |
Attribute MacAddress: The MAC address of your Network Interface. |
attrNetworkInterfaceId |
com.aliyun.ros.cdk.core.IResolvable |
Attribute NetworkInterfaceId: ID of your Network Interface. |
attrPrivateIpAddress |
com.aliyun.ros.cdk.core.IResolvable |
Attribute PrivateIpAddress: The primary private ip address of your Network Interface. |
attrSecondaryPrivateIpAddresses |
com.aliyun.ros.cdk.core.IResolvable |
Attribute SecondaryPrivateIpAddresses: The secondary private IP addresses of your Network Interface. |
node
Required
public ConstructNode getNode();
- Type: com.aliyun.ros.cdk.core.ConstructNode
The construct tree node associated with this construct.
ref
Required
public java.lang.String getRef();
- Type: java.lang.String
stack
Required
public Stack getStack();
- Type: com.aliyun.ros.cdk.core.Stack
The stack in which this resource is defined.
resource
Optional
public RosResource getResource();
- Type: com.aliyun.ros.cdk.core.RosResource
attrMacAddress
Required
public IResolvable getAttrMacAddress();
- Type: com.aliyun.ros.cdk.core.IResolvable
Attribute MacAddress: The MAC address of your Network Interface.
attrNetworkInterfaceId
Required
public IResolvable getAttrNetworkInterfaceId();
- Type: com.aliyun.ros.cdk.core.IResolvable
Attribute NetworkInterfaceId: ID of your Network Interface.
attrPrivateIpAddress
Required
public IResolvable getAttrPrivateIpAddress();
- Type: com.aliyun.ros.cdk.core.IResolvable
Attribute PrivateIpAddress: The primary private ip address of your Network Interface.
attrSecondaryPrivateIpAddresses
Required
public IResolvable getAttrSecondaryPrivateIpAddresses();
- Type: com.aliyun.ros.cdk.core.IResolvable
Attribute SecondaryPrivateIpAddresses: The secondary private IP addresses of your Network Interface.