API 参考
文档版本 16
发布日期 2021-11-10
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。
商标声明
和其他华为商标均为华为技术有限公司的商标。
本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
目 录
1 使用前必读... 1
1.1 概述... 1
1.2 调用说明...1
1.3 终端节点(Endpoint)... 1
1.4 约束与限制... 1
1.5 基本概念...2
2 API 概览... 4
3 如何调用 API...5
3.1 构造请求...5
3.2 认证鉴权...9
3.3 返回结果... 10
4 API...12
4.1 EIP... 12
4.1.1 申请 EIP(按需计费)... 12
4.1.2 查询 EIP 列表...24
4.1.3 查询 EIP... 35
4.1.4 更新 EIP... 43
4.1.5 删除 EIP... 53
4.1.6 申请 EIP(包年/包月)...58
4.2 带宽... 71
4.2.1 查询带宽... 71
4.2.2 查询带宽列表... 81
4.2.3 更新带宽... 91
4.3 带宽(V2.0)... 102
4.3.1 创建共享带宽...102
4.3.2 批量创建共享带宽... 113
4.3.3 删除共享带宽...122
4.3.4 共享带宽插入 EIP... 127
4.3.5 共享带宽移除 EIP... 137
4.3.6 更新包周期带宽... 143
4.4 配额... 154
4.4.1 查询配额... 154
4.5 EIP 标签管理...161
4.5.1 创建弹性 IP 资源标签... 162
4.5.2 查询弹性 IP 资源标签... 167
4.5.3 删除弹性 IP 的标签... 173
4.5.4 批量创建和删除弹性 IP 资源标签... 177
4.5.5 查询弹性 IP 资源实例... 183
4.5.6 查询弹性 IP 项目标签... 191
5 API(OpenStack Neutron V2.0 原生)...197
5.1 API 版本信息... 197
5.1.1 查询 API 版本信息列表... 197
5.1.2 分页查询... 199
5.2 浮动 IP...201
5.2.1 查询浮动 IP 列表... 201
5.2.2 查询浮动 IP...211
5.2.3 创建浮动 IP...220
5.2.4 更新浮动 IP...229
5.2.5 删除浮动 IP...238
6 应用示例... 246
6.1 示例一:弹性公网 IP 绑定弹性云服务器...246
6.2 示例二:弹性公网 IP 解绑弹性云服务器...248
6.3 示例三:指定共享带宽 ID 创建弹性公网 IP... 249
7 权限策略和授权项...253
7.1 策略及授权项说明... 253
7.2 弹性公网 IP... 254
7.3 带宽... 255
7.4 带宽(V2.0)... 255
7.5 弹性公网 IP 标签... 256
7.6 浮动 IP(Openstack Neutron API)...256
7.7 API 授权项注意事项... 257
A 附录...258
A.1 EIP 及带宽监控指标说明... 258
A.2 状态码...260
A.3 错误码...261
A.4 获取项目 ID... 266
B 文档修订记录... 268
1 使用前必读
1.1 概述
欢迎使用弹性公网IP(Elastic IP,EIP)。EIP提供独立的公网IP资源,包括公网IP地址 与公网出口带宽服务。可以与弹性云服务器、裸金属服务器、虚拟IP、弹性负载均 衡、NAT网关等资源灵活地绑定及解绑。拥有多种灵活的计费方式,可以满足各种业 务场景的需要。
您可以使用本文档提供的API对EIP进行相关操作,如创建、查询、删除、更新等。支 持的全部操作请参见API概览。
在调用EIP服务的API之前,请确保已经充分了解EIP服务相关概念,详细信息请参见
《弹性公网IP用户指南》的“产品介绍”。
1.2 调用说明
EIP服务提供了REST(Representational State Transfer)风格API,支持您通过HTTPS 请求调用,调用方法请参见如何调用API。
同时EIP服务还提供API Explorer以及多种编程语言的SDK供您使用,详情请参见“API Explorer”和“SDK使用方法”。
1.3 终端节点(Endpoint)
终端节点(Endpoint)即调用API的请求地址,不同服务不同区域的终端节点不同,当 前EIP与VPC共用一套终端节点信息,您可以从地区和终端节点中查询虚拟私有云的终 端节点。
1.4 约束与限制
您能创建的EIP资源的数量与配额有关系,如果您想查看服务配额、扩大配额,具体请 参见“什么是配额”。
1.5 基本概念
● 帐号
用户注册时的帐号,帐号对其所拥有的资源及云服务具有完全的访问权限,可以 重置用户密码、分配用户权限等。由于帐号是付费主体,为了确保帐号安全,建 议您不要直接使用帐号进行日常管理工作,而是创建用户并使用他们进行日常管 理工作。
● 用户
由帐号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问 密钥)。
在我的凭证下,您可以查看帐号ID和IAM用户ID。通常在调用API的鉴权过程中,
您需要用到帐号、用户和密码等信息。
● 区域(Region)
从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象 存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属 Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只 承载同一类业务或只面向特定租户提供业务服务的专用Region。
详情请参见区域和可用区。
● 可用区(AZ,Availability Zone)
一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上 再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高 速光纤相连,以满足用户跨AZ构建高可用性系统的需求。
● 项目
区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计 算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您 帐号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默 认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授 权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。
图1-1 项目隔离模型
同样在我的凭证下,您可以查看项目ID。
● 企业项目
企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔 离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。
关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指 南》。
2 API 概览
弹性公网IP所提供的接口分为EIP接口与OpenStack原生接口。
通过配合使用EIP接口和OpenStack原生接口,您可以完整的使用弹性公网IP的所有功 能。
对于企业项目用户,只能使用EIP接口,各接口对应的权限说明请参见权限策略和授权 项。
EIP 接口说明
表2-1 EIP 接口说明
类型 说明
弹性公网IP 弹性公网IP的申请、查询、更新、删除等接口。
带宽 带宽的查询、更新等接口。
带宽(V2.0) ● 共享带宽的创建、删除等接口。
● 共享带宽插入/移出弹性公网IP操作。
配额 配额查询接口。
弹性IP资源标
签管理 弹性公网IP标签的创建、查询、删除等接口。
该类型接口目前仅在“华北-北京四”、“华东-上海一”、“华 东-上海二”、“西南-贵阳一”区域开放。
OpenStack 原生接口说明
表2-2 OpenStack 原生接口说明
类型 说明
API版本信息 当前API所有可用版本的查询、分页查询。
浮动IP 浮动IP的查询、创建、更新、删除等接口。
3 如何调用 API
3.1 构造请求
本节介绍REST API请求的组成,并以调用IAM服务的获取用户Token说明如何调用 API,该API获取用户的Token,Token可以用于调用其他API时鉴权。
您还可以通过这个视频教程了解如何构造请求调用API:https://
bbs.huaweicloud.com/videos/102987。
请求 URI
请求URI由如下部分组成:
{URI-scheme}://{Endpoint}/{resource-path}?{query-string}
尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传 递它,所以在此单独强调。
表3-1 URI 中的参数说明
参数 描述
URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。
Endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域的 Endpoint不同,您可以从地区和终端节点获取。
例如IAM服务在“华北-北京四 ”区域的Endpoint为“iam.cn- north-4.myhuaweicloud.com”。
resource-path 资源路径,也即API访问路径。从具体API的URI模块获取,例如
“获取用户Token”API的resource-path为“/v3/auth/tokens”。
query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数 前面需要带一个“?”,形式为“参数名=参数取值”,例如“?
limit=10”,表示查询不超过10条数据。
例如您需要获取IAM在“华北-北京四”区域的Token,则需使用“华北-北京四”区域 的Endpoint(iam.cn-north-4.myhuaweicloud.com),并在获取用户Token的URI部 分找到resource-path(/v3/auth/tokens),拼接起来如下所示。
https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
图3-1 URI 示意图
说明
为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。
这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分 省略。
请求方法
HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。
表3-2 HTTP 方法
方法 说明
GET 请求服务器返回指定资源。
PUT 请求服务器更新指定资源。
POST 请求服务器新增资源或执行特殊操作。
DELETE 请求服务器删除指定资源,如删除对象等。
HEAD 请求服务器资源头部。
PATCH 请求服务器更新资源的部分内容。
当资源不存在的时候,PATCH可能会去创建一个新的资 源。
在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为:
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
请求消息头
附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请 求头“Content-Type”,请求鉴权信息等。
详细的公共请求消息头字段请参见表3-3。
表3-3 公共请求消息头
名称 描述 是否必选 示例
Host 请求的服务器信 息,从服务API的 URL中获取。值为 hostname[:port]。
端口缺省时使用默 认的端口,https的 默认端口为443。
否
使用AK/SK认 证时该字段必 选。
code.test.com or
code.test.com:443
Content-Type 消息体的类型(格 式)。推荐用户使 用默认值application/json,
有其他取值时会在 具体接口中专门说 明。
是 application/json
Content-
Length 请求body长度,单
位为Byte。 否 3495
X-Project-Id project id,项目编 号。请参考获取项 目ID章节获取项目 编号。
否
如果是专属云 场景采用AK/SK认证方 式的接口请求 或者多project 场景采用AK/SK认证的 接口请求,则 该字段必选。
e9993fc787d94b6c886cb aa340f9c0f4
X-Auth-Token 用户Token。
用户Token也就是调 用获取用户Token接 口的响应值,该接 口是唯一不需要认 证的接口。
请求响应成功后在 响应消息头
(Headers)中包含 的“X-Subject- Token”的值即为 Token值。
否
使用Token认 证时该字段必 选。
注:以下仅为Token示例片 段
MIIPAgYJKoZIhvcNAQcCo ...ggg1BBIINPXsidG9rZ
说明
API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中 添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。
AK/SK认证的详细说明请参见认证鉴权的“AK/SK认证”。
对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添 加消息头后的请求如下所示。
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
请求消息体(可选)
该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中 Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中 文,则中文字符必须为UTF-8编码。
每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消 息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根 据具体接口而定。
对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说 明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中
username
为用户名,domainname
为用户所属的帐号名称,********
为用户登录密 码,xxxxxxxxxxxxxxxxxx
为project的名称,如“cn-north-1”,您可以从地区和终端 节点获取。说明
scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可 以设置Token的作用域为某个帐号下所有资源或帐号的某个project下的资源,详细定义请参见获 取用户Token。
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
{ "auth": { "identity": { "methods": [ "password"
],
"password": { "user": {
"name": "username", "password": "********", "domain": {
"name": "domainname"
} } } }, "scope": { "project": {
"name": "xxxxxxxxxxxxxxxxxx"
} } } }
到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编 写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x- subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认 证调用其他API。
3.2 认证鉴权
调用接口有如下两种认证方式,您可以选择其中一种进行认证鉴权。
● Token认证:通过Token认证调用请求。
● AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。
推荐使用AK/SK认证,其安全性比Token认证要高。
Token 认证
说明
Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。
Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。
Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得 操作API的权限。Token可通过调用获取用户Token接口获取。
云服务存在两种部署方式:项目级服务和全局级服务。其中:
● 项目级服务需要获取项目级别的Token,此时请求body中auth.scope的取值为 project。
● 全局级服务需要获取全局级别的Token,此时请求body中auth.scope的取值为 domain。
调用本服务API需要项目级别的Token,即调用获取用户Token接口时,请求body中 auth.scope的取值需要选择project,如下所示。
{ "auth": { "identity": { "methods": [ "password"
],
"password": { "user": {
"name": "username", "password": "********", "domain": {
"name": "domainname"
} } } }, "scope": { "project": {
"name": "xxxxxxxx"
} } } }
获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,
其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token:
ABCDEFJ....”加到请求消息头即可,如下所示。
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json
X-Auth-Token: ABCDEFJ....
您还可以通过这个视频教程了解如何使用Token认证:https://
bbs.huaweicloud.com/videos/101333。
AK/SK 认证
说明
AK/SK签名认证方式仅支持消息体大小12MB以内,12MB以上的请求请使用Token认证。
AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而 通过身份认证。
● AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密 钥ID和私有访问密钥一起使用,对请求进行加密签名。
● SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签 名,可标识发送方,并防止请求被修改。
使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门 的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。
说明
签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
3.3 返回结果
状态码
请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。
状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码 列表请参见状态码。
对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。
响应消息头
对应请求消息头,响应同样也有消息头,如“Content-type”。
对于获取用户Token接口,返回如图3-2所示的消息头,其中“x-subject-token”就是 需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
图3-2 获取用户 Token 响应消息头
响应消息体(可选)
该部分可选。响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中 Content-Type对应,传递除响应消息头之外的内容。
对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。
{ "token": {
"expires_at": "2019-02-13T06:52:13.855000Z", "methods": [
"password"
],
"catalog": [ {
"endpoints": [ {
"region_id": "az-01", ...
当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所 示。
{ "error_msg": "The format of message is error", "error_code": "AS.0001"
}
其中,error_code表示错误码,error_msg表示错误描述信息。
4 API
4.1 EIP
4.1.1 申请 EIP(按需计费)
功能介绍
申请EIP,支持IPv4和IPv6。 弹性公网IP(Elastic IP)提供独立的公网IP资源,包括公 网IP地址与公网出口带宽服务。可以与弹性云服务器、裸金属服务器、虚拟IP、弹性负 载均衡、NAT网关等资源灵活地绑定及解绑。拥有多种灵活的计费方式,可以满足各 种业务场景的需要。
调试
您可以在API Explorer中调试该接口。
URI
POST /v1/{project_id}/publicips
表4-1 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID,获取项目ID请参见获取 项目ID
请求参数
表4-2 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)
表4-3 请求 Body 参数
参数 是否必选 参数类型 描述
bandwidth 是 CreatePublici pBandwidth Option object
带宽对象
enterprise_pro
ject_id 否 String ● 企业项目ID。最大长度36字 节,带“-”连字符的UUID 格式,或者是字符串“0”。
● 创建弹性公网IP时,给弹性 公网IP绑定企业项目ID。
● 不指定该参数时,默认值是 0
关于企业项目ID的获取及企业项 目特性的详细信息,请参见《企 业管理用户指南》。
publicip 是 CreatePublici pOption object
弹性公网IP对象
表4-4 CreatePublicipBandwidthOption
参数 是否必选 参数类型 描述
charge_mode 否 String ● 功能说明:按流量计费还是 按带宽计费。
取值范围:bandwidth,
traffic,不填或者为空时默认是 bandwidth。其中IPv6国外默认 是bandwidth,国内默认是 traffic。
枚举值:
● bandwidth
● traffic
id 否 String 功能说明:带宽ID,创建WHOLE
类型带宽的EIP时可以指定之前 的共享带宽创建
● 取值范围:WHOLE类型的带 宽ID
name 否 String ● 功能说明:带宽名称
● 取值范围:1-64个字符,支 持数字、字母、中文、_(下 划线)、-(中划线)、.
(点)
● 如果share_type是PER,该参 数必须带,如果share_type是 WHOLE并且id有值,该参数 会忽略。
share_type 是 String ● 功能说明:带宽类型
取值范围:PER,WHOLE(PER 为独占带宽,WHOLE是共享带 宽)。
● 约束:该字段为WHOLE时,
必须指定带宽ID。
枚举值:
● WHOLE
● PER
参数 是否必选 参数类型 描述
size 否 Integer ● 功能说明:带宽大小
取值范围:默认1Mbit/
s~2000Mbit/s(具体范围以各 区域配置为准,请参见控制台对 应页面显示)。
● 约束:share_type是PER,该 参数必须带,如果
share_type是WHOLE并且id 有值,该参数会忽略。
● 注意:调整带宽时的最小单 位会根据带宽范围不同存在 差异。
– 小于等于300Mbit/s:默 认最小单位为1Mbit/s。
– 300Mbit/s~1000Mbit/s:
默认最小单位为 50Mbit/s。
– 大于1000Mbit/s:默认最 小单位为500Mbit/s。
表4-5 CreatePublicipOption
参数 是否必选 参数类型 描述
ip_address 否 String 功能说明:希望申请到的EIP的 地址,不指定时由系统自动分配
● 约束:必须为IPv4地址格 式,且必须在可用地址池范 围内
参数 是否必选 参数类型 描述
type 是 String ● 功能说明:EIP的类型
● 取值范围:5_telcom(电 信),5_union(联通),
5_bgp(全动态BGP),
5_sbgp(静态BGP),
5_ipv6
– 华南-广州:5_bgp、
5_sbgp
– 华东-上海一:5_bgp、
5_sbgp
– 华东-上海二:5_bgp、
5_sbgp
– 华北-北京一:5_bgp、
5_sbgp、5_ipv6 – 中国-香港:5_bgp – 亚太-曼谷:5_bgp – 亚太-新加坡:5_bgp – 非洲-约翰内斯堡:5_bgp – 西南-贵阳一:5_bgp、
5_sbgp
– 华北-北京四:5_bgp、
5_sbgp
– 拉美-圣地亚哥:5_bgp – 拉美-圣保罗一:5_bgp – 拉美-墨西哥城一:5_bgp – 拉美-布宜诺斯艾利一:
5_bgp
– 拉美-利马一:5_bgp – 拉美-圣地亚哥二:
5_bgp
● 约束:
– 必须是系统具体支持的类 型。
– publicip_id为IPv4端口,
所以"type"字段未给定 时,默认为5_bgp。
参数 是否必选 参数类型 描述
ip_version 否 Integer 功能说明:弹性公网IP的版本
● 取值范围:4、6,分别表示 创建ipv4和ipv6
● 约束:
– 必须是系统具体支持的类 型
– 不填或空字符串时,默认 创建ipv4
枚举值:
● 4
● 6
alias 否 String 功能说明:弹性公网IP名称 取
值范围:1-64个字符,支持数 字、字母、中文、_(下划线)、-
(中划线)、.(点)
响应参数
状态码: 200
表4-6 响应 Body 参数
参数 参数类型 描述
publicip PublicipCreat
eResp object 弹性公网IP对象
表4-7 PublicipCreateResp
参数 参数类型 描述
bandwidth_siz
e Integer 带宽大小,单位为Mbit/s。
create_time String EIP申请时间(UTC时间)
id String EIP唯一标识
public_ip_add
ress String IPv4时是申请到的EIP地址,IPv6时是IPv6地址对 应的IPv4地址
参数 参数类型 描述
status String ● 功能说明:EIP的状态
● 取值范围:冻结FREEZED,绑定失败 BIND_ERROR,绑定中BINDING,释放中 PENDING_DELETE, 创建中
PENDING_CREATE,创建中NOTIFYING,释 放中NOTIFY_DELETE,更新中
PENDING_UPDATE, 未绑定DOWN ,绑定 ACTIVE,绑定ELB,绑定VPN,失败ERROR。
枚举值:
● FREEZED
● BIND_ERROR
● BINDING
● PENDING_DELETE
● PENDING_CREATE
● NOTIFYING
● NOTIFY_DELETE
● PENDING_UPDATE
● DOWN
● ACTIVE
● ELB
● ERROR
● VPN tenant_id String 项目ID
参数 参数类型 描述
type String 功能说明:EIP的类型
● 取值范围:5_telcom(电信),5_union(联 通),5_bgp(全动态BGP),5_sbgp(静态 BGP),5_ipv6
– 华南-广州:5_bgp、5_sbgp – 华东-上海一:5_bgp、5_sbgp – 华东-上海二:5_bgp、5_sbgp
– 华北-北京一:5_bgp、5_sbgp、5_ipv6 – 中国-香港:5_bgp
– 亚太-曼谷:5_bgp – 亚太-新加坡:5_bgp – 非洲-约翰内斯堡:5_bgp – 西南-贵阳一:5_bgp、5_sbgp – 华北-北京四:5_bgp、5_sbgp – 拉美-圣地亚哥:5_bgp – 拉美-圣保罗一:5_bgp – 拉美-墨西哥城一:5_bgp – 拉美-布宜诺斯艾利一:5_bgp – 拉美-利马一:5_bgp
– 拉美-圣地亚哥二: 5_bgp
● 约束:
– 必须是系统具体支持的类型。
– publicip_id为IPv4端口,所以"type"字段未 给定时,默认为5_bgp。
public_ipv6_a
ddress String IPv4时无此字段,IPv6时为申请到的EIP地址 ip_version Integer IP版本信息,取值范围是4和6
枚举值:
● 4
● 6 enterprise_pro
ject_id String ● 企业项目ID。最大长度36字节,带“-”连字 符的UUID格式,或者是字符串“0”。
● 创建弹性公网IP时,给弹性公网IP绑定企业项 目ID。
● 不指定该参数时,默认值是 0
关于企业项目ID的获取及企业项目特性的详细信 息,请参见《企业管理用户指南》。
参数 参数类型 描述
alias String ● 功能说明:弹性公网IP名称
● 取值范围:1-64个字符,支持数字、字母、中 文、_(下划线)、-(中划线)、.(点)
状态码: 400
表4-8 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 401
表4-9 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 403
表4-10 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 404
表4-11 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 405
表4-12 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 406
表4-13 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 407
表4-14 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 408
表4-15 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 409
表4-16 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述
参数 参数类型 描述
code String 服务异常错误信息编码
状态码: 500
表4-17 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 501
表4-18 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 502
表4-19 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 503
表4-20 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 504
表4-21 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
请求示例
● IPv4 EIP独享带宽
POST https://{Endpoint}/v1/{project_id}/publicips { "bandwidth" : {
"size" : 10,
"share_type" : "PER", "name" : "bandwidth123"
}, "publicip" : { "ip_version" : 4, "type" : "5_bgp"
}}
● {
"bandwidth" : { "size" : 5,
"share_type" : "WHOLE", "name" : "bandwidth123"
}, "publicip" : { "ip_version" : 6, "type" : "5_bgp"
}}
响应示例
状态码: 200 POST操作正常返回
{ "application/json-1" : { "publicip" : {
"tenant_id" : "8b7e35ad379141fc9df3e178bd64f55c", "bandwidth_size" : 0,
"public_ip_address" : "161.xx.xx.7", "ip_version" : 4,
"create_time" : "2015-07-16 04:10:52",
"id" : "f588ccfa-8750-4d7c-bf5d-2ede24414706", "type" : "5_bgp",
"status" : "PENDING_CREATE"
}
}, "application/json-2" : { "publicip" : {
"id" : "3ff2bf48-b82d-4bf3-88e7-9e55ecdedc34", "status" : "PENDING_CREATE",
"type" : "5_bgp",
"public_ip_address" : "10.154.79.48",
"public_ipv6_address" : "cdcd:910a:2222:5498::a9a:4f30", "tenant_id" : "26ae5181a416420998eb2093aaed84d9",
"create_time" : "2019-01-17T11:54:48.000Z", "bandwidth_size" : 0,
"ip_version" : 6 }
}}
状态码
状态码 描述
200 POST操作正常返回 400 服务器未能处理请求
401 被请求的页面需要用户名和密码 403 对被请求页面的访问被禁止 404 服务器无法找到被请求的页面 405 请求中指定的方法不被允许
406 服务器生成的响应无法被客户端所接受
407 用户必须首先使用代理服务器进行验证,这样请求才会被处理 408 请求超出了服务器的等待时间
409 由于冲突,请求无法被完成 500 请求未完成。服务异常
501 请求未完成。服务器不支持所请求的功能
502 请求未完成。服务器从上游服务器收到一个无效的响应 503 请求未完成。系统暂时异常
504 网关超时
错误码
请参见错误码。
4.1.2 查询 EIP 列表
功能介绍
查询EIP列表
调试
您可以在API Explorer中调试该接口。
URI
GET /v1/{project_id}/publicips
表4-22 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID,获取项目ID请参见获取 项目ID
表4-23 Query 参数
参数 是否必选 参数类型 描述
marker 否 String 取值为上一页数据的最后一条记
录的id,为空时为查询第一页
limit 否 Integer 功能说明:每页返回的个数 取
值范围:0~intmax
ip_version 否 Integer IP地址版本信息 4:IPv4 6:
IPv6 枚举值:
● 4
● 6 enterprise_pro
ject_id 否 String ● 功能说明:企业项目ID。可 以使用该字段过滤某个企业 项目下的EIP。
● 取值范围:最大长度36字 节,带“-”连字符的UUID 格式,或者是字符串“0”。
“0”表示默认企业项目。若 需要查询当前用户所有企业 项目绑定的弹性公网IP,请 传参all_granted_eps。
说明关于企业项目ID的获取及企业项目 特性的详细信息,请参见《企业管 理用户指南》。
port_id 否 Array 绑定弹性公网IP的端口id public_ip_add
ress 否 Array IPv4时是申请到的弹性公网IP地
址,IPv6时是IPv6地址对应的 IPv4地址
private_ip_ad
dress 否 Array 关联端口的私有IP地址
id 否 Array 弹性公网IP唯一标识
参数 是否必选 参数类型 描述 allow_share_b
andwidth_typ e_any
否 Array 共享带宽类型,根据任一共享带
宽类型过滤EIP列表。 可以指定 多个带宽类型,不同的带宽类型 间用逗号分隔。
请求参数
表4-24 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)
响应参数
状态码: 200
表4-25 响应 Body 参数
参数 参数类型 描述
publicips Array of PublicipShow Resp objects
弹性公网IP对象
表4-26 PublicipShowResp
参数 参数类型 描述
bandwidth_id String EIP对应带宽ID bandwidth_na
me String 带宽名称
bandwidth_sh
are_type String 表示共享带宽或者独享带宽 取值范围:PER,
WHOLE。 WHOLE表示共享带宽 PER表示独享带 宽 约束:其中IPv6暂不支持WHOLE类型带宽。
枚举值:
● WHOLE
● PER
参数 参数类型 描述 bandwidth_siz
e Integer 带宽大小,单位为Mbit/s。
create_time String EIP申请时间(UTC)
enterprise_pro
ject_id String ● 企业项目ID。最大长度36字节,带“-”连字 符的UUID格式,或者是字符串“0”。
● 创建弹性公网IP时,给弹性公网IP绑定企业项 目ID。
● 不指定该参数时,默认值是 0
关于企业项目ID的获取及企业项目特性的详细信 息,请参见《企业管理用户指南》。
id String EIP唯一标识
port_id String ● 功能说明:端口id。
● 约束:只有绑定了的EIP查询才会返回该参数 private_ip_ad
dress String ● 功能说明:绑定弹性公网IP的私有IP地址
● 约束:只有绑定了的弹性公网IP查询才会返回 该参数
profile ProfileResp
object ● 功能说明:额外参数,包括订单id、产品id等 信息
● 约束:如果profile不为空,说明是包周期的 EIP
public_ip_add
ress String IPv4时是申请到的EIP地址,IPv6时是IPv6地址对 应的IPv4地址
参数 参数类型 描述
status String ● 功能说明:弹性公网IP的状态
● 取值范围:冻结FREEZED,绑定失败 BIND_ERROR,绑定中BINDING,释放中 PENDING_DELETE, 创建中
PENDING_CREATE,创建中NOTIFYING,释 放中NOTIFY_DELETE,更新中
PENDING_UPDATE, 未绑定DOWN ,绑定 ACTIVE,绑定ELB,绑定VPN,失败ERROR。
枚举值:
● FREEZED
● BIND_ERROR
● BINDING
● PENDING_DELETE
● PENDING_CREATE
● NOTIFYING
● NOTIFY_DELETE
● PENDING_UPDATE
● DOWN
● ACTIVE
● ELB
● ERROR
● VPN tenant_id String 项目ID
参数 参数类型 描述
type String ● 功能说明:EIP的类型
● 取值范围:5_telcom(电信),5_union(联 通),5_bgp(全动态BGP),5_sbgp(静态 BGP),5_ipv6
– 华南-广州:5_bgp、5_sbgp – 华东-上海一:5_bgp、5_sbgp – 华东-上海二:5_bgp、5_sbgp
– 华北-北京一:5_bgp、5_sbgp、5_ipv6 – 中国-香港:5_bgp
– 亚太-曼谷:5_bgp – 亚太-新加坡:5_bgp – 非洲-约翰内斯堡:5_bgp – 西南-贵阳一:5_bgp、5_sbgp – 华北-北京四:5_bgp、5_sbgp – 拉美-圣地亚哥:5_bgp – 拉美-圣保罗一:5_bgp – 拉美-墨西哥城一:5_bgp – 拉美-布宜诺斯艾利一:5_bgp – 拉美-利马一:5_bgp
– 拉美-圣地亚哥二: 5_bgp
● 约束:
– 必须是系统具体支持的类型。
– publicip_id为IPv4端口,所以"type"字段未 给定时,默认为5_bgp。
public_ipv6_a
ddress String IPv4时无此字段,IPv6时为申请到的EIP地址 ip_version Integer IP版本信息,取值范围是4和6 4:表示IPv4 6:表
示IPv6 枚举值:
● 4
● 6 public_border
_group String ● 功能说明:表示中心站点资源或者边缘站点资 源,对接了边缘站点的区域才会返回该字段
● 取值范围: center、边缘站点名称 约束:
publicip只能绑定该字段相同的资源
参数 参数类型 描述 allow_share_b
andwidth_typ es
Array of
strings ● 功能说明:表示此publicip可以加入的共享带 宽类型列表,
● 如果列表为空,则表示该publicip不能加入任 何共享带宽
● 约束:publicip只能加入到有该带宽类型的共 享带宽中
alias String ● 功能说明:弹性公网IP名称
● 取值范围:1-64个字符,支持数字、字母、中 文、_(下划线)、-(中划线)、.(点)
表4-27 ProfileResp
参数 参数类型 描述
order_id String 订单的id product_id String 产品的id region_id String region的id user_id String 用户的id
状态码: 400
表4-28 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 401
表4-29 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 403
表4-30 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 404
表4-31 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 405
表4-32 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 406
表4-33 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 407
表4-34 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 408
表4-35 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 409
表4-36 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 500
表4-37 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 501
表4-38 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 502
表4-39 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述
参数 参数类型 描述
code String 服务异常错误信息编码
状态码: 503
表4-40 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 504
表4-41 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
请求示例
GET https://{Endpoint}/v1/{project_id}/publicips?limit=2&marker=4779ab1c-7c1a-44b1-a02e-93dfc361b32d
响应示例
状态码: 200 GET操作正常返回
{ "publicips" : [ {
"tenant_id" : "8b7e35ad379141fc9df3e178bd64f55c", "bandwidth_name" : "bandwidth-test",
"public_ip_address" : "161.xx.xx.9", "create_time" : "2015-07-16 04:22:32", "profile" : {
"user_id" : "35f2b308f5d64441a6fa7999fbcd4321", "product_id" : "00301-48027-0--0",
"region_id" : "xxx", "order_id" : "xxxxxxxxx"
},
"type" : "5_bgp",
"bandwidth_id" : "3fa5b383-5a73-4dcb-a314-c6128546d855", "bandwidth_size" : 5,
"enterprise_project_id" : "b261ac1f-2489-4bc7-b31b-c33c3346a439", "ip_version" : 4,
"private_ip_address" : "192.168.10.5", "bandwidth_share_type" : "PER",
"id" : "6285e7be-fd9f-497c-bc2d-dd0bdea6efe0",
"status" : "ACTIVE",
"port_id" : "4977b983-cd4f-4ecc-93a1-cb52d848a9b3", "public_border_group" : "center",
"allow_share_bandwidth_types" : [ "share" ] }, {
"tenant_id" : "8b7e35ad379141fc9df3e178bd64f55c", "bandwidth_name" : "bandwidth-test1",
"public_ip_address" : "161.xx.xx.10", "create_time" : "2015-07-16 04:23:03", "profile" : { },
"type" : "5_bgp",
"bandwidth_id" : "a79fd11a-047b-4f5b-8f12-99c178cc780a", "bandwidth_size" : 5,
"enterprise_project_id" : "0", "ip_version" : 4,
"bandwidth_share_type" : "PER",
"id" : "80d5b82e-43b9-4f82-809a-37bec5793bd4", "status" : "DOWN",
"public_border_group" : "center",
"allow_share_bandwidth_types" : [ "share" ] } ]
}
状态码
状态码 描述
200 GET操作正常返回 400 服务器未能处理请求
401 被请求的页面需要用户名和密码 403 对被请求页面的访问被禁止 404 服务器无法找到被请求的页面 405 请求中指定的方法不被允许
406 服务器生成的响应无法被客户端所接受
407 用户必须首先使用代理服务器进行验证,这样请求才会被处理 408 请求超出了服务器的等待时间
409 由于冲突,请求无法被完成 500 请求未完成。服务异常
501 请求未完成。服务器不支持所请求的功能
502 请求未完成。服务器从上游服务器收到一个无效的响应 503 请求未完成。系统暂时异常
504 网关超时
错误码
请参见错误码。
4.1.3 查询 EIP
功能介绍
查询指定的EIP。
调试
您可以在API Explorer中调试该接口。
URI
GET /v1/{project_id}/publicips/{publicip_id}
表4-42 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID,获取项目ID请参见获取 项目ID
publicip_id 是 String EIP唯一标识
请求参数
表4-43 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)
响应参数
状态码: 200
表4-44 响应 Body 参数
参数 参数类型 描述
publicip PublicipShow
Resp object EIP对象
表4-45 PublicipShowResp
参数 参数类型 描述
bandwidth_id String EIP对应带宽ID bandwidth_na
me String 带宽名称
bandwidth_sh
are_type String 表示共享带宽或者独享带宽 取值范围:PER,
WHOLE。 WHOLE表示共享带宽 PER表示独享带 宽 约束:其中IPv6暂不支持WHOLE类型带宽。
枚举值:
● WHOLE
● PER bandwidth_siz
e Integer 带宽大小,单位为Mbit/s。
create_time String EIP申请时间(UTC)
enterprise_pro
ject_id String ● 企业项目ID。最大长度36字节,带“-”连字 符的UUID格式,或者是字符串“0”。
● 创建弹性公网IP时,给弹性公网IP绑定企业项 目ID。
● 不指定该参数时,默认值是 0
关于企业项目ID的获取及企业项目特性的详细信 息,请参见《企业管理用户指南》。
id String EIP唯一标识
port_id String ● 功能说明:端口id。
● 约束:只有绑定了的EIP查询才会返回该参数 private_ip_ad
dress String ● 功能说明:绑定弹性公网IP的私有IP地址
● 约束:只有绑定了的弹性公网IP查询才会返回 该参数
profile ProfileResp
object ● 功能说明:额外参数,包括订单id、产品id等 信息
● 约束:如果profile不为空,说明是包周期的 EIP
public_ip_add
ress String IPv4时是申请到的EIP地址,IPv6时是IPv6地址对 应的IPv4地址
参数 参数类型 描述
status String ● 功能说明:弹性公网IP的状态
● 取值范围:冻结FREEZED,绑定失败 BIND_ERROR,绑定中BINDING,释放中 PENDING_DELETE, 创建中
PENDING_CREATE,创建中NOTIFYING,释 放中NOTIFY_DELETE,更新中
PENDING_UPDATE, 未绑定DOWN ,绑定 ACTIVE,绑定ELB,绑定VPN,失败ERROR。
枚举值:
● FREEZED
● BIND_ERROR
● BINDING
● PENDING_DELETE
● PENDING_CREATE
● NOTIFYING
● NOTIFY_DELETE
● PENDING_UPDATE
● DOWN
● ACTIVE
● ELB
● ERROR
● VPN tenant_id String 项目ID
参数 参数类型 描述
type String ● 功能说明:EIP的类型
● 取值范围:5_telcom(电信),5_union(联 通),5_bgp(全动态BGP),5_sbgp(静态 BGP),5_ipv6
– 华南-广州:5_bgp、5_sbgp – 华东-上海一:5_bgp、5_sbgp – 华东-上海二:5_bgp、5_sbgp
– 华北-北京一:5_bgp、5_sbgp、5_ipv6 – 中国-香港:5_bgp
– 亚太-曼谷:5_bgp – 亚太-新加坡:5_bgp – 非洲-约翰内斯堡:5_bgp – 西南-贵阳一:5_bgp、5_sbgp – 华北-北京四:5_bgp、5_sbgp – 拉美-圣地亚哥:5_bgp – 拉美-圣保罗一:5_bgp – 拉美-墨西哥城一:5_bgp – 拉美-布宜诺斯艾利一:5_bgp – 拉美-利马一:5_bgp
– 拉美-圣地亚哥二: 5_bgp
● 约束:
– 必须是系统具体支持的类型。
– publicip_id为IPv4端口,所以"type"字段未 给定时,默认为5_bgp。
public_ipv6_a
ddress String IPv4时无此字段,IPv6时为申请到的EIP地址 ip_version Integer IP版本信息,取值范围是4和6 4:表示IPv4 6:表
示IPv6 枚举值:
● 4
● 6 public_border
_group String ● 功能说明:表示中心站点资源或者边缘站点资 源,对接了边缘站点的区域才会返回该字段
● 取值范围: center、边缘站点名称 约束:
publicip只能绑定该字段相同的资源
参数 参数类型 描述 allow_share_b
andwidth_typ es
Array of
strings ● 功能说明:表示此publicip可以加入的共享带 宽类型列表,
● 如果列表为空,则表示该publicip不能加入任 何共享带宽
● 约束:publicip只能加入到有该带宽类型的共 享带宽中
alias String ● 功能说明:弹性公网IP名称
● 取值范围:1-64个字符,支持数字、字母、中 文、_(下划线)、-(中划线)、.(点)
表4-46 ProfileResp
参数 参数类型 描述
order_id String 订单的id product_id String 产品的id region_id String region的id user_id String 用户的id
状态码: 400
表4-47 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 401
表4-48 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 403
表4-49 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 404
表4-50 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 405
表4-51 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 406
表4-52 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 407
表4-53 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 408
表4-54 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 409
表4-55 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 500
表4-56 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 501
表4-57 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 502
表4-58 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述
参数 参数类型 描述
code String 服务异常错误信息编码
状态码: 503
表4-59 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 504
表4-60 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
请求示例
无
响应示例
状态码: 200
GET和PUT操作正常返回
{ "publicip" : {
"tenant_id" : "8b7e35ad379141fc9df3e178bd64f55c", "bandwidth_name" : "bandwidth-test",
"public_ip_address" : "161.xx.xx.12", "create_time" : "2015-07-16 04:32:50", "profile" : {
"user_id" : "35f2b308f5d64441a6fa7999fbcd4321", "product_id" : "00301-48027-0--0",
"region_id" : "xxx", "order_id" : "xxxxxxxxx"
},
"type" : "5_bgp",
"bandwidth_id" : "49c8825b-bed9-46ff-9416-704b96d876a2", "bandwidth_size" : 10,
"enterprise_project_id" : "b261ac1f-2489-4bc7-b31b-c33c3346a439", "ip_version" : 4,
"private_ip_address" : "192.168.10.5", "bandwidth_share_type" : "PER",
"id" : "2ec9b78d-9368-46f3-8f29-d1a95622a568",
"status" : "ACTIVE",
"port_id" : "4977b983-cd4f-4ecc-93a1-cb52d848a9b3", "public_border_group" : "center",
"allow_share_bandwidth_types" : [ "share" ] }}
状态码
状态码 描述
200 GET和PUT操作正常返回 400 服务器未能处理请求
401 被请求的页面需要用户名和密码 403 对被请求页面的访问被禁止 404 服务器无法找到被请求的页面 405 请求中指定的方法不被允许
406 服务器生成的响应无法被客户端所接受
407 用户必须首先使用代理服务器进行验证,这样请求才会被处理 408 请求超出了服务器的等待时间
409 由于冲突,请求无法被完成 500 请求未完成。服务异常
501 请求未完成。服务器不支持所请求的功能
502 请求未完成。服务器从上游服务器收到一个无效的响应 503 请求未完成。系统暂时异常
504 网关超时
错误码
请参见错误码。
4.1.4 更新 EIP
功能介绍
更新EIP,将EIP跟一个网卡绑定或者解绑定,转换IP地址版本类型。
调试
您可以在API Explorer中调试该接口。
URI
PUT /v1/{project_id}/publicips/{publicip_id}
表4-61 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID publicip_id 是 String EIP唯一标识
请求参数
表4-62 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)
表4-63 请求 Body 参数
参数 是否必选 参数类型 描述
publicip 是 UpdatePublic ipOption object
EIP对象
表4-64 UpdatePublicipOption
参数 是否必选 参数类型 描述
port_id 否 String ● 功能说明:端口id
● 约束:必须是存在的端口 id,如果不带该参数或者值 为空时为解除绑定EIP,如果 该端口不存在或端口已绑定 EIP则会提示出错。和 ip_version字段互斥,不能同 时更新。
参数 是否必选 参数类型 描述
ip_version 否 Integer ● 功能说明:IP版本信息
● 取值范围:4和6 – 4:IPv4 – 6:IPv6
● 约束:
– 必须是系统支持的IP版本 类型
– 和port_id互斥,不能同时 更新。
枚举值:
● 4
● 6
alias 否 String ● 功能说明:弹性公网IP名称
● 取值范围:1-64个字符,支 持数字、字母、中文、_(下 划线)、-(中划线)、.
(点)
响应参数
状态码: 200
表4-65 响应 Body 参数
参数 参数类型 描述
publicip PublicipUpda
teResp object 更新弹性公网IP的返回对象
表4-66 PublicipUpdateResp
参数 参数类型 描述
bandwidth_id String EIPIP对应带宽ID bandwidth_na
me String 带宽名称
参数 参数类型 描述 bandwidth_sh
are_type String ● 功能说明:EIP的带宽类型
● 取值范围:PER,WHOLE。
– WHOLE表示共享带宽 – PER表示独享带宽
● 约束:其中IPv6暂不支持WHOLE类型带宽。
枚举值:
● WHOLE
● PER bandwidth_siz
e Integer 带宽大小,单位为Mbit/s。
create_time String EIP申请时间(UTC)
enterprise_pro
ject_id String ● 企业项目ID。最大长度36字节,带“-”连字 符的UUID格式,或者是字符串“0”。
● 创建弹性公网IP时,给弹性公网IP绑定企业项 目ID。
● 不指定该参数时,默认值是 0
关于企业项目ID的获取及企业项目特性的详细信 息,请参见《企业管理用户指南》。
id String EIP唯一标识
port_id String ● 功能说明:端口id。
● 约束:只有绑定了的EIP查询才会返回该参数 private_ip_ad
dress String ● 功能说明:绑定EIP的私有IP地址
● 约束:只有绑定了的EIP查询才会返回该参数 profile ProfileResp
object 功能说明:额外参数,包括订单id、产品id等信 息 约束:如果profile不为空,说明是包周期的EIP public_ip_add
ress String IPv4时是申请到的EIP地址,IPv6时是IPv6地址对 应的IPv4地址
参数 参数类型 描述
status String ● 功能说明:EIP的状态
● 取值范围:冻结FREEZED,绑定失败 BIND_ERROR,绑定中BINDING,释放中 PENDING_DELETE, 创建中
PENDING_CREATE,创建中NOTIFYING,释 放中NOTIFY_DELETE,更新中
PENDING_UPDATE, 未绑定DOWN ,绑定 ACTIVE,绑定ELB,绑定VPN,失败ERROR。
枚举值:
● FREEZED
● BIND_ERROR
● BINDING
● PENDING_DELETE
● PENDING_CREATE
● NOTIFYING
● NOTIFY_DELETE
● PENDING_UPDATE
● DOWN
● ACTIVE
● ELB
● ERROR
● VPN tenant_id String 项目ID
参数 参数类型 描述
type String ● 功能说明:EIP的类型
● 取值范围:5_telcom(电信),5_union(联 通),5_bgp(全动态BGP),5_sbgp(静态 BGP),5_ipv6
– 华南-广州:5_bgp、5_sbgp – 华东-上海一:5_bgp、5_sbgp – 华东-上海二:5_bgp、5_sbgp
– 华北-北京一:5_bgp、5_sbgp、5_ipv6 – 中国-香港:5_bgp
– 亚太-曼谷:5_bgp – 亚太-新加坡:5_bgp – 非洲-约翰内斯堡:5_bgp – 西南-贵阳一:5_bgp、5_sbgp – 华北-北京四:5_bgp、5_sbgp – 拉美-圣地亚哥:5_bgp – 拉美-圣保罗一:5_bgp – 拉美-墨西哥城一:5_bgp – 拉美-布宜诺斯艾利一:5_bgp – 拉美-利马一:5_bgp
– 拉美-圣地亚哥二: 5_bgp
● 约束:
– 必须是系统具体支持的类型。
– publicip_id为IPv4端口,所以"type"字段未 给定时,默认为5_bgp。
public_ipv6_a
ddress String IPv4时无此字段,IPv6时为申请到的EIP地址 ip_version Integer IP版本信息,取值范围是4和6 4:表示IPv4 6:表
示IPv6 枚举值:
● 4
● 6
alias String ● 功能说明:弹性公网IP名称
● 取值范围:1-64个字符,支持数字、字母、中 文、_(下划线)、-(中划线)、.(点)
表4-67 ProfileResp
参数 参数类型 描述
order_id String 订单的id product_id String 产品的id region_id String region的id user_id String 用户的id
状态码: 400
表4-68 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 401
表4-69 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 403
表4-70 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 404
表4-71 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 405
表4-72 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 406
表4-73 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 407
表4-74 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 408
表4-75 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 409
表4-76 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 500
表4-77 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 501
表4-78 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 502
表4-79 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 503
表4-80 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述
参数 参数类型 描述
code String 服务异常错误信息编码
状态码: 504
表4-81 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
请求示例
● {
"publicip" : {
"port_id" : "f588ccfa-8750-4d7c-bf5d-2ede24414706"
}}
● {
"publicip" : { "ip_version " : 6 }}
响应示例
状态码: 200
GET和PUT操作正常返回
{ "application/json-1" : { "publicip" : {
"tenant_id" : "8b7e35ad379141fc9df3e178bd64f55c", "bandwidth_size" : 6,
"public_ip_address" : "161.xx.xx.7", "create_time" : "2015-07-16 04:10:52", "ip_version" : 4,
"port_id" : "f588ccfa-8750-4d7c-bf5d-2ede24414706", "id" : "f588ccfa-8750-4d7c-bf5d-2ede24414706", "type" : "5_bgp",
"status" : "PENDING_UPDATE"
}
}, "application/json-2" : { "publicip" : {
"tenant_id" : "8b7e35ad379141fc9df3e178bd64f55c", "bandwidth_size" : 6,
"public_ip_address" : "161.xx.xx.7",
"public_ipv6_address" : "2a00:xx.xx.xx::x:4833", "create_time" : "2015-07-16 04:10:52", "ip_version" : 6,
"port_id" : "f588ccfa-8750-4d7c-bf5d-2ede24414706", "id" : "f588ccfa-8750-4d7c-bf5d-2ede24414706", "type" : "5_bgp",
"status" : "PENDING_UPDATE"
} }}
状态码
状态码 描述
200 GET和PUT操作正常返回 400 服务器未能处理请求
401 被请求的页面需要用户名和密码 403 对被请求页面的访问被禁止 404 服务器无法找到被请求的页面 405 请求中指定的方法不被允许
406 服务器生成的响应无法被客户端所接受
407 用户必须首先使用代理服务器进行验证,这样请求才会被处理 408 请求超出了服务器的等待时间
409 由于冲突,请求无法被完成 500 请求未完成。服务异常
501 请求未完成。服务器不支持所请求的功能
502 请求未完成。服务器从上游服务器收到一个无效的响应 503 请求未完成。系统暂时异常
504 网关超时
错误码
请参见错误码。
4.1.5 删除 EIP
功能介绍
删除EIP,绑定状态eip不允许直接删除。
调试
您可以在API Explorer中调试该接口。
URI
DELETE /v1/{project_id}/publicips/{publicip_id}
表4-82 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID,获取项目ID请参见获取 项目ID
publicip_id 是 String EIP唯一标识
请求参数
表4-83 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)
响应参数
状态码: 400
表4-84 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 401
表4-85 响应 Body 参数
参数 参数类型 描述
message String 服务异常错误信息描述 code String 服务异常错误信息编码
状态码: 403