开卜㌲ㅣݓ · 2020-03-08 · 2 java 2.1 入门...
TRANSCRIPT
目 录
1 SDK 简介..................................................................................................................................... 1
2 Java............................................................................................................................................. 22.1 入门.............................................................................................................................................................................................. 22.2 使用.............................................................................................................................................................................................. 42.2.1 安装........................................................................................................................................................................................... 42.2.2 认证方式.................................................................................................................................................................................. 52.2.3 服务地址设置..........................................................................................................................................................................62.2.4 故障排查.................................................................................................................................................................................. 72.3 IAM Java SDK 示例.................................................................................................................................................................. 72.4 IMS Java SDK 示例.................................................................................................................................................................. 82.5 VPC Java SDK 示例.................................................................................................................................................................. 82.6 ECS Java SDK 示例................................................................................................................................................................... 92.7 EVS Java SDK 示例................................................................................................................................................................ 112.8 RTS Java SDK 示例................................................................................................................................................................ 112.9 AS Java SDK 示例.................................................................................................................................................................. 122.10 CES Java SDK 示例.............................................................................................................................................................. 122.11 DNS Java SDK 示例............................................................................................................................................................ 132.12 ELB Java SDK 示例.............................................................................................................................................................. 132.13 VBS Java SDK 示例............................................................................................................................................................. 142.14 CTS Java SDK 示例.............................................................................................................................................................. 182.15 KMS Java SDK 示例............................................................................................................................................................ 192.16 Anti-DDoS Java SDK 示例................................................................................................................................................ 202.17 DMS Java SDK 示例............................................................................................................................................................232.18 MRS Java SDK 示例............................................................................................................................................................ 242.19 CDN Java SDK 示例............................................................................................................................................................ 252.20 FGS Java SDK 示例..............................................................................................................................................................252.21 BSS Java SDK 示例.............................................................................................................................................................. 26
3 Python...................................................................................................................................... 273.1 入门............................................................................................................................................................................................ 273.2 使用............................................................................................................................................................................................ 283.2.1 安装........................................................................................................................................................................................ 293.2.2 认证方式................................................................................................................................................................................ 29
SDK开发指南 目 录
2019-11-22 ii
3.2.3 客户端配置........................................................................................................................................................................... 303.2.4 服务地址设置....................................................................................................................................................................... 303.2.5 故障排查................................................................................................................................................................................ 313.2.6 函数通用参数....................................................................................................................................................................... 323.3 IAM Python SDK 示例.......................................................................................................................................................... 323.4 IMS Python SDK 示例...........................................................................................................................................................333.5 VPC Python SDK 示例.......................................................................................................................................................... 333.6 ECS Python SDK 示例........................................................................................................................................................... 353.7 EVS Python SDK 示例...........................................................................................................................................................353.8 RTS Python SDK 示例...........................................................................................................................................................363.9 AS Python SDK 示例............................................................................................................................................................. 363.10 CES Python SDK 示例........................................................................................................................................................ 373.11 DNS Python SDK 示例....................................................................................................................................................... 373.12 ELB Python SDK 示例........................................................................................................................................................ 383.13 VBS Python SDK 示例........................................................................................................................................................ 393.14 KMS Python SDK 示例.......................................................................................................................................................433.15 Anti-DDoS Python SDK 示例........................................................................................................................................... 443.16 DMS Python SDK 示例...................................................................................................................................................... 463.17 MRS Python SDK 示例.......................................................................................................................................................473.18 RDS Python SDK 示例........................................................................................................................................................493.19 CDN Python SDK 示例.......................................................................................................................................................493.20 FGS Python SDK 示例........................................................................................................................................................ 503.21 BSS Python SDK 示例........................................................................................................................................................ 50
4 Go.............................................................................................................................................. 524.1 入门............................................................................................................................................................................................ 524.2 使用............................................................................................................................................................................................ 544.2.1 认证方式................................................................................................................................................................................ 544.2.2 故障排查................................................................................................................................................................................ 564.3 ECS Go SDK 用户指导.......................................................................................................................................................... 564.4 EVS Go SDK 用户指导.......................................................................................................................................................... 574.5 VPC Go SDK 用户指导.......................................................................................................................................................... 584.6 IAM Go SDK 用户指导..........................................................................................................................................................584.7 IMS Go SDK 用户指导.......................................................................................................................................................... 604.8 ELB Go SDK 用户指导.......................................................................................................................................................... 614.9 AS Go SDK 用户指导.............................................................................................................................................................624.10 CES Go SDK 用户指导........................................................................................................................................................ 624.11 FGS Go SDK 用户指导........................................................................................................................................................634.12 RDS Go SDK 用户指导....................................................................................................................................................... 634.13 BSS GO SDK 用户指导....................................................................................................................................................... 63
5 SDK 常见问题........................................................................................................................... 655.1 如何在控制台上创建秘钥对?.............................................................................................................................................. 655.2 如何创建安全组?.................................................................................................................................................................... 65
SDK开发指南 目 录
2019-11-22 iii
5.3 如何获取 domain_name、project_name 和 project_id ?.......................................................................................... 665.4 服务名称列表...........................................................................................................................................................................67
A API & SDK 对应关系...............................................................................................................69A.1 Java............................................................................................................................................................................................ 69A.1.1 IAM.........................................................................................................................................................................................69A.1.2 IMS......................................................................................................................................................................................... 75A.1.3 VPC......................................................................................................................................................................................... 77A.1.4 ECS......................................................................................................................................................................................... 84A.1.5 EVS......................................................................................................................................................................................... 95A.1.6 RTS......................................................................................................................................................................................... 99A.1.7 AS......................................................................................................................................................................................... 100A.1.8 CES....................................................................................................................................................................................... 105A.1.9 DNS..................................................................................................................................................................................... 106A.1.10 ELB..................................................................................................................................................................................... 107A.1.11 VBS.................................................................................................................................................................................... 113A.1.12 CTS.................................................................................................................................................................................... 114A.1.13 KMS................................................................................................................................................................................... 115A.1.14 AntiDDoS.........................................................................................................................................................................116A.1.15 DMS.................................................................................................................................................................................. 117A.1.16 MRS................................................................................................................................................................................... 118A.1.17 CDN................................................................................................................................................................................... 119A.1.18 FGS.................................................................................................................................................................................... 121A.1.19 BSS.....................................................................................................................................................................................125A.2 Python.................................................................................................................................................................................... 128A.2.1 IAM...................................................................................................................................................................................... 128A.2.2 IMS....................................................................................................................................................................................... 131A.2.3 VPC...................................................................................................................................................................................... 133A.2.4 ECS....................................................................................................................................................................................... 141A.2.5 EVS....................................................................................................................................................................................... 148A.2.6 RTS....................................................................................................................................................................................... 149A.2.7 AS......................................................................................................................................................................................... 150A.2.8 CES....................................................................................................................................................................................... 155A.2.9 DNS..................................................................................................................................................................................... 155A.2.10 ELB.....................................................................................................................................................................................157A.2.11 VBS.................................................................................................................................................................................... 162A.2.12 KMS................................................................................................................................................................................... 163A.2.13 AntiDDoS.........................................................................................................................................................................164A.2.14 DMS.................................................................................................................................................................................. 165A.2.15 MRS................................................................................................................................................................................... 166A.2.16 RDS.................................................................................................................................................................................... 167A.2.17 CDN................................................................................................................................................................................... 169A.2.18 FGS.................................................................................................................................................................................... 172
SDK开发指南 目 录
2019-11-22 iv
A.2.19 BSS.....................................................................................................................................................................................173A.3 Go............................................................................................................................................................................................ 176A.3.1 ECS....................................................................................................................................................................................... 176A.3.2 EVS....................................................................................................................................................................................... 182A.3.3 VPC...................................................................................................................................................................................... 182A.3.4 IAM...................................................................................................................................................................................... 188A.3.5 IMS....................................................................................................................................................................................... 189A.3.6 ELB....................................................................................................................................................................................... 189A.3.7 AS......................................................................................................................................................................................... 193A.3.8 FGS....................................................................................................................................................................................... 198A.3.9 RDS...................................................................................................................................................................................... 200A.3.10 BSS.....................................................................................................................................................................................203
B 修订记录................................................................................................................................. 207
SDK开发指南 目 录
2019-11-22 v
1 SDK 简介
软件开发工具包(SDK)包括代码以及示例,用户可以自行选择语言创建云应用。
目前SDK的语言支持:Java、Python、Go。如果以下SDK中有任意一种不支持您所选的语言或用例,您可以使用API或其他任意一种熟知的SDK。
SDK开发指南 1 SDK 简介
2019-11-22 1
2 Java
2.1 入门欢迎使用华为云开发者工具套件(Java SDK)。Java SDK让您轻松编程即可访问云服务。
本教程介绍如何安装和使用Java SDK,并提供示例,方便您快速入门。
我们支持的Java SDK基于OpenStack4j开发。
支持的云服务列表
Java SDK支持的云服务产品如下:
统一身份认证 IAM 镜像服务 IMS 虚拟私有云 VPC
弹性云服务器 ECS 云硬盘 EVS 资源模板服务 RTS
弹性伸缩 AS 云监控服务 CES 云解析服务 DNS
弹性负载均衡 ELB 云硬盘备份 VBS 云审计服务 CTS
数据加密服务 KMS 流量清洗Anti-DDoS 分布式消息服务 DMS
MapReduce服务 MRS 内容分发网络 CDN 运营能力 BSS
前提条件
1. 已经申请到云平台账号,并开通所需的云服务。
2. 已经安装好JDK,Java SDK适用于 JDK1.8和以上版本,我们建议您使用 JDK1.8。
SDK 获取和安装
通过在pom.xml文件中添加以下Maven依赖安装Java SDK。
<dependency><groupId>com.huawei</groupId><artifactId>openstack4j</artifactId>
SDK开发指南 2 Java
2019-11-22 2
<version>1.0.12</version></dependency>
Java SDK支持的 新版本,请在这儿查询。
本文档中涉及的服务使用同一个JAR文件。
开始使用
设置参数,初始化SDK客户端,然后调用SDK访问服务的API。参数详情请参考表2-1。
package demo;
import java.util.HashMap;import java.util.List;import java.util.Map;
import com.huawei.openstack4j.openstack.OSFactory;import com.huawei.openstack4j.api.OSClient.OSClientV3;import com.huawei.openstack4j.core.transport.Config;import com.huawei.openstack4j.model.common.Identifier;import com.huawei.openstack4j.model.compute.Server;
public class Demo { public static void main(String[] args) { //设置认证参数 String authUrl = "https://iam.example.com/v3";//endpointUrl String user = "replace-with-your-username";//用户名 String password = "replace-with-your-password";//用户密码 String projectId = "replace-with-your-projectId";//项目ID String userDomainId = "replace-with-your-domainId";//账号ID
//初始化client OSClientV3 os = OSFactory.builderV3() .endpoint(authUrl) .credentials(user, password, Identifier.byId(userDomainId)) .scopeToProject(Identifier.byId(projectId)).authenticate();
//设置查询参数 Map<String, String> filter = new HashMap<String, String>();
//将需要输入的参数都放入filter里面 filter.put("limit", "3");
//调用查询虚拟机列表的接口 List<? extends Server> serverList = os.compute().servers().list(filter); if (serverList.size() > 0) { System.out.println("get serverList success, size = " + serverList.size()); for (Server server : serverList) { System.out.println(server); } } else { System.out.println("no server exists."); } }}
SDK开发指南 2 Java
2019-11-22 3
表 2-1 参说明
名称 说明 取值样例
authUrl 认证服务(IAM)的Endpoint。“https://iam.example.com/v3”中的“example”为“区域.云平台域名”,参数详情可以访问这里了解。
https://iam.cn-north-1.myhuaweicloud.com/v3
projectId 项目ID。如何获取项目ID请参考5.3 如何获取domain_name、project_name和project_id ?。
-
userDomainId
账号ID。如何获取账号ID请参考5.3 如何获取domain_name、project_name和project_id ?。
-
2.2 使用
2.2.1 安装Java SDK提供“导入Java SDK JAR文件”、“添加Maven依赖”和“从华为云镜像站下载”三种安装方式。
方式一:导入Java SDK JAR文件的方式,如下:
请从GitHub 上下载JAR文件,并在集成开发环境(IDE)中导入。
https://github.com/huaweicloud/huaweicloud-sdk-release/tree/master/java-sdk
以Eclipse为例,创建Java工程后,执行以下步骤,导入JAR文件到新建的工程中:
1. 将下载的JAR文件复制到工程文件夹中。
2. 在Eclipse中打开工程,右键单击该项工程,选择Properties。
3. 在弹出的对话框中,单击Java Build Path,然后在Libraries页签下单击AddJARs,添加下载的JAR文件。
4. 单击OK。
方式二:添加Maven依赖的方式,如下:
通过在pom.xml文件中添加以下依赖安装Java SDK。
<dependency><groupId>com.huawei</groupId><artifactId>openstack4j</artifactId>
SDK开发指南 2 Java
2019-11-22 4
<version>1.0.12</version></dependency>
Java SDK支持的 新版本,请在这儿查询。
方式三:从华为云镜像站下载的方式,如下:
1. 找到本地maven的全局配置文件(settings.xml),该文件通常位于maven安装目录的conf下,例如windows系统中:D:\maven\apache-maven-3.3.9\conf\settings.xml
2. 在settings.xml找到mirror节点,在mirror节点中增加:
<mirror> <id>huaweicloud</id> <mirrorOf>*,!HuaweiCloudSDK</mirrorOf> <url>https://repo.huaweicloud.com/repository/maven/</url></mirror>
3. 打开Maven工程的pom.xml,在“<dependency>”节点中加入以下配置:
<dependency> <groupId>com.huawei</groupId> <artifactId>openstack4j</artifactId> <version>1.0.12</version></dependency>
Java SDK支持的 新版本,请在这儿查询。
2.2.2 认证方式Java SDK支持两种认证方式:token认证和AK/SK认证。
token 认证
token认证方式示例代码,请参考“入门”。
token具有24小时有效期,如果您的程序运行时间超过24小时,在使用SDK调用API之前,建议您在程序中重新申请一次token,方法如下:
import com.huawei.openstack4j.openstack.OSFactory;OSFactory.refreshToken();
AK/SK 认证
AK/SK认证方式示例代码,参数详情请参考表2-2。
package demo;
import java.util.HashMap;import java.util.List;import java.util.Map;
import com.huawei.openstack4j.api.OSClient.OSClientAKSK;import com.huawei.openstack4j.core.transport.Config;import com.huawei.openstack4j.model.compute.Server;import com.huawei.openstack4j.openstack.OSFactory;
public class Demo { public static void main(String[] args) { // 设置认证参数 String ak = "replace-your-ak"; String sk = "replace-your-sk";
SDK开发指南 2 Java
2019-11-22 5
String projectId = "replace-your-projectId"; String region = "replace-your-region"; //example: region = "cn-north-1" String cloud = "myhuaweicloud.com"; OSClientAKSK osclient = OSFactory.builderAKSK().credentials(ak, sk, region, projectId, cloud) .authenticate(); // 设置查询参数 Map<String , String> filter = new HashMap<String, String>(); // 将需要输入的参数都放入filter里面 filter.put("limit", "3"); // 调用查询虚拟机列表的接口 List<? extends Server> serverList = osclient.compute().servers().list(filter); if(serverList.size() > 0) { System.out.println("get serverList success, size = " + serverList.size()); for (Server server : serverList) { System.out.println(server); } } else { System.out.println("no server exists."); } }}
表 2-2 参数说明
名称 说明 取值样例
ak/sk AK/SK访问密钥。
说明
● AK/SK生成说明:登录控制台,进入“我的凭证”,点击“管理访问密钥”创建AK/SK。
● AK/SK签名时间与UTC时间误差不可以超过15分钟,否则会鉴权失败。
● AK/SK签名连续失败超过5次,将锁定对应访问的源IP的AK/SK请求,持续5分钟。
-
projectId 项目ID。如何获取项目ID请参考5.3 如何获取domain_name、project_name和project_id ?。
-
region 区域名称。 cn-north-1
cloud 云平台域名。 myhuaweicloud.com
2.2.3 服务地址设置使用SDK调用云服务API时,需要获取每个云服务的地址(Endpoint)。
Java SDK支持两种方式:SDK自动获取、手工编码设置。
SDK开发指南 2 Java
2019-11-22 6
编码设置云服务Endpoint的示例如下:
endpointResolver.addOverrideEndpoint(ServiceType.DNS, "https://dns.example.com");endpointResolver.addOverrideEndpoint(ServiceType.VOLUME_BACKUP, "https://vbs.example.com/v2/%(project_id)s");endpointResolver.addOverrideEndpoint(ServiceType.AUTO_SCALING, "https://as.example.com/autoscaling-api/v1/%(project_id)s");endpointResolver.addOverrideEndpoint(ServiceType.CLOUD_EYE, "https://ces.example.com/V1.0/%(project_id)s");endpointResolver.addOverrideEndpoint(ServiceType.LOAD_BALANCER, "https://elb.example.com/v1.0/%(project_id)s");endpointResolver.addOverrideEndpoint(ServiceType.MAP_REDUCE, "https://mrs.example.com/v1.1/%(project_id)s");endpointResolver.addOverrideEndpoint(ServiceType.KEY_MANAGEMENT, "https://kms.example.com/v1.0/%(project_id)s");endpointResolver.addOverrideEndpoint(ServiceType.CLOUD_TRACE, "https://cts.example.com/v1.0/%(project_id)s");endpointResolver.addOverrideEndpoint(ServiceType.ANTI_DDOS, "https://antiddos.example.com/v1/%(project_id)s");endpointResolver.addOverrideEndpoint(ServiceType.Notification, "https://smn.example.com/v2/%(project_id)s");endpointResolver.addOverrideEndpoint(ServiceType.MessageQueue, "https://dms.example.com/v1.0/%(project_id)s");
● 上述代码中example的格式为:“区域.云平台域名”,参数详情可以访问这里了解。
● 上述代码中project_id不需要替换为实际值。
● 单击此处获取使用Java SDK的一个完整代码示例,供参考。
2.2.4 故障排查执行如下代码,将Java SDK的执行细节打印出来:
OSFactory.enableHttpLoggingFilter(true);
2.3 IAM Java SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考A.1.1 IAM。
在使用IAM SDK的时候,SDK支持的参数细节,请参考IAM API描述。
统一身份认证服务IAM Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
token 代码
securitytoken 代码
credential 代码
region 代码
project 代码(identity)代码(iam)
domain 代码
SDK开发指南 2 Java
2019-11-22 7
资源对象 “增改查删”代码样例
user 代码(identity)代码(iam)
group 代码
role 代码
custom role 代码
agency 代码
version 代码
service 代码
endpoint 代码
2.4 IMS Java SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用IMS SDK的时候,SDK支持的参数细节,请参考IMS API描述。
IMS v2 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
image 代码
Glance v2 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
image 代码
image member 代码
2.5 VPC Java SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用VPC SDK的时候,SDK支持的参数细节,请参考VPC API描述。
VPC v1 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
SDK开发指南 2 Java
2019-11-22 8
资源对象 “增改查删”代码样例
bandwidth 代码
port 代码
private ip 代码
public ip 代码
quota 代码
security group 代码
security group rule 代码
subnet 代码
vpc 代码
VPC v2.0 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
bandwidth 代码
public ip 代码
Neutron v2.0 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
floating ip 代码
network 代码
port 代码
route 代码
security group 代码
security group rule 代码
subnet 代码
2.6 ECS Java SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
SDK开发指南 2 Java
2019-11-22 9
在使用ECS SDK的时候,SDK支持的参数细节,请参考ECS API描述。
ECS v1 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
cloudserver v1 代码
job 代码
ECS v1.1 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
cloudserver 代码
Nova v2 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
flavor 代码
floating ip 代码
interface 代码
keypair 代码
quota set 代码
security group 代码
server 代码
server group 代码
zone 代码
ECS Java SDK提供的场景示例代码如下:
场景 代码样例
create one or more servers 代码
create server with password 代码
SDK开发指南 2 Java
2019-11-22 10
2.7 EVS Java SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用EVS SDK的时候,SDK支持的参数细节,请参考EVS API描述。
EVS v2 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
volume 代码
snapshot 代码
job 代码
EVS v2.1 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
volume 代码
Cinder v2 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
volume 代码
snapshot 代码
zone 代码
transfer 代码
2.8 RTS Java SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用RTS SDK的时候,SDK支持的参数细节,请参考RTS API描述。
RTS Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
SDK开发指南 2 Java
2019-11-22 11
资源对象 “增改查删”代码样例
event 代码
resource 代码
softwareconfig 代码
stack 代码
template 代码
2.9 AS Java SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用AS SDK的时候,SDK支持的参数细节,请参考AS API描述。
AS v1 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
group 代码
configration 代码
instance 代码
lifecyclehook 代码
log 代码
notification 代码
policy 代码
quota 代码
tag 代码
2.10 CES Java SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用CES SDK的时候,SDK支持的参数细节,请参考CES API描述。
CES V1.0 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
SDK开发指南 2 Java
2019-11-22 12
资源对象 “增改查删”代码样例
metric 代码
alarm 代码
metric data 代码
quota 代码
2.11 DNS Java SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考A.1.9 DNS。
在使用DNS SDK的时候,SDK支持的参数细节,请参考DNS API描述。
云解析服务DNS v2 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
zone 代码
recordset 代码
ptr 代码
2.12 ELB Java SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用ELB SDK的时候,SDK支持的参数细节,请参考ELB API描述。
增强型负载均衡ELB v2 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
loadbalancer 代码
listener 代码
pool 代码
member 代码
healthmonitor 代码
certificate 代码
whitelist 代码
SDK开发指南 2 Java
2019-11-22 13
资源对象 “增改查删”代码样例
l7policy 代码
l7rule 代码
经典型负载均衡ELB v1 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
loadbalancer 代码
listener 代码
member 代码
healthcheck 代码
certificate 代码
2.13 VBS Java SDK 示例
创建云硬盘备份
下面代码为创建云硬盘备份的过程,用户可以根据需求进行相应的参数配置,创建完成后,新创建的备份会在VBS的备份列表显示。
public static void createBackup() { AsyncVolumeBackupCreate vbc = Builders.asyncVolumeBackupCreate() .name(backupName) .volumeId(volume.getId()) .build(); AsyncVolumeBackupJob job = osclient.blockStorage().asyncBackups().create(vbc); Assert.assertNotNull(job.getId()); backupJobId = job.getId();}
表 2-3 请求参数说明
名称 是否必选 参数类型 说明
backup 是 dict 待创建的备份。
volume_id 是 string 需要进行备份的磁盘ID。
snapshot_id
否 string 需要进行备份的磁盘对应的快照ID。
name 是 string 备份名称, 大支持64个字符(不区分中英文),只能是中文、英文、数字、下划线(_)和中划线(-)。
SDK开发指南 2 Java
2019-11-22 14
名称 是否必选 参数类型 说明
description
否 string 备份描述, 大支持64个字符(不区分中英文),且不能包含“<”和“>”。
查询备份详情列表
下面代码为查询备份列表的过程,返回每个备份的详细信息,用户可以根据需求进行相应的参数配置。
public static void queryNativeBackupsDetail(){ // 无查询条件 List<? extends VolumeBackup> list = osclient.blockStorage().backups().list(true); Assert.assertNotEquals(list.size(), 0);
// 条件查询 HashMap<String, String> filter = new HashMap<>(); filter.put("name", backupName); List<? extends VolumeBackup> list2 = osclient.blockStorage().backups().list(true, filter); for (VolumeBackup backup: list2) { Assert.assertEquals(backup.getName(), backupName); }}
表 2-4 请求参数说明
名称 是否必选 参数类型 说明
name 否 string 指定查询的备份名称。用于过滤名称为指定字符串的备份。
status 否 string 指定查询的备份状态。用于过滤特定状态的备份。可选的值目前只支持:“available”,“error”,“restoring”,“creating”,“deleting”,“error_restoring”。
offset 否 int 指定查询信息列表的偏移量。
limit 否 int 指定返回结果个数限制。
volume_id 否 string 指定查询备份的磁盘ID。用于过滤指定磁盘ID对应的备份。
从备份恢复磁盘
下面代码为选择一个备份恢复到磁盘的过程,用户可以根据需求进行相应的参数配置。
public static void restoreBackup() { AsyncVolumeBackupJob job = osclient.blockStorage() .asyncBackups() .restore(backupId, volume.getId()); Assert.assertNotNull(job.getId());}
SDK开发指南 2 Java
2019-11-22 15
表 2-5 请求参数说明
名称 是否必选 参数类型 说明
restore 是 dict 标记从备份恢复磁盘操作。
backup_id
是 string 需要恢复的备份ID
volume_id
是 string 将要被恢复的磁盘ID。
删除备份
下面代码为删除一个备份的过程,用户可以根据需求进行相应的参数配置。
public static void deleteNativeBackup() { ActionResponse delete = osclient.blockStorage().backups().delete(backupId); Assert.assertEquals(delete.isSuccess(), true);}
表 2-6 请求参数说明
名称 是否必选 参数类型 说明
tenant_id 是 string 租户ID。
backup_id 是 string 需要恢复的备份ID。
创建备份策略
下面代码为备份策略的创建过程,用户可以根据需求进行相应的参数配置。
public static void createPolicy() { // 先创建 scheduled policy VBSVolumeBackupScheduledPolicy scheduledPolicy = VBSVolumeBackupScheduledPolicy.builder() .frequency(10) .maxBackupAmount(10) .retainFirstBackupOfCurrentMonth(true) .startTime("01:00") .status(VolumeBackupPolicy.VolumeBackupPolicyStatus.OFF) .build(); Assert.assertNotNull(scheduledPolicy);
// 创建 backup policy 对象 VolumeBackupPolicy create = VBSVolumeBackupPolicy.builder() .name(policyName) .scheduledPolicy(scheduledPolicy) .build(); VolumeBackupPolicy policy = osclient.blockStorage().policies().create(create); Assert.assertNotNull(policy.getId());
SDK开发指南 2 Java
2019-11-22 16
表 2-7 请求参数说明
名称 是否必选 参数类型 说明
backup_policy_name
是 string 备份策略名称
只能由数字、字母、汉字、下划线、中划线组成,同时不能以default开头,长度1到64位。
scheduled_policy
是 dict 调度策略详情。
start_time 是 string 备份开始时间,需要转化成本地时间对应的UTC时间(目前只支持整点)。
格式为HH:mm
frequency 否 integer 备份间隔(1-14天),该字段和week_frequency字段二选一,如果同时设置,默认以该字段为准。
week_frequency
否 list<dict> 按指定周进行备份,取值为以下值的一个或者多个:
SUN,MON,TUE,WED,THU,FRI,SAT
rentention_num
否 integer 备份保留个数( 小值为2),该字段和rentention_day字段二先一,如果同时设置,默认以该字段为准。
rentention_day
否 integer 备份保留天数。
remain_first_backup_of_curMonth
是 string 是否保留当月的第一个备份。
● Y● N
status 是 string 策略状态:启用或停用。
● ON● OFF
删除备份策略
下面代码为备份策略的删除过程,用户可以根据需求进行相应的参数配置。
public static void deletePolicy() { osclient.blockStorage().policies().delete(policyId); List<? extends VolumeBackupPolicy> policies = osclient.blockStorage().policies().list(); boolean isSuccess = true; for (VolumeBackupPolicy policy: policies) { if (policy.getId().equals(policyId)) { isSuccess = false; break; } }
SDK开发指南 2 Java
2019-11-22 17
Assert.assertEquals(isSuccess, true);}
表 2-8 请求参数说明
名称 是否必选 参数类型 说明
tenant_id 是 string 租户ID
policy_id 是 string 策略ID
查询备份策略
下面代码为查询备份策略的过程,用户可以根据需求进行相应的参数配置。
public static void queryPolicy() { List<? extends VolumeBackupPolicy> policies = osclient.blockStorage().policies().list(); boolean isSuccess = false; for (VolumeBackupPolicy policy: policies) { if (policy.getName().equals(policyName)) { isSuccess = true; policyId = policy.getId(); break; } } Assert.assertEquals(isSuccess, true);}
2.14 CTS Java SDK 示例
Tracker
云审计服务开通后系统会创建一个追踪器,用来关联系统记录的所有操作。
创建 Tracker
下面代码为创建Tracker的过程,用户可以根据需求进行相应的参数配置,目前只能创建一个Tracker:“system”。
public void CreateTracker() { Tracker create = osclient.cloudTraceV1().trackers().create(bucket_name,FilePrefixName); }
删除 Tracker
下面代码为删除Tracker的过程。
public void DeleteTraker() {ActionResponse delete = osclient.cloudTraceV1().trackers().delete(tracker_name);Assert.assertTrue(delete.isSuccess());List<Tracker> trackers = osclient.cloudTraceV1().trackers().list();Assert.assertTrue(trackers.size() == 0);}
SDK开发指南 2 Java
2019-11-22 18
更新 Tracker
下面代码为更新Tracker的过程,可以更新的信息包括桶名,文件夹名称以及status,tracker_name可选,但只能为system。
public void UpdateTraker() { TrackerUpdate update = TrackerUpdate.builder().trackerName(tracker_name) .bucketName(bucket_name).filePrefixName("SDK-unittest").status(TrackerStatus.Enabled”).build(); Tracker updated = osclient.cloudTraceV1().trackers().update(update); }
查询 Tracker
下面代码为查询Tracker的过程,参数为tracker_name。
public void GetTraker() {Tracker get = osclient.cloudTraceV1().trackers().get(tracker_name);}
Trace
通过事件查询接口,可以查处系统记录的7天内资源操作记录。
查询 Trace 列表
下面代码为查询trace列表,可以设置多个查询参数进行筛选。
/*v2interface*/publicvoidListTrace(){ TraceListOptionsoptions=TraceListOptions.create().limit(5).user("renxiaomei").serviceType("CTS"); List<Trace>list=osclient.cloudTraceV2().traces().list("system", options); if(list.size()>0){ Tracetrace=list.get(list.size()-1); options.marker(trace.getId()); List<Trace>list2=osclient.cloudTraceV2().traces().list("system", options); }}
2.15 KMS Java SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用KMS SDK的时候,SDK支持的参数细节,请参考KMS API描述。
KMS Java SDK提供的场景示例代码如下:
场景 代码样例
manage customer master key 代码
encrypt/decrypt data 代码
create data encrypt key 代码
encrypt/decrypt with data encrypt key 代码
SDK开发指南 2 Java
2019-11-22 19
2.16 Anti-DDoS Java SDK 示例
查询 Anti-DDoS 配置可选范围
查询系统支持的Anti-DDoS防护策略配置的可选范围,用户根据范围列表选择适合自已业务的防护策略进行Anti-DDoS流量清洗。
代码示例如下:
public void listConfigs() { AntiDDoSServices antiDDoSServices = osclient.antiDDoS(); AntiDDoSService antiDDoSService=antiDDoSServices.antiddos(); AntiDDoSConfig configs = antiDDoSService.listConfigs(); LOGGER.info("{}", configs); }
开通 Anti-DDoS 服务
用户开通Anti-DDoS流量清洗防护。作为异步接口,调用成功,只是说明服务节点收到了开通请求,开通是否成功需要通过任务查询接口查询该任务的执行状态。
代码示例如下:
public void createAntiDDoS() throws InterruptedException { AntiDDoS entity = AntiDDoS.builder() .enableL7(true) .trafficPos(TrafficPos.POS_1) .httpRequestPos(HttpRequestPos.POS_1) .cleaningAccessPos(CleaningAccessPos.POS_1) .appType(AppType.Type_0) .build(); AntiDDoSServices antiDDoSServices = osclient.antiDDoS(); AntiDDoSService antiDDoSService =antiDDoSServices.antiddos(); Task task = antiDDoSService.create(entity, floatingIpId); LOGGER.info("{}", task); taskId = task.getTaskId(); waitTaskFinish(taskId); } }}
关闭 Anti-DDoS 服务
用户关闭Anti-DDoS流量清洗防护。作为异步接口,调用成功,只是说明服务节点收到了关闭防护请求,操作是否成功需要通过任务查询接口查询该任务的执行状态。
代码示例如下:
public void deleteAntiDDoS() throws InterruptedException { AntiDDoSServices antiDDoSServices = osclient.antiDDoS(); AntiDDoSService antiDDoSService=antiDDoSServices.antiddos(); Task task = antiDDoSService.delete(floatingIpId); LOGGER.info("{}", task); waitTaskFinish(task.getTaskId());}
SDK开发指南 2 Java
2019-11-22 20
查询 Anti-DDoS 服务
查询配置的Anti-DDoS防护策略,用户可以查询指定EIP的Anti-DDoS防护策略。
代码示例如下:
public void getAntiDDoS() { AntiDDoSServices antiDDoSServices = osclient.antiDDoS(); AntiDDoSService antiDDoSService =antiDDoSServices.antiddos(); AntiDDoS antiDDoS = antiDDoSService.get(floatingIpId); LOGGER.info("{}", antiDDoS); }
更新 Anti-DDoS 服务
更新指定EIP的Anti-DDoS防护策略配置。调用成功,只是说明服务节点收到了更新配置请求,操作是否成功需要通过任务查询接口查询该任务的执行状态。
代码示例如下:
public void updateAntiDDoS() throws InterruptedException { AntiDDoSServices antiDDoSServices = osclient.antiDDoS(); AntiDDoSService antiDDoSService =antiDDoSServices.antiddos(); AntiDDoS entity = antiDDoSService.get(floatingIpId); entity = entity.toBuilder().appType(AppType.Type_1).build(); Task task = osclient.antiDDoS().antiddos().update(entity, floatingIpId); LOGGER.info("{}", task); waitTaskFinish(task.getTaskId()); }
查询 Anti-DDoS 任务
用户查询指定的Anti-DDoS防护配置任务,得到任务当前执行的状态。
代码示例如下:
public void getTask() { AntiDDoSServices antiDDoSServices = osclient.antiDDoS(); AntiDDoSService antiDDoSService =antiDDoSServices.antiddos(); Task task = antiDDoSService.getTask(taskId); LOGGER.info("{}", task);}
查询 EIP 防护状态列表
查询用户所有EIP的Anti-DDoS防护状态信息,用户的EIP无论是否绑定到云服务器,都可以进行查询。
代码示例如下:
public void listStatuses(){ AntiDDoSServices antiDDoSServices = osclient.antiDDoS(); AntiDDoSService antiDDoSService =antiDDoSServices.antiddos(); AntiDDoSStatus statuses = antiDDoSService.listStatus(); LOGGER.info("{}", statuses);}
查询指定 EIP 防护状态
查询指定EIP的Anti-DDoS防护状态。
SDK开发指南 2 Java
2019-11-22 21
代码示例如下:
public void getStatus() { AntiDDoSServices antiDDoSServices = osclient.antiDDoS(); AntiDDoSService antiDDoSService =antiDDoSServices.antiddos(); AntiDDoSStatusDetail status = antiDDoSService.getStatus(floatingIpId); LOGGER.info("{}", status);}
查询指定 EIP 防护流量
查询指定EIP在过去24小时之内的防护流量信息,流量的间隔时间单位为5分钟。
代码示例如下:
public void dailyReport() { AntiDDoSServices antiDDoSServices = osclient.antiDDoS(); AntiDDoSService antiDDoSService =antiDDoSServices.antiddos(); List<? extends AntiDDoSDailyData> dailyReport = antiDDoSService.dailyReport(floatingIpId); LOGGER.info("{}", dailyReport);}
查询指定 EIP 异常事件
查询指定EIP在过去24小时之内的异常事件信息,异常事件包括清洗事件和黑洞事件,查询延迟在5分钟之内。
代码示例如下:
public void listLog() { AntiDDoSServices antiDDoSServices = osclient.antiDDoS(); AntiDDoSService antiDDoSService =antiDDoSServices.antiddos(); List<? extends AntiDDoSLog> logs = antiDDoSService.listLogs(floatingIpId); LOGGER.info("{}", logs); AntiDDoSLogListOptions options = AntiDDoSLogListOptions.create().limit(1).offset(1); List<? extends AntiDDoSLog> logs2 = osclient.antiDDoS().antiddos().listLogs(floatingIpId, options); LOGGER.info("{}", logs2);}
查询周防护统计情况
查询用户所有Anti-DDoS防护周统计情况,包括一周内DDoS拦截次数和攻击次数、以及按照被攻击次数进行的排名信息等统计数据。
代码示例如下:
public void weeklyReport() { AntiDDoSServices antiDDoSServices = osclient.antiDDoS(); AntiDDoSService antiDDoSService =antiDDoSServices.antiddos(); AntiDDoSWeeklyData weekly = antiDDoSService.weeklyReport(); LOGGER.info("{}", weekly); Calendar cal = Calendar.getInstance(); cal.add(Calendar.HOUR, -10); AntiDDoSWeeklyData weekly2 = osclient.antiDDoS().antiddos().weeklyReport(cal.getTime()); LOGGER.info("{}", weekly2); }
SDK开发指南 2 Java
2019-11-22 22
查询告警配置信息
查询用户配置信息,用户可以通过此接口查询是否接收某类告警,同时可以配置是手机短信还是电子邮件接收告警信息。
代码示例如下:
public void queryWarningInfo() { AntiDDoSServices antiDDoSServices = osclient.antiDDoS(); AntiDDoSWarn query = antiDDoSServices.warnalert().query(); LOGGER.info("{}", query);}
2.17 DMS Java SDK 示例分布式消息服务(Distributed Message Service)是一项基于高可用分布式集群技术的消息中间件服务,具有大规模、高可靠、高并发访问、可扩展且完全托管的特点。DMS帮助云端的应用程序组件去耦合,具有很高的成本效益。
创建队列
下面代码为消息队列的创建,创建成功后,可往此队列上生产消息,使用示例:
String name = randomName();String description = "sdk-unittest"Queue queue = null;queue = osclient.messageQueue().queue().create(name, description);
创建消费组
下面代码为消费组的创建,创建成功后该消费组可消费队列上的消息,使用示例:
List<ConsumerGroup> groups = null;List<String> groupNames = Lists.newArrayList("consumer-group-1", "consumer-group-2");queueId queueID = queue.getId();groups = osclient.messageQueue().consumerGroups().create(queueID, groupNames);
生产消息
下面代码为生产消息的过程,使用示例:
public void testProduceMessage() {HashMap<String, Object> attributes1 = Maps.newHashMap();attributes1.put("attr1", 1);attributes1.put("attr2", false);QueueMessage message = QueueMessage.builder().body("sdk-unittests").attributes(attributes1).build();ActionResponse produce = osclient.messageQueue().messages().produce(queue.getId(), message);}
消费消息
下面代码为消费消息的过程,使用示例:
public void testConsumeMessages() {ConsumerGroup consumerGroup1 = groups.get(0);List<QueueMessageWithHandler> all = Lists.newArrayList();for (int i = 0; i < 3; i++) {List<QueueMessageWithHandler> temp = osclient.messageQueue().messages().consume(queue.getId(), consumerGroup1.getId(), 5, 10);all.addAll(temp);
SDK开发指南 2 Java
2019-11-22 23
}}
2.18 MRS Java SDK 示例MapReduce服务(MapReduce Service):提供租户完全可控的企业级大数据集群云服务,轻松运行Hadoop、Spark、HBase、Kafka、Storm等大数据组件。
创建集群并提交作业
下面代码为MRS集群创建并提交作业的过程,用户可以根据需求进行相应的参数配置,创建完成后,新创建的集群会在MRS服务的集群列表页面上显示。
public void createClusterAndRunAJob() {MapReduceComponent component = MapReduceComponent.builder().id(component_id).name(component_name).version(component_version).desc(component_desc).build();MapReduceClusterCreate cluster = MapReduceClusterCreate.builder().dataCenter(data_center).masterNodeNum(master_node_num).masterNodeSize(master_node_size).coreNodeNum(core_node_num).coreNodeSize(core_node_size).name(cluster_name).availablilityZoneId(available_zone_id).vpcName(vpc).vpcId(vpc_id).subnetName(subnet_name).subnetId(subnet_id).version(cluster_version).type(cluster_type).volumeSize(volume_size).volumeType(volume_type).keypair(node_public_cert_name).safeMode(safe_mode).components(Lists.newArrayList(component)).build();MapReduceJobExeCreate jobExe = MapReduceJobExeCreate.builder().jobType(job_type).jobName(job_name).jarPath(jar_path).arguments(arguments).input(input).output(output).jobLog(job_log).fileAction(file_action).hql(hql).hiveScriptPath(hive_script_path).shutdownCluster(shutdown_cluster).submitJobOnceClusterRun(submit_job_once_cluster_run).build();MapReduceClusterCreateResult result = osclient.mrs().clusters().createAndRunJob(cluster, jobExe);}
查询集群详情
下面代码为查询集群详情的过程,用户需要传入集群id。
public void describeCluster () {MapReduceCluster cluster = osclient.mrs().clusters().get(id);}
终止集群
下面代码为查询集群详情的过程,用户需要传入集群id。
public void deleteCluster () {ActionResponse delete = osclient.mrs().clusters().delete(id);}
新增作业并执行
下面代码为新增作业并执行的过程,用户可以根据需求进行相应的参数配置,创建完成后,新创建的作业会在MRS服务的作业列表页面上显示。
public void submitAndExecuteJob () {MapReduceJobExeCreate jobExeCreate = MapReduceJobExeCreate.builder().jobType(job_type).jobName(job_name).clusterId(cluster_id).jarPath(jar_path).arguments(arguments).input(input).output(output).jobLog(job_log).fileAction(file_action).hql(hql).hiveScriptPath(hive_script_path).isProtected(is_protected).isPublic(is_public).build();MapReduceJobExe exe = osclient.mrs().jobExes().create(jobExeCreate);}
SDK开发指南 2 Java
2019-11-22 24
查询作业 exe 对象列表
下面代码为查询作业exe对象列表的过程,用户可以根据需求进行相应的参数配置。
public void getJobExeList () {JobExeListOptions options = JobExeListOptions.create().page(current_page).pageSize(page_size).clusterId(cluster_id).state(state);List<? extends MapReduceJobExe> list = osclient.mrs().jobExes().list(options);}
查询作业 exe 对象详情
下面代码为查询作业exe对象详情的过程,用户需要传入作业exe对象id。
public void getJobExes() {osclient.mrs().jobExes().get(id);}
删除作业执行对象
下面代码为删除作业执行对象详情的过程,用户需要传入作业执行对象id。
public void deleteJobExecution () {ActionResponse delete = osclient.mrs().jobExecutions().delete(id);}
2.19 CDN Java SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用CDN SDK的时候,SDK支持的参数细节,请参考CDN API描述。
CDN Java SDK支持如下资源对象的操作:
资源对象 代码样例
Domain 代码
Statistic 代码
Log 代码
2.20 FGS Java SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考A.1.18 FGS。
在使用FGS SDK的时候,SDK支持的参数细节,请参考FGS API描述。
函数工作流FGS V1 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
SDK开发指南 2 Java
2019-11-22 25
资源对象 “增改查删”代码样例
function 代码
version 代码
trigger 代码
函数工作流FGS V2 Java SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象↵ “增改查删”代码样例↵
function 代码↵
version 代码↵
trigger 代码↵
2.21 BSS Java SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用BSS SDK的时候,SDK支持的参数细节,请参考BSS 合作伙伴运营能力API描述和客户运营能力API描述。
能力开放BSS v1 Java SDK支持如下资源对象的操作,资源对象的代码示例如下:
资源对象 “增改查删”代码样例
customer management 代码
realname auth 代码
enquiry 代码
period order 代码
periodre source 代码
pay-per-use resource 代码
bill 代码
utilities 代码
SDK开发指南 2 Java
2019-11-22 26
3 Python
3.1 入门欢迎使用华为云开发者工具套件(Python SDK)。Python SDK让您轻松编程即可访问云服务。
本教程介绍如何安装和使用Python SDK,并提供示例,方便您快速入门。
我们支持的Python SDK基于Python OpenStack SDK开发。
支持的云服务列表
Python SDK支持的云服务产品如下:
统一身份认证 IAM 镜像服务 IMS 虚拟私有云 VPC
弹性云服务器 ECS 云硬盘 EVS 资源模板服务 RTS
弹性伸缩 AS 云监控服务 CES 云解析服务 DNS
弹性负载均衡 ELB 云硬盘备份 VBS 数据加密服务 KMS
流量清洗Anti-DDoS 分布式消息服务 DMS MapReduce服务 MRS
关系型数据库 RDS 内容分发网络 CDN 运营能力 BSS
前提条件
1. 已经申请到云平台账号,并开通所需的云服务。
2. 已经安装好Python、pip和git,Python SDK适用于 Python 2.7.10-2.7.15 和3.4-3.7 系列版本。
SDK 获取和安装
使用pip安装,请执行以下命令:
pip install huaweicloud-sdk-python
SDK开发指南 3 Python
2019-11-22 27
开始使用
设置参数,创建连接(Connection),然后调用SDK来访问服务的API。参数详情请参考表3-1。
# -*- coding:utf-8 -*-from openstack import connection
# create connectionusername = "replace-with-your-username" #用户名称password = "replace-with-your-password" #用户密码projectId = "replace-with-your-projectId" #项目IDuserDomainId = "replace-with-your-domainId" #账户IDauth_url = "https://iam.example.com/v3" # endpoint urlconn = connection.Connection(auth_url=auth_url, user_domain_id=userDomainId, project_id=projectId, username=username, password=password)
# set parameterslimit = 5
# define function for listing serversdef list_servers(): # get server list with params servers = conn.compute.servers(limit=limit) # iterate servers list for server in servers: print(server)
# visit APIlist_servers()
表 3-1 参数说明
名称 说明 取值样例
auth_url 认证服务(IAM)的Endpoint。“https://iam.example.com/v3”中的“example”为“区域.云平台域名”,参数详情可以访问这里了解。
https://iam.cn-north-1.myhuaweicloud.com/v3
projectId 项目ID。如何获取项目ID请参考5.3 如何获取domain_name、project_name和project_id ?。
-
userDomainId
账号ID。如何获取账号ID请参考5.3 如何获取domain_name、project_name和project_id ?。
-
3.2 使用
SDK开发指南 3 Python
2019-11-22 28
3.2.1 安装
Python SDK提供GitHub和pip两种安装方式。
方式一:下载GitHub源码安装方式,如下:
将代码下载到您项目合适的位置,以pythonsdk作为您选择的位置举例,执行下面的命令完成源码下载和安装:
git clone https://github.com/huaweicloud/huaweicloud-sdk-python pythonsdk
cd pythonsdk
pip install -r requirements.txt
python setup.py install
方式二:使用pip安装,请执行以下命令:
pip install huaweicloud-sdk-python
3.2.2 认证方式
Python SDK支持两种认证方式:token认证和AK/SK认证。
token 认证
token认证方式示例代码,请参考入门。
AK/SK 认证
AK/SK认证方式示例代码,参数详情请参考表3-2。
#encoding=utf-8
from openstack import connection
projectId = "***"cloud = "myhuaweicloud.com"region= "***" # example: region = "cn-north-1"AK = "***"SK = "***"
conn = connection.Connection( project_id=projectId, cloud=cloud, region=region, ak = AK, sk = SK)
def test_compute(): servers = conn.compute.servers(limit = 3) for server in servers: print server
if __name__ == "__main__": test_compute()
SDK开发指南 3 Python
2019-11-22 29
表 3-2 参数说明
名称 说明 取值样例
ak/sk AK/SK访问密钥。
说明
● AK/SK生成说明:登录控制台,进入“我的凭证”,点击“管理访问密钥”创建AK/SK。
● AK/SK签名时间与UTC时间误差不可以超过15分钟,否则会鉴权失败。
● AK/SK签名连续失败超过5次,将锁定对应访问的源IP的AK/SK请求,持续5分钟。
-
project_id 项目ID。如何获取项目ID请参考5.3 如何获取domain_name、project_name和project_id ?。
-
region 区域名称。 cn-north-1
cloud 云平台域名。 myhuaweicloud.com
3.2.3 客户端配置SDK支持的自定义功能,用户可以通过配置进行开启或者关闭。
示例代码:
conn = connection.Connection(auth_url=auth_url, user_domain_id=userDomainId, project_id=projectId, username=username, password=password, verify=False)
当前支持的自定义参数如下:
参数名称 默认值 功能描述 备注
verify True SSL检查 建议打开
3.2.4 服务地址设置使用SDK调用云服务API时,需要获取每个云服务的地址(Endpoint)。
Python SDK支持两种方式:SDK自动获取、手工编码设置。
编码设置云服务Endpoint的示例如下:
SDK开发指南 3 Python
2019-11-22 30
os.environ.setdefault( 'OS_CLOUD_EYE_ENDPOINT_OVERRIDE', 'https://ces.example.com/V1.0/%(project_id)s')os.environ.setdefault( 'OS_AUTO_SCALING_ENDPOINT_OVERRIDE', ('https://as.example.com' '/autoscaling-api/v1/%(project_id)s'))os.environ.setdefault( 'OS_DNS_ENDPOINT_OVERRIDE', 'https://dns.example.com/v2')os.environ.setdefault( 'OS_VOLUME_BACKUP_ENDPOINT_OVERRIDE', 'https://vbs.example.com/v2/%(project_id)s')os.environ.setdefault( 'OS_ELBV1_ENDPOINT_OVERRIDE', 'https://elb.example.com/v1.0/%(project_id)s')os.environ.setdefault( 'OS_MAP_REDUCE_ENDPOINT_OVERRIDE', 'https://mrs.example.com/v1.1/%(project_id)s')os.environ.setdefault( 'OS_CTS_ENDPOINT_OVERRIDE', 'https://cts.example.com/v1.0/%(project_id)s')os.environ.setdefault( 'OS_SMN_ENDPOINT_OVERRIDE', 'https://smn.example.com/v2/%(project_id)s')os.environ.setdefault( 'OS_MAAS_ENDPOINT_OVERRIDE', 'https://maas.example.com/v1/%(project_id)s')os.environ.setdefault( 'OS_KMS_ENDPOINT_OVERRIDE', 'https://kms.example.com/v1.0/%(project_id)s')os.environ.setdefault( 'OS_ANTI_DDOS_ENDPOINT_OVERRIDE', 'https://antiddos.example.com/v1/%(project_id)s')os.environ.setdefault( 'OS_DMS_ENDPOINT_OVERRIDE', 'https://dms.example.com/v1.0/%(project_id)s')os.environ.setdefault( 'OS_RDSV1_ENDPOINT_OVERRIDE', 'https://rds.example.com/v3/%(project_id)s')os.environ.setdefault( 'OS_CDN_ENDPOINT_OVERRIDE', 'https://cdn.example.com/v1.0')
● 上述代码中example的格式为:“区域.云平台域名”,参数详情可以访问这里了解。
● 上述代码中project_id不需要替换为实际值。
● 单击此处获取使用Python SDK的一个完整代码示例,供参考。
3.2.5 故障排查
Python SDK打开debug的方法:
SDK开发指南 3 Python
2019-11-22 31
from openstack import utilsutils.enable_logging(debug=True,stream=sys.stdout)
3.2.6 函数通用参数
Python SDK支持一些通用参数,使用方法如下:
ignore_missing
该参数一般出现在服务的delete接口中,默认参数为True,例如:
delete_flavor(self, flavor, ignore_missing=True)
delete_image(self, image, ignore_missing=True)
当设置为True时,如果删除的资源不存在时,不打印异常信息,不抛出异常;
当设置为False时,如果所删除的资源不存在,会抛出openstack.exceptions.ResourceNotFound异常。如果没有处理该异常,会导致程序异常终止执行。
details
该参数一般出现在服务的获取资源详细列表接口中,例如:
flavors(self, details=True, **query)
images(self, details=True, **query)
只有支持/detail接口的资源才支持传入。
当设置为True,请求资源的URI为{RES}/details,返回资源的详细信息;
当设置为False,请求的资源的URI为{RES},返回资源的 基本的信息。
limit
该参数一般出现在服务的获取资源详细列表接口中,例如:
flavors(self, details=True, limit = 5)
images(self, details=True, limit = 10)
当传入limit参数时,查询结果会分页返回,每次返回的个数为limit的数值;
当不传入limit参数时,查询结果会一次返回。
3.3 IAM Python SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考A.2.1 IAM。
在使用IAM SDK的时候,SDK支持的参数细节,请参考IAM API描述。
统一身份认证服务IAM Python SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
SDK开发指南 3 Python
2019-11-22 32
资源对象 “增改查删”代码样例
securitytoken 代码
domain 代码
endpoint 代码
group 代码
project 代码
region 代码
role 代码
service 代码
user 代码
3.4 IMS Python SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用IMS SDK的时候,SDK支持的参数细节,请参考IMS API描述。
IMS v2 Python SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
image 代码
Glance v2 Python SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
image 代码
image member 代码
3.5 VPC Python SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用VPC SDK的时候,SDK支持的参数细节,请参考VPC API描述。
SDK开发指南 3 Python
2019-11-22 33
VPC v1 Python SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
bandwidth 代码
port 代码
private ip 代码
public ip 代码
quota 代码
security group 代码
security group rule 代码
subnet 代码
vpc 代码
VPC v2.0 Python SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
sharebandwidth 代码
Neutron v2.0 Python SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
floating ip 代码
network 代码
port 代码
route 代码
security group 代码
security group rule 代码
subnet 代码
SDK开发指南 3 Python
2019-11-22 34
3.6 ECS Python SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用ECS SDK的时候,SDK支持的参数细节,请参考ECS API描述。
ECS Python SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
availability zone 代码
flavor 代码
job 代码
keypair 代码
server 代码
server group 代码
server interface 代码
server ip 代码
server tag 代码
cloudserver(prepaid) 代码
ECS Python SDK提供的场景示例代码如下:
场景 代码样例
create one or more servers 代码
create server with password 代码
3.7 EVS Python SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考A.1.5 EVS。
在使用EVS SDK的时候,SDK支持的参数细节,请参考EVS API描述。
EVS v2 Python SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
SDK开发指南 3 Python
2019-11-22 35
资源对象 “增改查删”代码样例
volume 代码
Cinder v2 Python SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
volume 代码
snapshot 代码
type 代码
3.8 RTS Python SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考A.2.6 RTS。
在使用RTS SDK的时候,SDK支持的参数细节,请参考RTS API描述。
RTS Python SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
stack 代码
software_config 代码
3.9 AS Python SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考A.2.7 AS。
在使用AS SDK的时候,SDK支持的参数细节,请参考AS API描述。
AS v1 Python SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
group 代码
config 代码
hook 代码
instance 代码
SDK开发指南 3 Python
2019-11-22 36
资源对象 “增改查删”代码样例
policy 代码
quota 代码
activity 代码
3.10 CES Python SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用CES SDK的时候,SDK支持的参数细节,请参考CES API描述。
CES V1.0 Python SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
metric 代码
alarm 代码
metric data 代码
quota 代码
3.11 DNS Python SDK 示例
DNS Python OpenStack SDK 示例
云解析(Domain Name Service)提供高可用,高扩展的权威DNS服务和DNS管理服务,把人们常用的域名或应用资源转换成计算机用于连接的IP地址,从而将 终用户路由到相应的应用资源上。
创建内网域名
用户在VPC内使用云解析服务进行内网域名托管,需使用增加内网域名功能,用户可使用Python OpenStack SDK创建一个内网域名,详细操作如下:
1. 指定需要关联的VPC。
2. 创建内网域名。
下面代码为内网域名创建的过程,用户可以根据需求进行相应的参数配置,创建完成后,新增的域名会在DNS服务的内网域名页面上显示。
def setUpClass(cls): super(TestZone, cls).setUpClass() # get a router routers = cls.conn.network.routers(limit=2) idx = 0
SDK开发指南 3 Python
2019-11-22 37
for _router in routers: idx += 1 print _router if idx == 1: cls.router = _router if idx == 2: cls.router2 = _router break # create zone cls.zone = auto_create_private_zone(cls.conn, cls.NAME, cls.router.id,region)
关联 VPC当用户创建的内网域名需要新关联VPC时,可以利用Python OpenStack SDK在云平台上进行关联操作。 详细操作如下:
1. 指定需要关联的VPC。
2. 选择待关联VPC的内网域名并进行关联。
以下代码显示了内网域名与VPC相关联的过程,用户可以根据需要修改这些配置。
def add_router_to_zone(self): # Designate a router resource2.wait_for_status(self.conn.dns._session, self.zone, "ACTIVE", interval=5, failures=["ERROR"]) # Associate the private zone to the router result = self.conn.dns.add_router_to_zone(self.zone, **{"router_id": self.router2.id,"router_region": region}) self.assertEqual(result.router_id, self.router2.id) self.assertEqual(result.router_region, region) zone = self.conn.dns.get_zone(self.zone) self.assertEqual(2, len(zone.routers)) router_ids = [_router["router_id"] for _router in zone.routers] self.assertIn(self.router.id, router_ids)
解关联 VPC当用户创建的内网域名不需要关联某个VPC时,可以利用Python OpenStack SDK在云平台上进行进行解关联操作。代码如下: .
def remove_router_of_zone(self): resource2.wait_for_status(self.conn.dns._session, self.zone, "ACTIVE", interval=5, failures=["ERROR"]) result = self.conn.dns.remove_router_from_zone(self.zone, **{ "router_id": self.router.id, "router_region": region }) self.assertEqual(result.router_id, self.router.id) self.assertEqual(result.router_region, region)
删除内网域名
当用户无需使用云解析服务托管该内网域名时,可以使用删除内网域名功能。删除内网域名后,该内网域名包含的域名将无法再被解析。
执行删除内网域名操作前,请确认已备份该内网域名下所有用户创建的记录集。代码如下:
def tearDownClass(cls): # delete zone cls.conn.dns.delete_zone(cls.zone)
3.12 ELB Python SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
SDK开发指南 3 Python
2019-11-22 38
在使用ELB SDK的时候,SDK支持的参数细节,请参考ELB API描述。
增强型负载均衡ELB v2 Python SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
loadbalacner 代码
listener 代码
pool 代码
member 代码
healthmonitor 代码
certificate 代码
l7policy 代码
l7rule 代码
whitelist 代码
经典型负载均衡ELB v1 Python SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
loadbalacner 代码
listener 代码
member 代码
healthcheck 代码
certificate 代码
3.13 VBS Python SDK 示例
创建云硬盘备份
下面代码为创建云硬盘备份的过程,用户可以根据需求进行相应的参数配置,创建完成后,新创建的备份会在VBS的备份列表显示。
def create_backup(self): backup = { "volume_id": self.volume.id, "name": "sds", "description": "created by openstacksdk" }
result = self.conn.volume_backup.create_backup(**backup)
SDK开发指南 3 Python
2019-11-22 39
# assert result.job_id != None self.job_id = result.id
表 3-3 请求参数说明
名称 是否必选
参数类型 说明
backup 是 dict 待创建的备份。
volume_id 是 string 需要进行备份的磁盘ID。
snapshot_id 否 string 需要进行备份的磁盘对应的快照ID。
name 是 string 备份名称, 大支持64个字符(不区分中英文),只能是中文、英文、数字、下划线(_)和中划线(-)。
description 否 string 备份描述, 大支持64个字符(不区分中英文),且不能包含“<”和“>”。
查询备份详情列表
下面代码为查询备份列表的过程,返回每个备份的详细信息,用户可以根据需求进行相应的参数配置。
def query_backups_detail(self): backups = self.conn.volume_backup.backups(details=True)
query = { "name": "volume-backup-" + self.volume.id, # "status": "available", "volume_id": self.volume.id, # "marker": "some-backup-id", "limit": 10 } backups = self.conn.volume_backup.backups(details=True, **query) for backup in backups: print backup.name
表 3-4 请求参数说明
名称 是否必选
参数类型 说明
name 否 string 指定查询的备份名称。用于过滤名称为指定字符串的备份。
status 否 string 指定查询的备份状态。用于过滤特定状态的备份。可选的值目前只支持:“available”,“error”,“restoring”,“creating”,“deleting”,“error_restoring”。
offset 否 int 指定查询信息列表的偏移量。
limit 否 int 指定返回结果个数限制。
SDK开发指南 3 Python
2019-11-22 40
名称 是否必选
参数类型 说明
volume_id 否 string 指定查询备份的磁盘ID。用于过滤指定磁盘ID对应的备份。
从备份恢复磁盘
下面代码为选择一个备份恢复到磁盘的过程,用户可以根据需求进行相应的参数配置。
def restore_backup(self): self.query_backups() return self.conn.volume_backup.restore_backup(self.backup_id, self.volume.id)
表 3-5 请求参数说明
名称 是否必选
参数类型 说明
restore 是 dict 标记从备份恢复磁盘操作。
backup_id 是 string 需要恢复的备份ID
volume_id 是 string 将要被恢复的磁盘ID。
删除备份
下面代码为删除一个备份的过程,用户可以根据需求进行相应的参数配置。
def delete_backup(self): self.query_backups() self.conn.volume_backup.delete_backup(self.backup_id)
表 3-6 请求参数说明
名称 是否必选
参数类型 说明
tenant_id 是 string 租户ID。
backup_id 是 string 需要恢复的备份ID。
创建备份策略
下面代码为备份策略的创建过程,用户可以根据需求进行相应的参数配置。
def create_policy(self): data = { "remain_first_backup_of_curMonth": True, "rentention_num": 10,
SDK开发指南 3 Python
2019-11-22 41
"frequency": 1, "start_time": "12:00", "status": "ON" } volume_backup_name = "SDK-backup-test-1" policy = self.conn.volume_backup.create_backup_policy(volume_backup_name, **data) print policy
表 3-7 请求参数说明
名称 是否必选
参数类型 说明
backup_policy_name
是 string 备份策略名称
只能由数字、字母、汉字、下划线、中划线组成,同时不能以default开头,长度1到64位。
scheduled_policy
是 dict 调度策略详情。
start_time 是 string 备份开始时间,需要转化成本地时间对应的UTC时间(目前只支持整点)。
格式为HH:mm
frequency 否 integer 备份间隔(1-14天),该字段和week_frequency字段二选一,如果同时设置,默认以该字段为准。
week_frequency
否 list<dict> 按指定周进行备份,取值为以下值的一个或者多个:
SUN,MON,TUE,WED,THU,FRI,SAT
rentention_num
否 integer 备份保留个数( 小值为2),该字段和rentention_day字段二先一,如果同时设置,默认以该字段为准。
rentention_day
否 integer 备份保留天数。
remain_first_backup_of_curMonth
是 string 是否保留当月的第一个备份。
● Y● N
status 是 string 策略状态:启用或停用。
● ON● OFF
删除备份策略
下面代码为备份策略的删除过程,用户可以根据需求进行相应的参数配置。
SDK开发指南 3 Python
2019-11-22 42
def delete_policy(self): policy_id = self.query_policies().id self.conn.volume_backup.delete_backup_policy(policy_id)
表 3-8 请求参数说明
名称 是否必选
参数类型 说明
tenant_id 是 string 租户ID
policy_id 是 string 策略ID
查询备份策略
下面代码为查询备份策略的过程,用户可以根据需求进行相应的参数配置。
def query_policies(self): policies = list(self.conn.volume_backup.backup_policies()) if policies and len(policies) > 0: return policies[0]
3.14 KMS Python SDK 示例密钥管理服务,即KMS(Key Management Service),是一种安全、可靠、简单易用的密钥托管服务,帮助用户集中管理密钥,保护密钥安全。
KMS通过使用硬件安全模块HSM(Hardware Security Module)保护密钥安全,帮助用户轻松创建和管理密钥,所有的用户密钥都由HSM中的根密钥保护,避免密钥泄露。KMS对密钥的所有操作都会进行访问控制及日志跟踪,提供所有密钥的使用记录,满足审计和合规性要求。
创建用户主密钥
您可以根据以下代码,使用Python OpenStack SDK创建一条用户主密钥。
def create_key(conn): key_dict = { "key_alias": "test-key-123-456789223", "realm": "123" } key = conn.kms.create_key(**key_dict)
启用密钥
您可以根据以下代码,启用一条已经禁用的密钥。
def enable_key(conn, key): # a string of key id or an object of Key print(conn.kms.enable_key(key))
创建数据密钥
您可以根据以下代码,创建一条数据密钥。
def create_data_key(conn, key): data_key_dict={ "datakey_length":"512"
SDK开发指南 3 Python
2019-11-22 43
} print(conn.kms.create_datakey(key, **data_key_dict))
加密数据密钥
您可以根据以下代码,加密已创建的数据密钥,其中,plain_text的值应为创建数据密钥接口返回。
def encrypt_datakey(conn, key): params = { "plain_text": "4c5062132d3b1b450d1aff4cd49bb828c09e602e3678b3c8d9be5429fa22be17439a1c7bd167e76d1be8f0cadda76940c98e4483bc32312534ce98db824329eb", "datakey_plain_length": "64" } datakey = conn.kms.encrypt_datakey(key, **params) print(datakey)
3.15 Anti-DDoS Python SDK 示例
查询 Anti-DDoS 配置可选范围
查询系统支持的Anti-DDoS防护策略配置的可选范围,用户根据范围列表选择适合自已业务的防护策略进行Anti-DDoS流量清洗。
代码示例如下:
def list_config(conn): print("list anti-ddos confit")print(conn.anti_ddos.query_config_list())
开通 Anti-DDoS 服务
用户开通Anti-DDoS流量清洗防护。作为异步接口,调用成功,只是说明服务节点收到了开通请求,开通是否成功需要通过任务查询接口查询该任务的执行状态。
代码示例如下:
def create_eip(conn): fip_dict = {'enable_L7': True, 'traffic_pos_id': 1, 'http_request_pos_id': 1, 'cleaning_access_pos_id': 1, 'app_type_id': 0}
fip = conn.anti_ddos.create_floating_ip(FLOATING_IP_ID, **fip_dict)print(fip)
关闭 Anti-DDoS 服务
用户关闭Anti-DDoS流量清洗防护。作为异步接口,调用成功,只是说明服务节点收到了关闭防护请求,操作是否成功需要通过任务查询接口查询该任务的执行状态。
代码示例如下:
def delete_eip(conn): fip = conn.anti_ddos.get_floating_ip(FLOATING_IP_ID) conn.anti_ddos.delete_floating_ip(fip)
SDK开发指南 3 Python
2019-11-22 44
查询 Anti-DDoS 服务
查询配置的Anti-DDoS防护策略,用户可以查询指定EIP的Anti-DDoS防护策略。
代码示例如下:
def get_eip(conn): fip = conn.anti_ddos.get_floating_ip(FLOATING_IP_ID) print(fip)
更新 Anti-DDoS 服务
更新指定EIP的Anti-DDoS防护策略配置。调用成功,只是说明服务节点收到了更新配置请求,操作是否成功需要通过任务查询接口查询该任务的执行状态。
代码示例如下:
def update_eip(conn): fip = conn.anti_ddos.get_floating_ip(FLOATING_IP_ID)
fip_update_dict = {'enable_L7': False, 'traffic_pos_id': 1, 'http_request_pos_id': 1, 'cleaning_access_pos_id': 1, 'app_type_id': 0} ufip = conn.anti_ddos.update_floating_ip(fip, **fip_update_dict) print(ufip)
查询 Anti-DDoS 任务
用户查询指定的Anti-DDoS防护配置任务,得到任务当前执行的状态。
代码示例如下:
def query_task_status(conn): print(conn.anti_ddos.query_task_status( '228186d4-4aec-4c37-bae8-cb025aaf5770'))
查询 EIP 防护状态列表
查询用户所有EIP的Anti-DDoS防护状态信息,用户的EIP无论是否绑定到云服务器,都可以进行查询。
代码示例如下:
def list_eips(conn): print("list eips by status") for l in conn.anti_ddos.floating_ips(): print(l)
查询指定 EIP 防护状态
查询指定EIP的Anti-DDoS防护状态。
代码示例如下:
def get_eip_status(conn): print(conn.anti_ddos.get_eip_status(FLOATING_IP_ID))
查询指定 EIP 防护流量
查询指定EIP在过去24小时之内的防护流量信息,流量的间隔时间单位为5分钟。
SDK开发指南 3 Python
2019-11-22 45
代码示例如下:
def get_eip_daily(conn): for d in conn.anti_ddos.list_eip_daily(FLOATING_IP_ID): print(d)
查询指定 EIP 异常事件
查询指定EIP在过去24小时之内的异常事件信息,异常事件包括清洗事件和黑洞事件,查询延迟在5分钟之内。
代码示例如下:
def get_eip_log(conn): for l in conn.anti_ddos.list_eip_log(FLOATING_IP_ID): print(l)
查询周防护统计情况
查询用户所有Anti-DDoS防护周统计情况,包括一周内DDoS拦截次数和攻击次数、以及按照被攻击次数进行的排名信息等统计数据。
认证代码示例如下:
def get_eip_weekly(conn): print(conn.anti_ddos.get_eip_weekly('1006510306'))
查询告警配置信息
查询用户配置信息,用户可以通过此接口查询是否接收某类告警,同时可以配置是手机短信还是电子邮件接收告警信息。
代码示例如下:
def get_alert_config(conn): print(conn.anti_ddos.get_alert_config())
3.16 DMS Python SDK 示例分布式消息服务(Distributed Message Service)是一项基于高可用分布式集群技术的消息中间件服务,具有大规模、高可靠、高并发访问、可扩展且完全托管的特点。DMS帮助云端的应用程序组件去耦合,具有很高的成本效益。
创建队列
下面代码为消息队列创建的过程,创建成功后,可在此队列上生产消息,示例:
queue_dict = { 'name': "dmsTestQueue" + self.timeStamp, 'description': "dmsTestQueue" + self.timeStamp}q = conn.dms.create_queue(**queue_dict)
创建消费组
下面代码为消费组创建的过程,创建完成后,新创建的消费组,可消费队列上的消息,示例:
groupDict = { "groups": [
SDK开发指南 3 Python
2019-11-22 46
{ "name": "dmsConsumeGroup" + self.timeStamp } ] }group = conn.dms.create_groups(queue, **groupDict)
生产消息
下面代码为生产消息的过程,示例:
msgDict = { "messages": [ { "body": "testMsg" + self.timeStamp, "attributes": { "attribute1": "value1", "attribute2": "value2" } } ] }conn.dms.send_messages(queue, **msgDict))
消费消息
下面代码为消费消息的过程,示例:
msgList = conn.dms.consume_message(queue, group[0].id)
3.17 MRS Python SDK 示例MapReduce服务(MapReduce Service):提供租户完全可控的企业级大数据集群云服务,轻松运行Hadoop、Spark、HBase、Kafka、Storm等大数据组件。
创建集群并提交作业
下面代码为MRS集群创建并提交作业的过程,用户可以根据需求进行相应的参数配置,创建完成后,新创建的集群会在MRS服务的集群列表页面上显示。
vpc_id = vpc_idvpc_name = vpc_namesubnet_id = subnet_idsubnet_name = subnet_namekeypair_name = keypair_name
cluster = {"cluster_name": cluster_name,"billing_type": billing_type,"data_center": data_center,"master_node_num": master_node_num,"master_node_size": master_node_size,"core_node_num": core_node_num,"core_node_size": core_node_size,"available_zone_id": available_zone_id,"vpc": vpc,"vpc_id": vpc_id,"subnet_id": subnet_id,"subnet_name": subnet_name,"cluster_version": cluster_version,"cluster_type": cluster_type,"volume_type": volume_type,
SDK开发指南 3 Python
2019-11-22 47
"volume_size": volume_size,"keypair": keypair,"safe_mode": safe_mode,"component_list": [{"component_id": component_id,"component_name": component_name}]}
job = {"job_type": job_type,"job_name": job_name,"jar_path": jar_path,"arguments": arguments,"input": input,"output": output,"job_log": job_log,"shutdown_cluster": shutdown_cluster,"file_action": file_action,"submit_job_once_cluster_run": submit_job_once_cluster_run,"hql": hql,"hive_script_path": hive_script_path}cluster = conn.map_reduce.create_cluster_and_run_job(cluster, job)
扩容集群节点
下面代码为扩容集群节点的过程,用户需要传入集群id。
expand_node_amount = instancesconn.map_reduce.expand_cluster(id, expand_node_amount)
查询集群详情
下面代码为查询集群详情的过程,用户需要传入集群id。
cluster = conn.map_reduce.get_cluster(id)
终止集群
下面代码为查询集群详情的过程,用户需要传入集群id。
conn.map_reduce.delete_cluster(id)
新增作业并执行
下面代码为新增作业并执行的过程,用户可以根据需求进行相应的参数配置,创建完成后,新创建的作业会在MRS服务的作业列表页面上显示。
exe = {"job_type": job_type,"job_name": job_name,"cluster_id": cluster_id,"jar_path": jar_path,"arguments": arguments,"input": input,"output": output,"job_log": job_log,"file_action": file_action,"hql": hql,"hive_script_path": hive_script_path}job_exe = conn.map_reduce.exe_job (**exe)
SDK开发指南 3 Python
2019-11-22 48
查询作业 exe 对象列表
下面代码为查询作业exe对象列表的过程,用户可以根据需求进行相应的参数配置。
query = {"cluster_id": cluster_id,"job_name": job_name,"page_size": page_size,"current_page": current_page,"state": state}executions = list(conn.map_reduce.job_exes(**query))
查询作业 exe 对象详情
下面代码为查询作业exe对象详情的过程,用户需要传入作业exe对象id。
conn.map_reduce.get_job_exe(id)
删除作业执行对象
下面代码为删除作业执行对象详情的过程,用户需要传入作业执行对象id。
conn.map_reduce.delete_job_execution(id)
3.18 RDS Python SDK 示例关系型数据库(Relational Database Service,简称RDS)是一种基于云计算平台的可即开即用、稳定可靠、弹性伸缩、便捷管理的在线关系型数据库服务。
SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考A.2.16 RDS。
在使用RDS v3 SDK的时候,SDK支持的参数细节,请参考RDS API描述。
RDS v3 Python SDK版本支持如下资源对象的操作:
资源对象 “增改查删”代码样例
backup 代码
config 代码
instance 代码
log 代码
3.19 CDN Python SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用CDN SDK的时候,SDK支持的参数细节,请参考CDN API描述。
CDN Python SDK支持如下资源对象的操作:
SDK开发指南 3 Python
2019-11-22 49
资源对象 代码样例
Acceleration domain name 代码
Statistic 代码
Log 代码
Preheating task 代码
Refreshing task 代码
Query task 代码
3.20 FGS Python SDK 示例SDK和API的对应关系,请参考A.2.18 FGS。
在使用FGS SDK的时候,SDK支持的参数细节,请参考FGS API 描述。
函数工作流 FGS v2 Python SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
function 代码
trigger 代码
3.21 BSS Python SDK 示例SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用BSS SDK的时候,SDK支持的参数细节,请参考BSS 合作伙伴运营能力API描述和客户运营能力API描述。
能力开放BSS v1 Python SDK支持如下资源对象的操作,资源对象的代码示例如下:
资源对象 “增改查删”代码样例
customer management 代码
realname auth 代码
enquiry 代码
period order 代码
period resourse 代码
pay-per-use resource 代码
SDK开发指南 3 Python
2019-11-22 50
资源对象 “增改查删”代码样例
bill 代码
utilities 代码
SDK开发指南 3 Python
2019-11-22 51
4 Go
4.1 入门欢迎使用华为云开发者工具套件(Go SDK)。Go SDK让您轻松编程即可访问云服务。
本教程介绍如何安装和使用Go SDK,并提供示例,方便您快速入门。
我们支持的Go SDK基于Gophercloud开发。
支持的云服务列表
Go SDK支持的云服务产品如下:
弹性云服务器 ECS 云硬盘 EVS 虚拟私有云 VPC
统一身份认证 IAM 镜像服务 IMS 弹性负载均衡 ELB
弹性伸缩 AS 运营能力 BSS -
前提条件
1. 已经申请到云平台账号,并开通所需的服务。
2. 使用Go SDK时,推荐使用Go 1.9.1版本。
SDK 获取和安装
请从GitHub上获取Go SDK源代码:
https://github.com/huaweicloud/huaweicloud-sdk-release/tree/master/go-sdk
在Linux系统上进行安装:
安装前,必须确保GOPATH环境变量指向待安装Gophercloud的目标目录:
mkdir $HOME/gomkdir -p $HOME/go/srcexport GOPATH=$HOME/go
SDK开发指南 4 Go
2019-11-22 52
下载源代码,解压安装到go的src目录下,然后执行go build 命令:
# unzip source codeunzip -d $GOPATH/src xxxxxx.zip#run go build cd $GOPATH/src/github.com/gophercloud/gophercloudgo build
开始使用
配置相关的参数,完成认证,然后就可以调用SDK来访问服务的API。参数详情请参考表4-1。
package main
import ( "github.com/gophercloud/gophercloud/auth/token" "github.com/gophercloud/gophercloud" "github.com/gophercloud/gophercloud/openstack/compute/v2/servers" "github.com/gophercloud/gophercloud/openstack" "fmt")
func main() { //设置认证参数 tokenOpts := token.TokenOptions{ IdentityEndpoint: "https://iam.example.com/v3", Username: "{username}", Password: "{password}", DomainID: "{domainid}", ProjectID: "{projectid}", } //初始化provider client provider, providerErr := openstack.AuthenticatedClient(tokenOpts) if providerErr != nil { fmt.Println("init provider client error:", providerErr) panic(providerErr) }
//初始化service client sc, serviceErr := openstack.NewComputeV2(provider, gophercloud.EndpointOpts{}) if serviceErr != nil { fmt.Println("init compute service client error:", serviceErr) panic(serviceErr) }
//列出所有服务器 allPages, err := servers.List(sc, servers.ListOpts{}).AllPages()
if err != nil { fmt.Println("request server list error:", err) panic(err) } //解析返回值 allServers, err := servers.ExtractServers(allPages) if err != nil { fmt.Println("extract response data error:", err) if ue, ok := err.(*gophercloud.UnifiedError); ok { fmt.Println("ErrCode:", ue.ErrorCode()) fmt.Println("Message:", ue.Message()) } return } //打印信息 fmt.Println("List Servers:") for _, s := range allServers { fmt.Println("server ID is :", s.ID) fmt.Println("server name is :", s.Name)
SDK开发指南 4 Go
2019-11-22 53
fmt.Println("server Status is :", s.Status) fmt.Println("server AvailbiltyZone is :", s.AvailbiltyZone) }}
● ProviderClient 是所有 OpenStack 服务需要的顶级客户端。该客户端包含所有认证详情,如URL及token ID,通过认证后,编写的Go代码就可访问API。
● 访问某个服务时,还需要该服务的Service Client,详见各服务对应的章节。
表 4-1 参数说明
名称 说明 取值样例
IdentityEndpoint
认证服务(IAM)的Endpoint。“https://iam.example.com/v3”中的“example”为“区域.云平台域名”,参数详情可以访问这里了解。
https://iam.cn-north-1.myhuaweicloud.com/v3
ProjectID 项目ID。如何获取项目ID请参考5.3 如何获取domain_name、project_name和project_id ?。
-
DomainID 账号ID。如何获取账号ID请参考5.3 如何获取domain_name、project_name和project_id ?。
-
4.2 使用
4.2.1 认证方式Go SDK支持token认证和AK/SK认证两种方式。
token 认证
token认证方式示例代码,请参考入门。
AKSK 认证
AK/SK认证方式示例代码,参数详情请参考表4-2。
package main
import ( "github.com/gophercloud/gophercloud/auth/aksk" "github.com/gophercloud/gophercloud" "github.com/gophercloud/gophercloud/openstack/compute/v2/servers"
SDK开发指南 4 Go
2019-11-22 54
"github.com/gophercloud/gophercloud/openstack" "fmt")
func main() { //设置认证参数 akskOpts := aksk.AKSKOptions{ IdentityEndpoint: "https://iam.example.com/v3", DomainID: "{domainid}", ProjectID: "{projectid}", Cloud: "myhuaweicloud.com", Region: "cn-north-1", AccessKey: "{your AK string}", SecretKey: "{your SK string}", } //初始化provider client provider, providerErr := openstack.AuthenticatedClient(akskOpts) if providerErr != nil { fmt.Println("init provider client error:", providerErr) panic(providerErr) }
//初始化service client sc, serviceErr := openstack.NewComputeV2(provider, gophercloud.EndpointOpts{}) if serviceErr != nil { fmt.Println("init compute service client error:", serviceErr) panic(serviceErr) }
//列出所有服务器 allPages, err := servers.List(sc, servers.ListOpts{}).AllPages()
if err != nil { fmt.Println("request server list error:", err) panic(err) } //解析返回值 allServers, err := servers.ExtractServers(allPages) if err != nil { fmt.Println("extract response data error:", err) if ue, ok := err.(*gophercloud.UnifiedError); ok { fmt.Println("ErrCode:", ue.ErrorCode()) fmt.Println("Message:", ue.Message()) } return } //打印信息 fmt.Println("List Servers:") for _, s := range allServers { fmt.Println("server ID is :", s.ID) fmt.Println("server name is :", s.Name) fmt.Println("server Status is :", s.Status) fmt.Println("server AvailbiltyZone is :", s.AvailbiltyZone) }}
AK/SK生成说明:登录控制台,进入“我的凭证”,点击“管理访问密钥”创建AK/SK。
AKSK签名时间与UTC时间误差不可以超过15分钟,否则会鉴权失败。
AKSK签名连续失败超过5次,将锁定对应访问的源IP的AKSK请求,持续5分钟。
SDK开发指南 4 Go
2019-11-22 55
表 4-2 参数说明
名称 说明 取值样例
IdentityEndpoint
认证服务(IAM)的Endpoint。“https://iam.example.com/v3”中的“example”为“区域.云平台域名”,参数详情可以访问这里了解。
https://iam.cn-north-1.myhuaweicloud.com/v3
DomainID 账号ID。如何获取账号ID请参考5.3 如何获取domain_name、project_name和project_id ?。
-
ProjectID 项目ID。如何获取项目ID请参考5.3 如何获取domain_name、project_name和project_id ?。
-
ak/sk AK/SK访问密钥。
说明
● AK/SK生成说明:登录控制台,进入“我的凭证”,点击“管理访问密钥”创建AK/SK。
● AK/SK签名时间与UTC时间误差不可以超过15分钟,否则会鉴权失败。
● AK/SK签名连续失败超过5次,将锁定对应访问的源IP的AKSK请求,持续5分钟。
-
Region 区域名称。 cn-north-1
Cloud 云平台域名。 myhuaweicloud.com
4.2.2 故障排查Go SDK打开debug的方法:
import ( "github.com/gophercloud/gophercloud")gophercloud.EnableDebug=true
4.3 ECS Go SDK 用户指导SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
SDK开发指南 4 Go
2019-11-22 56
在使用ECS SDK的时候,SDK支持的参数细节,请参考ECS API描述。
ECS v1 go SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
cloudservers 代码
tags 代码
ECS v1.1 go SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
cloudservers 代码
ECS v2 go SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
cloudservers 代码
Nova v2 go SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
flavors 代码
images 代码
keypairs 代码
quotas 代码
servers 代码
volume attach 代码
4.4 EVS Go SDK 用户指导SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用EVS SDK的时候,SDK支持的参数细节,请参考EVS API描述。
Cinder v2 Go SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
SDK开发指南 4 Go
2019-11-22 57
资源对象 “增改查删”代码样例
volume 代码
4.5 VPC Go SDK 用户指导SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用VPC SDK的时候,SDK支持的参数细节,请参考VPC API描述。
VPC v1 Go SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
bandwidth 代码
port 代码
private ip 代码
public ip 代码
quota 代码
security group 代码
security group rule 代码
subnet 代码
vpc 代码
4.6 IAM Go SDK 用户指导
Service Client为了能够与OpenStack API进行交互,首先必须将身份验证凭据传递给Provider,此后,如果要检索Identity服务的任何信息,则需要调用NewIdentityV3方法来创建一个Identity服务客户端,然后即可使用相关的SDK。
client, err := openstack.NewIdentityV3(provider, gophercloud.EndpointOpts{ Region: "RegionName",})
TokensToken是鉴权时返回的一段任意文本,用于后续访问及控制API资源。每个Token有特定范围,规定了使用该Token可访问的资源。
Create a token 创建Token
import ( "github.com/gophercloud/gophercloud/openstack/identity/v3/tokens" )
SDK开发指南 4 Go
2019-11-22 58
func TestCreateTokenByPasswd(t *testing.T){ scope := tokens.Scope{ ProjectName: TenantName, DomainID: DomainID, }
authOptions := tokens.AuthOptions{ Username: Username, Password: Password, DomainName: DomainName, Scope: scope, }
token, err := tokens.Create(client, &authOptions).Extract()}
Validate token Token检查
检查token是否仍然有效。
func TestValidateToken(t *testing.T) { token, err := tokens.Validate(client, "token_id")}
Service catalog 服务目录
服务是指控制某一OpenStack服务功能的RESTful API,被控制的OpenStack服务包括Compute和Object Storage等。服务提供一个或多个终端节点,通过这些终端节点,用户可进行资源的访问并进行一些操作。
List Services 获取服务列表
import ( "github.com/gophercloud/gophercloud/openstack/identity/v3/services" )
func TestServicesList(t *testing.T) {// List enumerates the services available to a specific user.listOpts := services.ListOpts{ ServiceType: "identity", }}// Retrieve a pager (i.e. a paginated collection)allPages, err := services.List(client, listOpts).AllPages()
// Define an anonymous function to be executed on each page's iterationallServices, err := services.ExtractServices(allPages)
for _, service := range allServices { // " service " will be a services.Service}
Get details for a specific service 获取特定服务详情
func TestServicesGet(t *testing.T) { service, err := services.Get(client,"service_id").Extract()}
Endpoints 终端节点
终端节点是一个网络可访问的地址,一般为URL地址,通过它可访问某个服务。
List endpoints 获取终端节点列表
import ( "github.com/gophercloud/gophercloud/openstack/identity/v3/endpoints" )
func TestEndpointsList(t *testing.T) {
SDK开发指南 4 Go
2019-11-22 59
endpointListOpts := endpoints.ListOpts{ Availability: gophercloud.AvailabilityPublic, }// Retrieve a pager (i.e. a paginated collection) allPages, err := endpoints.List(client, endpointListOpts).AllPages()
// Define an anonymous function to be executed on each page's iterationallEndpoints, err := endpoints.ExtractEndpoints(allPages)
for _, endpoint := range allEndpoints { // "endpoint " will be a endpoints.Endpoint }}
4.7 IMS Go SDK 用户指导
Service Client为了能够与OpenStack API进行交互,首先必须将身份验证凭据传递给Provider,此后,如果要检索Image服务的任何信息,则需要调用NewImageServiceV2方法来创建一个Image服务客户端,然后即可使用相关的SDK。
client, err := openstack.NewImageServiceV2(provider, gophercloud.EndpointOpts{ Region: "RegionName",})
Images 镜像
镜像是虚拟机的操作系统,是一系列用于创建或重建服务器的文件。运营商默认提供预置操作系统镜像,但用户也可以从云服务器中创建自定义镜像。
Create an image 创建镜像
Create执行创建镜像的请求。
import ( "github.com/gophercloud/gophercloud/openstack/imageservice/v2/images" )
func TestImagesCreateDestroyEmptyImage(t *testing.T) { protected := false visibility := images.ImageVisibilityPrivate createOpts := &images.CreateOpts{ Name: name, ContainerFormat: "bare", DiskFormat: "vhd", MinDisk: 40, MinRAM: 1024, Protected: &protected, Visibility: &visibility, Tags: []string{"test","adsfi"}, Properties: map[string]string{ "architecture": "x86_64", }, } image, err := images.Create(client, createOpts).Extract()}
Update an image 更新镜像
func TestImagesUpdate(t *testing.T) { updateOpts := images.UpdateOpts{ images.ReplaceImageName{ NewName: "alternateName", }, }
SDK开发指南 4 Go
2019-11-22 60
image, err := images.Update(client, "imageupdate_id", updateOpts).Extract()}
List images 获取镜像列表
func TestImagesListALL(t *testing.T) { listOpts := images.ListOpts{ Visibility: images.ImageVisibilityPublic, Owner: "owner_id", Status: "active", Marker: "marker_id", SortKey: "name", SortDir: "asc", }
// Retrieve a pager (i.e. a paginated collection) allPages, err := images.List(client, listOpts).AllPages()
// Define an anonymous function to be executed on each page's iteration allImages, err := images.ExtractImages(allPages)
for _, image := range allImages { // " image " will be a images.Image }}
Get details for a specific image 获取特定镜像详情
func TestImagesGet(t *testing.T) { image, err := images.Get(client, "image_id").Extract()}
Delete an image 删除镜像
func DeleteImage(t *testing.T, client *gophercloud.ServiceClient, image *images.Image) { err := images.Delete(client, "image_id").ExtractErr()}
4.8 ELB Go SDK 用户指导SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考A.2.9 ELB。
在使用ELB SDK的时候,SDK支持的参数细节,请参考ELB API描述。
增强型负载均衡ELB v2 Go SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
loadbalacner 代码
listener 代码
pool 代码
member 代码
healthmonitor 代码
certificate 代码
l7policy 代码
SDK开发指南 4 Go
2019-11-22 61
资源对象 “增改查删”代码样例
l7rule 代码
whitelist 代码
4.9 AS Go SDK 用户指导SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考A.3.7 AS。
在使用AS SDK的时候,SDK支持的参数细节,请参考AS API描述。
AS v1 Go SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
configration 代码
group 代码
instance 代码
lifecyclehook 代码
log 代码
notification 代码
policy 代码
policylog 代码
quota 代码
tag 代码
4.10 CES Go SDK 用户指导SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用CES SDK的时候,SDK支持的参数细节,请参考CES API描述。
CES V1.0 Go SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
metric 代码
alarm 代码
metric data 代码
SDK开发指南 4 Go
2019-11-22 62
资源对象 “增改查删”代码样例
quota 代码
4.11 FGS Go SDK 用户指导SDK和API的对应关系,请参考FGS。
在使用FGS SDK的时候,SDK支持的参数细节,请参考FGS API描述。
函数工作流FGS v2 Go SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
function 代码
trigger 代码
4.12 RDS Go SDK 用户指导SDK和API的对应关系,参考RDS。
在使用RDS SDK的时候,SDK支持的参数细节,请参考RDS API描述。
关系型数据库RDS v3 Go SDK支持如下资源对象的操作,资源对象的“增改查删”代码示例如下:
资源对象 “增改查删”代码样例
datastore 代码
instance 代码
configuration 代码
backup 代码
database 代码
dbuser 代码
flavor 代码
4.13 BSS GO SDK 用户指导SDK与RESTful API一一对应,SDK 新版本支持的接口列表,以及SDK和API的对应关系,请参考这里。
在使用BSS SDK的时候,SDK支持的参数细节,请参考BSS 合作伙伴运营能力API描述和客户运营能力API描述。
SDK开发指南 4 Go
2019-11-22 63
能力开放BSS v1 Go SDK支持如下资源对象的操作,资源对象的代码示例如下:
资源对象 “增改查删”代码样例
customer management 代码
realname auth 代码
enquiry 代码
period order 代码
period resource 代码
pay-per-use resource 代码
bill 代码
utilities 代码
SDK开发指南 4 Go
2019-11-22 64
5 SDK 常见问题
5.1 如何在控制台上创建秘钥对?单击Create SSH Key Pair,创建秘钥对myOpenStackKey。点击OK,将myOpenStackKey.pem文件保存在本地PC。
5.2 如何创建安全组?1. 选择安全组 > 创建安全组。
2. 点击添加规则。在弹出的对话框中,添加规则。
SDK开发指南 5 SDK 常见问题
2019-11-22 65
5.3 如何获取 domain_name、project_name 和project_id ?
前提条件
已经登录控制台。
步骤
步骤1 在华为云首页右上角,点击“控制台”。
步骤2 在右上角的用户名中选择“我的凭证”。
SDK开发指南 5 SDK 常见问题
2019-11-22 66
步骤3 在“我的凭证”界面,API凭证页签中,查看并记录用户名、用户ID、账号名、账号ID、项目名称、项目ID。
----结束
5.4 服务名称列表
服务命名缩写 服务命名(英文) 服务命名(中文)
ECS Elastic Cloud Server 弹性云服务器
EVS Elastic Volume Service 云硬盘
VPC Virtual Private Cloud 虚拟私有云
IMS Image ManagementService
镜像服务
IAM Identity and AccessManagement
统一身份认证服务
CES Cloud Eye Service 云监控服务
CTS Cloud Trace Service 云审计服务
DNS Domain Name Service 云解析服务
SDK开发指南 5 SDK 常见问题
2019-11-22 67
服务命名缩写 服务命名(英文) 服务命名(中文)
AS Auto Scaling 弹性伸缩
ELB Elastic Load Balance 弹性负载均衡
VBS Volume Backup Service 云硬盘备份
SDK开发指南 5 SDK 常见问题
2019-11-22 68
A API & SDK 对应关系
A.1 Java
A.1.1 IAM基于IAM API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
TokenService
Token create(Stringnocatalog, Auth auth)
POST /v3/auth/tokens获取用户token(使用密码)链接
获取用户token(使用密码+虚拟MFA)链接
获取委托Token链接
Token get(String tokenId)TokengetWithoutCatalog(StringtokenId, String nocatalog
GET /v3/auth/tokens链接
List<? extends Project>getProjectScopes(StringtokenId)
GET /v3/auth/projects链接
List<? extends Domain>getDomainScopes(StringtokenId)
GET /v3/auth/domains链接
List<? extends Service>getServiceCatalog()
GET /v3/auth/catalog链接
SecuritytokenService
Securitytoken create(Authauth)
POST /v3.0/OS-CREDENTIAL/securitytokens链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 69
Interface Method API
CredentialService
PermanentCredentialRespcreatePermanentAccessKey(CreatePermanentCredentialReqcreatePermanentCredentialReq)
POST /v3.0/OS-CREDENTIAL/credentials链接
CredentialslistPermanentAccessKeys(String userId)
GET /v3.0/OS-CREDENTIAL/credentials链接
PermanentCredentialRespqueryPermanentAccessKey(String accessKey)
GET /v3.0/OS-CREDENTIAL/credentials/{access_key}链接
UpdateCredentialRespupdatePermanentAccessKey(String accessKey,UpdateCredentialRequpdateCredentialReq)
PUT /v3.0/OS-CREDENTIAL/credentials/{access_key}链接
ActionResponsedeletePermanentAccessKey(String accessKey)
DELETE /v3.0/OS-CREDENTIAL/credentials/{access_key}链接
RegionService
List<? extends Region> list() GET /v3/regions链接
Region get(String regionId) GET /v3/regions/{region_id}链接
ProjectService(identity)
List<? extends Project>listByObject(Map<String,Object> filteringParams)
GET /v3/projects链接
Project create(Project project) POST /v3/projects链接
Project update(Projectproject)
PATCH /v3/projects/{project_id}链接
Project get(String projectId) GET /v3/projects/{project_id}链接
ProjectService(iam)
ActionResponseupdateStatus(String projectId,UpdateProjectReq project)
PUT /v3-ext/projects/{project_id}链接
QueryProjectRespquery(String projectId)
GET /v3-ext/projects/{project_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 70
Interface Method API
DomainService
PasswordConfiggetDomainPasswordConfig(String domainId)
GET /v3/domains/{domain_id}/config/security_compliance链接
PasswordConfiggetDomainPasswordConfigByOption(String domainId,String option)
GET /v3/domains/{domain_id}/config/security_compliance/{option}链接
UserService(identity)
List<? extends User> list()List<? extends User>list(Map<String, String>filteringParams)
GET /v3/users链接
User get(String userId) GET /v3/users/{user_id}链接
List<? extends Group>listUserGroups(String userId)
GET /v3/users/{user_id}/groups链接
User create(User user) POST /v3/users链接
ActionResponsechangePassword(StringuserId,StringoriginalPassword,Stringpassword)
POST /v3/users/{user_id}/password链接
User update(User user) PATCH /v3/users/{user_id}链接
ActionResponse delete(StringuserId)
DELETE /v3/users/{user_id}链接
List<? extends Project>listUserProjects(String userId)
GET /v3/users/{user_id}/projects链接
UserService(iam)
CreateUserRespcreate(CreateUserReq user)
POST /v3.0/OS-USER/users链接
QueryUserResp query(StringuserId)
GET /v3.0/OS-USER/users/{user_id}链接
ActionResponse update(StringuserId, UpdateUserReq user)
PUT /v3.0/OS-USER/users/{user_id}/info链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 71
Interface Method API
UpdateUserByAdminRespupdateByAdmin(String userId,UpdateUserByAdminReq user)
PUT /v3.0/OS-USER/users/{user_id}链接
GroupService
List<? extends Group>list(Map<String, String>filteringParams)
GET /v3/groups链接
Group get(String groupId) GET /v3/groups/{group_id}链接
Group create(Group group) POST /v3/groups链接
Group update(Group group) PATCH /v3/groups/{group_id}链接
ActionResponse delete(StringgroupId)
DELETE /v3/groups/{group_id}链接
ActionResponsecheckGroupUser(StringgroupId, String userId)
HEAD /v3/groups/{group_id}/users/{user_id}链接
ActionResponseaddUserToGroup(StringgroupId, String userId)
PUT /v3/groups/{group_id}/users/{user_id}链接
ActionResponseremoveUserFromGroup(StringgroupId, String userId)
DELETE /v3/groups/{group_id}/users/{user_id}链接
List<? extends User>listGroupUsers(String groupId,Map<String, String>filteringParams)
GET /v3/groups/{group_id}/users链接
List<? extends Role>listDomainGroupRoles(StringgroupId, String domainId)
GET /v3/domains/{domain_id}/groups/{group_id}/roles链接
List<? extends Role>listProjectGroupRoles(StringgroupId, String projectId)
GET /v3/projects/{project_id}/groups/{group_id}/roles链接
RoleService List<? extends Role>list(Map<String, String>filteringParams)
GET /v3/roles链接
Role get(String roleId) GET /v3/roles/{role_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 72
Interface Method API
ActionResponsegrantDomainGroupRole(String domainId, String groupId,String roleId)
PUT /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}链接
ActionResponsegrantProjectGroupRole(StringprojectId, String groupId,String roleId)
PUT /v3/projects/{project_id}/groups/{group_id}/roles/{role_id}链接
ActionResponsecheckDomainGroupRole(String domainId, String groupId,String roleId)
HEAD /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}链接
ActionResponsecheckProjectGroupRole(StringprojectId, String groupId,String roleId)
HEAD /v3/projects/{project_id}/groups/{group_id}/roles/{role_id}链接
ActionResponserevokeDomainGroupRole(String domainId, String groupId,String roleId)
DELETE /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}链接
ActionResponserevokeProjectGroupRole(String projectId, String groupId,String roleId)
DELETE /v3/projects/{project_id}/groups/{group_id}/roles/{role_id}链接
ActionResponsegrantGroupAllProjectsRole(String domainId, String groupId,String roleId)
PUT /v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects链接
CustomRoleService
List<CreateRoleResp>list().getRoles()
GET /v3.0/OS-ROLE/roles链接
QueryRoleResp get(StringroleId)
GET /v3.0/OS-ROLE/roles/{role_id}链接
CreateRoleRespcreate(CreateRoleReqroleReq)
POST /v3.0/OS-ROLE/roles创建云服务自定义策略的链接
创建委托自定义策略的链接
UpdateRoleRespupdate(String roleId,UpdateRoleRequpdateRoleReq)
PATCH /v3.0/OS-ROLE/roles/{role_id}修改云服务自定义策略链接
修改委托自定义策略链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 73
Interface Method API
ActionResponse delete(StringroleId)
DELETE /v3.0/OS-ROLE/roles/{role_id}链接
AgencyService
ListAgenciesResplistAgencies(String domainId,Map<String, String>filteringParams)
GET /v3.0/OS-AGENCY/agencies链接
AgencyResp get(StringagencyId)
GET /v3.0/OS-AGENCY/agencies/{agency_id}链接
AgencyRespcreate(CreateAgencyReqcreateAgencyReq)
POST /v3.0/OS-AGENCY/agencies链接
AgencyResp update(StringagencyId, UpdateAgencyRequpdateAgencyReq)
PUT /v3.0/OS-AGENCY/agencies/{agency_id}链接
ActionResponse delete(StringagencyId)
DELETE /v3.0/OS-AGENCY/agencies/{agency_id}链接
ListPermissionsResplistPermissionsOnDomain(String domainId, StringagencyID)
GET /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles链接
ListPermissionsResplistPermissionsOnProject(String projectId, String agencyId)
GET /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles链接
ActionResponseaddPermissionOnDomain(String domainId, String agencyId,String roleId)
PUT /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}链接
ActionResponseaddPermissionOnProject(String projectId, String agencyId,String roleId)
PUT /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}链接
ActionResponsecheckPermissionOnDomain(String domainId, StringagencyId, String roleId)
HEAD /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 74
Interface Method API
ActionResponsecheckPermissionOnProject(String projectId, String agencyId,String roleId)
HEAD /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}链接
ActionResponsedeletePermissionOnDomain(String domainId, StringagencyId, String roleId)
DELETE /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}链接
ActionResponsedeletePermissionOnProject(String projectId, String agencyId,String roleId)
DELETE /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}链接
VersionService
Version get() GET /v3链接
ServiceEndpointService
List<? extends Service>list(Map<String, String>filteringParams)
GET /v3/services链接
Service get(String serviceId) GET /v3/services/{service_id}链接
List<? extends Endpoint>listEndpoints(Map<String,String> filteringParams)
GET /v3/endpoints链接
Endpoint getEndpoint(StringendpointId)
GET /v3/endpoints/{endpoint_id}链接
A.1.2 IMS基于Glance v2 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
ImageService
Image create(Image image) POST /v2/images
ActionResponse upload(StringimageId, Payload payload, Imageimage)
PUT /v2/images/{image_id}/file
ActionResponse delete(StringimageId)
DELETE /v2/images/{image_id}
List<? extends Image> list() GET /v2/images
Image get(String imageId) GET /v2/images/{image_id}
SDK开发指南 A API & SDK 对应关系
2019-11-22 75
Interface Method API
ActionResponse updateTag(StringimageId, String tagkeyvalue)
PUT /v2/images/{image_id}/tags/{tag}
ActionResponse deleteTag(StringimageId, String tagkey)
DELETE /v2/images/{image_id}/tags/{tag}
List<? extends Member>listMembers(String imageId)
GET /v2/images/{image_id}/members
Member getMember(StringimageId, memberId)
GET /v2/images/{image_id}/members/{member_id}
ActionResponsedeleteMember(String imageId,String memberId)
DELETE /v2/images/{image_id}/members/{member_id}
Member updateMember(StringimageId, String memberId,Member.MemberStatus.ACCEPTED)
PUT /v2/images/{image_id}/members/{member_id}
Member createMember(StringimageId, String memberId)
POST /v2/images/{image_id}/members
基于IMS v2 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
ImageService
Stringcreate(ImageCreateByInstanceimageCreateByInstance)
POST /v2/cloudimages/action
Stringcreate(ImageCreateByExternalImage imageCreateByExternalImage)
POST /v2/cloudimages/action
List<Image> list(Map<String,String> filteringParams)
GET /v2/cloudimages
Image update(List<ImageUpdate>updateModel, String imageId)
PATCH /v2/cloudimages/{image_id}
基于IMS v1 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
ImageService String create(ImageCreateByOBSimageCreateByOBS)
POST /v1/cloudimages/dataimages/action
SDK开发指南 A API & SDK 对应关系
2019-11-22 76
Interface Method API
String regist(RegistImage image,String imageId)
PUT /v1/cloudimages/{image_id}/upload
String export(ExportImage image,String imageId)
POST /v1/cloudimages/{image_id}/file
Stringcreate(ImageCreateByExternalImage imageCreateByExternalImage)
POST /v1/cloudimages/wholeimages/action
Stringcreate(ImageCreateByInstanceimageCreateByInstance)
POST /v1/cloudimages/wholeimages/action
Jobservice Job get(String jobId) GET /v1/{project_id}/jobs/{job_id}
A.1.3 VPC基于VPC v1 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
VpcService Vpc create(VpcCreate creation) POST /v1/{project_id}/vpcs链接
Vpc get(String vpcId) GET /v1/{project_id}/vpcs/{vpc_id}链接
List<? extends Vpc> list() GET /v1/{project_id}/vpcs链接
List<? extends Vpc>list(Map<String, String>filteringParams)
GET /v1/{project_id}/vpcs链接
Vpc update(String vpcId,VpcUpdate vpcUpdate)
PUT /v1/{project_id}/vpcs/{vpc_id}链接
ActionResponse delete(StringvpcId)
DELETE /v1/{project_id}/vpcs/{vpc_id}链接
PublicIpService VirtualPublicIpsRespapply(VirtualPublicIpsvirtualPublicIps)
POST /v1/{project_id}/publicips链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 77
Interface Method API
VirtualPublicIp get(StringpublicipId)
GET /v1/{project_id}/publicips/{publicip_id}链接
List<? extends PublicIp> list() GET /v1/{project_id}/publicips链接
List<? extends PublicIp>list(Map<String, String>filteringParams)
GET /v1/{project_id}/publicips链接
PublicIp update(StringpublicIpId, PublicIpUpdatepublicIpUpdate)
PUT /v1/{project_id}/publicips/{publicip_id}链接
ActionResponse delete(StringpublicIpId)
DELETE /v1/{project_id}/publicips/{publicip_id}链接
PrivateIpService
List<? extends PrivateIp>apply(PrivateIps privateIps)
POST /v1/{project_id}/privateips链接
PrivateIp get(String privateIpId) GET /v1/{project_id}/privateips/{privateip_id}链接
List<? extends PrivateIp>list(String subnetId)
GET /v1/{project_id}/subnets/{subnet_id}/privateips链接
List<? extends PrivateIp>list(String subnetId, Map<String,String> filteringParams)
GET /v1/{project_id}/subnets/{subnet_id}/privateips链接
ActionResponse delete(StringprivateIpId)
DELETE /v1/{project_id}/privateips/{privateip_id}链接
SecurityGroupService
SecurityGroupcreate(SecurityGroupCreatesecurityGroup)
POST /v1/{project_id}/security-groups链接
SecurityGroup get(StringsecurityGroupId)
GET /v1/{project_id}/security-groups/{security_group_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 78
Interface Method API
List<? extends SecurityGroup>list()
GET /v1/{project_id}/security-groups链接
List<? extends SecurityGroup>list(Map<String, String>filteringParams)
GET /v1/{project_id}/security-groups链接
ActionResponse delete(StringsecurityGroupId)
DELETE /v1/{project_id}/security-groups/{security_group_id}链接
SecurityGroupRulecreateSecurityGroupRule(SecurityGroupRule securityGroupRule)
POST /v1/{project_id}/security-group-rules链接
SecurityGroupRulegetSecurityGroupRule(StringsecurityGroupRuleId)
GET /v1/{project_id}/security-group-rules/{rules_security_groups_id}链接
List<? extendsSecurityGroupRule>listSecurityGroupRules()
GET /v1/{project_id}/security-group-rules链接
List<? extendsSecurityGroupRule>listSecurityGroupRules(Map<String, String> filteringParams)
GET /v1/{project_id}/security-group-rules链接
ActionResponsedeleteSecurityGroupRule(StringsecurityGroupRuleId)
DELETE /v1/{project_id}/security-group-rules/{rules_security_groups_id}链接
BandWidthService
VirtualBandWidths get(StringbandwidthId)
GET /v1/{project_id}/bandwidths/{bandwidth_id}链接
List<VirtualBandWidths> list() GET /v1/{project_id}/bandwidths链接
List<VirtualBandWidths>list(Map<String, String>filteringParams)
GET /v1/{project_id}/bandwidths链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 79
Interface Method API
VirtualBandWidthsupdate(VirtualBandWidthUpdate bandWidtUpdate, StringbandwidthId)
PUT /v1/{project_id}/bandwidths/{bandwidth_id}链接
QuotaService Quotas list() GET /v1/{project_id}/quotas链接
Quotas list(String type) GET /v1/{project_id}/quotas链接
SubnetService Subnet create(SubnetCreatecreation)
POST /v1/{project_id}/subnets链接
Subnet get(String subnetId) GET /v1/{project_id}/subnets/{subnet_id}链接
List<? extends Subnet> list() GET /v1/{project_id}/subnets链接
List<? extends Subnet>list(Map<String, String>filteringParams)
GET /v1/{project_id}/subnets链接
SubnetUpdateRespupdate(String vpcId, StringsubnetId, SubnetUpdatesubnetUpdate)
PUT /v1/{project_id}/vpcs/{vpc_id}/subnets/{subnet_id}链接
ActionResponse delete(StringvpcId,String subnetId)
DELETE /v1/{project_id}/vpcs/{vpc_id}/subnets/{subnet_id}链接
PortService Port create(PortCreate port) POST /v1/{project_id}/ports链接
Port get(String portId) GET /v1/{project_id}/ports/{port_id}链接
List<? extends Port> list() GET /v1/{project_id}/ports链接
List<? extends Port>list(Map<String, String>filteringParams)
GET /v1/{project_id}/ports链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 80
Interface Method API
Port update(String portId,PortUpdate portUpdate)
PUT /v1/{project_id}/ports/{port_id}链接
ActionResponse delete(StringportId)
DELETE /v1/{project_id}/ports/{port_id}链接
基于VPC v2.0 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
PublicIpService
AsyncPublicipRespEntityapply(VirtualPublicIpsvirtualPublicIps)
POST /v2.0/{project_id}/publicips链接
BandWidthService
AsyncBandWidthRespEntityupdate(VirtualBandWidthsbandWidth, StringbandwidthId)
PUT /v2.0/{project_id}/bandwidths/{bandwidth_id}链接
基于Neutron v2.0 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
NetFloatingIPService
NetFloatingIPassociateToPort(String id,String portId)
PUT /v2.0/floatingips/{floatingip_id}链接
NetFloatingIPcreate(NetFloatingIPfloatingIp)
POST /v2.0/floatingips链接
ActionResponse delete(Stringid)
DELETE /v2.0/floatingips/{floatingip_id}链接
NetFloatingIPdisassociateFromPort(Stringid)
PUT /v2.0/floatingips/{floatingip_id}链接
NetFloatingIP get(String id) GET /v2.0/floatingips/{floatingip_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 81
Interface Method API
List<? extends NetFloatingIP>list()
GET /v2.0/floatingips链接
List<? extends NetFloatingIP>list(Map<String, String>filteringParams)
GET /v2.0/floatingips链接
NetworkService Network create(Networknetwork)
POST /v2.0/networks链接
ActionResponse delete(StringnetworkId)
DELETE /v2.0/networks/{network_id}链接
Network get(StringnetworkId)
GET /v2.0/networks/{network_id}链接
List<? extends Network> list() GET /v2.0/networks链接
List<? extends Network>list(Map<String,String>filteringParams)
GET /v2.0/networks链接
Network update(StringnetworkId, NetworkUpdatenetwork)
PUT /v2.0/networks/{network_id}链接
PortService Port create(Port port) POST /v2.0/ports链接
ActionResponse delete(StringportId)
DELETE /v2.0/ports/{port_id}链接
Port get(String portId) GET /v2.0/ports/{port_id}链接
List<? extends Port> list() GET /v2.0/ports链接
List<? extends Port>list(PortListOptions options)
GET /v2.0/ports?network_id={network_id}链接
Port update(Port port) PUT /v2.0/ports/{port_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 82
Interface Method API
RouterService RouterInterfaceattachInterface(StringrouterId, AttachInterfaceTypetype, String portOrSubnetId)
PUT /v2.0/routers/{router_id}/add_router_interface链接
Router create(Router router) POST /v2.0/routers链接
Router create(String name,boolean adminStateUp)
POST /v2.0/routers链接
ActionResponse delete(StringrouterId)
DELETE /v2.0/routers/{router_id}链接
RouterInterfacedetachInterface(StringrouterId, String subnetId,String portId)
PUT /v2.0/routers/{router_id}/remove_router_interface链接
Router get(String routerId) GET /v2.0/routers/{router_id}链接
List<? extends Router>list() GET /v2.0/routers链接
RoutertoggleAdminStateUp(StringrouterId, booleanadminStateUp)
PUT /v2.0/routers/{router_id}链接
Router update(Router router) PUT /v2.0/routers/{router_id}链接
SecurityGroupRuleService
SecurityGroupRulecreate(SecurityGroupRulerule)
POST /v2.0/security-group-rules链接
void delete(String id) DELETE /v2.0/security-group-rules/{security-group-rules-id}链接
SecurityGroupRule get(Stringid)
GET /v2.0/security-group-rules/{security-group-rules-id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 83
Interface Method API
List<? extendsSecurityGroupRule> list()
GET /v2.0/security-group-rules链接
SecurityGroupService
SecurityGroupcreate(SecurityGroupsecurityGroup)
POST /v2.0/security-groups链接
ActionResponse delete(Stringid)
DELETE /v2.0/security-groups/{security-group-id}链接
SecurityGroup get(String id) GET /v2.0/security-groups/{security-group-id}链接
List<? extendsSecurityGroup>list()
GET /v2.0/security-groups链接
SubnetService Subnet create(Subnet subnet) POST /v2.0/subnets链接
ActionResponse delete(StringsubnetId)
DELETE /v2.0/subnets/{subnet_id}链接
Subnet get(String subnetId) GET /v2.0/subnets/{subnet_id}链接
List<? extends Subnet>list() GET /v2.0/subnets链接
List<? extendsSubnet>list(Map<String,String> filteringParams)
GET /v2.0/subnets链接
Subnet update(StringsubnetId, Subnet subnet)
PUT /v2.0/subnets/{subnet_id}链接
Subnet update(Subnetsubnet)
PUT /v2.0/subnets/{subnet_id}链接
A.1.4 ECS基于Nova v2 API的SDK接口如下,调用方式请参考示例代码。
SDK开发指南 A API & SDK 对应关系
2019-11-22 84
Interface Method API
ComputeFloatingIPService
ActionResponseaddFloatingIP(Server server, StringipAddress)
POST /v2/{project_id}/servers/{server_id}/action链接
ActionResponseaddFloatingIP(Server server, StringfixedIpAddress, String ipAddress)
POST /v2/{project_id}/servers/{server_id}/action链接
FloatingIP allocateIP(String pool) POST /v2/{project_id}/os-floating-ips链接
ActionResponsedeallocateIP(String id)
DELETE /v2/{project_id}/os-floating-ips/{floating_ip_id}链接
List<? extends FloatingIP> list() GET /v2/{project_id}/os-floating-ips链接
ActionResponseremoveFloatingIP(Server server,String ipAddress)
POST /v2/{project_id}/servers/{server_id}/action链接
ComputeImageService
ActionResponse delete(StringimageId)
DELETE /v2/{project_id}/images/{image_id}链接
Image get(String imageId) GET /v2/{project_id}/images/{image_id}链接
List<? extends Image> list() GET /v2/{project_id}/images/detail链接
List<? extends Image> list(booleandetailed)
● detailed=true:GET /v2/{project_id}/images/detail链接
● detailed=false:GET /v2/{project_id}/images链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 85
Interface Method API
ComputeSecurityGroupService
SecGroupExtension create(Stringname, String description)
POST /v2/{project_id}/os-security-groups链接
SecGroupExtension.RulecreateRule(SecGroupExtension.Rule rule)
POST /v2/{project_id}/os-security-group-rules链接
ActionResponse delete(StringsecurityGroupId)
DELETE /v2/{project_id}/os-security-groups/{security_group}链接
ActionResponse deleteRule(StringruleId)
DELETE /v2/{project_id}/os-security-group-rules/{security_group_rule_id}链接
SecGroupExtension get(StringsecurityGroupId)
GET /v2/{project_id}/os-security-groups/{security_group_id}链接
List<? extendsSecGroupExtension> list()
GET /v2/{project_id}/os-security-groups链接
SecGroupExtension update(StringsecurityGroupId, String name,String description)
PUT /v2/{project_id}/os-security-groups/{security_group_id}链接
FlavorService Flavor get(String flavorId) GET /v2/{project_id}/flavors/{flavor_id}链接
List<? extends Flavor> list() GET /v2/{project_id}/flavors/detail链接
KeypairService Keypair create(String name, StringpublicKey)
POST /v2/{project_id}/os-keypairs链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 86
Interface Method API
ActionResponse delete(Stringname)
DELETE /v2/{project_id}/os-keypairs/{keypair_name}链接
Keypair get(String name) GET /v2/{project_id}/os-keypairs/{keypair_name}链接
List<? extends Keypair> list() GET /v2/{project_id}/os-keypairs链接
InstanceActionsService
List<? extends InstanceAction>list(String serverId)
GET /v2/{project_id}/servers/{server_id}/os-instance-actions链接
InstanceAction get(String serverId,String requestId)
GET /v2/{project_id}/servers/{server_id}/os-instance-actions/{request_id}链接
QuotaSetService QuotaSet get(String tenantId) GET /v2/{project_id}/os-quota-sets/{project_id}链接
QuotaSet get(String tenantId,String userId)
GET /v2/{project_id}/os-quota-sets/{project_id}?user_id={user_id}链接
Limits limits() GET /v2/{project_id}/limits链接
getDefault(String tenantId) GET /v2/{project_id}/os-quota-sets/{project_id}/defaults链接
ServerGroupService
ServerGroup create(String name,String policy)
POST /v2/{project_id}/os-server-groups链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 87
Interface Method API
ActionResponse delete(String id) DELETE /v2/{project_id}/os-server-groups/{server_group_id}链接
ServerGroup get(String id) GET /v2/{project_id}/os-server-groups/{server_group_id}链接
List<? extends ServerGroup> list() GET /v2/{project_id}/os-server-groups链接
ServerService VolumeAttachmentgetAttachVolume(String serverId,String volumeId)
GET /v2/{project_id}/servers/{server_id}/os-volume_attachments/{volume_id}链接
List<? extendsVolumeAttachment>listAttachedVolumes(StringserverId)
GET /v2/{project_id}/servers/{server_id}/os-volume_attachments链接
ActionResponse action(StringserverId, Action action)Executes the specified Action suchas RESUME, PAUSE, START, STOP…
POST /v2/{project_id}/servers/{server_id}/action链接(START)
链接(STOP)
ActionResponse stop(StringserverId, StopType type)
POST /v2/{project_id}/servers/{server_id}/action链接
VolumeAttachmentattachVolume(String serverId,String volumeId, String device)
POST /v2/{project_id}/servers/{server_id}/os-volume_attachments链接
Server boot(ServerCreate server) POST /v2/{project_id}/servers链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 88
Interface Method API
ServerbootAndWaitActive(ServerCreateserver, int maxWaitTime)
POST /v2/{project_id}/servers链接
GET /v2/{project_id}/servers/{server_id}链接
ActionResponseconfirmResize(String serverId)
POST /v2/{project_id}/servers/{server_id}/action链接
String createSnapshot(StringserverId, String snapshotName)
POST /v2/{project_id}/servers/{server_id}/action链接
ActionResponse delete(StringserverId)
DELETE /v2/{project_id}/servers/{server_id}链接
ActionResponsedeleteMetadataItem(StringserverId, String key)
DELETE /v2/{project_id}/servers/{server_id}/metadata/{key}链接
ActionResponsedetachVolume(String serverId,String attachmentId)
DELETE /v2/{project_id}/servers/{server_id}/os-volume_attachments/{volume_id}链接
ActionResponsedetachVolume(String serverId,String volumeId, int deleteFlag)
DELETE /v2/{project_id}/servers/{server_id}/os-volume_attachments/{volume_id}?delete_flag={delete_flag}链接
Server get(String serverId) GET /v2/{project_id}/servers/{server_id}链接
Map<String,String>getMetadata(String serverId)
GET /v2/{project_id}/servers/{server_id}/metadata链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 89
Interface Method API
List<? extends Server> list() GET /v2/{project_id}/servers/detail链接
List<? extends Server> list(booleandetail)
● detail=true:GET /v2/{project_id}/servers/detail链接
● detail=false:GET /v2/{project_id}/servers链接
List<? extends Server>list(Map<String,String>filteringParams)
GET /v2/{project_id}/servers/detail{?changes-since,image,flavor,name,status,host,limit,marker}链接
ActionResponse reboot(StringserverId, RebootType type)
POST /v2/{project_id}/servers/{server_id}/action链接
ActionResponse resize(StringserverId, String flavorId)
POST /v2/{project_id}/servers/{server_id}/action链接
ActionResponserevertResize(String serverId)
POST /v2/{project_id}/servers/{server_id}/action链接
Server update(String serverId,ServerUpdateOptions options)
PUT /v2/{project_id}/servers/{server_id}链接
Map<String,String>updateMetadata(String serverId,Map<String,String> metadata)
PUT /v2/{project_id}/servers/{server_id}/metadata链接
Server waitForServerStatus(StringserverId, Server.Status status, intmaxWait, TimeUnit maxWaitUnit)
GET /v2/{project_id}/servers/{server_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 90
Interface Method API
List<? extends Server> list(booleandetail , Map<String, String>filteringParams)
● detail = true:GET /v2/{project_id}/servers/detail{?changes-since,image,flavor,name,status,limit,marker,not-tags,reservation_id,ip}链接
● detail = false:GET /v2/{project_id}/servers{?changes-since,image,flavor,name,status,limit,marker,not-tags,reservation_id}链接
String getConsoleOutput(StringserverId, int numLines)
POST /v2/{project_id}/servers/{server_id}/action链接
Map<String, String>getMetadataItem(String serverId,String key)
GET /v2/{project_id}/servers/{server_id}/metadata/{key}链接
Map<String, String>setMetadataItem(String serverId,String key, String value)
PUT /v2/{project_id}/servers/{server_id}/metadata/{key}链接
InterfaceService(ext)
InterfaceAttachment create(StringserverId, String portId)
POST /v2/{project_id}/servers/{server_id}/os-interface链接
InterfaceAttachment create(StringserverId,NovaInterfaceAttachmentCreatenovaInterfaceAttachmentCreate)
POST /v2/{project_id}/servers/{server_id}/os-interface链接
ActionResponse detach(StringserverId, String attachmentId)
DELETE /v2/{project_id}/servers/{server_id}/os-interface/{port_id}链接
InterfaceAttachment get(StringserverId, String attachmentId)
GET /v2/{project_id}/servers/{server_id}/os-interface/{port_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 91
Interface Method API
List<? extendsInterfaceAttachment> list(StringserverId)
GET /v2/{project_id}/servers/{server_id}/os-interface链接
ZoneService(ext) List<? extends AvailabilityZone>list()
GET /v2/{project_id}/os-availability-zone链接
ServerTagService链接
NovaServerTag list(String serverId) GET /v2.1/{project_id}/servers/{server_id}/tags链接
NovaServerTag addTags(StringserverId, NovaServerTag tags)
PUT /v2.1/{project_id}/servers/{server_id}/tags链接
ActionResponse delete(StringserverId, String tag)
DELETE /v2.1/{project_id}/servers/{server_id}/tags链接
ActionResponse check(StringserverId, String tag)
GET /v2.1/{project_id}/servers/{server_id}/tags/{tag}链接
ActionResponse addSingle(StringserverId, String tag)
PUT /v2.1/{project_id}/servers/{server_id}/tags/{tag}链接
ActionResponse deleteAll(StringserverId)
DELETE /v2.1/{project_id}/servers/{server_id}/tags/{tag}链接
基于ECS v1 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
CloudServerService
String create(ServerCreate creation) POST /v1/{project_id}/cloudservers链接
List<CloudServer> list() GET /v1/{project_id}/cloudservers/detail链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 92
Interface Method API
CloudServers listWithCount() GET /v1/{project_id}/cloudservers/detail链接
CloudServer get(String serverId) GET /v1/{project_id}/cloudservers/{server_id}链接
String resize(ResizeServer resize,StringserverId)
POST /v1/{project_id}/cloudservers/{server_id}/resize链接
String delete(List<String> serverIds,boolean deletePublicIp, booleandeleteVolume)
POST /v1/{project_id}/cloudservers/delete链接
String stop(List<String> serverIds,StopType type)
POST /v1/{project_id}/cloudservers/action链接
String reboot(List<String> serverIds,RebootType type)
POST /v1/{project_id}/cloudservers/action链接
String start(List<String> serverIds) POST /v1/{project_id}/cloudservers/action链接
List<CloudServer> list(Map<String,String> filteringParams)
GET /v1/{project_id}/cloudservers/detail{?flavor,name,status,limit,offset,not-tags,reservation_id,enterprise_project_id}链接
CloudServerslistWithCount(Map<String, String>filteringParams)
GET /v1/{project_id}/cloudservers/detail{?flavor,name,status,limit,offset,not-tags,reservation_id,enterprise_project_id}链接
List<Flavor> getSpecifications(StringavailabilityZone)
GET /v1/{project_id}/cloudservers/flavors{?availability_zone}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 93
Interface Method API
CloudAbsoluteLimit limits() GET /v1/{project_id}/cloudservers/limits链接
SupportAutoRecoverygetAutoRecovery(String serverId)
GET /v1/{project_id}/cloudservers/{server_id}/autorecovery链接
ActionResponsemanageAutoRecovery(String serverId,SupportAutoRecoverysupportAutoRecovery)
PUT /v1/{project_id}/cloudservers/{server_id}/autorecovery链接
JobService Job get(String jobId) GET /v1/{project_id}/jobs/{job_id}链接
InterfaceService
InterfaceAttachments list(StringserverId)
GET /v1/{project_id}/cloudservers/{server_id}/os-interface链接
TagService ActionResponse add(String serverId,List<ServerTags>serverTags)
POST /v1/{project_id}/cloudservers/{server_id}/tags/action链接
ActionResponse delete(String serverId,List<ServerTags>serverTags)
POST /v1/{project_id}/cloudservers/{server_id}/tags/action链接
CloudServerTag list(String serverId) GET /v1/{project_id}/cloudservers/{server_id}/tags链接
ProjectTag listProjectTags() GET /v1/{project_id}/cloudservers/tags链接
基于ECS v2 API的SDK接口如下,调用方式请参考示例代码。
SDK开发指南 A API & SDK 对应关系
2019-11-22 94
Interface Method API
CloudServerV2Service
AsyncJobEntityreinstallOS(OSReinstallosReinstall, StringserverId)
POST /v2/{project_id}/cloudservers/{server_id}/reinstallos链接
基于ECS v1.1 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
CloudServerService
AsyncRespEntitycreate(ServerCreate creation)
POST /v1.1/{project_id}/cloudservers链接
AsyncRespEntityresize(ResizeServer resize,StringserverId)
POST /v1.1/{project_id}/cloudservers/{server_id}/resize链接
A.1.5 EVS基于EVS v2 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
VolumeService String create(CloudVolumesvolume)
POST /v2/{project_id}/cloudvolumes链接
String extend(Extendextend,String volumeId)
POST /v2/{project_id}/cloudvolumes/{volume_id}/action链接
CloudVolumeResponse list() GET /v2/{project_id}/cloudvolumes/detail链接
CloudVolumesResponselist(Map<String,Object>filteringParams)
GET /v2/{project_id}/cloudvolumes/detail链接
VolumeSnapshotService
CloudVolumeSnapshotsResponse list()
GET /v2/{project_id}/cloudsnapshots/detail链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 95
Interface Method API
CloudVolumeSnapshotsResponselist(Map<String,Object>filteringParams)
GET /v2/{project_id}/cloudsnapshots/detail链接
RollbackResponserollback(String snapshotId)
POST /v2/{project_id}/cloudsnapshots/{snapshot_id}/rollback链接
RollbackResponserollback(String snapshotId,Rollback rollback)
POST /v2/{project_id}/cloudsnapshots/{snapshot_id}/rollback链接
JobService Job get(String job_id) GET /v1/{project_id}/jobs/{job_id}链接
基于EVS v2.1 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
VolumeService AsyncRespEntitycreate(Volumes volume)
POST /v2.1/{project_id}/cloudvolumes链接
AsyncRespEntityextend(Extend extend,StringvolumeId)
POST /v2.1/{project_id}/cloudvolumes/{volume_id}/action链接
基于Cinder v2 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
BlockVolumeService
Volume create(Volumevolume)
POST /v2/{project_id}/volumes链接
Volume create(Volumevolume, Map<String, Object>schedulerHints)
POST /v2/{project_id}/volumes链接
Volume update(StringvolumeId,CinderVolumeUpdate volume)
PUT /v2/{project_id}/volumes/{volume_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 96
Interface Method API
ActionResponse delete(StringvolumeId)
DELETE /v2/{project_id}/volumes/{volume_id}链接
ActionResponse extend(StringvolumeId, Integer newSize)
POST /v2/{project_id}/volumes/{volume_id}/action链接
Volume get(String volumeId) GET /v2/{project_id}/volumes/{volume_id}链接
List<? extends Volume> list() GET /v2/{project_id}/volumes/detail链接
List<? extends Volume>list(Map<String,String>filteringParams)
● GET /v2/{project_id}/volumes/detail?limit={limit_nmuber}
● GET /v2/{project_id}/volumes/detail?marker={volume_id}
链接
ActionResponse update(StringvolumeId, String name, Stringdescription)
PUT /v2/{project_id}/volumes/{volume_id}链接
VolumeUploadImageuploadToImage(StringvolumeId, UploadImageDatadata)
POST /v2/{project_id}/volumes/{volume_id}/action链接
ActionResponsereadOnlyModeUpdate(StringvolumeId, boolean readonly)
POST /v2/{project_id}/volumes/{volume_id}/action链接
List<? extends VolumeType>listVolumeTypes()
GET /v2/{project_id}/types链接
BlockVolumeSnapshotService
ActionResponse delete(StringsnapshotId)
DELETE /v2/{project_id}/snapshots/{snapshot_id}链接
VolumeSnapshotcreate(VolumeSnapshotsnapshot)
POST /v2/{project_id}/snapshots链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 97
Interface Method API
ActionResponse update(StringsnapshotId, String name,String description)
PUT /v2/{project_id}/snapshots/{snapshot_id}链接
VolumeSnapshot get(StringsnapshotId)
GET /v2/{project_id}/snapshots/{snapshot_id}链接
List<? extendsVolumeSnapshot> list()
GET /v2/{project_id}/snapshots链接
List<? extendsVolumeSnapshot>list(Map<String,String>filteringParams)
GET /v2/{project_id}/snapshots?volume_id={volume_id}链接
CinderZoneService
List<? extendsAvailabilityZone> list()
GET /v2/{project_id}/os-availability-zone链接
BlockVolumeTransferService
List<? extendsVolumeTransfer> list()
GET /v2/{project_id}/os-volume-transfer/detail链接
List<? extendsVolumeTransfer> list(booleandetailed)
● GET /v2/{project_id}/os-volume-transfer链接
● GET /v2/{project_id}/os-volume-transfer/detail链接
VolumeTransfer get(StringtransferId)
GET /v2/{project_id}/os-volume-transfer/{transfer_id}链接
VolumeTransfer create(StringvolumeId)
POST /v2/{project_id}/os-volume-transfer链接
VolumeTransfer create(StringvolumeId, String name)
POST /v2/{project_id}/os-volume-transfer链接
VolumeTransfer accept(StringtransferId, String authKey)
POST /v2/{project_id}/os-volume-transfer/{transfer_id}/accept链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 98
Interface Method API
ActionResponse delete(StringtransferId)
DELETE /v2/{project_id}/os-volume-transfer/{transfer_id}链接
A.1.6 RTS基于Heat v1 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
EventsService
List<? extends Event> list(StringstackName, String stackId)
GET /V1/{project_id}/stacks/{stack_name}/{stack_id}/events
List<? extends Event> list(StringstackName, String stackId, StringresourceName)
GET /V1/{project_id}/stacks/{stack_name}/{stack_id}/resources/{resource_name}/events
Event show(String stackName,String stackId, StringresourceName, String eventId)
GET /V1/{project_id}/stacks/{stack_name}/{stack_id}/resources/{resource_name}/events/{event_id}
ResourcesService
List<? extends Resource> list(StringstackNameOrId)
GET /V1/{project_id}/stacks/{stack_name}/{stack_id}/resources
List<? extends Resource> list(StringstackName, String stackId)
GET /V1/{project_id}/stacks/{stack_name}/{stack_id}/resources
Resource show(String stackName,String stackId, StringresourceName)
GET /V1/{project_id}/stacks/{stack_name}/{stack_id}/resources/{resource_name}
SoftwareConfigService
SoftwareConfigcreate(SoftwareConfig sc)
POST /V1/{project_id}/software_configs
ActionResponse delete(StringconfigId)
DELETE /V1/{project_id}/software_configs/{software_config_id}
SoftwareConfig show(StringconfigId)
GET /V1/{project_id}/software_configs/{software_config_id}
StackService
Stack create(StackCreate newStack) POST /V1/{project_id}/stacks
SDK开发指南 A API & SDK 对应关系
2019-11-22 99
Interface Method API
Stack create(String name, Stringtemplate, Map<String,String>parameters, booleandisableRollback, LongtimeOutMins)
POST /V1/{project_id}/stacks
ActionResponse delete(StringstackName, String stackId)
DELETE /V1/{project_id}/stacks/{stack_name}/{stack_id}
Stack getDetails(String stackName,String stackId)
GET /V1/{project_id}/stacks/{stack_name}/{stack_id}
Stack getStackByName(Stringname)
GET /V1/{project_id}/stacks/{stack_name}/{stack_id}
List<? extends Stack> list() GET /V1/{project_id}/stacks
ActionResponse update(StringstackName, String stackId,StackUpdate stackUpdate)
PUT /V1/{project_id}/stacks/{stack_name}/{stack_id}
TemplateService
Map<String,Object>getTemplateAsMap(StringstackNameOrId)
GET /V1/{project_id}/stacks/{stack_name}/template
Map<String,Object>getTemplateAsMap(StringstackName, String stackId)
GET /V1/{project_id}/stacks/{stack_name}/{stack_id}/template
String getTemplateAsString(StringstackName, String stackId)
GET /V1/{project_id}/stacks/{stack_name}/{stack_id}/template
TemplateResponsevalidateTemplate(String template)
POST /V1/{project_id}/validate
TemplateResponsevalidateTemplate(Templatetemplate)
POST /V1/{project_id}/validate
TemplateResponsevalidateTemplateByURL(StringtemplateURL)
POST /V1/{project_id}/validate
A.1.7 AS基于AS v1 API的SDK接口如下,调用方式请参考示例代码。
SDK开发指南 A API & SDK 对应关系
2019-11-22 100
Interface
Method API
AutoScalingGroupServic
String create(ScalingGroupCreategroup)
POST /autoscaling-api/v1/{project_id}/scaling_group链接
List<? extends ScalingGroup>list()
GET /autoscaling-api/v1/{project_id}/scaling_group链接
ScalingGroup get(String groupId) GET /autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}链接
String update(String groupId,ScalingGroupUpdate group)
PUT /autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}链接
ActionResponse delete(StringgroupId)
DELETE /autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id链接
ActionResponse resume(StringgroupId)
POST /autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}/action链接
ActionResponse pause(StringgroupId)
POST /autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}/action链接
AutoScalingConfigService
String create(ScalingConfigCreateconfig)
POST /autoscaling-api/v1/{project_id}/scaling_configuration链接
List<? extends ScalingConfig>list()
GET /autoscaling-api/v1/{project_id}/scaling_configuration链接
ScalingConfig get(String configId) GET /autoscaling-api/v1/{project_id}/scaling_configuration/{scaling_configuration_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 101
Interface
Method API
ActionResponse delete(StringconfigId)
DELETE /autoscaling-api/v1/{project_id}/scaling_configuration/{scaling_configuration_id}链接
ActionResponsedelete(List<String> configIds)
POST /autoscaling-api/v1/{project_id}/scaling_configurations链接
AutoScalingGroupInstanceService
List<? extendsScalingGroupInstance> list(StringgroupId,ScalingGroupInstanceListOptionsoptions)
GET /autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/list链接
ActionResponse delete(StringinstanceId, booleandeleteInstance)
DELETE /autoscaling-api/v1/{project_id}/scaling_group_instance/{instance_id}链接
ActionResponse batchAdd(StringgroupId, List<String> instanceIds,boolean deleteInstance)
POST /autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action链接
ActionResponsebatchRemove(String groupId,List<String> instanceIds, booleandeleteInstance)
POST /autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action链接
AutoScalingPolicyService
Stringcreate(ScalingPolicyCreateUpdatepolicy)
POST /autoscaling-api/v1/{project_id}/scaling_policy链接
Stringupdate(ScalingPolicyCreateUpdatepolicy)
PUT /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}链接
List<? extends ScalingPolicy>list(String groupId)
GET /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_group_id}/list链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 102
Interface
Method API
ScalingPolicy get(String policyId) GET /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}链接
ActionResponse execute(StringpolicyId)
POST /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}/action链接
ActionResponse resume(StringpolicyId)
POST /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}/action链接
ActionResponse pause(StringpolicyId)
POST /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}/action链接
ActionResponse delete(StringpolicyId)
DELETE /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}链接
AutoScalingActivityLogService
list(String groupId,ScalingActivityLogListOptionsoptions)
GET /autoscaling-api/v1/{project_id}/scaling_activity_log/{scaling_group_id}链接
AutoScalingQuotaService
List<Quota> list() GET /autoscaling-api/v1/{project_id}/quotas链接
List<Quota> list(String groupId) GET /autoscaling-api/v1/{project_id}/quotas/{scaling_group_id}链接
AutoScalingLifecycleHookService
ASAutoScalingLifecycleHookcreate(ASAutoScalingLifecycleHook lifecycleHook, String groupId)
POST /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 103
Interface
Method API
List<? extendsASAutoScalingLifecycleHook>list(String groupId)
GET /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/list链接
ASAutoScalingLifecycleHooklist(String groupId, StringlifecycleHookName)
GET /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}链接
ActionResponse delete(StringgroupId, StringlifecycleHookName)
DELETE /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}链接
ASAutoScalingLifecycleHookupdate(String groupId, StringlifecycleHookName,ASAutoScalingLifecycleHooklifecycleHook)
PUT /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}链接
List<? extendsAutoScalingInstanceHangupInfo>scalingInstanceHangup(StringgroupId, ScalingInstanceOptionsinstanceId)
GET /autoscaling-api/v1/{project_id}/scaling_instance_hook/{scaling_group_id}/list链接
ActionResponsescalingInstanceHookCallback(String groupId,ASAutoScalingLifecycleInstanceCallback lifecycleInstanceCallback)
PUT /autoscaling-api/v1/{project_id}/scaling_instance_hook/{scaling_group_id}/callback链接
AutoScalingInformService
ASAutoScalingInformdeploy(String groupId,ASAutoScalingInform info)
PUT /autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 104
Interface
Method API
ASAutoScalingTopics list(StringgroupId)
GET /autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}链接
ActionResponse delete(StringgroupId, String topicUrn)
DELETE /autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}/{topic_urn}链接
A.1.8 CES基于CES V1.0 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
MetricService List<? extends Metric>getList(MetricFilterOptionsoptions);
GET /V1.0/{project_id}/metrics
AlarmService List<? extends Alarm>list(AlarmFilterOptionsoptions);
GET /V1.0/{project_id}/alarms
List<? extends Alarm>get(String alarmId);
GET /V1.0/{project_id}/alarms/{alarm_id}
ActionResponsestartAlarm(String alarmId)
PUT /V1.0/{project_id}/alarms/{alarm_id}/action
ActionResponsestopAlarm(String alarmId)
PUT /V1.0/{project_id}/alarms/{alarm_id}/action
ActionResponsedeleteAlarm(String alarmId);
DELETE /V1.0/{project_id}/alarms/{alarm_id}
MetricDataService MetricAggregation get(Stringnamespace, Stringmetric_name, Date from, Dateto, Period period, Filter filter,String[] dimValues);
GET /V1.0/{project_id}/metric-data
ActionResponse add(List<?extends MetricData> metrics);
POST /V1.0/{project_id}/metric-data
SDK开发指南 A API & SDK 对应关系
2019-11-22 105
Interface Method API
QuotaService CloudEyeQuota get(); GET /V1.0/{project_id}/quotas
A.1.9 DNS基于DNS v2 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
ZoneService Zone create(Zone zone) POST /v2/zones链接(公网)
链接(内网)
Zone get(String zoneId) GET /v2/zones/{zone_id}链接(公网)
链接(内网)
List<? extends Zone> list() GET /v2/zones链接(公网)
链接(内网)
Zone delete(String zoneId) DELETE /v2/zones/{zone_id}链接(公网)
链接(内网)
List<? extends Nameserver>listNameservers(String zoneId)
GET /v2/zones/{zone_id}/nameservers链接(公网)
链接(内网)
DesignateZone.RouterassociateRouter(String zoneId,DesignateZone.Router router)
POST /v2/zones/{zone_id}/associaterouter链接
DesignateZone.RouterdisassociateRouter(String zoneId,DesignateZone.Router router)
POST /v2/zones/{zone_id}/disassociaterouter链接
RecordsetService
Recordset create(String zoneId,Recordset recordSet)
POST /v2/zones/{zone_id}/recordsets链接
Recordset get(String zoneId, StringrecordsetId)
GET /v2/zone/{zone_id}/recordsets/{recordset_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 106
Interface Method API
List<? extends Recordset> list() GET /v2/recordsets链接
List<? extends Recordset>list(RecordsetListOptions options)
GET /v2/zones/{zone_id}/recordsets链接
Recordset delete(String zoneId,String recordsetId)
DELETE /v2/zones/{zone_id}/recordsets/{recordset_id}链接
PTRService DesignatePTR setup(DesignatePTRrecord)
PATCH /v2/reverse/floatingips/{region}:{floatingip_id}链接
ActionResponse restore(Stringregion, String floatingIpId)
PATCH /v2/reverse/floatingips/{region}:{floatingip_id}链接
List<? extends PTR> list() GET /v2/reverse/floatingips链接
DesignatePTR get(String region,String floatingIpId)
GET /v2/reverse/floatingips/{region}:{floatingip_id}链接
A.1.10 ELB基于ELB v2.0 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
LbRuleV2Service
NeutronRules list(Stringl7policyId)
GET /v2.0/lbaas/l7policies/{l7policy_id}/rules链接
NeutronRule get(Stringl7policyId, String ruleId)
GET /v2.0/lbaas/l7policies/{l7policy_id}/rules/{l7rule_id}链接
NeutronRulecreate(NeutronRuleruleModel, String l7policyId)
POST /v2.0/lbaas/l7policies/{l7policy_id}/rules链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 107
Interface Method API
NeutronRuleupdate(NeutronRuleUpdateupdateModel, Stringl7policyId, String ruleId)
PUT /v2.0/lbaas/l7policies/{l7policy_id}/rules/{l7rule_id}链接
ActionResponse delete(Stringl7policyId, String ruleId)
DELETE /v2.0/lbaas/l7policies/{l7policy_id}/rules/{l7rule_id}链接
LbWhitelistV2Service
NeutronWhitelists list() GET /v2.0/lbaas/whitelists链接
NeutronWhitelist get(StringwhitelistId)
GET /v2.0/lbaas/whitelists/{whitelist_id}链接
NeutronWhitelistcreate(NeutronWhitelistmodel)
POST /v2.0/lbaas/whitelists链接
NeutronWhitelistupdate(NeutronWhitelistmodel,String whitelistId)
PUT /v2.0/lbaas/whitelists/{whitelist_id}链接
ActionResponse delete(StringwhitelistId)
DELETE /v2.0/lbaas/whitelists/{whitelist_id}链接
LbCertificateV2Service
NeutronCertificates list() GET /v2.0/lbaas/certificates链接
NeutronCertificate get(Stringid)
GET /v2.0/lbaas/certificates/{certificate_id}链接
NeutronCertificatecreate(NeutronCertificatemodel)
POST /v2.0/lbaas/certificates链接
NeutronCertificateupdate(NeutronCertificateUpdate model, String id)
PUT /v2.0/lbaas/certificates/{certificate_id}链接
ActionResponse delete(Stringid)
DELETE /v2.0/lbaas/certificates/{certificate_id}链接
LbPolicyV2Service
NeutronL7Policies list() GET /v2.0/lbaas/l7policies链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 108
Interface Method API
NeutronL7Policy get(StringpolicyId)
GET /v2.0/lbaas/l7policies/{policy_id}链接
NeutronL7Policycreate(NeutronL7Policymodel)
POST /v2.0/lbaas/l7policies链接
NeutronL7Policyupdate(NeutronL7PolicyUpdate l7PolicyUpdate, Stringl7policyId)
PUT /v2.0/lbaas/l7policies/{policy_id}链接
ActionResponse delete(Stringl7policyId)
DELETE /v2.0/lbaas/l7policies/{policy_id}链接
LoadBalancerV2Service
List<? extendsLoadBalancerV2> list()
GET /v2.0/lbaas/loadbalancers链接
LoadBalancerV2 get(StringloadbalancerId)
GET /v2.0/lbaas/loadbalancers/{loadbalancer_id}链接
LoadBalancerV2create(LoadBalancerV2loadbalancer)
POST /v2.0/lbaas/loadbalancers链接
LoadBalancerV2update(String loadbalancerId,LoadBalancerV2Updateloadbalancer)
PUT /v2.0/lbaas/loadbalancers/{loadbalancer_id}链接
ActionResponse delete(StringloadbalancerId)
DELETE /v2.0/lbaas/loadbalancers/{loadbalancer_id}链接
LoadBalancerV2StatusTreestatusTree(StringloadbalancerId)
GET /v2.0/lbaas/loadbalancers/{loadbalancer_id}/statuses链接
ListenerV2Service
List<? extends ListenerV2>list()
GET /v2.0/lbaas/listeners链接
ListenerV2 get(StringlistenerId)
GET /v2.0/lbaas/listeners/{listener_id}链接
ListenerV2 create(ListenerV2listener)
POST /v2.0/lbaas/listeners链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 109
Interface Method API
ListenerV2 update(StringlistenerId, ListenerV2Updatelistener)
PUT /v2.0/lbaas/listeners/{listener_id}链接
ActionResponse delete(StringlistenerId)
DELETE /v2.0/lbaas/listeners/{listener_id}链接
LbPoolV2Service
List<? extends LbPoolV2>list()
GET /v2.0/lbaas/pools链接
LbPoolV2 get(String lbPoolId) GET /v2.0/lbaas/pools/{pool_id}链接
LbPoolV2 create(LbPoolV2lbPool)
POST /v2.0/lbaas/pools链接
LbPoolV2 update(StringlbPoolId, LbPoolV2UpdatelbPool)
PUT /v2.0/lbaas/pools/{pool_id}链接
ActionResponse delete(StringlbPoolId)
DELETE /v2.0/lbaas/pools/{pool_id}链接
HealthMonitorV2Service
List<? extendsHealthMonitorV2> list()
GET /v2.0/lbaas/healthmonitors链接
HealthMonitorV2 get(StringhealthMonitorId)
GET /v2.0/lbaas/healthmonitors/{healthmonitor_id}链接
HealthMonitorV2create(HealthMonitorV2healthMonitor)
POST /v2.0/lbaas/healthmonitors链接
HealthMonitorV2update(StringhealthMonitorId,HealthMonitorV2UpdatehealthMonitor)
PUT /v2.0/lbaas/healthmonitors/{healthmonitor_id}链接
ActionResponse delete(StringhealthMonitorId)
DELETE /v2.0/lbaas/healthmonitors/{healthmonitor_id}链接
LbPoolV2Service
List<? extends MemberV2>listMembers(String lbPoolId)
GET /v2.0/lbaas/pools/{pool_id}/members链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 110
Interface Method API
MemberV2 getMember(StringlbPoolId, String memberId)
GET /v2.0/lbaas/pools/{pool_id}/members/{member_id}链接
MemberV2createMember(StringlbPoolId, MemberV2member)
POST /v2.0/lbaas/pools/{pool_id}/members链接
MemberV2updateMember(StringlbPoolId, String memberId,MemberV2Update member)
PUT /v2.0/lbaas/pools/{pool_id}/members/{member_id}链接
ActionResponsedeleteMember(StringlbPoolId, String memberId)
DELETE /v2.0/lbaas/pools/{pool_id}/members/{member_id}链接
基于ELB v1.0 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
ELBLoadBalancerService
ELBJobcreate(LoadBalancerCreateloadBalancer)
POST /v1.0/{project_id}/elbaas/loadbalancers链接
LoadBalancer get(StringloadBalancerId)
GET /v1.0/{project_id}/elbaas/loadbalancers/{loadbalancer_id}链接
List<? extends LoadBalancer>list()
GET /v1.0/{project_id}/elbaas/loadbalancers链接
ELBJob update(StringloadBalancerId,LoadBalancerUpdateloadBalancer)
PUT /v1.0/{project_id}/elbaas/loadbalancers/{loadbalancer_id}链接
ELBJob delete(StringloadBalancerId)
DELETE /v1.0/{project_id}/elbaas/loadbalancers/{loadbalancer_id}链接
ELBListenerService
ListenerCreatecreate(ListenerCreate listener)
POST /v1.0/{project_id}/elbaas/listeners链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 111
Interface Method API
Listener get(String listenerId) GET /v1.0/{project_id}/elbaas/listeners/{listener_id}链接
Listener[] list() GET /v1.0/{project_id}/elbaas/listeners?loadbalancer_id={loadbalancer_id}链接
Listener update(StringlistenerId, ListenerUpdatelistener)
PUT /v1.0/{project_id}/elbaas/listeners/{listener_id}链接
ActionResponse delete(StringlistenerId)
DELETE /v1.0/{project_id}/elbaas/listeners/{listener_id}链接
ELBHealthCheckService
HealthCheckcreate(HealthCheckCreatehealthCheck)
POST /v1.0/{project_id}/elbaas/healthcheck链接
HealthCheck get(StringhealthCheckId)
GET /v1.0/{project_id}/elbaas/healthcheck/{healthcheck_id}链接
HealthCheck update(StringhealthCheckId,HealthCheckUpdatehealthCheck)
PUT /v1.0/{project_id}/elbaas/healthcheck/{healthcheck_id}链接
ActionResponse delete(StringhealthCheckId)
DELETE /v1.0/{project_id}/elbaas/healthcheck/{healthcheck_id}链接
ELBServerService
ELBJob create(String listenerId,List<ServerCreate> servers)
POST /v1.0/{project_id}/elbaas/listeners/{listener_id}/members链接
ELBJob delete(String listenerId,ServerDelete serverDelete)
POST /v1.0/{project_id}/elbaas/listeners/{listener_id}/members/action链接
Server[] list(String listenerId) GET /v1.0/{project_id}/elbaas/listeners/{listener_id}/members链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 112
Interface Method API
ELBCertificateService
Certificate create(Certificatecert)
POST /v1.0/{project_id}/elbaas/certificate链接
Certificates list() GET /v1.0/{project_id}/elbaas/certificate链接
Certificate update(StringcertificateId, CertificateUpdatecert)
PUT /v1.0/{project_id}/elbaas/certificate/{certificate_id}链接
ActionResponse delete(StringcertificateId)
DELETE /v1.0/{project_id}/elbaas/certificate/{certificate_id}链接
A.1.11 VBS基于VBS v2 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
AsyncVolumeBackupService
AsyncVolumeBackupJobcreate(AsyncVolumeBackupCreate cvbc)
POST /v2/{tenant_id}/cloudbackups
VolumeBackupcreate(VolumeBackupCreatevbc)
Post /v2/{project_id}/backups
AsyncVolumeBackupJobrestore(StringvolumeBackupId, StringvolumeId)
POST /v2/{tenant_id}/cloudbackups/{backup_id}/restore
List<? extendsVolumeBackup> list(booleandetail, Map<String, String>filteringParams)
GET /v2/{tenant_id}/backups
List<? extendsVolumeBackup> list(booleandetail, Map<String, String>filteringParams)
GET /v2/{tenant_id}/backups/detail
VolumeBackup get(StringbackupId)
GET /v2/{tenant_id}/backups/{backup_id}
ActionResponse delete(StringbackupId)
DELETE /v2/{tenant_id}/backups/{backup_id}
SDK开发指南 A API & SDK 对应关系
2019-11-22 113
Interface Method API
AsyncVolumeBackupJobget(String jobId)
GET /v1/{tenant_id}/jobs/{job_id}
BlockVolumeBackupPolicyService
VolumeBackupPolicycreate(VolumeBackupPolicypolicy)
POST /v2/{tenant_id}/backuppolicy
List<? extendsVolumeBackupPolicy> list()
GET /v2/{tenant_id}/backuppolicy
VolumeBackupPolicyupdate(VolumeBackupPolicyupdated)
PUT /v2/{tenant_id}/backuppolicy/{policy_id}
ActionResponse delete(StringbackupPolicyId)
DELETE /v2/{tenant_id}/backuppolicy/{policy_id}
VolumeBackupPolicyResourceActionResultlinkResources(StringbackupPolicyId, List<String>resourceIds)
POST /v2/{tenant_id}/backuppolicyresources
VolumeBackupPolicyResourceActionResultunlinkResources(StringbackupPolicyId, List<String>resourceIds)
POST /v2/{tenant_id}/backuppolicyresources/{policy_id}/deleted_resources
ActionResponseexecute(StringbackupPolicyId)
POST /v2/{tenant_id}/backuppolicy/{policy_id}/action
List<? extendsVolumeBackupPolicyBackupTask> tasks(String policyId,BakcupTaskListOptionsoptions)
GET /v2/{tenant_id}/backuppolicy/{policy_id}/backuptasks
VolumeBackupPolicyenable(StringbackupPolicyId)
PUT /v2/{tenant_id}/backuppolicy/{policy_id}
VolumeBackupPolicydisable(StringbackupPolicyId)
PUT /v2/{tenant_id}/backuppolicy/{policy_id}
A.1.12 CTS基于CTS v1.0 API的SDK接口如下,调用方式请参考示例代码。
SDK开发指南 A API & SDK 对应关系
2019-11-22 114
Interface method API URL
TrackerService Tracker create(String bucketName,String filePrefixName)
POST /v1.0/{project_id}/tracker
Tracker get(String trackerName) GET /v1.0/{project_id}/tracker{?tracker_name}
Tracker update(TrackerUpdateupdate)
PUT /v1.0/{project_id}/tracker/{?tracker_name}
ActionResponse delete(StringtrackerName)
DELETE /v1.0/{project_id}/tracker{?tracker_name}
TraceService List<Trace> list(StringtrackerName, TraceListOptionsoptions)
GET /v2.0/{project_id}/{tracker_name}/trace{?trace_id,service_type,resource_type,resource_id,resource_name,trace_name,trace_rating,user,limit,from,to,next}
A.1.13 KMS基于KMS v1.0 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
KeyService Key create(KeyCreatekeyCreate)
POST /v1.0/{project_id}/kms/create-key
Keys list(KeyListOptionsoptions)
POST /v1.0/{project_id}/kms/list-keys
Key get(String keyId, Stringsequence)
POST /v1.0/{project_id}/kms/describe-key
Key disable(String keyId,String sequence)
POST /v1.0/{project_id}/kms/disable-key
Key enable(String keyId,String sequence)
POST /v1.0/{project_id}/kms/enable-key
Key scheduleDeletion(StringkeyId, Integer pendingDays,String sequence)
POST /v1.0/{project_id}/kms/schedule-key-deletion
SDK开发指南 A API & SDK 对应关系
2019-11-22 115
Interface Method API
Key cancelDeletion(StringkeyId, String sequence)
POST /v1.0/{project_id}/kms/cancel-key-deletion
IntegergetKeyCreatedAmount()
GET /v1.0/{project_id}/kms/user-instances
List<Quota> quotas() GET /v1.0/{project_id}/kms/user-quotas
CryptoService StringgenerateRandomString(String sequence)
POST /v1.0/{project_id}/kms/gen-random
DEK createDEK(String keyId,HashMap<String, Object>encryptionContext, Stringsequence)
POST /v1.0/{project_id}/kms/create-datakey
DEKcreateDEKWithoutPlaintext(String keyId, HashMap<String,Object> encryptionContext,String sequence)
POST /v1.0/{project_id}/kms/create-datakey-without-plaintext
EncryptedDEKencryptDEK(EncryptDEKencrypt)
POST /v1.0/{project_id}/kms/encrypt-datakey
DecryptedDEKdecryptDEK(DecryptDEKdecrypt)
POST /v1.0/{project_id}/kms/decrypt-datakey
A.1.14 AntiDDoS基于Antiddos v1 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
AntiDDoSService
AntiDDoSConfig listConfigs() GET /v1/{project_id}/antiddos/query_config_list链接
AntiDDoS get(StringfloatingIpId)
GET /v1/{project_id}/antiddos/{floating_ip_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 116
Interface Method API
Task update(AntiDDoS entity,String floatingIpId)
PUT /v1/{project_id}/antiddos/{floating_ip_id}链接
Task getTask(String taskId) GET /v1/{project_id}/query_task_status链接
AntiDDoSStatus listStatus() GET /v1/{project_id}/antiddos链接
AntiDDoSStatusDetailgetStatus(String floatingIpId)
GET /v1/{project_id}/antiddos/{floating_ip_id}/status链接
List<? extendsAntiDDoSDailyData>dailyReport(String floatingIpId)
GET /v1/{project_id}/antiddos/{floating_ip_id}/daily链接
List<? extends AntiDDoSLog>listLogs(String floatingIpId,AntiDDoSLogListOptionsoptions)
GET /v1/{project_id}/antiddos/{floating_ip_id}/logs链接
AntiDDoSWeeklyDataweeklyReport(DateperiodStartDate)
GET /v1/{project_id}/antiddos/weekly链接
AntiDDoSWarnService
AntiDDoSWarn query() GET /v2/{project_id}/ warnalert/alertconfig/query链接
A.1.15 DMS基于DMS v1.0 API的SDK接口如下,调用方式请参考示例代码。
Interface
Method API
QueueService
Queue create(String name,String description)
POST /v1.0/{project_id}/queues
List<? extends Queue> list() GET /v1.0/{project_id}/queues
Queue get(String queueId) GET /v1.0/{project_id}/queues/{queue_id}
ActionResponse delete(StringqueueId)
DELETE /v1.0/{project_id}/queues/{queue_id}
SDK开发指南 A API & SDK 对应关系
2019-11-22 117
Interface
Method API
ConsumerGroupService
ConsumerGroup create(StringqueueId, StringconsumerGroupName)
POST /v1.0/{project_id}/queues/{queue_id}/groups
List<ConsumerGroup>list(String queueId)
GET /v1.0/{project_id}/queues/{queue_id}/groups
ActionResponse delete(StringqueueId, StringconsumerGroupId)
DELETE /v1.0/{project_id}/queues/{queue_id}/groups/{consumer_group_id}
QueueMessageService
ActionResponseproduce(String queueId,QueueMessage message)
POST /v1.0/{project_id}/queues/{queue_id}/messages
List<QueueMessageWithHandler> consume(StringqueueId, StringconsumerGroupId, IntegermaxMessages, IntegertimeWait)
GET /v1.0/{project_id}/queues/{queue_id}/groups/{consumer_group_id}/messages
ConsumeConfirmResponseconfirmConsuming(StringqueueId, StringconsumerGroupId,Map<String, ConsumeStatus>consumeResult)
POST /v1.0/{project_id}/queues/{queue_id}/groups/{consumer_group_id}/ack
MessageQueueQuotaService
List<Quota> get() GET /v1.0/{project_id}/quotas/dms
A.1.16 MRS基于MRS v1.1 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
ClusterService
MapReduceClusterCreateResultcreateAndRunJob(MapReduceClusterCreate cluster,MapReduceJobExeCreatejobExe)
POST /v1.1/{project_id}/run-job-flow
SDK开发指南 A API & SDK 对应关系
2019-11-22 118
Interface Method API
ActionResponseexpand(String clusterId, intamount)
PUT /v1.1/{project_id}/cluster_infos/{cluster_id}
ActionResponse reduce(StringclusterId, int amount,List<String> includes,List<String> excludes)
PUT /v1.1/{project_id}/cluster_infos/{cluster_id}
MapReduceClusterInfoget(String clusterId)
GET /v1.1/{project_id}/cluster_infos/{cluster_id}
ActionResponse delete(StringclusterId)
DELETE /v1.1/{project_id}/clusters/{cluster_id}
JobExeServiceImpl
MapReduceJobExecreate(MapReduceJobExeCreate jobExeCreate)
POST /v1.1/{project_id}/jobs/submit-job
List<? extendsMapReduceJobExe>list(JobExeListOptionsoptions)
GET /v1.1/{project_id}/job-exes
MapReduceJobExe get(StringjobExeId)
GET /v1.1/{project_id}/job-exes/{job_exe_id}
JobExecutionService
ActionResponse delete(StringjobExecutionId)
DELETE /v1.1/{project_id}/job-executions/{job_execution_id}
A.1.17 CDN基于CDN v1 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
StatisticService
queryTotalNetworkTraffic(**query)
GET /v1.0/cdn/statistics/flux
queryDetailsOfNetworkTraffic(**query)
GET /v1.0/cdn/statistics/flux-detail
queryPeakBandwidth(**query) GET /v1.0/cdn/statistics/bandwidth
queryDetailsOfNetworkBandwidth(**query)
GET /v1.0/cdn/statistics/bandwidth-detail
queryConsumptionSummary(**query)
GET /v1.0/cdn/statistics/domain-summary
SDK开发指南 A API & SDK 对应关系
2019-11-22 119
Interface Method API
queryConsumptionSummaryDetails(**query)
GET /v1.0/cdn/statistics/domain-summary-detail
queryDomainConsumptions(**query)
GET /v1.0/cdn/statistics/domain
DomainService
list(**params) GET /v1.0/cdn/domains
create(**attrs) POST /v1.0/cdn/domains
getDetail(domainId,**params)
GET /v1.0/cdn/domains/{domain_id}/detail
setOrigin(domainId, **attrs,**params)
PUT /v1.0/cdn/domains/{domain_id}/origin
delete(domainId, **params) DELETE /v1.0/cdn/domains/{domain_id}
enable(domainId, **params) PUT /v1.0/cdn/domains/{domain_id}/enable
disable(domainId, **params) PUT /v1.0/cdn/domains/{domain_id}/disable
setOriginHost(domainId,**attrs, **params)
PUT /v1.0/cdn/domains/{domain_id}/originhost
getOriginHost(domainId,**params)
GET /v1.0/cdn/domains/{domain_id}/originhost
setReferer(domainId, **attrs,**params)
PUT /v1.0/cdn/domains/{domain_id}/referer
getReferer(domainId,**params)
GET /v1.0/cdn/domains/{domain_id}/referer
setCacheConfig(domainId,**attrs, **params)
PUT /v1.0/cdn/domains/{domain_id}/cache
getCacheConfig(domainId,**params)
GET /v1.0/cdn/domains/{domain_id}/cache
setHttpsInfo(domainId,**attrs, **params)
PUT /v1.0/cdn/domains/{domain_id}/https-info
getHttpsInfo(domainId,**params)
GET /v1.0/cdn/domains/{domain_id}/https-info
createRefreshTask(**attrs,**params)
POST /v1.0/cdn/refreshtasks
createPreheatingTask(**attrs,**params)
POST /v1.0/cdn/preheatingtasks
queryTasks(**params) GET /v1.0/cdn/historytasks
SDK开发指南 A API & SDK 对应关系
2019-11-22 120
Interface Method API
getTaskDetail(taskId,**params)
GET /v1.0/cdn/historytasks/{task_id}/detail
LogService queryLogs(domainName,queryDate, pageSize,pageNumber,enterpriseProjectId, **query)
GET /v1.0/cdn/logs
A.1.18 FGS基于FGS v1.0 JAVA API的SDK接口如下,调用方式请参考示例代码。
Resource Method API
Functions FunctionMetadata.FunctionslistFunction(int marker, intmaxItems)
GET /v1.0/{project_id}/fss/functions?marker={marker}&maxitems={maxitems}
FunctionMetadatagetFunctionMetadata(Stringfunction_urn)
GET /v1.0/{project_id}/fss/functions/{function_urn}/config
FunctionMetadatagetFunctionCode(Stringfunction_urn)
GET /v1.0/{project_id}/fss/functions/{function_urn}/code
FunctionMetadatacreateFunction(FunctionMetadata functionMetadata)
POST /v1.0/{project_id}/fss/functions
ActionResponsedeleteFunction(Stringfunction_urn)
DELETE /v1.0/{project_id}/fss/functions/{function_urn}
FunctionMetadataupdateFunctionCode(Stringfunction_urn,FunctionMetadatafunctionMetadata)
PUT /v1.0/{project_id}/fss/functions/{function_urn}/code
FunctionMetadataupdateFunctionConfig(Stringfunction_urn,FunctionMetadatafunctionMetadata)
PUT /v1.0/{project_id}/fss/functions/{function_urn}/config
String invokeFunction(Stringfunction_urn, Map<?, ?> data)
POST /v1.0/{project_id}/fss/functions/{function_urn}/invocations
SDK开发指南 A API & SDK 对应关系
2019-11-22 121
Resource Method API
StringasyncInvokeFunction(Stringfunction_urn, Map<?, ?> data)
POST /v1.0/{project_id}/fss/functions/{function_urn}/invocations-async
Versions FunctionMetadataPublishVersion(Stringfunction_urn,FunctionMetadata fmd);
POST /v1.0/{project_id}/fss/functions/{function_urn}/versions
FunctionMetadata.FunctionVersionslistFunctionVersions(Stringfunction_urn, int marker, intmaxItems)
GET /v1.0/{project_id}/fss/functions/{function_urn}/versions?marker={marker}&maxitems={maxitems}
FunctionVersionAliascreateVersionAlias(Stringfunction_urn,FunctionVersionAliasfunctionVersionAlias)
POST /v1.0/{project_id}/fss/functions/{function_urn}/aliases
FunctionVersionAliasupdateVersionAlias (Stringfunction_urn,FunctionVersionAliasfunctionVersionAlias)
PUT /v1.0/{project_id}/fss/functions/{function_urn}/aliases/{alias_name}
void DeleteVersionAlias(Stringfunction_urn, Stringalias_name);
DELETE /v1.0/{project_id}/fss/functions/{function_urn}/aliases/{alias_name}
FunctionVersionAliasGetVersionAlias(Stringfunction_urn, Stringalias_name);
GET /v1.0/{project_id}/fss/functions/{function_urn}/aliases/{alias_name}
List<FunctionVersionAlias>ListVersionAlias(Stringfunction_urn)
GET /v1.0/{project_id}/fss/functions/{function_urn}/aliases
Triggers FunctionTrigger[]listTriggersForFunction(Stringfunction_urn)
GET /v1.0/{project_id}/fss/triggers/{function_urn}
FunctionTriggersCreateTriggerInstance(Stringfunction_urn,FunctionTriggersfunctionTriggers)
POST /v1.0/{project_id}/fss/triggers/{function_urn}
SDK开发指南 A API & SDK 对应关系
2019-11-22 122
Resource Method API
void DeleteTrigger(Stringfunction_urn, Stringtrigger_type_code, Stringtrigger_id)
DELETE /v1.0/{project_id}/fss/triggers/{function_urn}/{trigger_type_code}/{trigger_id}
FunctionTriggers<?>GetTriggerInstance(Stringfunction_urn, Stringtrigger_type_code, Stringtrigger_id)
GET /v1.0/{project_id}/fss/triggers/{function_urn}/{trigger_type_code}/{trigger_id}
voidDeleteAllTriggersForFunction(String function_urn);
DELETE /v1.0/{project_id}/fss/triggers/{function_urn}
基于FGS v2.0 JAVA API的SDK接口如下,调用方式请参考示例代码。
Resource Method API
Functions FunctionMetadata.FunctionslistFunction(int marker, intmaxItems)
GET /v2/{project_id}/fgs/functions?marker={marker}&maxitems={maxitems}
FunctionMetadata.FunctionslistFunction()
GET /v2/{project_id}/fgs/functions
FunctionMetadatagetFunctionMetadata(Stringfunction_urn)
GET /v2/{project_id}/fgs/functions/{function_urn}/config
FunctionMetadatagetFunctionCode(Stringfunction_urn)
GET /v2/{project_id}/fgs/functions/{function_urn}/code
FunctionMetadatacreateFunction(FunctionMetadata functionMetadata)
POST /v2/{project_id}/fgs/functions
ActionResponsedeleteFunction(Stringfunction_urn)
DELETE /v2/{project_id}/fgs/functions/{function_urn}
FunctionMetadataupdateFunctionCode(Stringfunction_urn,FunctionMetadatafunctionMetadata)
PUT /v2/{project_id}/fgs/functions/{function_urn}/code
SDK开发指南 A API & SDK 对应关系
2019-11-22 123
Resource Method API
FunctionMetadataupdateFunctionConfig(Stringfunction_urn,FunctionMetadatafunctionMetadata)
PUT /v2/{project_id}/fgs/functions/{function_urn}/config
FunctionMetadatacreateFunctionVersion(Stringfunction_urn,FunctionMetadata fmd);
POST /v2/{project_id}/fgs/functions/{function_urn}/versions
FunctionMetadata.FunctionVersionslistFunctionVersion(Stringfunction_urn, int marker, intmaxItems)
GET /v2/{project_id}/fgs/functions/{function_urn}/versions?marker={marker}&maxitems={maxitems}
FunctionMetadata.FunctionVersionslistFunctionVersion(Stringfunction_urn)
GET /v2/{project_id}/fgs/functions/{function_urn}/versions
FuncInvocationsinvokeFunction(Stringfunction_urn, Map<?, ?> data)
POST /v2/{project_id}/fgs/functions/{function_urn}/invocations
FuncInvocationsasyncInvokeFunction(Stringfunction_urn, Map<?, ?> data)
POST /v2/{project_id}/fgs/functions/{function_urn}/invocations-async
Versions FunctionVersionAliascreateVersionAlias(Stringfunction_urn,FunctionVersionAliasfunctionVersionAlias)
POST /v2/{project_id}/fgs/functions/{function_urn}/aliases
FunctionVersionAliasupdateVersionAlias (Stringfunction_urn,FunctionVersionAliasfunctionVersionAlias)
PUT /v2/{project_id}/fgs/functions/{function_urn}/aliases/{alias_name}
ActionResponsedeleteVersionAlias(Stringfunction_urn, Stringalias_name);
DELETE /v2/{project_id}/fgs/functions/{function_urn}/aliases/{alias_name}
FunctionVersionAliasgetVersionAlias(Stringfunction_urn, Stringalias_name);
GET /v2/{project_id}/fgs/functions/{function_urn}/aliases/{alias_name}
SDK开发指南 A API & SDK 对应关系
2019-11-22 124
Resource Method API
List<FunctionVersionAlias>listVersionAlias(Stringfunction_urn)
GET /v2/{project_id}/fgs/functions/{function_urn}/aliases
Triggers FunctionTrigger[]listTriggersForFunction(Stringfunction_urn)
GET /v2/{project_id}/fgs/triggers/{function_urn}
FunctionTriggerscreateTriggerInstance(Stringfunction_urn,FunctionTriggersfunctionTriggers)
POST /v2/{project_id}/fgs/triggers/{function_urn}
ActionResponsedeleteTrigger(Stringfunction_urn, Stringtrigger_type_code, Stringtrigger_id)
DELETE /v2/{project_id}/fgs/triggers/{function_urn}/{trigger_type_code}/{trigger_id}
FunctionTriggers<?>getTriggerInstance(Stringfunction_urn, Stringtrigger_type_code, Stringtrigger_id)
GET /v2/{project_id}/fgs/triggers/{function_urn}/{trigger_type_code}/{trigger_id}
ActionResponsedeleteAllTriggersForFunction(String function_urn);
DELETE /v2/{project_id}/fgs/triggers/{function_urn}
A.1.19 BSS基于BSS v1.0 API的SDK接口如下,调用方式请参考示例代码。
说明
如下接口的API链接有面向合作伙伴和面向客户之分,若链接为“合作伙伴运营能力”表明该链接是面向合作伙伴的API接口链接,若链接为“客户运营能力”表明该链接是面向客户的API接口链接。
Interface Method API
CustomerManagement
CheckUserRspcheckUser(String domainID,CheckUserReq req)
POST /v1.0/{partner_id}/partner/customer-mgr/check-user链接(合作伙伴运营能力)
CreateCustomerRspcreateCustomer(StringdomainID, CreateCustomerReqreq)
POST /v1.0/{partner_id}/partner/customer-mgr/customer链接(合作伙伴运营能力)
SDK开发指南 A API & SDK 对应关系
2019-11-22 125
Interface Method API
QueryCustomerInfoListRspqueryCustomerInfoList(StringdomainID,QueryCustomerInfoListReqreq)
POST /v1.0/{partner_id}/partner/customer-mgr/query链接(合作伙伴运营能力)
RealnameAuth
RealnameAuthRspindividualRealnameAuth(String domainID,RealnameAuthReq req)
POST /v1.0/{partner_id}/partner/customer-mgr/realname-auth/individual链接(合作伙伴运营能力)
RealnameAuthRspenterpriseRealnameAuth(String domainID,EnterpriseRealnameAuthReqreq)
POST /v1.0/{partner_id}/partner/customer-mgr/realname-auth/enterprise链接(合作伙伴运营能力)
RealnameAuthRspenterpriseRealnameAuthChange(String domainID,EnterpriseRealnameAuthChangeReq req)
PUT /v1.0/{partner_id}/partner/customer-mgr/realname-auth/enterprise链接(合作伙伴运营能力)
QueryRealnameAuthReviewResultRspqueryRealnameAuthReviewResult(String domainID,Map<String, String>filteringParams)
GET /v1.0/{partner_id}/partner/customer-mgr/realname-auth/result链接(合作伙伴运营能力)
Enquiry QueryRatingRspqueryRating(String domainID,QueryRatingReq req)
POST /v1.0/{domain_id}/customer/product-mgr/query-rating链接(合作伙伴运营能力)
链接(客户运营能力)
PeriodOrder
QueryOrdersListRspqueryOrdersList(StringdomainID, Map<String,String> filteringParams)
GET /v1.0/{domain_id}/common/order-mgr/orders/detail链接(合作伙伴运营能力)
链接(客户运营能力)
QueryOrderDetailRspqueryOrderDetail(StringdomainID, String orderId,Map<String, String>filteringParams)
GET /v1.0/{domain_id}/common/order-mgr/orders/{order_id}链接(合作伙伴运营能力)
链接(客户运营能力)
OrderPayRsp orderPay(StringdomainID, OrderPayReq req)
POST /v1.0/{domain_id}/customer/order-mgr/order/pay链接(合作伙伴运营能力)
链接(客户运营能力)
SDK开发指南 A API & SDK 对应关系
2019-11-22 126
Interface Method API
UnsubscribeOrderRspunsubscribeOrder(StringdomainID, String orderId,Map<String, String>filteringParams)
DELETE /v1.0/{domain_id}/customer/order-mgr/orders/{order_id}链接(合作伙伴运营能力)
链接(客户运营能力)
OrderActionsRsporderActions(String domainID,Map<String, String>filteringParams,OrderActionsReq req)
PUT /v1.0/{domain_id}/customer/order-mgr/orders/actions链接(合作伙伴运营能力)
QueryRefundOrderRspqueryRefundOrder(StringdomainID, Map<String,String> filteringParams)
GET /v1.0/{domain_id}/common/order-mgr/orders/refund-order链接(合作伙伴运营能力)
QueryResourcesRspqueryResources(StringdomainID, String orderId,Map<String, String>filteringParams)
GET /v1.0/{domain_id}/common/order-mgr/orders-resource/{order_id}链接(合作伙伴运营能力)
链接(客户运营能力)
PeriodResource
queryResourcesList(StringdomainID, Map<String,String> filteringParams)
GET /v1.0/{domain_id}/common/order-mgr/resources/detail链接(合作伙伴运营能力)
链接(客户运营能力)
OrderRenewByResourceIdRsporderRenewByResourceId(OrderRenewByResourceIdReq req,String domainID)
POST /v1.0/{domain_id}/common/order-mgr/resources/renew链接(合作伙伴运营能力)
链接(客户运营能力)
OrderDeleteByResourceIdRsporderDeleteByResourceId(String domainID,OrderDeleteByResourceIdReqreq)
POST /v1.0/{domain_id}/common/order-mgr/resources/delete链接(合作伙伴运营能力)
链接(客户运营能力)
AutoRenewRspautoRenew(String domainID,String resourceId, Map<String,String> filteringParams)
POST /v1.0/{domain_id}/common/order-mgr/resources/{resource_id}/actions链接(合作伙伴运营能力)
链接(客户运营能力)
SDK开发指南 A API & SDK 对应关系
2019-11-22 127
Interface Method API
CancelAutoRenewRspcancelAutoRenew(StringdomainID, String resourceId,Map<String, String>filteringParams)
DELETE /v1.0/{domain_id}/common/order-mgr/resources/{resource_id}/actions链接(合作伙伴运营能力)
链接(客户运营能力)
Pay-Per-UseResource
QueryCustomerResourceRspqueryCustomerResource(String domainID,QueryCustomerResourceReqreq)
POST /v1.0/{partner_id}/partner/customer-mgr/customer-resource/query-resources链接(合作伙伴运营能力)
Bill QueryMonthlySumRspqueryMonthlySum(StringdomainID, Map<String,String> filteringParams)
GET /v1.0/{domain_id}/customer/account-mgr/bill/monthly-sum链接(客户运营能力)
QueryResRecordRspqueryResRecord(StringdomainID, Map<String,String> filteringParams)
GET /v1.0/{domain_id}/customer/account-mgr/bill/res-records链接(客户运营能力)
QueryResFeeRecordRspqueryResFeeRecord(StringdomainID, Map<String,String> filteringParams)
GET /v1.0/{domain_id}/customer/account-mgr/bill/res-fee-records链接(客户运营能力)
Utilities SendVerificationCodeRspsendVerificationCode(StringdomainID,SendVerificationCodeReq req)
POST /v1.0/{partner_id}/partner/common-mgr/verificationcode链接(合作伙伴运营能力)
A.2 Python
A.2.1 IAM基于IAM API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
SecuritytokenOperations
create_securitytoken(self,**attrs)
POST /v3.0/OS-CREDENTIAL/securitytokens链接
RegionOperations
regions(self, **query) GET /v3/regions链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 128
Interface Method API
get_region(self, region) GET /v3/regions/{region_id}链接
ProjectOperations
projects(self, **query) GET /v3/projects链接
list_user_projects(self, user_id) GET /v3/users/{user_id}/projects链接
get_project_scopes(self) GET /v3/auth/projects链接
create_project(self, **attrs) POST /v3/projects链接
update_project(self, project,**attrs)
PATCH /v3/projects/{project_id}链接
get_project(self, project) GET /v3/projects/{project_id}链接
UserOperations
list_group_users(self,group_id)
GET /v3/groups/{group_id}/users链接
remove_user_from_group(self,group_id, user_id)
DELETE /v3/groups/{group_id}/users/{user_id}链接
users(self, **query) GET /v3/users链接
get_user(self, user) GET /v3/users/{user_id}链接
list_user_groups(self, user_id) GET /v3/users/{user_id}/groups链接
create_user(self, **attrs) POST /v3/users链接
change_password(self,user_id, **attrs)
POST /v3/users/{user_id}/password链接
update_user(self, user, **attrs) PATCH /v3/users/{user_id}链接
delete_user(self, user,ignore_missing=True)
DELETE /v3/users/{user_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 129
Interface Method API
DomainOperations
get_domain_scopes(self) GET /v3/auth/domains链接
get_password_config(self,domain_id)
GET /v3/domains/{domain_id}/config/security_compliance链接
get_password_config_by_option(self, domain_id, option)
GET /v3/domains/{domain_id}/config/security_compliance/{option}链接
GroupOperations
groups(self, **query) GET /v3/groups链接
get_group(self, group) GET /v3/groups/{group_id}链接
create_group(self, **attrs) POST /v3/groups链接
add_user_to_group(self,group_id, user_id)
PUT /v3/groups/{group_id}/users/{user_id}链接
update_group(self, group,**attrs)
PATCH /v3/groups/{group_id}链接
delete_group(self, group,ignore_missing=True)
DELETE /v3/groups/{group_id}链接
check_group_user(self,group_id, user_id)
HEAD /v3/groups/{group_id}/users/{user_id}链接
RoleOperations
list_domain_user_group_role(self, domain_id, group_id)
GET /v3/domains/{domain_id}/groups/{group_id}/roles链接
list_project_user_group_role(self, project_id, group_id)
GET /v3/projects/{project_id}/groups/{group_id}/roles链接
roles(self, **query) GET /v3/roles链接
get_role(self, role) GET /v3/roles/{role_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 130
Interface Method API
grant_domain_group_role(self,domain_id, group_id, role_id)
PUT /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}链接
grant_project_group_role(self,project_id, group_id, role_id)
PUT /v3/projects/{project_id}/groups/{group_id}/roles/{role_id}链接
delete_project_group_role(self,project_id, group_id, role_id)
DELETE /v3/projects/{project_id}/groups/{group_id}/roles/{role_id}链接
delete_domain_group_role(self, domain_id, group_id,role_id)
DELETE /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}链接
check_domain_group_role(self, domain_id, group_id, role_id)
HEAD /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}链接
check_project_group_role(self,project_id, group_id, role_id)
HEAD /v3/projects/{project_id}/groups/{group_id}/roles/{role_id}链接
ServiceOperations
services(self, **query) GET /v3/services链接
get_service(self, service) GET /v3/services/{service_id}链接
EndpointOperations
endpoints(self, **query) GET /v3/endpoints链接
get_endpoint(self, endpoint) GET /v3/endpoints/{endpoint_id}链接
A.2.2 IMS基于Glance v2 API的SDK接口如下,调用方式举例:conn.image.upload_image()
Interface Method API
ImageOperations
upload_image(self,container_format=None,disk_format=None, data=None,**attrs)
POST /v2/imagesPUT /v2/images/{image_id}/file
SDK开发指南 A API & SDK 对应关系
2019-11-22 131
Interface Method API
delete_image(self, image,ignore_missing=True)
DELETE /v2/images/{image_id}
find_image(self, name_or_id,ignore_missing=True)
GET /v2/images
get_image(self, image) GET /v2/images/{image_id}
images(self, **query) GET /v2/images
add_tag(self, image, tag) PUT /v2/images/{image_id}/tags/{tag}
remove_tag(self, image, tag) DELETE /v2/images/{image_id}/tags/{tag}
MemberOperations
add_member(self, image, **attrs) POST /v2/images/{image_id}/members
remove_member(self, member,image, ignore_missing=True)
DELETE /v2/images/{image_id}/members/{member_id}
find_member(self, name_or_id,image, ignore_missing=True)
GET /v2/images/{image_id}/members
get_member(self, member, image) GET /v2/images/{image_id}/members/{member_id}
members(self, image) GET /v2/images/{image_id}/members
update_member(self, member,image, **attrs)
PUT /v2/images/{image_id}/members/{member_id}
基于IMS v2 API的SDK接口如下,调用方式举例:conn.ims.create_cloudimage()
Interface Method API
CloudimageOperations
cloudimages(self, **query) GET /v2/cloudimages
update_cloudimage(self,cloudimage_id, **data)
PATCH /v2/cloudimages/{image_id}
create_cloudimage(self, **data) POST /v2/cloudimages/action
get_job(self, job_id): GET /v1/{project_id}/jobs/{job_id}
SDK开发指南 A API & SDK 对应关系
2019-11-22 132
A.2.3 VPC基于VPC v1 API的SDK接口如下,调用方式举例:conn.vpc.create_network()
Interface Method API
vpc vpcs(self, **query) GET /v1/{project_id}/vpcs链接
get_vpc(self, vpc) GET /v1/{project_id}/vpcs/{vpc_id}链接
create_vpc(self, **attrs) POST /v1/{project_id}/vpcs链接
update_vpc(self, vpc, **attrs) PUT /v1/{project_id}/vpcs/{vpc_id}链接
delete_vpc(self, vpc,ignore_missing=True)
DELETE /v1/{project_id}/vpcs/{vpc_id}链接
find_vpc(self, name_or_id,ignore_missing=True)
● GET /v1/{project_id}/vpcs/{vpc_id}链接
● GET /v1/{project_id}/vpcs链接
subnet subnets(self, **query) GET /v1/{project_id}/subnets链接
get_subnet(self, subnet) GET /v1/{project_id}/subnets/{subnet_id}链接
create_subnet(self, **attrs) POST /v1/{project_id}/subnets链接
update_subnet(self, subnet,vpc_id, **attrs)
PUT /v1/{project_id}/vpcs/{vpc_id}/subnets/{subnet_id}链接
delete_subnet(self, subnet,vpc_id, ignore_missing=True)
DELETE /v1/{project_id}/vpcs/{vpc_id}/subnets/{subnet_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 133
Interface Method API
find_subnet(self, name_or_id,ignore_missing=True)
● GET /v1/{project_id}/subnets/{subnet_id}链接
● GET /v1/{project_id}/subnets链接
public_ip public_ips(self, **query) GET /v1/{project_id}/publicips链接
get_public_ip(self, public_ip) GET /v1/{project_id}/publicips/{publicip_id}链接
create_public_ip(self, **attrs) POST /v1/{project_id}/publicips链接
update_public_ip(self,public_ip, **attrs)
PUT /v1/{project_id}/publicips/{publicip_id}链接
delete_public_ip(self,public_ip,ignore_missing=True)
DELETE /v1/{project_id}/publicips/{publicip_id}链接
find_public_ip(self,name_or_id,ignore_missing=True)
● GET /v1/{project_id}/publicips/{publicip_id}链接
● GET /v1/{project_id}/publicips链接
private_ip private_ips(self, subnet,**query)
GET /v1/{project_id}/subnets/{subnet_id}/privateips链接
get_private_ip(self, private_ip) GET /v1/{project_id}/privateips/{privateip_id}链接
create_private_ip(self, **attrs) POST /v1/{project_id}/privateips链接
create_private_ips(self,*private_ips)
POST /v1/{project_id}/privateips链接
delete_private_ip(self,private_ip,ignore_missing=True)
DELETE /v1/{project_id}/privateips/{privateip_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 134
Interface Method API
find_private_ip(self,name_or_id, subnet_id,ignore_missing=True)
● GET /v1/{project_id}/privateips/{privateip_id}链接
● GET /v1/{project_id}/subnets/{subnet_id}/privateips链接
port ports(self, **query) GET /v1/{project_id}/ports链接
get_port(self, port) GET /v1/{project_id}/ports/{port_id}链接
create_port(self, **attrs) POST /v1/{project_id}/ports链接
update_port(self, port, **attrs) PUT /v1/{project_id}/ports/{port_id}链接
delete_port(self, port,ignore_missing=True)
DELETE /v1/{project_id}/ports/{port_id}链接
find_port(self, name_or_id,ignore_missing=True)
● GET /v1/{project_id}/ports/{port_id}链接
● GET /v1/{project_id}/ports链接
bandwidth bandwidths(self, **query) GET /v1/{project_id}/bandwidths链接
get_bandwidth(self,bandwidth)
GET /v1/{project_id}/bandwidths/{bandwidth_id}链接
update_bandwidth(self,bandwidth, **attrs)
PUT /v1/{project_id}/bandwidths/{bandwidth_id}链接
find_bandwidth(self,name_or_id,ignore_missing=True)
● GET /v1/{project_id}/bandwidths/{bandwidth_id链接
● GET /v1/{project_id}/bandwidths链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 135
Interface Method API
security_group
security_groups(self, **query) GET /v1/{project_id}/security-groups链接
create_security_group(self,**attrs)
POST /v1/{project_id}/security-groups链接
delete_security_group(self,security_group,ignore_missing=True)
DELETE /v1/{project_id}/security-groups/{security_group_id}链接
get_security_group(self,security_group)
GET /v1/{project_id}/security-groups/{security_group_id}链接
find_security_group(self,name_or_id,ignore_missing=True)
● GET /v1/{project_id}/security-groups/{security_group_id}链接
● GET /v1/{project_id}/security-groups链接
security_group_rule
create_security_group_rule(self, **attrs)
POST /v1/{project_id}/security-group-rules链接
delete_security_group_rule(self, security_group_rule,ignore_missing=True)
DELETE /v1/{project_id}/security-group-rules/{rules_security_groups_id}链接
get_security_group_rule(self,security_group_rule)
GET /v1/{project_id}/security-group-rules/{rules_security_groups_id}链接
security_group_rules(self,**query)
GET /v1/{project_id}/security-group-rules链接
find_security_group_rule(self,name_or_id,ignore_missing=True)
● GET /v1/{project_id}/security-group-rules/{rules_security_groups_id}链接
● GET /v1/{project_id}/security-group-rules链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 136
Interface Method API
quota quotas(self, **query) GET /v1/{project_id}/quotas链接
基于VPC v2.0 API的SDK接口如下,调用方式举例:conn.vpc.create_publicip_ext()
Interface Method API
sharebandwidth
create_sharebandwidth(self,**data)
POST /v2.0/{project_id}/bandwidths链接
delete_sharebandwidth(self,bandwidth_id,ignore_missing=True)
DELETE /v2.0/{project_id}/bandwidths/{bandwidth_id}链接
create_batch_sharebandwidth(self,**data)
POST /v2.0/{project_id}/batch-bandwidths链接
insert_ip_to_bandwidth(self,bandwidth_id, **data)
POST /v2.0/{project_id}/bandwidths/{bandwidth_id}/insert链接
remove_ip_from_bandwidth(self,bandwidth_id, **data)
POST /v2.0/{project_id}/bandwidths/{bandwidth_id}/remove链接
EipOperations
create_publicip_ext(self, **attrs) POST /v2.0/{project_id}/publicips链接
BandwidthOperations
update_bandwidth_ext(self,bandwidth_id, **attrs)
PUT /v2.0/{project_id}/bandwidths/{bandwidth_id}链接
基于Neutron v2.0 API的SDK接口如下,调用方式举例:conn.network.create_network()
Interface Method API
Floating IPOperations
create_ip(self, **attrs) POST /v2.0/floatingips链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 137
Interface Method API
delete_ip(self, floating_ip,ignore_missing=True)
DELETE /v2.0/floatingips/{floatingip_id}链接
find_available_ip(self) GET /v2.0/floatingips链接
find_ip(self, name_or_id,ignore_missing=True)
GET /v2.0/floatingips链接
get_ip(self, floating_ip) GET /v2.0/floatingips/{floatingip_id}链接
ips(self, **query) GET /v2.0/floatingips链接
update_ip(self, floating_ip, **attrs) PUT /v2.0/floatingips/{floatingip_id}链接
NetworkOperations
create_network(self, **attrs) POST /v2.0/networks链接
delete_network(self, network,ignore_missing=True)
DELETE /v2.0/networks/{network_id}链接
find_network(self, name_or_id,ignore_missing=True)
GET /v2.0/networks链接
get_network(self, network) GET /v2.0/networks/{network_id}链接
networks(self, **query) GET /v2.0/networks链接
update_network(self, network,**attrs)
PUT /v2.0/networks/{network_id}链接
PortOperations
create_port(self, **attrs) POST /v2.0/ports链接
delete_port(self, port,ignore_missing=True)
DELETE /v2.0/ports/{port_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 138
Interface Method API
find_port(self, name_or_id,ignore_missing=True)
GET /v2.0/ports链接
get_port(self, port) GET /v2.0/ports/{port_id}链接
ports(self, **query) GET /v2.0/ports链接
update_port(self, port, **attrs) PUT /v2.0/ports/{port_id}链接
RouterOperations
create_router(self, **attrs) POST /v2.0/router链接
delete_router(self, router,ignore_missing=True)
DELETE /v2.0/routers/{router_id}链接
find_router(self, name_or_id,ignore_missing=True)
GET /v2.0/routers链接
get_router(self, router) GET /v2.0/routers/{router_id}链接
routers(self, **query) GET /v2.0/routers链接
update_router(self, router, **attrs) PUT /v2.0/routers/{router_id}链接
add_interface_to_router(self, router,subnet_id=None, port_id=None)
PUT /v2.0/routers/{router_id}/add_router_interface链接
remove_interface_from_router(self,router, subnet_id=None,port_id=None)
PUT /v2.0/routers/{router_id}/remove_router_interface链接
SecurityGroupOperations
create_security_group(self, **attrs) POST /v2.0/security-groups链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 139
Interface Method API
delete_security_group(self,security_group, ignore_missing=True)
DELETE /v2.0/security-groups/{security_group_id}链接
find_security_group(self, name_or_id,ignore_missing=True)
GET /v2.0/security-groups链接
get_security_group(self,security_group)
GET /v2.0/security-groups/{security_group_id}链接
security_groups(self, **query) GET /v2.0/security-groups链接
update_security_group(self,security_group, **attrs)
PUT /v2.0/security-groups/{security_group_id}链接
security_group_open_port(self, sgid,port, protocol='tcp')
POST /v2.0/security-group-rules链接
security_group_allow_ping(self, sgid) POST /v2.0/security-group-rules链接
create_security_group_rule(self,**attrs)
POST /v2.0/security-group-rules链接
delete_security_group_rule(self,security_group_rule,ignore_missing=True)
DELETE /v2.0/security-group-rules/{security_group_rule_id}链接
find_security_group_rule(self,name_or_id, ignore_missing=True)
GET /v2.0/security-group-rules链接
get_security_group_rule(self,security_group_rule)
GET /v2.0/security-group-rules/{security_group_rule_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 140
Interface Method API
security_group_rules(self, **query) GET /v2.0/security-group-rules链接
SubnetOperations
create_subnet(self, **attrs) POST /v2.0/subnets链接
delete_subnet(self, subnet,ignore_missing=True)
DELETE /v2.0/subnets/{subnet_id}链接
find_subnet(self, name_or_id,ignore_missing=True)
GET /v2.0/subnets链接
get_subnet(self, subnet) GET /v2.0/subnets/{subnet_id}链接
subnets(self, **query) GET /v2.0/subnets链接
get_subnet_ports(self, subnet_id) GET /v2.0/ports链接
update_subnet(self, subnet, **attrs) PUT /v2.0/subnets/{subnet_id}链接
A.2.4 ECS基于Nova v2 API的SDK接口如下,调用方式举例如下:conn.compute.create_server()
Interface
Method API
FlavorOperations
find_flavor(self, name_or_id,ignore_missing=True)
● name:GET /v2/{project_id}/flavors链接
● id:GET /v2/{project_id}/flavors/{flavor_id}链接
get_flavor(self, flavor) GET /v2/{project_id}/flavors/{flavor_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 141
Interface
Method API
query_flavor_extra_specs(self,flavor_id)
GET /v2/{project_id}/flavors/{flavors_id}/os-extra_specs链接
flavors(self, details=True,paginated=True, **query)
GET /v2/{project_id}/flavors/detail链接
ImageOperations
delete_image(self, image,ignore_missing=True)
DELETE /v2/{project_id}/images/{image_id}链接
find_image(self, name_or_id,ignore_missing=True)
name:GET /v2/{project_id}/images链接
Image_id:GET /v2/{project_id}/images/{image_id}链接
get_image(self, image) GET /v2/{project_id}/images/{image_id}链接
images(self, details=True,**query)
GET /v2/{project_id}/images/detail链接
get_image_metadata(self,image)
GET /v2/{project_id}/images/{image_id}/metadata链接
KeypairOperations
create_keypair(self, **attrs) POST /v2/{project_id}/os-keypairs链接
delete_keypair(self, keypair,ignore_missing=True)
DELETE /v2/{project_id}/os-keypairs/{keypair_name}链接
get_keypair(self, keypair) GET /v2/{project_id}/os-keypairs/{keypair_name}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 142
Interface
Method API
find_keypair(self, name,ignore_missing=True)
Keypair_name:GET /v2/{project_id}/os-keypairs/{keypair_name}链接
Name:GET /v2/{project_id}/os-keypairs链接
keypairs(self) GET /v2/{project_id}/os-keypairs链接
ServerOperations
create_server(self, **attrs) POST /v2/{project_id}/servers链接
delete_server(self, server,ignore_missing=True,force=False)
DELETE /v2/{project_id}/servers/{server_id}链接
find_server(self, name_or_id,ignore_missing=True)
Name:GET /v2/{project_id}/servers链接
Server_id:GET /v2/{project_id}/servers/{server_id}链接
get_server(self, server) GET /v2/{project_id}/servers/{server_id}链接
servers(self, details=True,paginated=True, **query)
● details=True:GET /v2/{project_id}/servers/detail链接
● details=False:GET /v2/{project_id}/servers链接
create_server_image(self, server,name, metadata=None)
POST /v2/{project_id}/servers/{server_id}/action链接
add_floating_ip_to_server(self,server, address,fixed_address=None)
POST /v2/{project_id}/servers/{server_id}/action链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 143
Interface
Method API
remove_floating_ip_from_server(self, server, address)
POST /v2/{project_id}/servers/{server_id}/action链接
lock_server(self, server) POST /v2/{project_id}/servers/{server_id}/action链接
unlock_server(self, server) POST /v2/{project_id}/servers/{server_id}/action链接
start_server(self, server) POST /v2/{project_id}/servers/{server_id}/action链接
stop_server(self, server) POST /v2/{project_id}/servers/{server_id}/action链接
wait_for_server(self, server,status='ACTIVE',failures=['ERROR'], interval=2,wait=120)
GET /v2/{project_id}/servers/{server_id}链接
instance_actions(self, server_id) GET /v2/{project_id}/servers/{server_id}/os-instance-actions链接
get_instance_action(self,server_id, request_id)
GET /v2/{project_id}/servers/{server_id}/os-instance-actions/{request_id}链接
get_server_console_output(self,server_id, lines)
POST /v2/{project_id}/servers/{server_id}/action链接
ServerInterfaceOperations
create_server_interface(self,server, **attrs)
POST /v2/{project_id}/servers/{server_id}/os-interface链接
delete_server_interface(self,server_interface, server=None,ignore_missing=True)
DELETE /v2/{project_id}/servers/{server_id}/os-interface/{port_id}链接
get_server_interface(self,server_interface, server=None)
GET /v2/{project_id}/servers/{server_id}/os-interface/{port_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 144
Interface
Method API
server_interfaces(self, server) GET /v2/{project_id}/servers/{server_id}/os-interface链接
ServerIPsOperations
server_ips(self, server,network_label=None)
GET /v2/{project_id}/servers/{server_id}/ips链接
Availability ZoneOperations
availability_zones(self,details=False)
GET /v2/{project_id}/os-availability-zone链接
ServerGroupOperations
create_server_group(self,**attrs)
POST /v2/{project_id}/os-server-groups链接
delete_server_group(self,server_group,ignore_missing=True)
DELETE /v2/{project_id}/os-server-groups/{server_group_id}链接
find_server_group(self,name_or_id,ignore_missing=True)
Name:GET /v2/{project_id}/os-server-groups链接
Server_group_id:GET /v2/{project_id}/os-server-groups/{server_group_id}链接
get_server_group(self,server_group)
GET /v2/{project_id}/os-server-groups/{server_group_id}链接
QuotaOperations
get_limits(self) GET /v2/{project_id}/limits链接
query_quota(self, project_id) GET /v2/{project_id}/os-quota-sets/{project_id}链接
query_quota_default(self,project_id)
GET /v2/{project_id}/os-quota-sets/{project_id}/defaults链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 145
Interface
Method API
VolumeAttachmentOperations
delete_volume_attachment(self,volume_attachment, server,force_del=False,ignore_missing=True)
DELETE /v2/{project_id}/servers/{server_id}/os-volume_attachments/{volume_id}链接
volume_attachments(self,server)
GET /v2/{project_id}/servers/{server_id}/os-volume_attachments链接
get_volume_attachment(self,volume_attachment, server)
GET /v2/{project_id}/servers/{server_id}/os-volume_attachments/{volume_id}链接
create_volume_attachment(self,server, **attrs)
POST /v2/{project_id}/servers/{server_id}/os-volume_attachments链接
MetadataOperations
get_server_metadata(self,server, key=None)
● Key=None:GET /v2/{project_id}/servers/{server_id}/metadata链接
● Key !=None:GET /v2/{project_id}/servers/{server_id}/metadata/{key}链接
update_server_metadata(self,server, key, value)
PUT /v2/{project_id}/servers/{server_id}/metadata/{key}链接
set_server_metadata(self, server,**metadata)
POST /v2/{project_id}/servers/{server_id}/metadata链接
delete_server_metadata(self,server, keys)
DELETE /v2/{project_id}/servers/{server_id}/metadata/{key}链接
基于ECS v1.1 API的SDK接口如下,调用方式举例:conn.ecs.create_server_ext()
SDK开发指南 A API & SDK 对应关系
2019-11-22 146
Interface
Method API
ServerOperations
create_server_ext(self, **data) POST /v1.1/{project_id}/cloudservers链接
resize_server_ext(self, server_id,**data)
POST /v1.1/{project_id}/cloudservers/{server_id}/resize链接
基于ECS v1 API的SDK接口如下,调用方式举例:conn.ecs.get_server()
Interface Method API
ServerOperations
get_server(self, server_id) GET /v1/{project_id}/cloudservers/{server_id}链接
servers(self, paginated=True,**query)
GET /v1/{project_id}/cloudservers/detail{?flavor,name,status,limit,offset,not-tags,reservation_id,enterprise_project_id}链接
def batch_change_os_server(self,**data)
POST/v1/{project_id}/cloudservers/{server_id}/changeos(目前未有接口链接,后续添加)
get_autorecovery(self, server_id) GET /v1/{project_id}/cloudservers/{server_id}/autorecovery链接
config_autorecovery(self,server_id, autorecovery)
PUT /v1/{project_id}/cloudservers/{server_id}/autorecovery链接
FlavorOperations
flavors(self, **query) GET /v1/{project_id}/cloudservers/flavors{?availability_zone}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 147
Interface Method API
QuotaOperations
quotas(self) GET /v1/{project_id}/cloudservers/limits链接
ServerTagOperations
create_server_tags(self, server_id,**data)
POST /v1/{project_id}/cloudservers/{server_id}/tags/action链接
delete_server_tags(self, server_id,**data)
POST /v1/{project_id}/cloudservers/{server_id}/tags/action链接
get_server_tags(self, server_id) GET /v1/{project_id}/cloudservers/{server_id}/tags链接
get_project_tags(self) GET /v1/{project_id}/cloudservers/tags链接
A.2.5 EVS基于EVS v2 API的SDK接口如下,调用方式举例:conn.evs.create_volume()
Interface Method API
VolumeOperations
create_volume(**data) POST /v2/{project_id}/cloudvolumes
update_volume(volume_id,**data)
PUT /v2/{project_id}/cloudvolumes/{volume_id}
get_volume(volume_id) GET /v2/{project_id}/cloudvolumes/{volume_id}
resize_volume(self,volume_id, **data)
POST /v2/{project_id}/cloudvolumes/{volume_id}/action
volumes(self, **query) GET /v2/{project_id}/cloudvolumes/detail
JobOperations
get_job(self, job_id) GET /v1/{project_id}/jobs/{job_id}
基于EVS v2.1 API的SDK接口如下,调用方式举例:conn.evs.create_volume_ext()
SDK开发指南 A API & SDK 对应关系
2019-11-22 148
Interface Method API
VolumeOperations
create_volume_ext(self, **attrs) POST /v2.1/{project_id}/cloudvolumes
resize_volume_ext(self, volume_id,**data)
POST /v2.1/{project_id}/cloudvolumes/{volume_id}/action
基于Cinder v2 API的SDK接口如下,调用方式举例:conn.block_store.create_volume()
Interface Method API
SnapshotOperations
get_snapshot(self, snapshot) GET /v2/{project_id}/snapshots/{snapshot_id}
snapshots(self, details=True,**query)
GET /v2/{project_id}/snapshots/detail
create_snapshot(self, **attrs) POST /v2/{project_id}/snapshots
delete_snapshot(self, snapshot,ignore_missing=True)
DELETE /v2/{project_id}/snapshots/{snapshot_id}
TypeOperations
get_type(self, type) GET /v2/{project_id}/types/{volume_type_id}
types(self) GET /v2/{project_id}/types
VolumeOperations
get_volume(self, volume) GET /v2/{project_id}/volumes/{volume_id}
volumes(self, details=True,**query)
GET /v2/{project_id}/volumes/detail
create_volume(self, **attrs) POST /v2/{project_id}/volumes
delete_volume(self, volume,ignore_missing=True,cascade=False)
DELETE /v2/{project_id}/volumes/{volume_id}
A.2.6 RTS基于RTS v1 API的SDK接口如下,调用方式举例:conn.orchestration.create_stack()。
SDK开发指南 A API & SDK 对应关系
2019-11-22 149
Interface Method API
StackOperations
create_stack(self,preview=False, **attrs)
POST /v1/{tenant_id}/stacks
find_stack(self, name_or_id,ignore_missing=True)
GET /v1/{tenant_id}/stacks
stacks(self, **query) GET /v1/{tenant_id}/stacks
get_stack(self, stack) GET /v1/{tenant_id}/stacks/{stack_name}/{stack_id}
update_stack(self, stack,**attrs)
PUT /v1/{tenant_id}/stacks/{stack_name}/{stack_id}
delete_stack(self, stack,ignore_missing=True)
DELETE /v1/{tenant_id}/stacks/{stack_id}
check_stack(self, stack) POST /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/actions
resources(self, stack,**query)
GET /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/resources
Software_config Operations
create_software_config(self,**attrs)
POST /v1/{tenant_id}/software_configs
get_software_config(self,software_config)
GET /v1/{tenant_id}/software_configs/{config_id}
delete_software_config(self,software_config,ignore_missing=True)
DELETE /v1/{tenant_id}/software_configs/{config_id}
A.2.7 AS基于AS v1 API的SDK接口如下,调用方式举例:conn.auto_scaling.create_group()
Interface Method API
GroupOperations
create_group(self, **attrs) POST /autoscaling-api/v1/{project_id}/scaling_group链接
groups(self, **query) GET /autoscaling-api/v1/{project_id}/scaling_group链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 150
Interface Method API
get_group(self, group) GET /autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}链接
update_group(self, group,**attrs)
PUT /autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}链接
delete_group(self, group,ignore_missing=True)
DELETE /autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}链接
resume_group(self, group) POST /autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}/action链接
pause_group(self, group) POST /autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}/action链接
ConfigOperations
create_config(self, name,**attrs)
POST /autoscaling-api/v1/{project_id}/scaling_configuration链接
configs(self, **query) GET /autoscaling-api/v1/{project_id}/scaling_configuration链接
get_config(self, config) GET /autoscaling-api/v1/{project_id}/scaling_configuration/{scaling_configuration_id}链接
delete_config(self, config,ignore_missing=True)
DELETE /autoscaling-api/v1/{project_id}/scaling_configuration/{scaling_configuration_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 151
Interface Method API
batch_delete_configs(self,configs)
POST /autoscaling-api/v1/{project_id}/scaling_configurations链接
InstanceOperations
instances(self, group, **query) GET /autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/list链接
remove_instance(self, instance,delete_instance=False,ignore_missing=True)
DELETE /autoscaling-api/v1/{project_id}/scaling_group_instance/{instance_id}链接
batch_add_instances(self,group, instances)
POST /autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action链接
batch_remove_instances(self,group, instances,delete_instance=False)
POST /autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action链接
PolicyOperations
create_policy(self, **attrs) POST /autoscaling-api/v1/{project_id}/scaling_policy链接
update_policy(self, policy,**attrs)
PUT /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}链接
policies(self, group, **query) GET /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_group_id}/list链接
get_policy(self, policy) GET /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 152
Interface Method API
execute_policy(self, policy) POST /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}/action链接
resume_policy(self, policy) POST /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}/action链接
pause_policy(self, policy) POST /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}/action链接
delete_policy(self, policy,ignore_missing=True)
DELETE /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}链接
ActivityOperations
activities(self, group, **query) GET /autoscaling-api/v1/{project_id}/scaling_activity_log/{scaling_group_id}链接
QuotaOperations
quotas(self, group=None) GET /autoscaling-api/v1/{project_id}/quotas链接
quotas(self, group=None) GET /autoscaling-api/v1/{project_id}/quotas/{scaling_group_id}链接
Lifecycle_hookOperations
create_lifecycle_hook(self,group, **attrs)
POST /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}链接
lifecycle_hooks(self, group) GET /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/list链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 153
Interface Method API
get_lifecycle_hook(self, group,lifecycle_hook)
GET /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}链接
update_lifecycle_hook(self,group, lifecycle_hook, **attrs)
PUT /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}链接
delete_lifecycle_hook(self,group, lifecycle_hook)
DELETE /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}链接
call_back_instance(self, group,**attrs)
PUT /autoscaling-api/v1/{project_id}/scaling_instance_hook/{scaling_group_id}/callback链接
get_group_hanging_instance(self, group, **query)
GET /autoscaling-api/v1/{project_id}/scaling_instance_hook/{scaling_group_id}/list{?instance_id}链接
NotificationOperations
create_notification(self, group,**data)
PUT /autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}链接
notifications(self, group) GET /autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}链接
delete_notification(self, group,topic)
DELETE /autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}/{topic_urn}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 154
A.2.8 CES基于CES v1.0 API的SDK接口如下,调用方式举例:conn.cloud_eye.metrics()
Interface Method API
MetricOperations
metrics(self, **query) GET /V1.0/{project_id}/metrics
AlarmOperations
alarms(self, **query) GET /V1.0/{project_id}/alarms
get_alarm(self, alarm) GET /V1.0/{project_id}/alarms/{alarm_id}
enable_alarm(self, alarm)disable_alarm(self, alarm)
PUT /V1.0/{project_id}/alarms/{alarm_id}/action
delete_alarm(self, alarm,ignore_missing=True)
DELETE /V1.0/{project_id}/alarms/{alarm_id}
MetricDataOperations
metric_aggregations(self, **query) GET /V1.0/{project_id}/metric-data
add_metric_data(self, data) POST /V1.0/{project_id}/metric-data
QuotaOperations
quotas(self) GET /V1.0/{project_id}/quotas
A.2.9 DNS基于DNS v2 API的SDK接口如下,调用方式举例:conn.dns.create_zone()
Interface Method API
ZoneOperations
create_zone(self, **attrs) POST /v2/zones链接(公网)
链接(内网)
get_zone(self, zone) GET /v2/zones/{zone_id}链接(公网)
链接(内网)
zones(self, **query) GET /v2/zones链接(公网)
链接(内网)
SDK开发指南 A API & SDK 对应关系
2019-11-22 155
Interface Method API
delete_zone(self, zone,ignore_missing=True)
DELETE /v2/zones/{zone_id}链接(公网)
链接(内网)
nameservers(self, zone) GET /v2/zones/{zone_id}/nameservers链接(公网)
链接(内网)
add_router_to_zone(self, zone,**router)
POST /v2/zones/{zone_id}/associaterouter链接
remove_router_from_zone(self,zone, **router)
POST /v2/zones/{zone_id}/disassociaterouter链接
RecordsetOperations
create_recordset(self, zone,**attrs)
POST /v2/zones/{zone_id}/recordsets链接
get_recordset(self, zone,recordset)
GET /v2/zone/{zone_id}/recordsets/{recordset_id}链接
all_recordsets(self, **query) GET /v2/recordsets链接
recordsets(self, zone, **query) GET /v2/zones/{zone_id}/recordsets链接
delete_recordset(self, zone,recordset, ignore_missing=True)
DELETE /v2/zones/{zone_id}/recordsets/{recordset_id}链接
PTR RecordOperations
create_ptr(self, **attrs) PATCH /v2/reverse/floatingips/{region}:{floatingip_id}链接
restore_ptr(self, region,floating_ip_id)
PATCH /v2/reverse/floatingips/{region}:{floatingip_id}链接
ptrs(self, **query) GET /v2/reverse/floatingips链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 156
Interface Method API
get_ptr(self, region,floating_ip_id)
GET /v2/reverse/floatingips/{region}:{floatingip_id}链接
A.2.10 ELB基于ELB v2.0 API的SDK接口如下,调用方式举例:conn.network.loadbalancers()
Interface Method API
LoadbalancerOperations
loadbalancers(self,**query)
GET /v2.0/lbaas/loadbalancers链接
get_loadbalancer(self,lb)
GET /v2.0/lbaas/loadbalancers/{loadbalancer_id}链接
create_loadbalancer(self,**attrs)
POST /v2.0/lbaas/loadbalancers链接
update_loadbalancer(self, lb, **attrs)
PUT /v2.0/lbaas/loadbalancers/{loadbalancer_id}链接
delete_loadbalancer(self,lb, ignore_missing=True)
DELETE /v2.0/lbaas/loadbalancers/{loadbalancer_id}链接
get_loadbalancer_status_stree(self, lb)
GET /v2.0/lbaas/loadbalancers/{loadbalancer_id}/statuses链接
ListenerOperations
listeners(self, **query) GET /v2.0/lbaas/listeners链接
get_listener(self, lsn) GET /v2.0/lbaas/listeners/{listener_id}链接
create_listener(self,**attrs)
POST /v2.0/lbaas/listeners链接
update_listener(self, lsn,**attrs)
PUT /v2.0/lbaas/listeners/{listener_id}链接
delete_listener(self, lsn,ignore_missing=True)
DELETE /v2.0/lbaas/listeners/{listener_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 157
Interface Method API
PoolOperations
pools(self, **query) GET /v2.0/lbaas/pools链接
get_pool(self, pol) GET /v2.0/lbaas/pools/{pool_id}链接
create_pool(self, **attrs) POST /v2.0/lbaas/pools链接
update_pool(self, pol,**attrs)
PUT /v2.0/lbaas/pools/{pool_id}链接
delete_pool(self, pol,ignore_missing=True)
DELETE /v2.0/lbaas/pools/{pool_id}链接
MemberOperations
members(self, **query) GET /v2.0/lbaas/pools/{pool_id}/members链接
get_member(self, mem,pool = None)
GET /v2.0/lbaas/pools/{pool_id}/members/{member_id}链接
create_member(self,**attrs)
POST /v2.0/lbaas/pools/{pool_id}/members链接
update_member(self,mem, **attrs)
PUT /v2.0/lbaas/pools/{pool_id}/members/{member_id}链接
delete_member(self,mem, pool = None,ignore_missing=True)
DELETE /v2.0/lbaas/pools/{pool_id}/members/{member_id}链接
HealthmonitorOperations
healthmonitors(self,**query)
GET /v2.0/lbaas/healthmonitors链接
get_healthmonitor(self,hlth)
GET /v2.0/lbaas/healthmonitors/{healthmonitor_id}链接
create_healthmonitor(self, **attrs)
POST /v2.0/lbaas/healthmonitors链接
update_healthmonitor(self, hlth, **attrs)
PUT /v2.0/lbaas/healthmonitors/{healthmonitor_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 158
Interface Method API
delete_healthmonitor(self, hlth,ignore_missing=True)
DELETE /v2.0/lbaas/healthmonitors/{healthmonitor_id}链接
PolicyOperations
poliycies(self, **query) GET /v2.0/lbaas/l7policies链接
get_policy(self, plc) GET /v2.0/lbaas/l7policies/{l7policy_id}链接
create_policy(self,**attrs)
POST /v2.0/lbaas/l7policies链接
update_policy(self, plc,**attrs)
PUT /v2.0/lbaas/l7policies/{l7policy_id}链接
delete_policy(self, plc,ignore_missing=True)
DELETE /v2.0/lbaas/l7policies/{l7policy_id}链接
RuleOperations
rules(self, **query) GET /v2.0/lbaas/l7policies/{l7policy_id}/rules链接
get_rule(self, rul, policy) GET /v2.0/lbaas/l7policies/{l7policy_id}/rules/{l7rule_id}链接
create_rule(self, **attrs) POST /v2.0/lbaas/l7policies/{l7policy_id}/rules链接
update_rule(self, rul,**attrs)
PUT /v2.0/lbaas/l7policies/{l7policy_id}/rules/{l7rule_id}链接
delete_rule(self, rul,policy,ignore_missing=True)
DELETE /v2.0/lbaas/l7policies/{l7policy_id}/rules/{l7rule_id}链接
WhitelistOperations
whitelists(self, **query) GET /v2.0/lbaas/whitelists链接
get_whitelist(self, wl) GET /v2.0/lbaas/whitelists/{whitelist_id}链接
create_whitelist(self,**attrs)
POST /v2.0/lbaas/whitelists链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 159
Interface Method API
update_whitelist(self, wl,**attrs)
PUT /v2.0/lbaas/whitelists/{whitelist_id}链接
delete_whitelist(self, wl,ignore_missing=True)
DELETE /v2.0/lbaas/whitelists/{whitelist_id}链接
CertificateOperations
certificates(self, **query) GET /v2.0/lbaas/certificates链接
get_certificate(self, cf) GET /v2.0/lbaas/certificates/{certificate_id}链接
create_certificate(self,**attrs)
POST /v2.0/lbaas/certificates链接
update_certificate(self,cf, **attrs)
PUT /v2.0/lbaas/certificates/{certificate_id}链接
delete_certificate(self, cf,ignore_missing=True)
DELETE /v2.0/lbaas/certificates/{certificate_id}链接
基于ELB v1.0 API的SDK接口如下,调用方法举例:conn.load_balancer.create_load_balancer()
Interface Method API
LoadBalancerOperations
create_load_balancer(self,**attrs)
POST /v1.0/{project_id}/elbaas/loadbalancers链接
get_load_balancer(self,load_balancer)
GET /v1.0/{project_id}/elbaas/loadbalancers/{loadbalancer_id}链接
load_balancers(self, **query) GET /v1.0/{project_id}/elbaas/loadbalancers链接
update_load_balancer(self,load_balancer, **attrs)
PUT /v1.0/{project_id}/elbaas/loadbalancers/{loadbalancer_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 160
Interface Method API
delete_load_balancer(self,load_balancer,ignore_missing=True)
DELETE /v1.0/{project_id}/elbaas/loadbalancers/{loadbalancer_id}链接
ListenerOperations
create_listener(self, **attrs) POST /v1.0/{project_id}/elbaas/listeners链接
get_listener(self, listener) GET /v1.0/{project_id}/elbaas/listeners/{listener_id}链接
listeners(self, **query) GET /v1.0/{project_id}/elbaas/listeners?loadbalancer_id={loadbalancer_id}链接
update_listener(self, listener,**attrs)
PUT /v1.0/{project_id}/elbaas/listeners/{listener_id}链接
delete_listener(self, listener,ignore_missing=True)
DELETE /v1.0/{project_id}/elbaas/listeners/{listener_id}链接
HealthCheckOperations
create_health_check(self, **attrs) POST /v1.0/{project_id}/elbaas/healthcheck链接
get_health_check(self,health_check)
GET /v1.0/{project_id}/elbaas/healthcheck/{healthcheck_id}链接
update_health_check(self,health_check, **attrs)
PUT /v1.0/{project_id}/elbaas/healthcheck/{healthcheck_id}链接
delete_health_check(self,health_check,ignore_missing=True)
DELETE /v1.0/{project_id}/elbaas/healthcheck/{healthcheck_id}链接
MemberOperations
add_members_to_listener(self,listener, members)
POST /v1.0/{project_id}/elbaas/listeners/{listener_id}/members链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 161
Interface Method API
remove_members_of_listener(self, listener, members)
POST /v1.0/{project_id}/elbaas/listeners/{listener_id}/members/action链接
listener_members(self, listener,**query)
GET /v1.0/{project_id}/elbaas/listeners/{listener_id}/members链接
CertificateOperations
create_certificate(self, **attrs) POST /v1.0/{project_id}/elbaas/certificate链接
certificates(self) GET /v1.0/{project_id}/elbaas/certificate链接
update_certificate(self,certificate, **attrs)
PUT /v1.0/{project_id}/elbaas/certificate/{certificate_id}链接
delete_certificate(self,certificate, ignore_missing=True)
DELETE /v1.0/{project_id}/elbaas/certificate/{certificate_id}链接
A.2.11 VBS基于VBS v2 API的SDK接口如下,调用方式举例:conn.volume_backup.create_backup()
Interface Method API
VolumeBackupOperations
create_backup(**backup) POST /v2/{project_id}/cloudbackups
create_native_backup(**backup)
Post /v2/{project_id}/backups
restore_backup(volume_backup_id, volume_id)
POST/v2/{project_id}/cloudbackups/{backup_id}/restore
backups(self,details=False, **query)
GET /v2/{project_id}/backups
SDK开发指南 A API & SDK 对应关系
2019-11-22 162
Interface Method API
get_backup(self, backup) GET /v2/{project_id}/backups/{backup_id}
delete_backup(self,backup,ignore_missing=True)
DELETE /v2/{project_id}/backups/{backup_id}
get_job(self, job) GET /v1/{project_id}/jobs/{job_id}
VolumeBackupPolicy Operations
create_backup_policy(volume_backup_name, **data)
POST /v2/{project_id}/backuppolicy
backup_policies() GET /v2/{project_id}/backuppolicy
update_backup_policy(policy, **updated)
PUT /v2/{project_id}/backuppolicy/{policy_id}
delete_backup_policy(policy)
DELETE /v2/{project_id}/backuppolicy/{policy_id}
link_resources_to_policy(policy, volumes)
POST /v2/{project_id}/backuppolicyresources
unlink_resources_of_policy(policy, volumes)
POST /v2/{project_id}/backuppolicyresources/{policy_id}/deleted_resources
execute_policy(policy) POST /v2/{project_id}/backuppolicy/{policy_id}/action
tasks(backup_policy_id,**query)
GET /v2/{project_id}/backuppolicy/{policy_id}/backuptasks
enable_policy(policy) PUT /v2/{project_id}/backuppolicy/{policy_id}
disable_policy(policy) PUT /v2/{project_id}/backuppolicy/{policy_id}
A.2.12 KMS基于KMS v1.0 API的SDK接口如下,调用方式举例:conn.kms.create_key()
Interface Method API
Key Operations create_key(**kwargs) POST /v1.0/{project_id}/kms/create-key
SDK开发指南 A API & SDK 对应关系
2019-11-22 163
Interface Method API
keys(**query) POST /v1.0/{project_id}/kms/list-keys
describe_key(key,**kwargs)
POST /v1.0/{project_id}/kms/describe-key
disable_key(key,**params)
POST /v1.0/{project_id}/kms/disable-key
enable_key(key,**params)
POST /v1.0/{project_id}/kms/enable-key
schedule_deletion_key(key, pending_days,**params)
POST /v1.0/{project_id}/kms/schedule-key-deletion
cancel_deletion_key(key,**params)
POST /v1.0/{project_id}/kms/cancel-key-deletion
random Operations gen_random(**params) POST /v1.0/{project_id}/kms/gen-random
DataKey Operations create_datakey(key,**params)
POST /v1.0/{project_id}/kms/create-datakey
create_datakey_wo_plain(key, **params)
POST /v1.0/{project_id}/kms/create-datakey-without-plaintext
encrypt_datakey(datakey, **params)
POST /v1.0/{project_id}/kms/encrypt-datakey
decrypt_datakey(datakey, **params)
POST /v1.0/{project_id}/kms/decrypt-datakey
InstanceNumberOperations
get_instance_number() GET /v1.0/{project_id}/kms/user-instances
Quota Operations get_quota() GET /v1.0/{project_id}/kms/user-quotas
A.2.13 AntiDDoS基于AntiDDoS v1 API的SDK接口如下,调用方式举例:conn.anti_ddos.query_config_list()
Interface Method API
QueryConfigListOperations
query_config_list() GET /v1/{project_id}/antiddos/query_config_list链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 164
Interface Method API
EIPOperations
get_floating_ip(floating_ip) GET /v1/{project_id}/antiddos/{floating_ip_id}链接
update_floating_ip(floating_ip,**attrs)
PUT /v1/{project_id}/antiddos/{floating_ip_id}链接
query_task_status(task_id) GET /v1/{project_id}/query_task_status链接
floating_ips(**query) GET /v1/{project_id}/antiddos链接
get_eip_status(floating_ip_id) GET /v1/{project_id}/antiddos/{floating_ip_id}/status链接
list_eip_daily(floating_ip_id,**query)
GET /v1/{project_id}/antiddos/{floating_ip_id}/daily链接
list_eip_log(floating_ip_id,**query)
GET /v1/{project_id}/antiddos/{floating_ip_id}/logs链接
EIPWeeklyOperations
get_eip_weekly(period_start_date) GET /v1/{project_id}/antiddos/weekly链接
AlertConfigOperations
get_alert_config() GET /v1/{project_id}/warnalert/alertconfig/query链接
A.2.14 DMS基于DMS v1.0 API的SDK接口如下,调用方式举例:conn.dms.create_queue()
Interface method API
QueueOperations
create_queue(**kwargs) POST /v1.0/{project_id}/queues
queues() GET /v1.0/{project_id}/queues
get_queue(queue) GET /v1.0/{project_id}/queues/{queue_id}
SDK开发指南 A API & SDK 对应关系
2019-11-22 165
delete_queue(queue,ignore_missing=True)
DELETE /v1.0/{project_id}/queues/{queue_id}
GroupOperations
create_groups(queue,**kwargs)
POST /v1.0/{project_id}/queues/{queue_id}/groups
groups(queue) GET /v1.0/{project_id}/queues/{queue_id}/groups
delete_group(queue,group)
DELETE /v1.0/{project_id}/queues/{queue_id}/groups/{consumer_group_id}
MessageOperations
send_messages(queue,**kwargs)
POST /v1.0/{project_id}/queues/{queue_id}/messages
consume_message(queue, consume_group,**query)
GET /v1.0/{project_id}/queues/{queue_id}/groups/{consumer_group_id}/messages
ack_consumed_message(consumed_message,status='success')
POST /v1.0/{project_id}/queues/{queue_id}/groups/{consumer_group_id}/ack
QuotaOperations
quotas() GET /v1.0/{project_id}/quotas/dms
A.2.15 MRS基于MRS v1.1 API的SDK接口如下,调用方式举例:conn.map_reduce.create_cluster_and_run_job()
Interface Method API
ClusterOperations
create_cluster_and_run_job(**cluster,**job)
POST /v1.1/{project_id}/run-job-flow
expand_cluster("cluster-id",expand_node_amount)
PUT /v1.1/{project_id}/cluster_infos/{cluster_id}
reduce_cluster("cluster-id", reduce_node_amount,includes=includes,excludes=excludes)
PUT /v1.1/{project_id}/cluster_infos/{cluster_id}
get_cluster("cluster-id") GET /v1.1/{project_id}/cluster_infos/{cluster_id}
delete_cluster("cluster-id") DELETE /v1.1/{project_id}/clusters/{cluster_id}
JobOperations
exe_job(**exe) POST /v1.1/{project_id}/jobs/submit-job
SDK开发指南 A API & SDK 对应关系
2019-11-22 166
Interface Method API
job_exes(**query) GET /v1.1/{project_id}/job-exes
get_job_exe("job-exe-id") GET /v1.1/{project_id}/job-exes/{job_exe_id}
JobExecutionOperations
delete_job_execution("job-execution-id")
DELETE /v1.1/{project_id}/job-executions/{job_execution_id}
A.2.16 RDS基于RDS v3 API的SDK接口如下,调用方式举例:conn.rds_v3.create_instance()
Interface Method API
InstanceOperations
create_instance(self,**kwargs)
POST /v3/{project_id}/instances链接
instances(self) GET /v3/{project_id}/instances?id={id}&name={name}&type={type}&datastore_type={datastore_type}&vpc_id={vpc_id}&subnet_id={subnet_id}&offset={offset}&limit={limit}链接
delete_instance(self,**kwargs)
DELETE /v3/{project_id}/instances/{instance_id}链接
resize_instance(self,instance, flavorRef)
POST /v3/{project_id}/instances/{instance_id}/action链接
resize_instance_volume(instance, size)
POST /v3/{project_id}/instances/{instance_id}/action链接
restart_instance(instance) POST /v3/{project_id}/instances/{instance_id}/action链接
single_to_ha(instance,**single_to_ha_param)
POST /v3/{project_id}/instances/{instance_id}/action链接
BackupOperations
create_backup(self,**kwarg)
POST /v3/{project_id}/backups链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 167
Interface Method API
backups(self, **kwarg) GET /v3/{project_id}/backups?instance_id={instance_id}&backup_id={backup_id}&backup_type={backup_type}&offset={offset}&limit={limit}&begin_time={begin_time}&end_time={end_time}链接
restore_time(self, **kwarg) GET v3/{project_id}/instances/{instance_id}/restore-time链接
delete_backup(self, id) DELETE /v3/{project_id}/backups/{backup_id}链接
backup_files(**query) GET /v3/{project_id}/backup-files?backup_id={backup_id}链接
recovery_instance(**recovery_point)
POST /v3/{project_id}/instances链接
BackupPolicyOperations
create_backup_policy(self,**kwargs)
PUT /v3/{project_id}/instances/{instance_id}/backups/policy链接
get_backup_policy(self,**kwargs)
GET /v3/{project_id}/instances/{instance_id}/backups/policy链接
FlavorOperations
flavors(self, **kwargs) GET /v3/{project_id}/flavors/{database_name}?version_name={version_name}链接
DatastoreOperations
datastore_versions(self,dbname)
GET /v3/{project_id}/datastores/{database_name}链接
Configuration Operations
configurations(self,**kwargs)
GET /v3/{project_id}/configurations链接
LogOperations
list_instance_errorlog(**query)
GET instances/{instance_id}/errorlog?start_date={start_date}&end_date={end_date}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 168
Interface Method API
list_instance_slowlog(**query)
GET /v3/{project_id}/instances/{instance_id}/slowlog?start_date={start_date}&end_date={end_date}链接
A.2.17 CDN基于CDN v1.0 API的SDK接口如下,调用方式举例:conn.cdn.domains()
Interface Method API
Domain Operations domains(enterprise_project_id='ALL',page_size=100,page_number=1,**query)
GET /v1.0/cdn/domains
create_domain(**attrs) POST /v1.0/cdn/domains
get_domain(domain) GET /v1.0/cdn/domains/{domain_id}/detail
get_domain_detail_by_enterprise_project_id(domain_id,enterprise_project_id)
GET /v1.0/cdn/domains/{domain_id}/detail
set_domain_sources(domain, *sources)
PUT /v1.0/cdn/domains/{domain_id}/origin
set_domain_sources_by_enterprise_project_id(domain, enterprise_project_id,**attrs)
PUT /v1.0/cdn/domains/{domain_id}/origin
delete_domain(domain,ignore_missing=True)
DELETE /v1.0/cdn/domains/{domain_id}
delete_domain_by_enterprise_project_id(domain,enterprise_project_id)
DELETE /v1.0/cdn/domains/{domain_id}
enable_domain(domain) PUT /v1.0/cdn/domains/{domain_id}/enable
enable_domain_by_enterprise_project_id(domain,enterprise_project_id)
PUT /v1.0/cdn/domains/{domain_id}/enable
SDK开发指南 A API & SDK 对应关系
2019-11-22 169
Interface Method API
disable_domain(domain) PUT /v1.0/cdn/domains/{domain_id}/disable
disable_domain_by_enterprise_project_id(domain_id, enterprise_project_id)
PUT /v1.0/cdn/domains/{domain_id}/disable
set_domain_origin_host(domain, **attrs)
PUT /v1.0/cdn/domains/{domain_id}/originhost
set_domain_origin_host_by_enterprise_project_id(domain,enterprise_project_id,**attrs)
PUT /v1.0/cdn/domains/{domain_id}/originhost
get_domain_origin_host(domain)
GET /v1.0/cdn/domains/{domain_id}/originhost
get_domain_origin_host_by_enterprise_project_id(domain,enterprise_project_id)
GET /v1.0/cdn/domains/{domain_id}/originhost
set_domain_referer(domain, **attrs)
PUT /v1.0/cdn/domains/{domain_id}/referer
set_domain_referer_by_enterprise_project_id(domain, enterprise_project_id,**attrs)
PUT /v1.0/cdn/domains/{domain_id}/referer
get_domain_referer(domain)
GET /v1.0/cdn/domains/{domain_id}/referer
get_domain_referer_by_enterprise_project_id(domain,enterprise_project_id)
GET /v1.0/cdn/domains/{domain_id}/referer
set_domain_cache_rules(domain, **attrs)
PUT /v1.0/cdn/domains/{domain_id}/cache
set_domain_cache_rules_by_enterprise_project_id(domain,enterprise_project_id,**attrs)
PUT /v1.0/cdn/domains/{domain_id}/cache
get_domain_cache_rules(domain)
GET /v1.0/cdn/domains/{domain_id}/cache
SDK开发指南 A API & SDK 对应关系
2019-11-22 170
Interface Method API
get_domain_cache_rules_by_enterprise_project_id(domain,enterprise_project_id)
GET /v1.0/cdn/domains/{domain_id}/cache
set_domain_https(domain, **attrs)
PUT /v1.0/cdn/domains/{domain_id}/https-info
set_domain_https_by_enterprise_project_id(domain, enterprise_project_id,**attrs)
PUT /v1.0/cdn/domains/{domain_id}/https-info
get_domain_https(domain)
GET /v1.0/cdn/domains/{domain_id}/https-info
get_domain_https_by_enterprise_project_id(domain, enterprise_project_id)
GET /v1.0/cdn/domains/{domain_id}/https-info
create_refresh_task(**attrs)
POST /v1.0/cdn/refreshtasks
create_preheat_task(**attrs)
POST /v1.0/cdn/preheatingtasks
tasks(page_size=100,page_number=1,**query)
GET /v1.0/cdn/historytasks
get_task(task) GET /v1.0/cdn/historytasks/{task_id}/detail
Statistic Operations query_network_traffic(**query)
GET /v1.0/cdn/statistics/flux
query_network_traffic_detail(**query)
GET /v1.0/cdn/statistics/flux-detail
query_bandwidth_peak(**query)
GET /v1.0/cdn/statistics/bandwidth
query_bandwidth(**query)
GET /v1.0/cdn/statistics/bandwidth-detail
query_summary(**query) GET /v1.0/cdn/statistics/domain-summary
query_summary_detail(**query)
GET /v1.0/cdn/statistics/domain-summary-detail
summaries(**query) GET /v1.0/cdn/statistics/domain
SDK开发指南 A API & SDK 对应关系
2019-11-22 171
Interface Method API
Log Operations logs(domain_name,query_date,page_size=100,page_number=1,**query)
GET /v1.0/cdn/logs
A.2.18 FGS基于函数工作流FGS v2.0 Python API的SDK接口如下,调用方式举例:conn.fgs.get_function_list()。
Interface
method API
Functions
functions(**function) GET /v2/{project_id}/fgs/functions?marker={marker}&maxitems={maxitems}
get_function_metadata(function_urn)
GET /v2/{project_id}/fgs/functions/{function_urn}/config
get_function_code(function_urn)
GET/v2/{project_id}/fgs/functions/{function_urn}/code
create_function(**attrs) POST/v2/{project_id}/fgs/functions
delete_function(function_urn) DELETE /v2/{project_id}/fgs/functions/{function_urn}
update_function_code(function_urn, **attrs)
PUT /v2/{project_id}/fgs/functions/{function_urn}/code
update_function_metadata(function_urn, **attrs)
PUT/v2/{project_id}/fgs/functions/{function_urn}/config
publish_function_version(function_urn,**attrs)
POST /v2/{project_id}/fgs/functions/{function_urn}/versions
get_function_version(function_urn,**attrs)
GET /v2/{project_id}/fgs/functions/{function_urn}/versions?marker={marker}&maxitems={maxitems}
create_function_aliase(function_urn,**attrs)
POST /v2/{project_id}/fgs/functions/{function_urn}/aliases
SDK开发指南 A API & SDK 对应关系
2019-11-22 172
update_function_aliase(function_urn,alias_name, **attrs)
PUT /v2/{project_id}/fgs/functions/{function_urn}/aliases/{alias_name}
delete_function_aliase(function_urn,alias_name)
DELETE /v2/{project_id}/fgs/functions/{function_urn}/aliases/{alias_name}
get_function_aliase(function_urn,alias_name)
GET /v2/{project_id}/fgs/functions/{function_urn}/aliases/{alias_name}
function_aliases(function_urn,**function)
GET /v2/{project_id}/fgs/functions/{function_urn}/aliases
execute_function_synchronously(function_urn,**attrs)
POST /v2/{project_id}/fgs/functions/{function_urn}/invocations
execute_function_asynchronously(function_urn,**attrs)
POST /v2/{project_id}/fgs/functions/{function_urn}/invocations-async
triggers
triggers(function_urn,**attrs) GET/v2/{project_id}/fgs/triggers/{function_urn}
get_trigger(function_urn,trigger_type_code,trigger_id)
GET /v2/{project_id}/fgs/triggers/{function_urn}/{trigger_type_code}/{trigger_id}
delete_all_triggers(function_urn)
DELETE/v2/{project_id}/fgs/triggers/{function_urn}
create_trigger(function_urn,**attrs)
POST/v2/{project_id}/fgs/triggers/{function_urn}
delete_trigger(function_urn,trigger_type_code,trigger_id)
DELETE /v2/{project_id}/fgs/triggers/{function_urn}/{trigger_type_code}/{trigger_id}
A.2.19 BSS基于BSS v1.0 API的SDK接口如下,调用方式请参考示例代码。
说明
如下接口的API链接有面向合作伙伴和面向客户之分,若链接为“合作伙伴运营能力”表明该链接是面向合作伙伴的API接口链接,若链接为“客户运营能力”表明该链接是面向客户的API接口链接。
Interface Method API
CustomerManagement
check_customer_register_info(userDomainId, **data)
POST /v1.0/{partner_id}/partner/customer-mgr/check-user链接(合作伙伴运营能力)
SDK开发指南 A API & SDK 对应关系
2019-11-22 173
Interface Method API
create_customer(userDomainId, **data)
POST /v1.0/{partner_id}/partner/customer-mgr/customer链接(合作伙伴运营能力)
query_customer_list(userDomainId, **data)
POST /v1.0/{partner_id}/partner/customer-mgr/query链接(合作伙伴运营能力)
RealnameAuth
individual_realname_auth(userDomainId, **data)
POST /v1.0/{partner_id}/partner/customer-mgr/realname-auth/individual链接(合作伙伴运营能力)
enterprise_realname_auth(userDomainId, **data)
POST /v1.0/{partner_id}/partner/customer-mgr/realname-auth/enterprise链接(合作伙伴运营能力)
change_enterprise_realname_auth(userDomainId, **data)
PUT /v1.0/{partner_id}/partner/customer-mgr/realname-auth/enterprise链接(合作伙伴运营能力)
query_realname_auth(userDomainId, **data)
GET /v1.0/{partner_id}/partner/customer-mgr/realname-auth/result链接(合作伙伴运营能力)
Enquiry query_rating(userDomainId,**data)
POST /v1.0/{domain_id}/customer/product-mgr/query-rating链接(合作伙伴运营能力)
链接(客户运营能力)
PeriodOrder
query_order_list(userDomainId, **data)
GET /v1.0/{domain_id}/common/order-mgr/orders/detail链接(合作伙伴运营能力)
链接(客户运营能力)
query_order_detail(userDomainId, **data)
GET /v1.0/{domain_id}/common/order-mgr/orders/{order_id}链接(合作伙伴运营能力)
链接(客户运营能力)
pay_period_order(userDomainId, **data)
POST /v1.0/{domain_id}/customer/order-mgr/order/pay链接(合作伙伴运营能力)
链接(客户运营能力)
SDK开发指南 A API & SDK 对应关系
2019-11-22 174
Interface Method API
unsubscribe_period_order(userDomainId, **data)
DELETE /v1.0/{domain_id}/customer/order-mgr/orders/{order_id}链接(合作伙伴运营能力)
链接(客户运营能力)
cancel_order(userDomainId,orderId="xxxxxxxxxx",action_id="cancel")
PUT /v1.0/{domain_id}/customer/order-mgr/orders/actions链接(合作伙伴运营能力)
query_refund_order_amount(domain_id=userDomainId,order_id='xxxxxxxxxx')
GET /v1.0/{domain_id}/common/order-mgr/orders/refund-order链接(合作伙伴运营能力)
query_resource_status_by_orderId(userDomainId,order_id="xxxxxxxxxx")
GET /v1.0/{domain_id}/common/order-mgr/orders-resource/{order_id}链接(合作伙伴运营能力)
链接(客户运营能力)
PeriodResourse
query_customer_period_resources_list(userDomainId, **data)
GET /v1.0/{domain_id}/common/order-mgr/resources/detail链接(合作伙伴运营能力)
链接(客户运营能力)
renew_subscription_by_resourceId(userDomainId, **data)
POST /v1.0/{domain_id}/common/order-mgr/resources/renew链接(合作伙伴运营能力)
链接(客户运营能力)
unsubscribe_by_resourceId(userDomainId, **data)
POST /v1.0/{domain_id}/common/order-mgr/resources/delete链接(合作伙伴运营能力)
链接(客户运营能力)
enable_auto_renew(userDomainId,resource_id="xxxxxxxxxxxxxx",action_id="autorenew")
POST /v1.0/{domain_id}/common/order-mgr/resources/{resource_id}/actions链接(合作伙伴运营能力)
链接(客户运营能力)
SDK开发指南 A API & SDK 对应关系
2019-11-22 175
Interface Method API
disable_auto_renew(userDomainId,resource_id="xxxxxxxxxxxx",action_id="autorenew")
DELETE /v1.0/{domain_id}/common/order-mgr/resources/{resource_id}/actions链接(合作伙伴运营能力)
链接(客户运营能力)
Pay-Per-UseResource
query_customer_resource(userDomainId, **data)
POST /v1.0/{partner_id}/partner/customer-mgr/customer-resource/query-resources链接(合作伙伴运营能力)
Bill query_monthly_expenditure_summary(userDomainId,**data)
GET /v1.0/{domain_id}/customer/account-mgr/bill/monthly-sum链接(客户运营能力)
query_resource_usage_details(userDomainId, **data)
GET /v1.0/{domain_id}/customer/account-mgr/bill/res-records链接(客户运营能力)
query_resource_usage_record(userDomainId, **data)
GET /v1.0/{domain_id}/customer/account-mgr/bill/res-fee-records链接(客户运营能力)
Utilities send_verification_code(userDomainId, **data)
POST /v1.0/{partner_id}/partner/common-mgr/verificationcode链接(合作伙伴运营能力)
A.3 Go
A.3.1 ECS基于ECS v1 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
CloudServers
GetJobResult(client*gophercloud.ServiceClient, idstring)
GET /v1/{project_id}/jobs/{job_id}链接
GetServerRecoveryStatus(client*gophercloud.ServiceClient,serverID string)
GET /v1/{project_id}/cloudservers/{server_id}/autorecovery链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 176
Interface Method API
ConfigServerRecovery(client*gophercloud.ServiceClient,serverID string, opts string)
PUT /v1/{project_id}/cloudservers/{server_id}/autorecovery链接
Get(client*gophercloud.ServiceClient,serverID string)
GET /v1/{project_id}/cloudservers/{server_id}链接
ListDetail(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v1/{project_id}/cloudservers/detail{?flavor,name,status,limit,offset,not-tags,reservation_id,enterprise_project_id,tags}链接
BatchStart(client*gophercloud.ServiceClient, optsBatchStartOpts)
POST /v1/{project_id}/cloudservers/action链接
BatchReboot(client*gophercloud.ServiceClient, optsBatchRebootOpts)
POST /v1/{project_id}/cloudservers/action链接
BatchStop(client*gophercloud.ServiceClient, optsBatchStopOpts)
POST /v1/{project_id}/cloudservers/action链接
BatchUpdate(client*gophercloud.ServiceClient, optsBatchUpdateOpts)
PUT /v1/{project_id}/cloudservers/server-name链接
Tags BatchCreateServerTags(client*gophercloud.ServiceClient,serverID string, optsBatchTagCreateOptsBuilder)
POST /v1/{project_id}/cloudservers/{server_id}/tags/action链接
BatchDeleteServerTags(client*gophercloud.ServiceClient,serverID string, optsBatchTagDeleteOptsBuilder)
POST /v1/{project_id}/cloudservers/{server_id}/tags/action链接
ListProjectTags(client*gophercloud.ServiceClient)
GET /v1/{project_id}/cloudservers/tags链接
ListServerTags(client*gophercloud.ServiceClient,serverID string)
GET /v1/{project_id}/cloudservers/{server_id}/tags链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 177
基于ECS v2 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
CloudServers
ReinstallOS(client*gophercloud.ServiceClient,serverID string, optsReinstallOptsBuilder)
POST /v2/{project_id}/cloudservers/{server_id}/reinstallos链接
基于Nova v2 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
Servers Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2/{project_id}/servers链接
List(client *gophercloud.ServiceClient,opts ListOptsBuilder)
GET /v2/{project_id}/servers/detail链接
Get(client *gophercloud.ServiceClient, idstring)
GET /v2/{project_id}/servers/{server_id}链接
Update(client*gophercloud.ServiceClient, id string,opts UpdateOptsBuilder)
PUT /v2/{project_id}/servers/{server_id}链接
Delete(client*gophercloud.ServiceClient, id string)
DELETE /v2/{project_id}/servers/{server_id}链接
Resize(client *gophercloud.ServiceClient,id string, opts ResizeOptsBuilder)
POST /v2/{project_id}/servers/{server_id}/action链接
ConfirmResize(client*gophercloud.ServiceClient, id string)
POST /v2/{project_id}/servers/{server_id}/action链接
RevertResize(client*gophercloud.ServiceClient, id string)
POST /v2/{project_id}/servers/{server_id}/action链接
Start(client *gophercloud.ServiceClient,id string)
POST /v2/{project_id}/servers/{server_id}/action链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 178
Interface Method API
Stop(client *gophercloud.ServiceClient,id string)
POST /v2/{project_id}/servers/{server_id}/action链接
Create(client*gophercloud.ServiceClient, optsservers.CreateOptsBuilder)
POST /v2/{project_id}/os-volumes_boot链接
Reboot(client*gophercloud.ServiceClient, id string,opts RebootOptsBuilder)
POST /v2/{project_id}/servers/{server_id}/action链接
ResetMetadata(client*gophercloud.ServiceClient, id string,opts ResetMetadataOptsBuilder)
PUT /v2/{project_id}/servers/{server_id}/metadata链接
Metadata(client*gophercloud.ServiceClient, id string)
GET /v2/{project_id}/servers/{server_id}/metadata链接
UpdateMetadata(client*gophercloud.ServiceClient, id string,opts UpdateMetadataOptsBuilder)
POST /v2/{project_id}/servers/{server_id}/metadata链接
Metadatum(client*gophercloud.ServiceClient, id, keystring)
GET /v2/{project_id}/servers/{server_id}/metadata/{key}链接
DeleteMetadatum(client*gophercloud.ServiceClient, id, keystring)
DELETE /v2/{project_id}/servers/{server_id}/metadata/{key}链接
ListInstanceActions(client*gophercloud.ServiceClient, serverIDstring)
GET /v2/{project_id}/servers/{server_id}/os-instance-actions链接
GetInstanceActions(client*gophercloud.ServiceClient, serverIDstring, RequestID string)
GET /v2/{project_id}/servers/{server_id}/os-instance-actions/{request_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 179
Interface Method API
GetConsoleLog(client*gophercloud.ServiceClient, id string,length string)
POST /v2/{project_id}/servers/{server_id}/action链接
Interface List(client *gophercloud.ServiceClient,serverID string)
GET /v2/{project_id}/servers/{server_id}/os-interface链接
Get(client *gophercloud.ServiceClient,serverID, portID string)
GET /v2/{project_id}/servers/{server_id}/os-interface/{id}链接
Create(client*gophercloud.ServiceClient, serverIDstring, opts CreateOptsBuilder)
POST /v2/{project_id}/servers/{server_id}/os-interface链接
Delete(client*gophercloud.ServiceClient, serverID,portID string)
DELETE /v2/{project_id}/servers/{server_id}/os-interface/{id}链接
Flavors ListDetail(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v2/{project_id}/flavors/detail链接
Get(client *gophercloud.ServiceClient, idstring)
GET /v2/{project_id}/flavors/{flavor_id}链接
Images ListDetail(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v2/{project_id}/images/detail链接
Delete(client*gophercloud.ServiceClient, id string)
DELETE /v2/{project_id}/images/{image_id}链接
Get(client *gophercloud.ServiceClient, idstring)
GET /v2/{project_id}/images/{image_id}链接
Key Pairs Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2/{project_id}/os-keypairs链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 180
Interface Method API
Get(client *gophercloud.ServiceClient,name string)
GET /v2/{project_id}/os-keypairs/{keypair_name}链接
Delete(client*gophercloud.ServiceClient, namestring)
DELETE /v2/{project_id}/os-keypairs/{keypair_name}链接
List(client *gophercloud.ServiceClient) GET /v2/{project_id}/os-keypairs链接
Quotas GetLimits(client*gophercloud.ServiceClient)
GET /v2/{project_id}/limits链接
Get(client *gophercloud.ServiceClient,tenantID string)
GET /v2/{project_id}/os-quota-sets/{project_id}链接
GetDefault(client*gophercloud.ServiceClient, ProjectIDstring)
GET /v2/{project_id}/os-quota-sets/{project_id}/defaults链接
Volumeattach
List(client *gophercloud.ServiceClient,serverID string)
GET /v2/{project_id}/servers/{server_id}/os-volume_attachments链接
Create(client*gophercloud.ServiceClient, serverIDstring, opts CreateOptsBuilder)
POST /v2/{project_id}/servers/{server_id}/os-volume_attachments链接
Get(client *gophercloud.ServiceClient,serverID, attachmentID string)
GET /v2/{project_id}/servers/{server_id}/os-volume_attachments/{volume_id}链接
Delete(client*gophercloud.ServiceClient, serverID,attachmentID string)
DELETE /v2/{project_id}/servers/{server_id}/os-volume_attachments/{volume_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 181
Interface Method API
DeleteWithFlag(client*gophercloud.ServiceClient, serverID,volumeID string, deleteFlag int)
DELETE /v2/{project_id}/servers/{server_id}/os-volume_attachments/{volume_id}?delete_flag={delete_flag}链接
A.3.2 EVS基于Cinder v2 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
Volumes List(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v2/{project_id}/volumes/detail
Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2/{project_id}/volumes
Get(client*gophercloud.ServiceClient, idstring)
GET /v2/{project_id}/volumes/{volume_id}
Delete(client*gophercloud.ServiceClient, idstring)
DELETE /v2/{project_id}/volumes/{volume_id}
Update(client*gophercloud.ServiceClient, idstring, opts UpdateOptsBuilder)
PUT /v2/{project_id}/volumes/{volume_id}
A.3.3 VPC基于VPC v1 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
Bandwidths Get(client*gophercloud.ServiceClient,bandwidthId string)
GET /v1/{project_id}/bandwidths/{bandwidth_id}链接
List(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v1/{project_id}/bandwidths链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 182
Interface Method API
Update(client*gophercloud.ServiceClient,bandwidthId string, optsUpdateOptsBuilder)
PUT /v1/{project_id}/bandwidths/{bandwidth_id}链接
Ports Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v1/{project_id}/ports链接
Delete(client*gophercloud.ServiceClient, portIdstring)
DELETE /v1/{project_id}/ports/{port_id}链接
Get(client*gophercloud.ServiceClient, portIdstring)
GET /v1/{project_id}/ports/{port_id}链接
List(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v1/{project_id}/ports链接
Update(client*gophercloud.ServiceClient, portIdstring, opts UpdateOptsBuilder)
PUT /v1/{project_id}/ports/{port_id}链接
PrivateIps Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v1/{project_id}/privateips链接
Delete(client*gophercloud.ServiceClient,privateipId string)
DELETE /v1/{project_id}/privateips/{privateip_id}链接
Get(client*gophercloud.ServiceClient,privateipId string)
GET /v1/{project_id}/privateips/{privateip_id}链接
List(client*gophercloud.ServiceClient,subnetId string, optsListOptsBuilder)
GET /v1/{project_id}/subnets/{subnet_id}/privateips链接
PublicIps Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v1/{project_id}/publicips链接
Delete(client*gophercloud.ServiceClient,publicipId string)
DELETE /v1/{project_id}/publicips/{publicip_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 183
Interface Method API
Get(client*gophercloud.ServiceClient,publicipId string)
GET /v1/{project_id}/publicips/{publicip_id}链接
List(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v1/{project_id}/publicips链接
Update(client*gophercloud.ServiceClient,publicipId string, optsUpdateOptsBuilder)
PUT /v1/{project_id}/publicips/{publicip_id}链接
Quotas List(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v1/{project_id}/quotas链接
SecurityGroupRules
Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v1/security-group-rules链接
Delete(client*gophercloud.ServiceClient,securityGroupsRulesId string)
DELETE /v1/security-group-rules/{security-groups-rules-id}链接
Get(client*gophercloud.ServiceClient,securityGroupsRulesId string)
GET /v1/security-group-rules/{security-groups-rules-id}链接
List(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v1/security-group-rules链接
SecurityGroups
Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v1/{project_id}/security-groups链接
Delete(client*gophercloud.ServiceClient,securityGroupId string)
DELETE /v1/{project_id}/security-groups/{security_group_id}链接
Get(client*gophercloud.ServiceClient,securityGroupId string)
GET /v1/{project_id}/security-groups/{security_group_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 184
Interface Method API
List(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v1/{project_id}/security-groups链接
Subnets Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v1/{project_id}/subnets链接
Delete(client*gophercloud.ServiceClient, vpcIdstring, subnetId string)
DELETE /v1/{project_id}/vpcs/{vpc_id}/subnets/{subnet_id}链接
Get(client*gophercloud.ServiceClient,subnetId string)
GET /v1/{project_id}/subnets/{subnet_id}链接
List(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v1/{project_id}/subnets链接
Update(client*gophercloud.ServiceClient, vpcIdstring, subnetId string, optsUpdateOptsBuilder)
PUT /v1/{project_id}/vpcs/{vpc_id}/subnets/{subnet_id}链接
Vpcs Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v1/{project_id}/vpcs链接
Delete(client*gophercloud.ServiceClient, vpcIdstring)
DELETE /v1/{project_id}/vpcs/{vpc_id}链接
Get(client*gophercloud.ServiceClient, vpcIdstring)
GET /v1/{project_id}/vpcs/{vpc_id}链接
List(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v1/{project_id}/vpcs链接
Update(client*gophercloud.ServiceClient, vpcIdstring, opts UpdateOptsBuilder)
PUT /v1/{project_id}/vpcs/{vpc_id}链接
基于Neutron v2.0 API的SDK接口如下,调用方式请参考示例代码。
SDK开发指南 A API & SDK 对应关系
2019-11-22 185
Interface
Method API
Networks
Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2.0/networks链接
List(client *gophercloud.ServiceClient,opts ListOptsBuilder)
GET /v2.0/networks链接
Get(client *gophercloud.ServiceClient,networkId string)
GET /v2.0/networks/{network_id}链接
Update(client*gophercloud.ServiceClient, networkIdstring, opts UpdateOptsBuilder)
PUT /v2.0/networks/{network_id)链接
Delete(client*gophercloud.ServiceClient, networkIdstring)
DELETE /v2.0/networks/{network_id}链接
Subnets Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2.0/subnets链接
List(client *gophercloud.ServiceClient,opts ListOptsBuilder)
GET /v2.0/subnets链接
Get(client *gophercloud.ServiceClient,subnetId string)
GET /v2.0/subnets/{subnet_id}链接
Update(client*gophercloud.ServiceClient, subnetIdstring, opts UpdateOptsBuilder)
PUT /v2.0/subnets/{subnet_id}链接
Delete(client*gophercloud.ServiceClient, subnetIdstring)
DELETE /v2.0/subnets/{subnet_id}链接
Ports Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2.0/ports链接
List(client *gophercloud.ServiceClient,opts ListOptsBuilder)
GET /v2.0/ports链接
Get(client *gophercloud.ServiceClient,portId string)
GET /v2.0/ports/{port_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 186
Interface
Method API
Update(client*gophercloud.ServiceClient, portIdstring, opts UpdateOptsBuilder)
PUT /v2.0/ports/{port_id}链接
Delete(client*gophercloud.ServiceClient, portIdstring)
DELETE /v2.0/ports/{port_id}链接
SecurityGroup
Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2.0/security-groups链接
Update(client*gophercloud.ServiceClient,securityGroupId string, optsUpdateOptsBuilder)
PUT /v2.0/security-groups/{security_group_id}链接
List(client *gophercloud.ServiceClient,opts ListOpts)
GET /v2.0/security-groups链接
Get(client *gophercloud.ServiceClient,securityGroupId string)
GET /v2.0/security-groups/{security_group_id}链接
SecurityGroupRules
Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2.0/security-group-rules链接
Delete(client*gophercloud.ServiceClient,securityGroupsRulesId string)
DELETE /v2.0/security-group-rules/{security-groups-rules-id}链接
List(client *gophercloud.ServiceClient,opts ListOpts)
GET /v2.0/security-group-rules链接
Get(client *gophercloud.ServiceClient,securityGroupsRulesId string)
GET /v2.0/security-group-rules/{security-groups-rules-id}链接
Routers Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2.0/routers链接
Delete(client*gophercloud.ServiceClient, routerIdstring)
DELETE /v2.0/routers/{router_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 187
Interface
Method API
Update(client*gophercloud.ServiceClient, routerIdstring, opts UpdateOptsBuilder)
PUT /v2.0/routers/{router_id}链接
List(client *gophercloud.ServiceClient,opts ListOpts)
GET /v2.0/routers链接
Get(client *gophercloud.ServiceClient,routerId string)
GET /v2.0/routers/{router_id}链接
AddInterface(client*gophercloud.ServiceClient, routerIdstring, opts AddInterfaceOptsBuilder)
PUT /v2.0/routers/{router_id}/add_router_interface链接
RemoveInterface(client*gophercloud.ServiceClient, routerIdstring, optsRemoveInterfaceOptsBuilder)
PUT /v2.0/routers/{router_id}/remove_router_interface链接
FloatingIps
Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2.0/floatingips链接
Delete(client*gophercloud.ServiceClient, floatingipIdstring)
DELETE /v2.0/floatingips/{floatingip_id}链接
Update(client*gophercloud.ServiceClient, floatingipIdstring, opts UpdateOptsBuilder)
PUT /v2.0/floatingips/{floatingip_id}链接
List(client *gophercloud.ServiceClient,opts ListOpts)
GET /v2.0/floatingips链接
Get(client *gophercloud.ServiceClient,floatingipId string)
GET /v2.0/floatingips/{floatingip_id}链接
A.3.4 IAM基于Keystone v3 API的SDK接口如下,调用方式请参考示例代码。
SDK开发指南 A API & SDK 对应关系
2019-11-22 188
Interface Method API
Tokens Create(c*gophercloud.ServiceClient, optsAuthOptionsBuilder)
POST /v3/auth/tokens链接
Validate(c*gophercloud.ServiceClient, tokenstring)
GET /v3/auth/tokens链接
Servicecatalog
List(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v3/services链接
Get(client*gophercloud.ServiceClient,serviceID string)
GET /v3/services/{service_id}链接
Endpoints List(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v3/endpoints链接
A.3.5 IMS基于Glance v2 API的SDK接口如下,调用方式请参考示例代码。
Interface Method API
images Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2/images
Delete(client*gophercloud.ServiceClient, idstring)
DELETE /v2/images/{image_id}
List(c *gophercloud.ServiceClient,opts ListOptsBuilder)
GET /v2/images
Update(client*gophercloud.ServiceClient, idstring, opts UpdateOptsBuilder)
PATCH /v2/images/{image_id}
Get(client*gophercloud.ServiceClient, idstring)
GET /v2/images/{image_id}
A.3.6 ELB基于ELB v2 Go SDK的SDK接口如下,调用方式请参考示例代码。
SDK开发指南 A API & SDK 对应关系
2019-11-22 189
Interface
Method API
policy func List(sc*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v2.0/lbaas/l7policies链接
func Get(sc*gophercloud.ServiceClient, id string)
GET /v2.0/lbaas/l7policies/{policy_id}链接
func Create(sc*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2.0/lbaas/l7policies链接
func Update(sc*gophercloud.ServiceClient, id string,opts UpdateOptsBuilder)
PUT /v2.0/lbaas/l7policies/{policy_id}链接
func Delete(sc*gophercloud.ServiceClient, id string)
DELETE /v2.0/lbaas/l7policies/{policy_id}链接
certificate
func List(c*gophercloud.ServiceClient)
GET /v2.0/lbaas/certificates链接
func Get(c*gophercloud.ServiceClient, id string)
GET /v2.0/lbaas/certificates/{certificate_id}链接
func Create(c*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2.0/lbaas/certificates链接
func Update(c*gophercloud.ServiceClient, id string,opts UpdateOptsBuilder)
PUT /v2.0/lbaas/certificates/{certificate_id}链接
func Delete(c*gophercloud.ServiceClient, id string)
DELETE /v2.0/lbaas/certificates/{certificate_id}链接
loadbalancer
func List(c*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v2.0/lbaas/loadbalancers链接
func Get(c*gophercloud.ServiceClient, id string)
GET /v2.0/lbaas/loadbalancers/{loadbalancer_id}链接
func Create(c*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2.0/lbaas/loadbalancers链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 190
Interface
Method API
func Update(c*gophercloud.ServiceClient, id string,opts UpdateOpts)
PUT /v2.0/lbaas/loadbalancers/{loadbalancer_id}链接
func Delete(c*gophercloud.ServiceClient, id string)
DELETE /v2.0/lbaas/loadbalancers/{loadbalancer_id}链接
func GetStatuses(c*gophercloud.ServiceClient, id string)
GET /v2.0/lbaas/loadbalancers/{loadbalancer_id}/statuses链接
listener func List(c*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v2.0/lbaas/listeners链接
func Get(c*gophercloud.ServiceClient, id string)
GET /v2.0/lbaas/listeners/{listener_id}链接
func Create(c*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2.0/lbaas/listeners链接
func Update(c*gophercloud.ServiceClient, id string,opts UpdateOpts)
PUT /v2.0/lbaas/listeners/{listener_id}链接
func Delete(c*gophercloud.ServiceClient, id string)(r DeleteResult)
DELETE /v2.0/lbaas/listeners/{listener_id}链接
pool func List(c*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v2.0/lbaas/pools链接
func Get(c*gophercloud.ServiceClient, id string)
GET /v2.0/lbaas/pools/{pool_id}链接
func Create(c*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2.0/lbaas/pools链接
func Update(c*gophercloud.ServiceClient, id string,opts UpdateOptsBuilder)
PUT /v2.0/lbaas/pools/{pool_id}链接
func Delete(c*gophercloud.ServiceClient, id string)
DELETE /v2.0/lbaas/pools/{pool_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 191
Interface
Method API
Member
func ListMembers(c*gophercloud.ServiceClient, poolIDstring, optsListMembersOptsBuilder)
GET /v2.0/lbaas/pools/{pool_id}/members链接
func GetMember(c*gophercloud.ServiceClient, poolIDstring, memberID string)
GET /v2.0/lbaas/pools/{pool_id}/members/{member_id}链接
func CreateMember(c*gophercloud.ServiceClient, poolIDstring, opts CreateMemberOpts)
POST /v2.0/lbaas/pools/{pool_id}/members链接
func UpdateMember(c*gophercloud.ServiceClient, poolIDstring, memberID string, optsUpdateMemberOptsBuilder)
PUT /v2.0/lbaas/pools/{pool_id}/members/{member_id}链接
func DeleteMember(c*gophercloud.ServiceClient, poolIDstring, memberID string)
DELETE /v2.0/lbaas/pools/{pool_id}/members/{member_id}链接
healthmonitor
func List(c*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v2.0/lbaas/healthmonitors链接
func Get(c*gophercloud.ServiceClient, id string)
GET /v2.0/lbaas/healthmonitors/{healthmonitor_id}链接
func Create(c*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2.0/lbaas/healthmonitors链接
func Update(c*gophercloud.ServiceClient, id string,opts UpdateOptsBuilder)
PUT /v2.0/lbaas/healthmonitors/{healthmonitor_id}链接
func Delete(c*gophercloud.ServiceClient, id string)
DELETE /v2.0/lbaas/healthmonitors/{healthmonitor_id}链接
whitelist
func List(c*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v2.0/lbaas/whitelists链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 192
Interface
Method API
func Get(c*gophercloud.ServiceClient, id string)
GET /v2.0/lbaas/whitelists/{whitelist_id}链接
func Create(c*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2.0/lbaas/whitelists链接
func Update(c*gophercloud.ServiceClient, id string,opts UpdateOptsBuilder)
PUT /v2.0/lbaas/whitelists/{whitelist_id}链接
func Delete(c*gophercloud.ServiceClient, id string)
DELETE /v2.0/lbaas/whitelists/{whitelist_id}链接
rule func List(c*gophercloud.ServiceClient, optsListOptsBuilder)
GET /v2.0/lbaas/l7policies/{l7policy_id}/rules链接
func Get(c*gophercloud.ServiceClient, id string)
GET /v2.0/lbaas/l7policies/{l7policy_id}/rules/{l7rule_id}链接
func Create(c*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /v2.0/lbaas/l7policies/{l7policy_id}/rules链接
func Update(c*gophercloud.ServiceClient, id string,opts UpdateOptsBuilder)
PUT /v2.0/lbaas/l7policies/{l7policy_id}/rules/{l7rule_id}链接
func Delete(c*gophercloud.ServiceClient, id string)
DELETE /v2.0/lbaas/l7policies/{l7policy_id}/rules/{l7rule_id}链接
A.3.7 AS基于AS v1 Go SDK的SDK接口如下,调用方式请参考示例代码。
Interface
Method API
Configures
Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /autoscaling-api/v1/{project_id}/scaling_configuration链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 193
Interface
Method API
Delete(client*gophercloud.ServiceClient,scalingConfigurationId string)
DELETE /autoscaling-api/v1/{project_id}/scaling_configuration/{scaling_configuration_id}链接
DeleteWithBatch(client*gophercloud.ServiceClient, optsDeleteWithBatchOptsBuilder)
POST /autoscaling-api/v1/{project_id}/scaling_configurations链接
Get(client*gophercloud.ServiceClient,scalingConfigurationId string)
GET /autoscaling-api/v1/{project_id}/scaling_configuration/{scaling_configuration_id}链接
List(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /autoscaling-api/v1/{project_id}/scaling_configuration链接
Groups Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /autoscaling-api/v1/{project_id}/scaling_group链接
Delete(client*gophercloud.ServiceClient,scalingGroupId string, optsDeleteOptsBuilder)
DELETE /autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}链接
Enable(client*gophercloud.ServiceClient,scalingGroupId string, optsEnableOptsBuilder)
POST /autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}/action链接
Get(client*gophercloud.ServiceClient,scalingGroupId string)
GET /autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}链接
List(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /autoscaling-api/v1/{project_id}/scaling_group链接
Update(client*gophercloud.ServiceClient,scalingGroupId string, optsUpdateOptsBuilder)
PUT /autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 194
Interface
Method API
Instances
Action(client*gophercloud.ServiceClient,scalingGroupId string, optsActionOptsBuilder)
POST /autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action链接
Delete(client*gophercloud.ServiceClient,instanceId string, optsDeleteOptsBuilder)
DELETE /autoscaling-api/v1/{project_id}/scaling_group_instance/{instance_id}链接
List(client*gophercloud.ServiceClient,scalingGroupId string, optsListOptsBuilder)
GET /autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/list链接
LifecycleHooks
CallBack(client*gophercloud.ServiceClient,scalingGroupId string, optsCallBackOptsBuilder)
PUT /autoscaling-api/v1/{project_id}/scaling_instance_hook/{scaling_group_id}/callback链接
Create(client*gophercloud.ServiceClient,scalingGroupId string, optsCreateOptsBuilder)
POST /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}链接
Delete(client*gophercloud.ServiceClient,scalingGroupId string,lifecycleHookNamestring)
DELETE /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}链接
Get(client*gophercloud.ServiceClient,scalingGroupId string,lifecycleHookName string)
GET /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}链接
List(client*gophercloud.ServiceClient,scalingGroupId string)
GET /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/list链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 195
Interface
Method API
ListWithSuspension(client*gophercloud.ServiceClient,scalingGroupId string, optsListWithSuspensionOptsBuilder)
GET /autoscaling-api/v1/{project_id}/scaling_instance_hook/{scaling_group_id}/list链接
Update(client*gophercloud.ServiceClient,scalingGroupId string,lifecycleHookName string, optsUpdateOptsBuilder)
PUT /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}链接
Logs List(client*gophercloud.ServiceClient,scalingGroupId string, optsListOptsBuilder)
GET /autoscaling-api/v1/{project_id}/scaling_activity_log/{scaling_group_id}链接
Notifications
Delete(client*gophercloud.ServiceClient,scalingGroupId string, topicUrnstring)
DELETE /autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}/{topic_urn}链接
ConfigNotification(client*gophercloud.ServiceClient,scalingGroupId string, optsConfigNotificationOptsBuilder)
PUT /autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}链接
List(client*gophercloud.ServiceClient,scalingGroupId string)
GET /autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}链接
Policies Action(client*gophercloud.ServiceClient,scalingPolicyId string, optsActionOptsBuilder)
POST /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}/action链接
Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /autoscaling-api/v1/{project_id}/scaling_policy链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 196
Interface
Method API
Delete(client*gophercloud.ServiceClient,scalingPolicyId string)
DELETE /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}链接
Get(client*gophercloud.ServiceClient,scalingPolicyId string)
GET /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}链接
List(client*gophercloud.ServiceClient,scalingGroupId string, optsListOptsBuilder)
GET /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_group_id}/list链接
Update(client*gophercloud.ServiceClient,scalingPolicyId string,optsUpdateOptsBuilder)
PUT /autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}链接
PolicyLogs
List(client*gophercloud.ServiceClient,scalingPolicyId string, optsListOptsBuilder)
GET /autoscaling-api/v1/{project_id}/scaling_policy_execute_log/{scaling_policy_id}链接
Quotas List(client*gophercloud.ServiceClient)
GET /autoscaling-api/v1/{project_id}/quotas链接
ListWithInstances(client*gophercloud.ServiceClient,scalingGroupId string)
GET /autoscaling-api/v1/{project_id}/quotas/{scaling_group_id}链接
Tags ListResourceTags(client*gophercloud.ServiceClient,resourceType string, resourceIdstring)
GET /autoscaling-api/v1/{project_id}/{resource_type}/{resource_id}/tags链接
ListTenantTags(client*gophercloud.ServiceClient,resourceType string)
GET /autoscaling-api/v1/{project_id}/{resource_type}/tags链接
ListInstanceTags(client*gophercloud.ServiceClient,resourceType string, optsInstanceOptsBuilder)
POST /autoscaling-api/v1/{project_id}/{resource_type}/resource_instances/action链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 197
Interface
Method API
Update(client*gophercloud.ServiceClient,resourceType string, resourceIdstring, opts UpdateOptsBuilder)
POST /autoscaling-api/v1/{project_id}/{resource_type}/{resource_id}/tags/action链接
基于AS v2.0 Go SDK的SDK接口如下,调用方式请参考示例代码。
Interface Method API
Policies Create(client*gophercloud.ServiceClient, optsCreateOptsBuilder)
POST /autoscaling-api/v2/{project_id}/scaling_policy链接
Get(client*gophercloud.ServiceClient,scalingPolicyId string)
GET /autoscaling-api/v2/{project_id}/scaling_policy/{scaling_policy_id}链接
GetPolicyListByResourceID(client*gophercloud.ServiceClient,scalingResourceId string, optsResourceListOptsBuilder)
GET /autoscaling-api/v2/{project_id}/scaling_policy/{scaling_resource_id}/list链接
Update(client*gophercloud.ServiceClient,scalingPolicyId string, optsUpdateOptsBuilder)
PUT /autoscaling-api/v2/{project_id}/scaling_policy/{scaling_policy_id}链接
List(client*gophercloud.ServiceClient, optsListOptsBuilder)
GET /autoscaling-api/v2/{project_id}/scaling_policy链接
A.3.8 FGS基于函数工作流FGD v2 Go SDK的SDK接口如下,调用方式请参考示例代码。
SDK开发指南 A API & SDK 对应关系
2019-11-22 198
Resource Method API
Functions Create(c*gophercloud.ServiceClient,opts CreateOptsBuilder)
POST /v2/{project_id}/fgs/functions
List(client*gophercloud.ServiceClient,opts ListOptsBuilder)
GET /v2/{project_id}/fgs/functions?{marker}=marker&{maxitems}=maxitems
GetMetadata(c*gophercloud.ServiceClient,functionUrn string)
GET /v2/{project_id}/fgs/functions/{function_urn}/config
GetCode(c*gophercloud.ServiceClient,functionUrn string)
GET /v2/{project_id}/fgs/functions/{function_urn}/code
Delete(c*gophercloud.ServiceClient,functionUrn string)
DELETE /v2/{project_id}/fgs/functions/{function_urn}
UpdateCode(c*gophercloud.ServiceClient,functionUrn string, optsUpdateOptsBuilder)
PUT /v2/{project_id}/fgs/functions/{function_urn}/code
UpdateMetadata(c*gophercloud.ServiceClient,functionUrn string, optsUpdateOptsBuilder)
PUT /v2/{project_id}/fgs/functions/{function_urn}/config
CreateVersion(c*gophercloud.ServiceClient,opts CreateOptsBuilder,functionUrn string)
POST /v2/{project_id}/fgs/functions/{function_urn}/versions
ListVersion(c*gophercloud.ServiceClient,opts ListOptsBuilder,functionUrn string)
GET /v2/{project_id}/fgs/functions/{function_urn}/versions?marker={marker}&maxitems={maxitems}
CreateAlias(c*gophercloud.ServiceClient,opts CreateOptsBuilder,functionUrn string)
POST /v2/{project_id}/fgs/functions/{function_urn}/aliases
UpdateAlias(c*gophercloud.ServiceClient,functionUrn, aliasNamestring, optsUpdateOptsBuilder)
PUT /v2/{project_id}/fgs/functions/{function_urn}/aliases/{alias_name}
SDK开发指南 A API & SDK 对应关系
2019-11-22 199
Resource Method API
DeleteAlias(c*gophercloud.ServiceClient,functionUrn, aliasNamestring)
DELETE /v1.0/{project_id}/fss/functions/{function_urn}/aliases/{alias_name}
GetAlias(c*gophercloud.ServiceClient,functionUrn, aliasNamestring)
GET /v2/{project_id}/fgs/functions/{function_urn}/aliases/{alias_name}
ListAlias(c*gophercloud.ServiceClient,functionUrn string)
GET /v2/{project_id}/fgs/functions/{function_urn}/aliases
Invoke(c*gophercloud.ServiceClient,m map[string]interface{},functionUrn string)
POST /v2/{project_id}/fgs/functions/{function_urn}/invocations
AsyncInvoke(c*gophercloud.ServiceClient,m map[string]interface{},functionUrn string)
POST /v2/{project_id}/fgs/functions/{function_urn}/invocations-async
Triggers List(c*gophercloud.ServiceClient,functionUrn string)
GET /v2/{project_id}/fgs/triggers/{function_urn}
Create(c*gophercloud.ServiceClient,opts CreateOptsBuilder,functionUrn string)
POST /v2/{project_id}/fgs/triggers/{function_urn}
Delete(c*gophercloud.ServiceClient,functionUrn,triggerTypeCode, triggerIdstring)
DELETE /v2/{project_id}/fgs/triggers/{function_urn}/{trigger_type_code}/{trigger_id}
Get(c*gophercloud.ServiceClient,functionUrn,triggerTypeCode, triggerIdstring)
GET /v2/{project_id}/fgs/triggers/{function_urn}/{trigger_type_code}/{trigger_id}
DeleteAll(c*gophercloud.ServiceClient,functionUrn string)
DELETE /v2/{project_id}/fgs/triggers/{function_urn}
A.3.9 RDS基于RDS v3 Go SDK的SDK接口如下,调用方式参考示例代码。
SDK开发指南 A API & SDK 对应关系
2019-11-22 200
Interface Method API
Datastores func listURL(sc*gophercloud.ServiceClient,databasename string)
GET /v3/{project_id}/datastores/{database_name}链接
Instances func createURL(sc*gophercloud.ServiceClient)
POST /v3/{project_id}/instances链接
func resizeURL(sc*gophercloud.ServiceClient,instancesId string)
POST /v3/{project_id}/instances/{instance_id}/action链接
func enlargeURL(sc*gophercloud.ServiceClient,instancesId string)
POST /v3/{project_id}/instances/{instance_id}/action链接
func singletohaURL(sc*gophercloud.ServiceClient,instancesId string)
POST /v3/{project_id}/instances/{instance_id}/action链接
func restartURL(sc*gophercloud.ServiceClient,instancesId string)
POST /v3/{project_id}/instances/{instance_id}/action链接
func deleteURL(sc*gophercloud.ServiceClient,serverID string)
DELETE /v3/{project_id}/instances/{instance_id}链接
func listURL(sc*gophercloud.ServiceClient)
GET /v3/{project_id}/instances链接
func listerrorlogURL(sc*gophercloud.ServiceClient,instanceID string)
GET /v3/{project_id}/instances/{instance_id}/errorlog链接
func listslowlogURL(sc*gophercloud.ServiceClient,instanceID string)
GET /v3/{project_id}/instances/{instance_id}/slowlog链接
Configurations
func listURL(sc*gophercloud.ServiceClient)
GET /v3/{project_id}/configurations链接
func createURL(sc*gophercloud.ServiceClient)
POST /v3/{project_id}/configurations链接
Backups func updatepolicyURL(sc*gophercloud.ServiceClient,instanceId string)
PUT /v3/{project_id}/instances/{instance_id}/backups/policy链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 201
Interface Method API
func getpolicyURL(sc*gophercloud.ServiceClient,instanceID string)
GET /v3/{project_id}/instances/{instance_id}/backups/policy链接
func createURL(sc*gophercloud.ServiceClient)
POST /v3/{project_id}/backups链接
func listURL(sc*gophercloud.ServiceClient)
GET /v3/{project_id}/backups链接
func listfilesURL(sc*gophercloud.ServiceClient)
GET /v3/{project_id}/backup-files链接
func deleteURL(sc*gophercloud.ServiceClient,backupId string)
DELETE /v3/{project_id}/backups/{backup_id}链接
func getrestoretimeURL(sc*gophercloud.ServiceClient,instanceId string)
GET /v3/{project_id}/instances/{instance_id}/restore-time链接
func restoreURL(sc*gophercloud.ServiceClient)
POST /v3/{project_id}/instances链接
func recoveryURL(sc*gophercloud.ServiceClient)
GET /v3/{project_id}/instances/recovery链接
Database func createURL(sc*gophercloud.ServiceClient,instanceID string)
POST /v3/{project_id}/instances/{instance_id}/database链接
func listURL(sc*gophercloud.ServiceClient,instanceID string)
GET /v3/{project_id}/instances/{instance_id}/database/detail链接
func deleteURL(sc*gophercloud.ServiceClient,instanceID string,dbNamestring)
DELETE/v3/{project_id}/instances/{instance_id}/database/{db_name}链接
func createURL(sc*gophercloud.ServiceClient,instanceID string)
POST /v3/{project_id}/instances/{instance_id}/db_privilege链接
func deleteURL(sc*gophercloud.ServiceClient,instanceID string)
DELETE /v3/{project_id}/instances/{instance_id}/db_privilege链接
SDK开发指南 A API & SDK 对应关系
2019-11-22 202
Interface Method API
DbUser func createURL(sc*gophercloud.ServiceClient,instanceID string)
POST /v3/{project_id}/instances/{instance_id}/db_user链接
func listURL(sc*gophercloud.ServiceClient,instanceID string)
GET /v3/{project_id}/instances/{instance_id}/db_user/detail链接
func deleteURL(sc*gophercloud.ServiceClient,instanceID string, dbuserstring)
DELETE v3/{project_id}/instances/{instance_id}/db_user/{user_name}链接
Flavors func listURL(sc*gophercloud.ServiceClient,databasename string)
GET /v3/{project_id}/flavors/{database_name}链接
StorageType func listURL(sc*gophercloud.ServiceClient,databasename string)
GET/v3/{project_id}/storage-type/{database_name}链接
A.3.10 BSS基于BSS v1.0 API的SDK接口如下,调用方式请参考示例代码。
说明
如下接口的API链接有面向合作伙伴和面向客户之分,若链接为“合作伙伴运营能力”表明该链接是面向合作伙伴的API接口链接,若链接为“客户运营能力”表明该链接是面向客户的API接口链接。
Interface Method API
CustomerManagement
funcCheckCustomerRegisterInfo(client*gophercloud.ServiceClient,optsCheckCustomerRegisterInfoBuilder)
POST /v1.0/{partner_id}/partner/customer-mgr/check-user链接(合作伙伴运营能力)
func CreateCustomer(client*gophercloud.ServiceClient,optsCreateCustomerOptsBuilder)
POST /v1.0/{partner_id}/partner/customer-mgr/customer链接(合作伙伴运营能力)
func QueryCustomer(client*gophercloud.ServiceClient,optsQueryCustomerOptsBuilder)
POST /v1.0/{partner_id}/partner/customer-mgr/query链接(合作伙伴运营能力)
SDK开发指南 A API & SDK 对应关系
2019-11-22 203
Interface Method API
RealnameAuth
funcIndividualRealNameAuth(client *gophercloud.ServiceClient,optsIndividualRealNameAuthOptsBuilder)
POST /v1.0/{partner_id}/partner/customer-mgr/realname-auth/individual链接(合作伙伴运营能力)
funcEnterpriseRealNameAuth(client *gophercloud.ServiceClient,optsEnterpriseRealNameAuthOptsBuilder)
POST /v1.0/{partner_id}/partner/customer-mgr/realname-auth/enterprise链接(合作伙伴运营能力)
funcChangeEnterpriseRealNameAuth(client*gophercloud.ServiceClient,optsChangeEnterpriseRealNameAuthOptsBuilder)
PUT /v1.0/{partner_id}/partner/customer-mgr/realname-auth/enterprise链接(合作伙伴运营能力)
funcQueryRealNameAuth(client*gophercloud.ServiceClient,optsQueryRealNameAuthOptsBuilder)
GET /v1.0/{partner_id}/partner/customer-mgr/realname-auth/result链接(合作伙伴运营能力)
Enquiry func QueryRating(client*gophercloud.ServiceClient,opts QueryRatingOptsBuilder)
POST /v1.0/{domain_id}/customer/product-mgr/query-rating链接(合作伙伴运营能力)
链接(客户运营能力)
PeriodOrder
func QueryOrderList(client*gophercloud.ServiceClient,opts QueryOrderListBuilder)
GET /v1.0/{domain_id}/common/order-mgr/orders/detail链接(合作伙伴运营能力)
链接(客户运营能力)
func QueryOrderDetail(client*gophercloud.ServiceClient,opts QueryOrderDetailBuilder,orderId string)
GET /v1.0/{domain_id}/common/order-mgr/orders/{order_id}链接(合作伙伴运营能力)
链接(客户运营能力)
func PayPeriodOrder(client*gophercloud.ServiceClient,opts PayPeriodOrderBuilder)
POST /v1.0/{domain_id}/customer/order-mgr/order/pay链接(合作伙伴运营能力)
链接(客户运营能力)
SDK开发指南 A API & SDK 对应关系
2019-11-22 204
Interface Method API
funcUnsubscribePeriodOrder(client*gophercloud.ServiceClient,optsUnsubscribePeriodOrderBuilder, orderId string)
DELETE /v1.0/{domain_id}/customer/order-mgr/orders/{order_id}链接(合作伙伴运营能力)
链接(客户运营能力)
func CancelOrder(client*gophercloud.ServiceClient,optsCancelOrderBuilder,actionIdstring)
PUT /v1.0/{domain_id}/customer/order-mgr/orders/actions链接(合作伙伴运营能力)
funcQueryRefundOrderAmount(client*gophercloud.ServiceClient,optsQueryRefundOrderAmountBuilder)
GET /v1.0/{domain_id}/common/order-mgr/orders/refund-order链接(合作伙伴运营能力)
funcQueryResourceStatusByOrderId(client*gophercloud.ServiceClient,optsQueryResourceStatusByOrderIdBuilder, orderId string)
GET /v1.0/{domain_id}/common/order-mgr/orders-resource/{order_id}链接(合作伙伴运营能力)
链接(客户运营能力)
PeriodResource
funcQueryCustomerPeriodResourcesList(client*gophercloud.ServiceClient,optsQueryCustomerPeriodResourcesListOptsBuilder)
GET /v1.0/{domain_id}/common/order-mgr/resources/detail链接(合作伙伴运营能力)
链接(客户运营能力)
funcRenewSubscriptionByResourceId(client*gophercloud.ServiceClient,optsRenewSubscriptionByResourceIdOptsBuilder)
POST /v1.0/{domain_id}/common/order-mgr/resources/renew链接(合作伙伴运营能力)
链接(客户运营能力)
funcUnsubscribeByResourceId(client *gophercloud.ServiceClient,optsUnsubscribeByResourceIdOptsBuilder)
POST /v1.0/{domain_id}/common/order-mgr/resources/delete链接(合作伙伴运营能力)
链接(客户运营能力)
SDK开发指南 A API & SDK 对应关系
2019-11-22 205
Interface Method API
func EnableAutoRenew(client*gophercloud.ServiceClient,optsEnableAutoRenewOptsBuilder,resourceId string)
POST /v1.0/{domain_id}/common/order-mgr/resources/{resource_id}/actions链接(合作伙伴运营能力)
链接(客户运营能力)
func DisableAutoRenew(client*gophercloud.ServiceClient,optsDisableAutoRenewOptsBuilder,resourceId string)
DELETE /v1.0/{domain_id}/common/order-mgr/resources/{resource_id}/actions链接(合作伙伴运营能力)
链接(客户运营能力)
Pay-Per-UseResource
funcQueryCustomerResource(client *gophercloud.ServiceClient,optsQueryCustomerResourceOptsBuilder)
POST /v1.0/{partner_id}/partner/customer-mgr/customer-resource/query-resources链接(合作伙伴运营能力)
Bill funcQueryMonthlyExpenditureSummary(client*gophercloud.ServiceClient,optsQueryMonthlyExpenditureSummaryOptsBuilder)
GET /v1.0/{domain_id}/customer/account-mgr/bill/monthly-sum链接(客户运营能力)
funcQueryResourceUsageDetails(client*gophercloud.ServiceClient,optsQueryResourceUsageDetailsOptsBuilder)
GET /v1.0/{domain_id}/customer/account-mgr/bill/res-records链接(客户运营能力)
funcQueryResourceUsageRecord(client*gophercloud.ServiceClient,optsQueryResourceUsageRecordOptsBuilder)
GET /v1.0/{domain_id}/customer/account-mgr/bill/res-fee-records链接(客户运营能力)
Utilities funcSendVerificationCode(client*gophercloud.ServiceClient,optsSendVerificationCodeOptsBuilder)
POST /v1.0/{partner_id}/partner/common-mgr/verificationcode链接(合作伙伴运营能力)
SDK开发指南 A API & SDK 对应关系
2019-11-22 206
B 修订记录
版本日期 变更说明
2019-11-22 第八次正式发布。
● 新增RDS v3版本的Python语言的SDK。
● 下线RDS v1版本的Python语言的SDK。
2019-11-15 第七次正式发布。
● 新增RDS v3版本的Go语言的SDK。
● 新增函数工作流FGS服务的 JAVA/Python/Go SDK。
2019-06-17 第六次正式发布。
IAM Java SDK、IAM Python SDK和AS Python SDK示例更新内容,修改呈现样式。
2019-05-16 第五次正式发布。
● EVS、VPC服务Go语言示例更新内容,修改呈现样式。
● AS服务新增4.9 AS Go SDK用户指导。
● 2.1 入门、3.1 入门和4.1 入门修改短描述,新增支持的云服务列表。
2019-04-11 第四次正式发布。
EVS、VPC服务Java和Python示例更新内容,修改呈现样式。
2018-11-15 第三次正式发布。
增加KMS、CDN服务的SDK。
2017-12-29 第二次正式发布。
增加Go语言的SDK。
2017-11-29 第一次正式发布。
SDK开发指南 B 修订记录
2019-11-22 207