Creates a vSwitch.
Usage notes
When you call this operation, take note of the following limits:
- You can create at most 150 vSwitches in a virtual private cloud (VPC).
- The first IP address and last three IP addresses of each vSwitch CIDR block are reserved. For example, if the CIDR block of a vSwitch is 192.168.1.0/24, the IP addresses 192.168.1.0, 192.168.1.253, 192.168.1.254, and 192.168.1.255 are reserved.
- The number of instances in a vSwitch cannot exceed the remaining capacity of the VPC. The remaining capacity is the difference between 15,000 and the current number of instances.
- Each instance can belong to only one vSwitch.
- vSwitches do not support multicast or broadcast.
- After you create a vSwitch, you cannot modify its CIDR block.
- The CreateVSwitch operation is asynchronous. After you send the request, the system returns a request ID. However, the operation is still being performed in the system background. You can call the DescribeVSwitchAttributes operation to query the status of a vSwitch:
- If the vSwitch is in the Pending state, the vSwitch is being configured.
- If the vSwitch is in the Available state, the vSwitch is available.
- You cannot repeatedly call the CreateVSwitch operation to create a vSwitch in a VPC within the specified period of time.
Debugging
Request parameters
Parameter | Type | Required | Example | Description |
---|---|---|---|---|
Action | String | Yes | CreateVSwitch | The operation that you want to perform. Set the value to CreateVSwitch. |
ZoneId | String | Yes | cn-hangzhou-b | The zone ID of the vSwitch. You can call the DescribeZones operation to query the most recent zone list. |
RegionId | String | No | cn-hangzhou | The region ID of the vSwitch. You can call the DescribeRegions operation to query the most recent region list. |
CidrBlock | String | Yes | 172.16.0.0/24 | The CIDR block of the vSwitch. Take note of the following limits:
|
Ipv6CidrBlock | Integer | No | 12 | The last eight bits of the IPv6 CIDR block of the vSwitch. Valid values: 0 to 255. |
VpcId | String | Yes | vpc-257gqcdfvx6n**** | The ID of the VPC where you want to create the vSwitch. |
VSwitchName | String | No | vSwitch-1 | The name of the vSwitch. The name must be 1 to 128 characters in length, and cannot start with |
Description | String | No | vSwitch | The description of the vSwitch. The description must be 1 to 256 characters in length and cannot start with |
ClientToken | String | No | 0c593ea1-3bea-11e9-b96b-88e9fe63**** | The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that it is unique among all requests. The token can contain only ASCII characters.
Note If you do not specify this parameter,
ClientToken is set to the value of
RequestId. The value of
RequestId may be different for each API request.
|
VpcIpv6CidrBlock | String | No | 2408:XXXX:0:6a::/56 | The IPv6 CIDR block of the VPC. |
Response parameters
Parameter | Type | Example | Description |
---|---|---|---|
VSwitchId | String | vsw-25navfgbue4g**** | The ID of the vSwitch. |
RequestId | String | 0ED8D006-F706-4D23-88ED-E11ED28DCAC0 | The ID of the request. |
Examples
Sample requests
http(s)://[Endpoint]/?Action=CreateVSwitch
&ZoneId=cn-hangzhou-b
&RegionId=cn-hangzhou
&CidrBlock=172.16.0.0/24
&Ipv6CidrBlock=12
&VpcId=vpc-257gqcdfvx6n****
&VSwitchName=vSwitch-1
&Description=vSwitch
&ClientToken=0c593ea1-3bea-11e9-b96b-88e9fe63****
&VpcIpv6CidrBlock=2408:XXXX:0:6a::/56
&Common request parameters
Sample success responses
XML
format
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateVSwitchResponse>
<VSwitchId>vsw-25navfgbue4g****</VSwitchId>
<RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>
</CreateVSwitchResponse>
JSON
format
HTTP/1.1 200 OK
Content-Type:application/json
{
"VSwitchId" : "vsw-25navfgbue4g****",
"RequestId" : "0ED8D006-F706-4D23-88ED-E11ED28DCAC0"
}
Error codes
HttpCode | Error code | Error message | Description |
---|---|---|---|
400 | InvalidVSwitchName.Malformed | Specified virtual switch name is not valid. | The error message returned because the format of the specified vSwitch name is invalid. Specify the name in the valid format. |
400 | InvalidVSwitchDiscription.Malformed | Specified virtual switch description is not valid. | The error message returned because the description of the vSwitch is invalid. |
400 | MissingParam.vpcId | The parameter vpcId is mandatory. | The error message returned because the vpcId parameter is required. |
400 | ResourceNotAvailable | Resource you requested is not available in this region or zone. | The error message returned because you cannot create a vSwitch in the current region or zone. |
400 | InvalidParameter | Specified CIDR block is not valid in VPC. | The error message returned because the vSwitch CIDR block does not fall within the VPC CIDR block. |
400 | InvalidCidrBlock.Overlapped | Specified CIDR block overlapped with other subnets. | The error message returned because the vSwitch CIDR block overlaps with another vSwitch CIDR block or the destination CIDR block of a custom route entry. Make sure that the vSwitch CIDR block does not overlap with another vSwitch CIDR block or the destination CIDR block of a route entry. |
400 | InvalidCidrBlock.Overlapped | Specified CIDR block overlapped with other entry. | The error message returned because the vSwitch CIDR block overlaps with another vSwitch CIDR block or the destination CIDR block of a custom route entry. Make sure that the vSwitch CIDR block does not overlap with another vSwitch CIDR block or the destination CIDR block of a route entry. |
400 | QuotaExceeded.VSwitch | Virtual switch quota exceeded. | The error message returned because the number of vSwitches has reached the quota. Reduce the number of vSwitches and try again later. |
400 | IncorrectRouteEntryStatus | Some route entry status blocked this operation. | The error message returned because one or more routes in the route table are in the Pending or Modifying state. |
400 | IncorrectVSwitchStatus | Some virtual switch is modifying within the same VPC. | The error message returned because multiple vSwitches are in the Modifying state in the same VPC. Try again later. |
400 | InvalidCirdrBlock.MaskLength | Specified CIDR block is not valid . | The error message returned because the format of the CIDR block is invalid. |
400 | IncorrectVpcStatus | Current VPC status does not support this operation. | The error message returned because this operation cannot be performed when the VPC is in the current state. |
400 | CreateVSwitch.IncorrectStatus.cbnStatus | Current CBN status does not support this operation. | The error message returned because you cannot create a vSwitch when the Cloud Enterprise Network (CEN) instance is in the current state. |
400 | InvalidCidrBlock.Malformed | Specified CIDR block is not valid. | The error message returned because the format of the specified CIDR block is invalid. |
400 | MissingParameter | Miss mandatory parameter. | The error message returned because one or more required parameters are not set. Check whether you have set all the required parameters before you call this operation. |
400 | IncorrectVSwitchStatus | VSwitch Creation simultaneously is not supported. | The error message returned because the system failed to create the vSwitch and one or more vSwitches that belong to the VPC are in the Creating state. |
400 | TaskConflict | The operation is too frequent, TaskConflict. | The error message returned because the system is busy. Try again later. |
400 | Forbidden.VpcNotFound | Specified VPC can not found. | The error message returned because the specified VPC does not exist. |
400 | RouteConflict.AlreadyExist | Route conflict exists in routing table. | The error message returned because route conflicts exist in the route table. |
400 | IncorrectStatus.cbnStatus | Current CBN status does not support this operation. | The error message returned because the status of the CEN instance is invalid. |
400 | UnsupportedFeature.CloudBoxIpv6 | The IPv6 feature is not supported by cloud box. | The error message returned because you cannot create IPv6 addresses for a cloud box. |
400 | OperationDenied.VpcPeerExist | The operation is not allowed because the VPC peer exists. | The error message returned because the VPC has a peering connection and the operation failed. |
400 | OperationDenied.CenAttached | The operation is not allowed because the VPC is attached to CEN. | The error message returned because the VPC is attached to a CEN instance and the operation failed. |
400 | OperationDenied.NatgwExist | The operation is not allowed because the NAT gateway exists in VPC. | The error message returned because NAT gateways exist in the VPC and the operation failed. |
400 | MissingParam.Ipv6CidrBlock | The parameter Ipv6CidrBlock is mandatory. | The error message returned because the Ipv6CidrBlock parameter is required. |
400 | OperationDenied.VpcPeerExists | The operation is not allowed because the VpcPeer exists. | The error message returned because the VPC has a VPC peering connection. |
404 | InvalidZoneId.NotFound | Specified zone does not exist. | The error message returned because the zone ID is invalid. |
404 | InvalidVpcId.NotFound | Specified VPC does not exist. | The error message returned because the specified VPC does not exist. |
For a list of error codes, visit the API Error Center.