Assigns one or more secondary private IP addresses to an elastic network interface (ENI). You can specify available private IP addresses within the CIDR block of the vSwitch connected to the ENI. You can also specify a number of private IP addresses to automatically assign from the CIDR block of the vSwitch to the ENI.
Operation description
Usage notes
- The ENI to which you want to assign secondary private IP addresses must be in the Available (Available) or InUse (InUse) state.
- When you assign private IP addresses to a primary ENI, the Elastic Compute Service (ECS) instance to which the ENI is attached must be in the Running (Running) or Stopped (Stopped) state.
- When an ENI is in the Available state, you can assign up to 49 secondary private IP addresses to the ENI. When an ENI is attached to an instance, the number of secondary private IP addresses that can be assigned to the ENI varies based on the instance type. For more information, see Overview of instance families.
- After the operation is called, you can obtain the assigned secondary private IP addresses from the response.
Debugging
Authorization information
The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action
policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:
- Operation: the value that you can use in the Action element to specify the operation on a resource.
- Access level: the access level of each operation. The levels are read, write, and list.
- Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
- The required resource types are displayed in bold characters.
- If the permissions cannot be granted at the resource level,
All Resources
is used in the Resource type column of the operation.
- Condition Key: the condition key that is defined by the cloud service.
- Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
Operation | Access level | Resource type | Condition key | Associated operation |
---|---|---|---|---|
ecs:AssignPrivateIpAddresses | create | *NetworkInterface acs:ecs:{#regionId}:{#accountId}:eni/{#eniId} |
| none |
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
RegionId | string | Yes | The region ID of the ENI. You can call the DescribeRegions operation to query the most recent region list. | cn-hangzhou |
NetworkInterfaceId | string | Yes | The ID of the ENI. | eni-bp67acfmxazb4p**** |
SecondaryPrivateIpAddressCount | integer | No | The number of private IP addresses to be automatically assigned from the CIDR block of the vSwitch that is connected to the ENI. To assign secondary private IP addresses to the ENI, you must specify | 1 |
ClientToken | string | No | The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see How to ensure idempotence. | 123e4567-e89b-12d3-a456-426655440000 |
PrivateIpAddress | array | No | Secondary private IP address N to be automatically assigned from the CIDR block of the vSwitch that is connected to the ENI. Valid values of N:
To assign secondary private IP addresses to the ENI, you must specify | |
string | No | Secondary private IP address N to be automatically assigned from the CIDR block of the vSwitch that is connected to the ENI. Valid values of N:
Note
To assign secondary private IP addresses to the ENI, you specify PrivateIpAddress.N and SecondaryPrivateIpAddressCount but not both.
| 10.1.**.** | |
Ipv4Prefix | array | No | The IPv4 prefixes to assign to the ENI. Valid values of N: 1 to 10. Note
To assign IPv4 prefixes to the ENI, you must specify the Ipv4Prefix.N or Ipv4PrefixCount parameter, but not both.
| |
string | No | IPv4 prefix N to assign to the ENI. Valid values of N: 1 to 10. Note
To assign IPv4 prefixes to the ENI, you must specify the Ipv4Prefix.N or Ipv4PrefixCount parameter, but not both.
| hide | |
Ipv4PrefixCount | integer | No | The number of IPv4 prefixes to be randomly generated for the ENI. Valid values: 1 to 10. Note
To assign IPv4 prefixes to the ENI, you must specify the Ipv4Prefix.N or Ipv4PrefixCount parameter, but not both.
| hide |
Response parameters
Examples
Sample success responses
JSON
format
{
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E",
"AssignedPrivateIpAddressesSet": {
"NetworkInterfaceId": "eni-bp125p95hhdhn3ot****",
"PrivateIpSet": {
"PrivateIpAddress": [
"192.168.**.**"
]
},
"Ipv4PrefixSet": {
"Ipv4Prefixes": [
"hide"
]
}
}
}
Error codes
HTTP status code | Error code | Error message | Description |
---|---|---|---|
400 | Throttling | Request was denied due to request throttling. | - |
400 | InvalidOperation.Unsupported | %s | - |
400 | UnsupportedParameter | %s | The parameter is not supported. |
400 | InvalidParameter | %s | The specified parameter is invalid. |
400 | InvalidInstanceID.Malformed | %s | The specified InstanceId parameter is invalid. |
400 | InvalidOperation.InvalidEcsState | %s | - |
400 | InvalidOperation.InvalidEniState | %s | - |
400 | InvalidOperation.DetachPrimaryEniNotAllowed | %s | - |
400 | MissingParameter | %s | A parameter is not specified. |
400 | Forbidden.RegionId | %s | The service is unavailable in the current region. |
400 | InvalidAction | %s | The operation is invalid. |
400 | InvalidPrivateIpAddress.Duplicated | Specified private IP address is duplicated. | - |
400 | InvalidPrivateIpAddress.Malformed | %s | - |
400 | InvalidSecondaryPrivateIpAddressCount.Malformed | %s | - |
400 | InvalidOperation.InvalidEniState | The operation is not allowed in the current ENI state. | - |
400 | InvalidParameter.Conflict | %s | The specified parameter is invalid. Check whether parameter conflicts exist. %s is a variable. An error message is dynamically returned based on call conditions. |
400 | InvalidOperation.InstanceNotSupportMulitipleIp | Assigning private ip for instance in cloud box is unsupported. | - |
400 | IncorrectVSwitchStatus | The operation is not allowed in the current VSwitch state. Expecting state includes "Created Available", but current state is "%s". | The operation is not supported in the current state of the vSwitch. |
400 | InvalidPrivateIpAddress.Duplicated | The specified private IP address "%s" is duplicated. | The specified IP address is already in use. |
400 | QuotaExceeded.PrivateIpAddress | There are not enough private IPs in the specified VSwitch. | The current VSwitch does not have enough Ip |
400 | InvalidStatus.InstanceIsMigrating | The ECS which ENI is attached to is migrating. Please try again later. | - |
400 | InvalidEniId.Malformed | The specified parameter "NetworkInterfaceId" is not valid. Ensure you provide the full ENI id in the form eni-xxx. | NIC Id input does not meet specification |
403 | InvalidUserType.NotSupported | %s | Your account does not support this operation. |
403 | Abs.InvalidAccount.NotFound | %s | Your Alibaba Cloud account does not exist or your AccessKey pair has expired. |
403 | Forbidden.NotSupportRAM | %s | RAM users are not authorized to perform this operation. |
403 | Forbidden.SubUser | %s | You are not authorized to manage this resource. Contact the owner of the Alibaba Cloud account for authorization. |
403 | MaxEniCountExceeded | %s | The maximum number of ENIs that can be managed has been reached. |
403 | EniPerInstanceLimitExceeded | %s | The maximum number of ENIs that can be attached to the specified instance has been reached. |
403 | InvalidOperation.AvailabilityZoneMismatch | %s | The operation is invalid. |
403 | InvalidOperation.VpcMismatch | %s | The operation is invalid. Check whether the VPC in the operation corresponds to other parameters. |
403 | SecurityGroupInstanceLimitExceed | %s | - |
403 | InvalidSecurityGroupId.NotVpc | %s | The specified SecurityGroupId parameter is invalid and the network type of the security group is not VPC. |
403 | InvalidOperation.InvalidEniType | %s | - |
403 | InvalidVSwitchId.IpNotEnough | %s | The number of available IP addresses on the specified vSwitch is insufficient. |
403 | InvalidVSwitchId.IpInvalid | %s | The specified private IP address is invalid. |
403 | InvalidIp.IpAssigned | %s | The specified IP address is already assigned. |
403 | MaxEniPrivateIpsCountExceeded | %s | The maximum number of secondary private IP addresses that can be assigned to the specified ENI has been exceeded. For more information, see the return value of the %s placeholder in the error message. |
403 | Operation.Conflict | %s | This operation conflicts with another operation in progress. Try again later. |
403 | InvalidOperation.Ipv4CountExceeded | %s | The operation is valid because the maximum number of IPv4 addresses has been reached. |
403 | InvalidOperation.EniServiceManaged | %s | The operation is invalid. |
403 | InvalidIp.IpRepeated | %s | The specified IP address already exists. |
403 | InvalidIp.IpPrefixIllegal | The ip prefixes %s is/are illegal. | The IP address prefix is invalid and is not in the CIDR format. |
403 | MissingParameter | These parameters %s cannot all be empty. | These parameters cannot all be empty |
403 | InvalidIp.IpPrefixMaskIllegal | The current IP prefix mask is illegal. | Illegal IP prefix mask. |
403 | InvalidIp.IpPrefixMaskNotSame | The IP prefixes %s are illegal.The IP prefix mask must be the same. | The IP prefix masks are not the same. |
403 | InvalidIp.IpPrefixNotAvailable | The IP prefix is not available. | The IP prefix is not free. |
403 | InvalidIp.IpPrefixNotStrict | The IP prefix "%s" must be strict CIDR format. | Invalid IP prefix, not strictly cidr. |
403 | InvalidVSwitchId.IpPrefixNotEnough | The specified VSwitch does not have enough IP prefixes. | The number of IP prefixes in the specified switch is insufficient. |
403 | InvalidIp.IpPrefixMaskInvalid | The IP prefixes mask "%s" is illegal.Ensure the mask is between %s and %s. | The IP prefix mask is invalid and is not in the valid range. |
403 | InvalidIp.IpPrefixMustInReserveSegment | The IP prefix must be in VSwitch reserved segment. Ensure you create reserved segment for the VSwitch. | The IP prefix is invalid and is not in the reserved address segment of the switch. |
404 | InvalidEcsId.NotFound | %s | The specified instance ID does not exist. |
404 | InvalidEniId.NotFound | %s | The specified ENI ID does not exist. |
404 | InvalidVSwitchId.NotFound | %s | The specified vSwitch does not exist. |
404 | InvalidSecurityGroupId.NotFound | %s | The specified security group ID does not exist. |
404 | InvalidInstanceId.NotFound | %s | The specified instance does not exist. Check whether the InstanceId parameter is valid. |
404 | InvalidOperation.VSwitchCidrReservationNotExist | The specified VSwitch does not have CIDR reservation. | The specified switch does not have a reserved segment available. |
500 | InvalidOperation.RegionNotSupportIpPrefix | The current region does not support IP prefix feature. | The region does not support IP prefix allocation. |
500 | InternalError | The request processing has failed due to some unknown error, exception or failure. | An internal error has occurred. Try again later. |
For a list of error codes, visit the Service error codes.
Change history
Change time | Summary of changes | Operation |
---|---|---|
2024-12-17 | API Description Update. The Error code has changed | View Change Details |
2024-08-20 | The Error code has changed | View Change Details |
2023-08-17 | The Error code has changed | View Change Details |
2023-04-26 | The Error code has changed | View Change Details |