All Products
Search
Document Center

Elastic Compute Service:AssignPrivateIpAddresses

Last Updated:Jun 25, 2026

Allocates one or more secondary private IP addresses to an Elastic Network Interface (ENI). You can specify available private IP addresses from the vSwitch to which the ENI belongs, or automatically allocate private IP addresses by specifying the number of private endpoint addresses.

Operation description

Operation description

  • Only ENIs in the Available or InUse state are supported.

  • When you operate a primary ENI, the instance to which the ENI is attached must be in the Running or Stopped state.

  • When an ENI is in the Available state, you can allocate up to 49 secondary private IP addresses to it. After the ENI is attached to an instance, the number of secondary private IP addresses that can be allocated is limited by the instance type. For more information, see Instance families.

  • After you call this operation, you can obtain the allocated secondary private IP address information from the response.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

ecs:AssignPrivateIpAddresses

create

*NetworkInterface

acs:ecs:{#regionId}:{#accountId}:eni/{#eniId}

None None

Request parameters

Parameter

Type

Required

Description

Example

RegionId

string

Yes

The region ID of the network interface controller (NIC). You can call DescribeRegions to query the most recent list of Alibaba Cloud regions.

cn-hangzhou

RegionId

string

Yes

The ID of the network interface controller (NIC).

cn-hangzhou

NetworkInterfaceId

string

Yes

The number of private IP addresses to be automatically assigned from the available IP addresses of the vSwitch.

When you assign secondary private IP addresses, you cannot specify both PrivateIpAddress.N and SecondaryPrivateIpAddressCount.

eni-bp67acfmxazb4p****

SecondaryPrivateIpAddressCount

integer

No

The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see How to ensure idempotence.

1

ClientToken

string

No

One or more secondary private IP addresses selected from the available IP addresses of the vSwitch to which the network interface controller (NIC) belongs. Valid values of N:

  • When the ENI is in the Available (Available) state: 1 to 32.

  • When the ENI is in the InUse state: limited by the instance type. For more information, see Instance families.

When you allocate secondary private IP addresses, you cannot specify both PrivateIpAddress.N and SecondaryPrivateIpAddressCount.

123e4567-e89b-12d3-a456-426655440000

PrivateIpAddress

array

No

One or more IPv4 prefixes to allocate to the network interface controller (NIC). Valid values of N: 1 to 10.

Note

To configure IPv4 prefixes for the ENI, you must specify either the Ipv4Prefix.N parameter or the Ipv4PrefixCount parameter, but not both.

10.1.**.**

string

No

One or more IPv4 prefixes to allocate to the network interface controller (NIC). Valid values of N: 1 to 10.

Note

To configure IPv4 prefixes for the ENI, you must specify either the Ipv4Prefix.N parameter or the Ipv4PrefixCount parameter, but not both.

10.1.**.**

Ipv4Prefix

array

No

The number of randomly generated IPv4 prefixes to allocate to the network interface controller (NIC). Valid values: 1 to 10.

Note

To configure IPv4 prefixes for the ENI, you must specify either the Ipv4Prefix.N parameter or the 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.

192.168.**.**/28

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.

1

Response elements

Element

Type

Description

Example

object

RequestId

string

The request ID.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

AssignedPrivateIpAddressesSet

object

The information about the network interface controller (NIC) to which secondary private IP addresses are allocated.

NetworkInterfaceId

string

The ID of the network interface controller (NIC).

eni-bp125p95hhdhn3ot****

PrivateIpSet

object

PrivateIpAddress

array

The secondary private IP addresses that are assigned to the ENI.

string

The secondary private IP address that is assigned to the ENI.

192.168.**.**

Ipv4PrefixSet

object

Ipv4Prefixes

array

Details about the assigned IPv4 prefixes.

string

The assigned IPv4 prefix.

192.168.**.**/28

Examples

Success response

JSON format

{
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E",
  "AssignedPrivateIpAddressesSet": {
    "NetworkInterfaceId": "eni-bp125p95hhdhn3ot****",
    "PrivateIpSet": {
      "PrivateIpAddress": [
        "192.168.**.**"
      ]
    },
    "Ipv4PrefixSet": {
      "Ipv4Prefixes": [
        "192.168.**.**/28"
      ]
    }
  }
}

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 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 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
400 InvalidVSwitch.IllegalStatus The operation is not allowed in the current VSwitch state. Expecting state includes "Created", but current state is "%s". The current VSwitch status does not support this operation.
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.
500 InvalidParameter.PrivateIpCount The current privateIpCount is not in the range 1.0 through 100.0. The current privateIpCount is not in the range of 1.0 to 100.0.
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 MissingParameter %s
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 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
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
404 InvalidOperation.VSwitchCidrReservationNotExist The specified VSwitch does not have CIDR reservation. The specified switch does not have a reserved segment available.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.