Skip to content

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.

scopeRequired

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

idRequired

  • Type: java.lang.String

enableResourcePropertyConstraintOptional

  • Type: java.lang.Boolean

vSwitchIdRequired

  • 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.


deleteOnReleaseOptional

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

Property deleteOnRelease: Specifies whether to delete the ENI when the instance is released.


descriptionOptional

  • 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.


ipv4PrefixCountOptional

  • 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.


ipv4PrefixesOptional

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

Property ipv4Prefixes: Specifies one or more IPv4 prefixes for the elastic network interface.


ipv6AddressCountOptional

  • 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.


ipv6AddressesOptional

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

Property ipv6Addresses: The IPv6 address N to assign to the ENI.


ipv6PrefixCountOptional

  • 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.


ipv6PrefixesOptional

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

Property ipv6Prefixes: Specifies one or more IPv6 prefixes for the elastic network interface.


networkInterfaceNameOptional

  • 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 (-).


networkInterfaceTrafficModeOptional

  • 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.


primaryIpAddressOptional

  • 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.


privateIpAddressesOptional

  • 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.


queueNumberOptional

  • 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.


resourceGroupIdOptional

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

Property resourceGroupId: Resource group id.


rxQueueSizeOptional

  • 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.


secondaryPrivateIpAddressCountOptional

  • 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.


securityGroupIdOptional

  • 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.


securityGroupIdsOptional

  • 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.


tagsOptional

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.


txQueueSizeOptional

  • 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.

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

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.ecs.NetworkInterface;
NetworkInterface.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.
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.

nodeRequired

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

The construct tree node associated with this construct.


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

attrMacAddressRequired

public IResolvable getAttrMacAddress();
  • Type: com.aliyun.ros.cdk.core.IResolvable

Attribute MacAddress: The MAC address of your Network Interface.


attrNetworkInterfaceIdRequired

public IResolvable getAttrNetworkInterfaceId();
  • Type: com.aliyun.ros.cdk.core.IResolvable

Attribute NetworkInterfaceId: ID of your Network Interface.


attrPrivateIpAddressRequired

public IResolvable getAttrPrivateIpAddress();
  • Type: com.aliyun.ros.cdk.core.IResolvable

Attribute PrivateIpAddress: The primary private ip address of your Network Interface.


attrSecondaryPrivateIpAddressesRequired

public IResolvable getAttrSecondaryPrivateIpAddresses();
  • Type: com.aliyun.ros.cdk.core.IResolvable

Attribute SecondaryPrivateIpAddresses: The secondary private IP addresses of your Network Interface.