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
Request parameters
Parameter | Type | Required | Example | Description |
---|---|---|---|---|
Action | String | Yes | AttachNetworkInterface | The operation that you want to perform. Set the value to AttachNetworkInterface. |
RegionId | String | Yes | cn-hangzhou | The region ID of the instance. You can call the DescribeRegions operation to query the most recent region list. |
NetworkInterfaceId | String | Yes | eni-bp17pdijfczax1huji**** | The ID of the ENI. |
InstanceId | String | Yes | i-bp16qstyvxj9gpqw**** | The ID of the instance. |
TrunkNetworkInstanceId | String | No | eni-f8zapqwj1v1j4ia3**** | The ID of the trunk ENI. Note This parameter is unavailable for use. |
WaitForNetworkConfigurationReady | Boolean | No | null | Note This parameter is no longer used. |
NetworkCardIndex | Integer | No | 0 | 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
Parameter | Type | Example | Description |
---|---|---|---|
RequestId | String | 473469C7-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 code | Error code | Error message | Description |
---|---|---|---|
400 | MissingParameter | %s | The error message returned because a required parameter is not specified. |
400 | UnsupportedParameter | %s | The error message returned because a specified parameter is not supported. |
400 | InvalidParameter | %s | The error message returned because a specified parameter is invalid. |
400 | InvalidInstanceID.Malformed | %s | The error message returned because the specified InstanceId parameter is invalid. |
400 | InvalidOperation.InvalidRegion | %s | The error message returned because the specified RegionId parameter is invalid. |
400 | InvalidOperation.InvalidEcsState | %s | The error message returned because the operation is not supported while the instance is in the current state. |
400 | InvalidOperation.InvalidEniState | %s | The error message returned because the operation is not supported while the ENI is in the current state. |
400 | InvalidOperation.DetachPrimaryEniNotAllowed | %s | The error message returned because the primary ENI cannot be unbound from the instance. |
400 | Forbidden.RegionId | %s | The error message returned because the service is unavailable in the current region for the moment. |
400 | InvalidOperation.InvalidGeneration | %s | The error message returned because the operation is invalid. |
400 | InvalidParams.EniId | %s | The error message returned because the specified NetworkInterfaceId parameter is invalid. |
403 | InvalidUserType.NotSupported | %s | The error message returned because your account does not support this operation. |
403 | Abs.InvalidAccount.NotFound | %s | The error message returned because your Alibaba Cloud account does not exist or because your AccessKey pair has expired. |
403 | Forbidden.NotSupportRAM | %s | The error message returned because Resource Access Management (RAM) users are not authorized to perform this operation. |
403 | Forbidden.SubUser | %s | The error message returned because you are not authorized to manage this resource. Contact the owner of the Alibaba Cloud account for authorization. |
403 | MaxEniCountExceeded | %s | The error message returned because the maximum number of ENIs that can be managed has been reached. |
403 | EniPerInstanceLimitExceeded | %s | The error message returned because the maximum number of ENIs that can be attached to the specified instance has been reached. |
403 | InvalidOperation.AvailabilityZoneMismatch | %s | The error message returned because the operation is invalid. |
403 | InvalidOperation.VpcMismatch | %s | The error message returned because the operation is invalid. Check whether the VPC in the operation corresponds to other parameters. |
403 | SecurityGroupInstanceLimitExceed | %s | The error message returned because the maximum number of instances in the security group has been reached. |
403 | InvalidSecurityGroupId.NotVpc | %s | The error message returned because the specified security group ID is invalid and the network type of the security group is not VPC. |
403 | InvalidOperation.InvalidEniType | %s | The error message returned because the operation is not supported while the ENI is of the current type. |
403 | InvalidInstanceId.NotFound | %s | The error message returned because the specified InstanceId parameter does not exist. |
403 | InvalidEni.NotSameVpc | %s | The 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. |
403 | InvalidOperation.Ipv4CountExceeded | %s | The error message returned because the maximum number of IPv4 addresses has been reached. |
403 | InvalidOperation.EniServiceManaged | %s | The error message returned because the operation is invalid. |
403 | InvalidOperation.Ipv6NotSupport | %s | The error message returned because IPv6 addresses do not support this operation. |
403 | InvalidOperation.HotPlugNotSupport | %s | The 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. |
403 | InvalidOperation.InvalidTrunkEniStatus | %s | The 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. |
403 | InvalidOperation.InstanceTypeNotSupportEniTrunking | %s | The error message returned because the operation is not supported. For more information, see the return value of the %s placeholder in the error message. |
403 | InvalidOperation.EniTypeNotSupportTrunking | %s | The 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. |
403 | InvalidParameter.EniNotBelongTrunk | %s | The 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. |
403 | InvalidParameter.EniNotBelongEcs | %s | The 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. |
403 | InvalidParameter.InvalidEniQueueNumber | %s | The 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. |
403 | InvalidOperation.MaxEniQueueNumberExceeded | %s | The 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. |
403 | InvalidOperation.ExceedInstanceTypeQueueNumber | %s | The 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. |
404 | InvalidEcsId.NotFound | %s | The error message returned because the specified InstanceId parameter does not exist. |
404 | InvalidEniId.NotFound | %s | The error message returned because the specified NetworkInterfaceId parameter does not exist. |
404 | InvalidVSwitchId.NotFound | %s | The error message returned because the specified vSwitch does not exist. |
404 | InvalidSecurityGroupId.NotFound | %s | The error message returned because the specified security group ID does not exist. |
For a list of error codes, visit the API Error Center.