Attaches an elastic network interface (ENI) to an Elastic Compute Service (ECS) instance that resides in a virtual private cloud (VPC).

Description

When you call this operation, take note of the following items:

  • The ENI must be in the Available (Available) state. Each ENI can be attached to only a single instance that resides in the same zone and VPC as the ENI.
  • The instance must be in the Running (Running) or Stopped (Stopped) state. When you attach ENIs to instances of some instance types, make sure that the instances are in the Stopped (Stopped) state. For more information, see the "Instance types of the ECS instances that must be in the Stopped (Stopped) state" section in Bind an ENI.
    Note If the last start time of the instance (including the start time of the instance if it is newly purchased, the last restart time of the instance, and the last reactivation time of the instance) is before April 1, 2018 and the instance stays in the Running state, you must call the RebootInstance operation to restart the instance. Otherwise, the ENI cannot be attached to the instance.
  • You can attach multiple ENIs to a single instance. For more information, see ENI overview.
  • The vSwitch to which the ENI is connected must be in the same zone and VPC as the vSwitch to which the instance is connected.
  • This operation is an asynchronous operation. After this operation is called to attach an ENI, you can check the status or events of the ENI to determine whether the ENI is attached. The following figure shows the transitions between the states of the ENI.
    • If the ENI enters the Attaching state, the operation is successfully called and the ENI is being attached to an instance.
    • If the ENI enters the InUse state, the ENI is attached to an instance.
    • If the ENI enters the Available state, the ENI failed to be attached to an instance.

For information about examples on how to call this operation, see Attach an ENI to an ECS instance.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

ParameterTypeRequiredExampleDescription
ActionStringYesAttachNetworkInterface

The operation that you want to perform. Set the value to AttachNetworkInterface.

RegionIdStringYescn-hangzhou

The region ID of the instance. You can call the DescribeRegions operation to query the most recent region list.

NetworkInterfaceIdStringYeseni-bp17pdijfczax1huji****

The ID of the ENI.

InstanceIdStringYesi-bp16qstyvxj9gpqw****

The ID of the instance.

TrunkNetworkInstanceIdStringNoeni-f8zapqwj1v1j4ia3****

The ID of the trunk ENI.

Note This parameter is unavailable for use.
WaitForNetworkConfigurationReadyBooleanNonull
Note This parameter is no longer used.
NetworkCardIndexIntegerNo0

The index of the network interface controller (NIC).

Note The value of NetworkCardIndex varies based on the instance type. If the instance type does not support NICs, you cannot specify this parameter. If the instance type supports NICs, you can specify this parameter. For information about the values of NetworkCardIndex, see Instance families.

Response parameters

ParameterTypeExampleDescription
RequestIdString473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

The ID of the request.

Examples

Sample requests

http(s)://ecs.aliyuncs.com/?Action=AttachNetworkInterface
&RegionId=cn-hangzhou
&NetworkInterfaceId=eni-bp17pdijfczax1huji****
&InstanceId=i-bp16qstyvxj9gpqw****
&WaitForNetworkConfigurationReady=false
&Common request parameters

Sample success responses

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<AttachNetworkInterfaceResponse>
    <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>
</AttachNetworkInterfaceResponse>

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E"
}

Error codes

