开卜㌲ㅣݓ · 2020-03-08 · 2 java 2.1 入门...

212
SDK 开发指南 发布日期 2019-11-22

Upload: others

Post on 15-Mar-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

SDK

开发指南

发布日期 2019-11-22

目 录

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

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

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