更新时间:2023-12-14 GMT+08:00

创建专享版实例

功能介绍

创建按需专享版实例

调用方法

请参见如何调用API

URI

POST /v2/{project_id}/apigw/instances

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方式请参见获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

description

String

实例描述。支持除>和<以外的字符,长度为0~255。

maintain_begin

String

维护时间窗开始时间。时间格式为 xx:00:00,xx取值为02,06,10,14,18,22。

在这个时间段内,运维人员可以对该实例的节点进行维护操作。维护期间,业务可以正常使用,可能会发生闪断。维护操作通常几个月一次。

maintain_end

String

维护时间窗结束时间。时间格式为 xx:00:00,与维护时间窗开始时间相差4个小时。

在这个时间段内,运维人员可以对该实例的节点进行维护操作。维护期间,业务可以正常使用,可能会发生闪断。维护操作通常几个月一次。

instance_name

String

实例名称。

中英文字符开头,只能由中英文字符、数字、中划线、下划线组成,长度为3~64。

说明:

中文字符必须为UTF-8或者unicode编码。

最小长度:3

最大长度:64

instance_id

String

实例编号,不填写自动生成

spec_id

String

实例规格:

  • BASIC:基础版实例
  • PROFESSIONAL:专业版实例
  • ENTERPRISE:企业版实例
  • PLATINUM:铂金版实例
  • BASIC_IPV6:基础版IPV6实例
  • PROFESSIONAL_IPV6:专业版IPV6实例
  • ENTERPRISE_IPV6:企业版IPV6实例
  • PLATINUM_IPV6:铂金版IPV6实例

枚举值:

  • BASIC
  • PROFESSIONAL
  • ENTERPRISE
  • PLATINUM
  • BASIC_IPV6
  • PROFESSIONAL_IPV6
  • ENTERPRISE_IPV6
  • PLATINUM_IPV6

vpc_id

String

虚拟私有云ID。

获取方法如下:

  • 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。
  • 方法2:通过虚拟私有云服务的API接口查询,具体方法请参见《虚拟私有云服务API参考》的“查询VPC列表”章节。

subnet_id

String

子网的网络ID。

获取方法如下:

  • 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。
  • 方法2:通过虚拟私有云服务的API接口查询,具体方法请参见《虚拟私有云服务API参考》的“查询子网列表”章节。

security_group_id

String

指定实例所属的安全组。

获取方法如下:

  • 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。
  • 方法2:通过虚拟私有云服务的API接口查询,具体方法请参见《虚拟私有云服务API参考》的“查询安全组列表”章节。

eip_id

String

弹性公网IP ID。

实例需要开启公网访问,且loadbalancer_provider为lvs时需要填写,绑定后使用者可以通过该入口从公网访问APIG实例中的API等资源

获取方法:登录虚拟私有云服务的控制台界面,在弹性公网IP的详情页面查找弹性公网IP ID。

enterprise_project_id

String

企业项目ID,企业账号必填。

获取方法如下:

  • 方法1:登录企业项目管理界面,在项目管理详情页面查找项目ID。
  • 方法2:通过企业项目管理的API接口查询,具体方法请参见《企业管理API参考》的“查询企业项目列表”章节。

available_zone_ids

Array of strings

可用区列表。

可用区指在同一地域下,电力、网络隔离的物理区域,可用区之内内网互通,不同可用区之间物理隔离。选择多个AZ部署可以有效提升可靠性。

获取方法:通过文档中实例管理的可用区列表接口查询。

bandwidth_size

Integer

出公网带宽

实例需要开启出公网功能时需要填写,绑定后使用者可以利用该出口访问公网上的互联网资源

缺省值:5

bandwidth_charging_mode

String

出公网带宽计费类型,实例需要开启出公网功能时需要填写:

  • bandwidth:按带宽计费
  • traffic:按流量计费

缺省值:bandwidth

枚举值:

  • bandwidth
  • traffic

ipv6_enable

Boolean

公网访问是否支持IPv6。

当前仅部分region部分可用区支持IPv6

loadbalancer_provider

String

