Updated on 2024-06-27 GMT+08:00

Creating a Supplementary Network Interface

Function

This API is used to create a supplementary network interface.

URI

POST /v3/{project_id}/vpc/sub-network-interfaces

Table 1 Parameter description

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID.

Request Parameters

Table 2 Request body parameter

Parameter

Mandatory

Type

Description

dry_run

No

Boolean

  • Whether to only send the check request.
  • The value can be:
    • true: A check request will be sent and no supplementary network interface will be created. Check items include mandatory parameters, request format, and permission verification. If the check fails, the system returns an error. If the check succeeds, response code 202 will be returned.
    • false (default value): A request will be sent and a supplementary network interface will be created.

sub_network_interface

Yes

CreateSubNetworkInterfaceOption object

Request body for creating a supplementary network interface.

Table 3 CreateSubNetworkInterfaceOption

Parameter

Mandatory

Type

Description

virsubnet_id

Yes

String

  • Virtual subnet ID, also the subnet ID, which is the same as the network ID displayed on the subnet summary page on the console.
  • The value must be in standard UUID format.

vlan_id

No

String

  • VLAN ID of the supplementary network interface.
  • The value can be from 1 to 4094.
  • Each supplementary network interface of an elastic network interface has a unique VLAN ID.

parent_id

Yes

String

  • ID of the elastic network interface.
  • The value must be in standard UUID format.
  • The value must be an existing port ID.

description

No

String

  • Description of the supplementary network interface.
  • The value can contain up to 255 characters and cannot contain angle brackets (< or >).

ipv6_enable

No

Boolean

  • Whether to enable IPv6 for the supplementary network interface.
  • The value can be:
    • true: Enable
    • false: Disable
  • The default value is false.

private_ip_address

No

String

  • Private IPv4 address of the supplementary network interface.
  • The value must be within the virtual subnet. If this parameter is left blank, an IP address will be randomly assigned.

ipv6_ip_address

No

String

  • Private IPv6 address of the supplementary network interface.
  • The value must be within the virtual subnet. If this parameter is left blank, an IP address will be randomly assigned.

security_groups

No

Array of strings

  • Security group IDs, for example,

    "security_groups": ["a0608cbf-d047-4f54-8b28-cd7b59853fff"]

  • The default value is the default security group.

project_id

No

String

  • Project ID of the supplementary network interface.
  • The value must be in standard UUID format.
  • Only administrators have permissions to specify project IDs.

Response Parameters

When the status code is 201, the response parameters are as follows:

Table 4 Response body parameters

Parameter

Type

Description

request_id

String

Request ID.

sub_network_interface

SubNetworkInterface object

Response body of a supplementary network interface.

Table 5 SubNetworkInterface

Parameter

Type

Description

id

String

  • Unique identifier of the supplementary network interface.
  • The value is in UUID format with hyphens (-).

virsubnet_id

String

  • Virtual subnet ID, also the subnet ID, which is the same as the network ID displayed on the subnet summary page on the console.
  • The value must be in standard UUID format.

private_ip_address

String

  • Private IPv4 address of the supplementary network interface.
  • The value must be within the virtual subnet. If this parameter is left blank, an IP address will be randomly assigned.

ipv6_ip_address

String

  • Private IPv6 address of the supplementary network interface.
  • The value must be within the virtual subnet. If this parameter is left blank, an IP address will be randomly assigned.

mac_address

String

  • MAC address of the supplementary network interface.
  • The value is a valid MAC address assigned by the system randomly.

parent_device_id

String

  • Device ID.
  • The value must be in standard UUID format.

parent_id

String

  • ID of the elastic network interface.
  • The value must be in standard UUID format.

description

String

  • Description of the supplementary network interface.
  • The value can contain up to 255 characters and cannot contain angle brackets (< or >).

vpc_id

String

  • VPC ID of the supplementary network interface.
  • The value must be in standard UUID format.

vlan_id

Integer

  • VLAN ID of the supplementary network interface.
  • The value can be from 1 to 4094.
  • Each supplementary network interface of an elastic network interface has a unique VLAN ID.

security_enabled

Boolean

  • Whether the security option is enabled for the supplementary network interface. If the option is not enabled, the security group does not take effect.

security_groups

Array of strings

  • Security group IDs, for example, "security_groups": ["a0608cbf-d047-4f54-8b28-cd7b59853fff"]
  • The default value is the default security group.

tags

Array of strings

  • Tags of the supplementary network interface.

project_id

String

  • Project ID of the supplementary network interface.

created_at

String

  • The time when the supplementary network interface is created
  • UTC time in the format of yyyy-MM-ddTHH:mm:ssZ

Example Request

Create a supplementary network interface. Set its virtual subnet ID to 08278e6c-61ca-46c1-9fc3-0d4f6c12f193, elastic network interface ID to 637748df-2986-4350-8303-95d259580fb3, and associated security group to 6727c950-9f01-47a2-a7aa-7d3686c4c95b.

POST https://{Endpoint}/v3/8c6fb137a48a428aaf9a0229dca4edb3/vpc/sub-network-interfaces

{
  "sub_network_interface" : {
    "virsubnet_id" : "08278e6c-61ca-46c1-9fc3-0d4f6c12f193",
    "parent_id" : "637748df-2986-4350-8303-95d259580fb3",
    "security_groups" : [ "6727c950-9f01-47a2-a7aa-7d3686c4c95b" ]
  }
}

Example Response

When the status code is 201, the response parameters are as follows:

Created

{
  "sub_network_interface" : {
    "id" : "2be868f2-f7c9-48db-abc0-eea0b9105b0d",
    "project_id" : "8c6fb137a48a428aaf9a0229dca4edb3",
    "virsubnet_id" : "08278e6c-61ca-46c1-9fc3-0d4f6c12f193",
    "private_ip_address" : "10.0.0.225",
    "ipv6_ip_address" : null,
    "mac_address" : "fa:16:3e:48:f8:6f",
    "parent_device_id" : "1ab01f1d-4ef7-4d83-82be-802b3aca0223",
    "security_groups" : [ "6727c950-9f01-47a2-a7aa-7d3686c4c95b" ],
    "vpc_id" : "63b97e6b-3598-430f-9eb8-1caf06937be8",
    "description" : null,
    "parent_id" : "637748df-2986-4350-8303-95d259580fb3",
    "vlan_id" : 2787,
    "tags" : [ ],
    "created_at" : "2020-05-19T01:16:25Z"
  },
  "request_id" : "ceb6273e-1ec9-4168-ac11-3dfeaacfc889"
}

Status Codes

Status Code

Description

201

Created

Error Codes

See Error Codes.