调用CreateVSwitchCidrReservation接口创建交换机预留网段。

使用说明

调用该接口创建交换机预留网段时,请注意以下事项:

  • VPC中单个交换机IPv4、IPv6最大预留网段数目均为10个。
  • 当您在交换机下添加预留网段后,该预留网段不能包含交换机对应的VPC的子网网关地址。
  • CreateVSwitchCidrReservation接口属于异步接口,即系统会返回一个实例ID,但该交换机预留网段尚未创建完成,系统后台任务仍在进行中。您可以调用ListVSwitchCidrReservations查询交换机预留网段的创建状态:
    • 当交换机预留网段处于Assigning状态时,表示交换机预留网段正在分配中。
    • 当交换机预留网段处于Assigned状态时,表示交换机预留网段已分配。
  • 当您分配IPv4版本的交换机预留网段时,该交换机的第1个和最后3个IP地址为系统保留地址。这4个保留地址不会被分配出去。
  • 当您分配IPv6版本的交换机预留网段时,该交换机的第1个和最后9个IP地址为系统保留地址。这10个保留地址不会被分配出去。

    以IPv4预留网段为例,例如交换机网段为192.168.1.0/24,则系统保留地址为192.168.1.0、192.168.1.253、192.168.1.254和192.168.1.255,分配的预留网段中不能包含这4个IP地址在内。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateVSwitchCidrReservation

系统规定参数。取值:CreateVSwitchCidrReservation

VSwitchId String vsw-25navfgbue4g****

要创建的交换机预留网段所属的交换机ID。

VSwitchCidrReservationName String ReservationName

交换机预留网段的名称。

名称长度为2~128个字符,以英文字母或中文开头,可包含数字、下划线(_)和短划线(-)。

VSwitchCidrReservationDescription String ReservationDescription

交换机预留网段的描述信息。不填则为空,默认值为空。

描述长度为2~256个字符,以英文字母或中文开头,不能以http://https://开头。

IpVersion String IPv4

交换机预留网段的IP版本。取值:

  • IPv4 (默认值):IPv4版本。
  • IPv6:IPv6版本。
VSwitchCidrReservationMask String 28

交换机预留网段的掩码。

  • IpVersion取值为IPv4时,交换机预留网段的掩码长度范围必须要大于所属交换机的IPv4网段掩码长度且最大不超过28。
  • IpVersion取值为IPv6时,交换机预留网段的掩码长度范围必须要大于所属交换机的IPv6网段掩码长度且最大不超过80。
说明 VSwitchCidrReservationMask参数和VSwitchCidrReservationCidr参数必须输入一个。
VSwitchCidrReservationCidr String 192.168.1.64/28

交换机预留网段。

  • IpVersion取值为IPv4时,交换机预留网段必须是其所属交换机IPv4网段的真子集且网段的掩码长度不超过28。
  • IpVersion取值为IPv6时,交换机预留网段必须是其所属交换机IPv6网段的真子集且网段的掩码长度不超过80。
说明 VSwitchCidrReservationMask参数和VSwitchCidrReservationCidr参数必须输入一个。
VSwitchCidrReservationType String prefix

交换机预留网段的类型。取值:prefix,表示按段分配地址。

说明 用户及云服务自动为弹性网卡ENI(Elastic Network Interface)分配网段时,必须从预留地址段分配。如果预留地址段的地址已经分配完,则系统会报错。
ClientToken String 123e4567-e89b-12d3-a456-426655440000

客户端Token,用于保证请求的幂等性。

从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。

说明 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。
DryRun Boolean false

是否只预检此次请求。取值:

  • true:发送检查请求,不会创建交换机预留网段。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码DryRunOperation
  • false(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行创建。
RegionId String cn-hangzhou

交换机所在的地域ID。

您可以通过调用DescribeRegions接口获取地域ID。

返回数据

名称 类型 示例值 描述
VSwitchCidrReservationId String vcr-bp1m12saqteraw3rp****

交换机预留网段的实例ID。

RequestId String 54B48E3D-DF70-471B-AA93-08E683A1B45

请求ID。

示例

请求示例

http(s)://[Endpoint]/?Action=CreateVSwitchCidrReservation
&VSwitchId=vsw-25navfgbue4g****
&VSwitchCidrReservationName=ReservationName
&VSwitchCidrReservationDescription=ReservationDescription
&IpVersion=IPv4
&VSwitchCidrReservationMask=28
&VSwitchCidrReservationCidr=192.168.1.64/28
&VSwitchCidrReservationType=prefix
&ClientToken=123e4567-e89b-12d3-a456-426655440000
&DryRun=false
&RegionId=cn-hangzhou
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateVSwitchCidrReservationResponse>
    <VSwitchCidrReservationId>vcr-bp1m12saqteraw3rp****</VSwitchCidrReservationId>
    <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>
</CreateVSwitchCidrReservationResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "VSwitchCidrReservationId" : "vcr-bp1m12saqteraw3rp****",
  "RequestId" : "54B48E3D-DF70-471B-AA93-08E683A1B45"
}

错误码

HttpCode 错误码 错误信息 描述
400 IllegalParamFormat IllegalParamFormat 参数格式不正确
400 IllegalParamFormat.VSwitchCidrReservationCidr The param format of VSwitchCidrReservationCidr is illegal. VSwitchCidrReservationCidr参数格式非法
400 ResourceNotFound.VSwitch The specified resource of VSwitch is not found. 指定的VSwitch实例不存在
400 UnsupportedFeature.ReservedType The specified ReservedType is not supported. 指定的ReservedType未支持
400 UnsupportedFeature.VSwitchIpv6 The ipv6 feature of switch is not supported. 指定的VSwitch未开启Ipv6
400 OperationFailed.VSwitchCidrReservationCidr The specified VSwitchCidrReservationCidr conflicts with existed cidr reservation or vswitch cidr. 指定的VSwitchCidrReservationCidr与已有的VSwitchCidrReservation网段冲突
400 MissingParam.CidrReservationMaskOrCidrReservationCidr Either VSwitchCidrReservationMask or VSwitchCidrReservationCidr should be specified. VSwitchCidrReservationMask和VSwitchCidrReservationCidr不能同时为空,请指定其中一个重试。
400 IllegalParam.VSwitchCidrReservationMask The param of VSwitchCidrReservationMask is illegal. VSwitchCidrReservationMask 参数不合法,请参考API文档参数说明修改后重试。
400 UnsupportedRegion UnsupportedRegion 当前Region未支持该特性
400 UnsupportedFeature.VpcAdvancedFeature UnsupportedFeature.VpcAdvancedFeature 你指定的VSwitch所在的VPC未支持高级特性,请更换其他VSwitch重试
400 QuotaExceeded.VSwitchCidrReservationMask The quota of VSwitchCidrReservationMask is exceeded. VSwitchCidrReservationMask 超出配额,请参考API文档参数说明修改后重试。
400 QuotaExceeded.CidrReservationCount The quota of VSwitchCidrReservation is exceeded. 超过 VSwitchCidrReservation 的数量配额。
400 Conflict.CidrReservationMaskAndCidrReservationCidr The specified VSwitchCidrReservationMask and VSwitchCidrReservationCidr is conflict. 指定的 VSwitchCidrReservationMask 和 VSwitchCidrReservationCidr 冲突,请根据API文档参数说明修改后重试。
400 OperationFailed.CidrNotEnoughInVSwitch No enough cidr to allocate in this vswitch. 指定的vswitch已没有足够的cidr分配出CidrReservation。

访问错误中心查看更多错误码。