实例使用的负载均衡器类型

  • lvs Linux虚拟服务器
  • elb 弹性负载均衡,elb仅部分region支持

缺省值:lvs

枚举值:

  • lvs
  • elb

tags

Array of TmsKeyValue objects

标签列表。

一个实例默认最多支持创建20个标签

数组长度:0 - 20

vpcep_service_name

String

终端节点服务的名称。

支持英文、数字、中划线、下划线,0~16个字符。

如果您不填写该参数,系统生成的终端节点服务的名称为{region}.apig.{service_id}。 如果您填写该参数,系统生成的终端节点服务的名称为{region}.{vpcep_service_name}.{service_id}。 实例创建完成后,可以在实例管理->终端节点管理页面修改该名称。

ingress_bandwidth_size

Integer

入公网带宽

实例需要开启入公网功能,且loadbalancer_provider为elb时需要填写,绑定后使用者可以通过该入口从公网访问APIG实例中的API等资源

缺省值:5

ingress_bandwidth_charging_mode

String

入公网带宽计费类型,实例需要开启入公网功能,且loadbalancer_provider为elb时需要填写:

  • bandwidth:按带宽计费
  • traffic:按流量计费

缺省值:bandwidth

枚举值:

  • bandwidth
  • traffic
表4 TmsKeyValue

参数

是否必选

参数类型

描述

key

String

键。

支持可用 UTF-8 格式表示的字母(包含中文)、数字和空格,以及以下字符: _ . : = + - @; _sys_开头属于系统标签,租户不能输入

最小长度:1

最大长度:128

value

String

值。

支持可用 UTF-8 格式表示的字母(包含中文)、数字和空格,以及以下字符: _ . : / = + - @

最小长度:0

最大长度:255

响应参数

状态码: 202

表5 响应Body参数

参数

参数类型

描述

instance_id

String

实例ID

message

String

创建实例任务信息

job_id

String

任务编号

状态码: 400

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 401

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 403

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 404

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 500

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

创建一个实例,配置网络、安全组等信息

{
  "available_zone_ids" : [ "xx-xxx-7b", "xx-xxx-7a" ],
  "bandwidth_size" : 5,
  "description" : "test create instance",
  "eip_id" : "41f961ab-2bdd-4ca7-9b59-cfc4fcef10c9",
  "enterprise_project_id" : "0",
  "instance_name" : "apig-demo",
  "maintain_begin" : "22:00:00",
  "maintain_end" : "02:00:00",
  "security_group_id" : "36d0ec18-bd10-4da7-86f3-ad7a5ddc55d7",
  "spec_id" : "PROFESSIONAL",
  "subnet_id" : "a938121c-11c4-4c91-b983-bc9acd347bb5",
  "vpc_id" : "0957108c-257c-4ce0-9e93-527d279ce763"
}

响应示例

状态码: 202

Accepted

{
  "instance_id" : "6a7d71827fd54572b1f31aa9548fcc81",
  "message" : "JOB_ASSIGNED_FOR_PROVISIONING_0003I:The job JOB-bdb370eb6f4c4c73b61b95a9da38beb5 has been assigned to the instance 6a7d71827fd54572b1f31aa9548fcc81 for running provisioning.",
  "job_id" : "JOB-edbac2355fb7433e98f173ea2e452e2d"
}

状态码: 400

Bad Request

{
  "error_code" : "APIC.7211",
  "error_msg" : "Parameter value does not match the rules, parameter name[maintainBegin]"
}

状态码: 401

Unauthorized

{
  "error_code" : "APIC.7102",
  "error_msg" : "Incorrect token or token resolution failed"
}

状态码: 403

Forbidden

{
  "error_code" : "APIC.7106",
  "error_msg" : "No permissions to request for the method"
}

状态码: 404

Not Found

{
  "error_code" : "APIC.7301",
  "error_msg" : "Instance spec not found"
}

状态码: 500

Internal Server Error

{
  "error_code" : "APIC.9000",
  "error_msg" : "Failed to request internal service"
}

状态码

状态码

描述

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

错误码

请参见错误码