vpc — Virtual Private Cloud
vpc · 2017-03-12
CreateNetworkInterface
POST
Create an ENI.
Wire call
Converge Cloud is RPC over HTTP. There is one path — / — and the action travels in the X-TC-Action header. The /vpc/CreateNetworkInterface path used in the OpenAPI document is a documentation convenience so each action is addressable; it is not a route on the server.
curl
curl -sS https://vpc.api3.convergecloud.com/ \
-H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/vpc/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Host: vpc.api3.convergecloud.com' \
-H 'X-TC-Action: CreateNetworkInterface' \
-H 'X-TC-Version: 2017-03-12' \
-H 'X-TC-Timestamp: <unix-seconds>' \
-H 'X-TC-Region: luzon' \
-d '{"VpcId":"<VpcId>","SubnetId":"<SubnetId>","NetworkInterfaceName":"<NetworkInterfaceName>"}'Request parameters
| Field | Type | Required | Description |
|---|---|---|---|
| VpcId | string | Yes | The ID of the VPC instance. You can obtain the parameter value from the VpcId field in the returned result of DescribeVpcs API. |
| NetworkInterfaceName | string | Yes | The name of the ENI. The maximum length is 60 characters. |
| SubnetId | string | Yes | The subnet instance ID of the ENI, such as `subnet-0ap8nwca`. |
| NetworkInterfaceDescription | string | No | ENI description can be named freely, but the maximum length is 60 characters. |
| SecondaryPrivateIpAddressCount | integer | No | The number of private IP addresses you apply for. The total number of private IP addresses cannot exceed the quota. |
| QosLevel | string | No | IP service level. It is used together with `SecondaryPrivateIpAddressCount`. Values: `PT` (Gold), `AU` (Silver), `AG` (Bronze) and `DEFAULT` (Default). |
| SecurityGroupIds | string[] | No | Specifies the security group to be bound with, such as ['sg-1dd51d']. |
| PrivateIpAddresses | PrivateIpAddressSpecification[] | No | The information of the specified private IPs. You can specify a maximum of 10 each time. |
| Tags | Tag[] | No | Bound tags, such as [{"Key": "city", "Value": "shanghai"}]. |
| TrunkingFlag | string | No | Configuration of the ENI trunking mode. Valid values: `Enable` and `Disable`. Default value: `Disable`. |
| ClientToken | string | No | Idempotency token used to ensure request idempotency. This string is generated by the client and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, request idempotency cannot be guaranteed. |
Response
Fields are returned inside the Response envelope. Converge Cloud answers HTTP 200 for errors as well as successes, so read Response.Error rather than the status code — and test for the presence of that object, because Code is occasionally the empty string.
| Field | Type | Description |
|---|---|---|
| NetworkInterface | NetworkInterface | ENI instance. |
| RequestId | string | The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. |
Success
{
"Response": {
"NetworkInterface": …,
"RequestId": "…"
}
}Error
{
"Response": {
"Error": { "Code": "…", "Message": "…" },
"RequestId": "…"
}
}Try it
CredentialThe key never leaves this tab — it signs the request here. The signed request goes to /api-relay/vpc.
Request bodyvalid JSONPOST vpc.api3.convergecloud.com · CreateNetworkInterface
Recorded example response — captured 2026-09-16
{
"Response": {
"NetworkInterface": {
"NetworkInterfaceId": "eni-5uqtk0sn",
"VpcId": "vpc-gnozlhfn",
"SubnetId": "subnet-k8t7txdk",
"NetworkInterfaceName": "example-network",
"NetworkInterfaceDescription": "example discovery — delete me",
"MacAddress": "20:90:6F:46:9D:8D",
"PrivateIpAddressSet": [
{
"PrivateIpAddress": "10.200.1.15",
"Primary": true,
"AddressId": "",
"PublicIpAddress": "",
"Description": "",
"IsWanIpBlocked": false,
"State": "PENDING",
"ResourceId": ""
}
],
"Attachment": null,
"GroupSet": [],
"Primary": false,
"State": "PENDING",
"Zone": "",
"CreatedTime": "",
"Ipv6AddressSet": [],
"TagSet": [],
"EniType": 0,
"CdcId": "",
"AttachType": 0,
"SubNetworkInterfaces": [],
"Region": "luzon",
"Synchronized": false,
"DeleteOnTermination": false,
"Business": "cvm"
},
"RequestId": "9eefc56e-c3ad-f464-672b-866e825635c7"
}
}