HTTP status codeError codeError messageDescription
400MissingParameter%sThe error message returned because a required parameter is not specified.
400UnsupportedParameter%sThe error message returned because a specified parameter is not supported.
400InvalidParameter%sThe error message returned because a specified parameter is invalid.
400InvalidInstanceID.Malformed%sThe error message returned because the specified InstanceId parameter is invalid.
400InvalidOperation.InvalidRegion%sThe error message returned because the specified RegionId parameter is invalid.
400InvalidOperation.InvalidEcsState%sThe error message returned because the operation is not supported while the instance is in the current state.
400InvalidOperation.InvalidEniState%sThe error message returned because the operation is not supported while the ENI is in the current state.
400InvalidOperation.DetachPrimaryEniNotAllowed%sThe error message returned because the primary ENI cannot be unbound from the instance.
400Forbidden.RegionId%sThe error message returned because the service is unavailable in the current region for the moment.
400InvalidOperation.InvalidGeneration%sThe error message returned because the operation is invalid.
400InvalidParams.EniId%sThe error message returned because the specified NetworkInterfaceId parameter is invalid.
403InvalidUserType.NotSupported%sThe error message returned because your account does not support this operation.
403Abs.InvalidAccount.NotFound%sThe error message returned because your Alibaba Cloud account does not exist or because your AccessKey pair has expired.
403Forbidden.NotSupportRAM%sThe error message returned because Resource Access Management (RAM) users are not authorized to perform this operation.
403Forbidden.SubUser%sThe error message returned because you are not authorized to manage this resource. Contact the owner of the Alibaba Cloud account for authorization.
403MaxEniCountExceeded%sThe error message returned because the maximum number of ENIs that can be managed has been reached.
403EniPerInstanceLimitExceeded%sThe error message returned because the maximum number of ENIs that can be attached to the specified instance has been reached.
403InvalidOperation.AvailabilityZoneMismatch%sThe error message returned because the operation is invalid.
403InvalidOperation.VpcMismatch%sThe error message returned because the operation is invalid. Check whether the VPC in the operation corresponds to other parameters.
403SecurityGroupInstanceLimitExceed%sThe error message returned because the maximum number of instances in the security group has been reached.
403InvalidSecurityGroupId.NotVpc%sThe error message returned because the specified security group ID is invalid and the network type of the security group is not VPC.
403InvalidOperation.InvalidEniType%sThe error message returned because the operation is not supported while the ENI is of the current type.
403InvalidInstanceId.NotFound%sThe error message returned because the specified InstanceId parameter does not exist.
403InvalidEni.NotSameVpc%sThe error message returned because the specified resource and the specified ENI do not belong to the same VPC. For more information, see the return value of the %s placeholder in the error message.
403InvalidOperation.Ipv4CountExceeded%sThe error message returned because the maximum number of IPv4 addresses has been reached.
403InvalidOperation.EniServiceManaged%sThe error message returned because the operation is invalid.
403InvalidOperation.Ipv6NotSupport%sThe error message returned because IPv6 addresses do not support this operation.
403InvalidOperation.HotPlugNotSupport%sThe error message returned because the operation is not supported while the specified resource is running. For more information, see the return value of the %s placeholder in the error message.
403InvalidOperation.InvalidTrunkEniStatus%sThe error message returned because the operation is not supported while the specified ENI in trunk mode is in the current state. For more information, see the return value of the %s placeholder in the error message.
403InvalidOperation.InstanceTypeNotSupportEniTrunking%sThe error message returned because the operation is not supported. For more information, see the return value of the %s placeholder in the error message.
403InvalidOperation.EniTypeNotSupportTrunking%sThe error message returned because operations related to the trunk mode are not supported while the ENI is of the current type. For more information, see the return value of the %s placeholder in the error message.
403InvalidParameter.EniNotBelongTrunk%sThe error message returned because the specified ENI is not in trunk mode. For more information, see the return value of the %s placeholder in the error message.
403InvalidParameter.EniNotBelongEcs%sThe error message returned because the specified ENI is not attached to the specified ECS instance. For more information, see the return value of the %s placeholder in the error message. You can call the DescribeInstances operation to query the IDs of the ENIs attached to the specified ECS instance.
403InvalidParameter.InvalidEniQueueNumber%sThe error message returned because the specified number of queues per ENI is invalid. For more information, see the return value of the %s placeholder in the error message.
403InvalidOperation.MaxEniQueueNumberExceeded%sThe error message returned because the maximum number of queues per ENI has been reached. For more information, see the return value of the %s placeholder in the error message.
403InvalidOperation.ExceedInstanceTypeQueueNumber%sThe error message returned because the maximum number of queues for all ENIs on an instance has been reached. For more information, see the return value of the %s placeholder in the error message.
404InvalidEcsId.NotFound%sThe error message returned because the specified InstanceId parameter does not exist.
404InvalidEniId.NotFound%sThe error message returned because the specified NetworkInterfaceId parameter does not exist.
404InvalidVSwitchId.NotFound%sThe error message returned because the specified vSwitch does not exist.
404InvalidSecurityGroupId.NotFound%sThe error message returned because the specified security group ID does not exist.

For a list of error codes, visit the API Error Center.