Skip to content

Commit b6e5a89

Browse files
authored
Merge pull request #123 from Tanc009/master
publish jdcloud-sdk-python 1.6.88
2 parents f085669 + 13e64b5 commit b6e5a89

30 files changed

+535
-48
lines changed
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
11
# 更新历史 #
2-
API版本:1.3.0
2+
API版本:1.3.4
33

44
|发布时间|版本号|更新|说明|
55
|---|---|---|---|
6-
|2020-04-20 |1.3.0 |新增接口 |* 增加查询云主机列表轻量接口 |
7-
|2020-04-20 |1.2.8 |新增参数 |* 创建、停止虚机,创建模板的接口增加chargeOnStopped参数 |
6+
|2020-10-23 |1.3.4 |新增参数 |* 实例接口新增hostname、K-V形式元数据等参数;实例模板接口新增userdata、K-V形式元数据等参数 |
7+
|2020-05-28 |1.3.2 |新增参数 |* 实例接口/实例模板接口新增云硬盘快照策略参数 |
8+
|2020-04-20 |1.2.8 |新增参数 |* 实例接口/实例模板接口增加停机不计费参数 |
89
|2020-01-16 |1.2.7 |新增接口 |* 新增镜像导出接口 |
9-
|2019-10-25 |1.2.5 |新增参数 |* 支持创建虚机时指定标签 |
10-
|2019-10-21 |1.2.4 |升级 |* 升级Charge模块版本 */
11-
|2019-09-04 |1.2.3 |新增接口 |* 新增发布社区镜像、取消发布社区镜像接口,修改DescribeImages等参数 */
10+
|2019-10-25 |1.2.5 |新增参数 |* 支持创建实例时指定标签 |
11+
|2019-10-21 |1.2.4 |升级 |* 升级Charge模块版本 |
1212
|2019-07-25 |1.2.2 |新功能 |* 新增参数userData
1313
|2019-07-22 |1.2.1 |新增接口 |* 新增镜像导入、镜像任务查询相关接口 |
1414
|2019-07-04 |1.2.0 |新增接口 |* 新增实例模板相关功能 |
15-
|2018-12-05 |1.1.0 |新增参数 |* 创建虚机新增参数,可排除模板中某些参数 |
15+
|2018-12-05 |1.1.0 |新增参数 |* 创建实例新增参数,可排除模板中某些参数 |
1616
|2018-10-17 |1.0.9 |文档完善 |* 完善文档描述,针对逻辑不清楚的地方补充描述 |
1717
|2018-09-26 |1.0.8 |接口变更 |* 实例类型接口增加Gpu和本地缓存盘属性<br> * 配额接口增加可查询镜像共享配额<br> * 新增密钥相关接口 |
1818
|2018-09-19 |1.0.6 |文档完善 |* 完善文档描述,针对逻辑不清楚的地方补充描述 |
1919
|2018-09-19 |1.0.5 |文档完善 |* 完善文档描述,针对逻辑不清楚的地方补充描述 |
2020
|2018-09-06 |1.0.4 |文档完善 |* 完善文档描述,针对逻辑不清楚的地方补充描述 |
2121
|2018-08-20 |1.0.3 |Android支持 |* Java SDK新增对Android系统的支持 |
22-
|2018-08-06 |1.0.2 |接口变更 |* 增加接口:批量查询云主机主网卡内网IP地址<br> * 变更接口:查询云主机列表、批量查询云主机状态、增加筛选条件[子网ID] |
22+
|2018-08-06 |1.0.2 |接口变更 |* 增加接口:批量查询实例主网卡内网IP地址<br> * 变更接口:查询实例列表、批量查询云主机状态、增加筛选条件[子网ID] |
2323
|2018-07-24 |1.0.1 |新增接口 |* 增加接口:创建ssh密钥对<br> * 增加接口:导入ssh密钥对<br> * 增加接口:查询ssh密钥对<br> * 增加接口:删除ssh密钥对 |
2424
|2018-07-24 |1.0.0 |新增接口 |* 增加接口:挂载弹性网卡<br> * 增加接口:缷载弹性网卡<br> * 增加接口:修改弹性网卡属性<br> * 增加接口:修改数据盘属性<br> * 增加接口:修改私有镜像属性<br> * 增加接口:私有镜像跨区复制 |
25-
|2018-07-11 |0.7.5 |新增接口 |* 增加批量查询云主机状态接口<br> * 增加批量查询镜像限制接口 |
25+
|2018-07-11 |0.7.5 |新增接口 |* 增加批量查询实例状态接口<br> * 增加批量查询镜像限制接口 |
2626
|2018-04-08 |0.7.4 |文档补充 |* 修正一些是否必填的属性 |
2727
|2018-04-08 |0.7.2 |接口变更 |* 实例规格列表接口变更,增加可用区售卖状态 |
28-
|2018-04-08 |0.7.1 |接口变更 |* 增加变配接口<br> * 增加重置系统接口<br> * 查询主机列表增加Tag过滤条件 |
28+
|2018-04-08 |0.7.1 |接口变更 |* 增加变配接口<br> * 增加重置系统接口<br> * 查询实例列表增加Tag过滤条件 |
2929
|2018-04-08 |0.6.1 |文档完善 | * 完善文档描述,针对逻辑不清楚的地方补充描述
30-
|2018-04-08 |0.5.0 |接口变更 | * 主机挂载云硬盘时,deviceName修改为必传参数
30+
|2018-04-08 |0.5.0 |接口变更 | * 实例挂载云硬盘时,deviceName修改为必传参数
3131
|2018-04-03 |0.4.0 |接口变更 | * 查询Quota增加类型(模板)<br> * 修改Quota增加类型(模板)
32-
|2018-04-02 |0.3.0 |新增接口 | * 增加主机基本操作
32+
|2018-04-02 |0.3.0 |新增接口 | * 增加实例基本操作
3333
|2018-03-31 |0.2.0 |新增接口 | * 增加镜像共享相关接口<br> * 增加主机配置变更相关接口
34-
|2018-01-31 |0.1.0 |新增接口 | * 增加主机基本操作
34+
|2018-01-31 |0.1.0 |新增接口 | * 增加实例基本操作
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# coding=utf8
2+
3+
# Copyright 2018 JDCLOUD.COM
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
# NOTE: This class is auto generated by the jdcloud code generator program.
18+
19+
from jdcloud_sdk.core.jdcloudrequest import JDCloudRequest
20+
21+
22+
class AttachKeypairRequest(JDCloudRequest):
23+
"""
24+
绑定ssh密钥对。
25+
26+
"""
27+
28+
def __init__(self, parameters, header=None, version="v1"):
29+
super(AttachKeypairRequest, self).__init__(
30+
'/regions/{regionId}/keypairs/{keyName}:attach', 'POST', header, version)
31+
self.parameters = parameters
32+
33+
34+
class AttachKeypairParameters(object):
35+
36+
def __init__(self, regionId, keyName, instanceIds, passWordAuth):
37+
"""
38+
:param regionId: 地域ID
39+
:param keyName: 密钥名称
40+
:param instanceIds: 虚机Id
41+
:param passWordAuth: 密码授权,绑定密钥后,根据此参数决定是否使用密码登录,"yes"为使用,"no"为不使用
42+
43+
"""
44+
45+
self.regionId = regionId
46+
self.keyName = keyName
47+
self.instanceIds = instanceIds
48+
self.passWordAuth = passWordAuth
49+

jdcloud_sdk/services/vm/apis/DeleteImageRequest.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,11 @@ def __init__(self, regionId, imageId, ):
4242

4343
self.regionId = regionId
4444
self.imageId = imageId
45+
self.deleteSnapshot = None
46+
47+
def setDeleteSnapshot(self, deleteSnapshot):
48+
"""
49+
:param deleteSnapshot: (Optional) 删除镜像是否删除关联的快照,默认为false;如果指定为true, 将会删除镜像关联的快照。
50+
"""
51+
self.deleteSnapshot = deleteSnapshot
4552

jdcloud_sdk/services/vm/apis/DescribeBriefInstancesRequest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class DescribeBriefInstancesRequest(JDCloudRequest):
2828

2929
def __init__(self, parameters, header=None, version="v1"):
3030
super(DescribeBriefInstancesRequest, self).__init__(
31-
'/regions/{regionId}/instances:describeBriefInstances', 'POST', header, version)
31+
'/regions/{regionId}/instances:describeBriefInstances', 'GET', header, version)
3232
self.parameters = parameters
3333

3434

jdcloud_sdk/services/vm/apis/DescribeImagesRequest.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ def __init__(self, regionId, ):
4646
self.offline = None
4747
self.platform = None
4848
self.ids = None
49+
self.imageName = None
4950
self.rootDeviceType = None
5051
self.launchPermission = None
5152
self.status = None
@@ -82,6 +83,12 @@ def setIds(self, ids):
8283
"""
8384
self.ids = ids
8485

86+
def setImageName(self, imageName):
87+
"""
88+
:param imageName: (Optional) 根据镜像名称模糊查找
89+
"""
90+
self.imageName = imageName
91+
8592
def setRootDeviceType(self, rootDeviceType):
8693
"""
8794
:param rootDeviceType: (Optional) 镜像支持的系统盘类型,[localDisk,cloudDisk]
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# coding=utf8
2+
3+
# Copyright 2018 JDCLOUD.COM
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
# NOTE: This class is auto generated by the jdcloud code generator program.
18+
19+
from jdcloud_sdk.core.jdcloudrequest import JDCloudRequest
20+
21+
22+
class DescribeInstanceTemplatesCustomdataRequest(JDCloudRequest):
23+
"""
24+
查询模板自定义元数据
25+
26+
"""
27+
28+
def __init__(self, parameters, header=None, version="v1"):
29+
super(DescribeInstanceTemplatesCustomdataRequest, self).__init__(
30+
'/regions/{regionId}/instanceTemplatesCustomData', 'GET', header, version)
31+
self.parameters = parameters
32+
33+
34+
class DescribeInstanceTemplatesCustomdataParameters(object):
35+
36+
def __init__(self, regionId, ):
37+
"""
38+
:param regionId: 地域ID
39+
"""
40+
41+
self.regionId = regionId
42+
self.filters = None
43+
44+
def setFilters(self, filters):
45+
"""
46+
:param filters: (Optional) instanceTemplateId - 启动模板ID,精确匹配,支持多个,最多支持10个
47+
"""
48+
self.filters = filters
49+
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# coding=utf8
2+
3+
# Copyright 2018 JDCLOUD.COM
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
# NOTE: This class is auto generated by the jdcloud code generator program.
18+
19+
from jdcloud_sdk.core.jdcloudrequest import JDCloudRequest
20+
21+
22+
class DescribeInstancesCustomDataRequest(JDCloudRequest):
23+
"""
24+
批量查询云主机用户自定义元数据
25+
"""
26+
27+
def __init__(self, parameters, header=None, version="v1"):
28+
super(DescribeInstancesCustomDataRequest, self).__init__(
29+
'/regions/{regionId}/instancesCustomData', 'GET', header, version)
30+
self.parameters = parameters
31+
32+
33+
class DescribeInstancesCustomDataParameters(object):
34+
35+
def __init__(self, regionId, ):
36+
"""
37+
:param regionId: 地域ID
38+
"""
39+
40+
self.regionId = regionId
41+
self.pageNumber = None
42+
self.pageSize = None
43+
self.filters = None
44+
45+
def setPageNumber(self, pageNumber):
46+
"""
47+
:param pageNumber: (Optional) 页码;默认为1
48+
"""
49+
self.pageNumber = pageNumber
50+
51+
def setPageSize(self, pageSize):
52+
"""
53+
:param pageSize: (Optional) 分页大小;默认为10;取值范围[1, 10]
54+
"""
55+
self.pageSize = pageSize
56+
57+
def setFilters(self, filters):
58+
"""
59+
:param filters: (Optional) instanceId - 云主机ID,精确匹配,支持多个
60+
privateIpAddress - 主网卡内网主IP地址,模糊匹配,支持多个
61+
vpcId - 私有网络ID,精确匹配,支持多个
62+
status - 云主机状态,精确匹配,支持多个,<a href="http://docs.jdcloud.com/virtual-machines/api/vm_status">参考云主机状态</a>
63+
imageId - 镜像ID,精确匹配,支持多个
64+
networkInterfaceId - 弹性网卡ID,精确匹配,支持多个
65+
subnetId - 子网ID,精确匹配,支持多个
66+
67+
"""
68+
self.filters = filters
69+

jdcloud_sdk/services/vm/apis/DescribeInstancesRequest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def setFilters(self, filters):
7272
dedicatedHostId - 专有宿主机ID,精确匹配,支持多个
7373
dedicatedPoolId - 专有宿主机池ID,精确匹配,支持多个
7474
instanceType - 实例规格,精确匹配,支持多个
75-
elasticIpAddress - 公网IP地址,精确匹配,支持单个
75+
elasticIpAddress - 公网IP地址,精确匹配,支持单个。该条件会将公网IP转换成networkInterfaceId进行查询,所以与networkInterfaceId为或者的关系。
7676
7777
"""
7878
self.filters = filters
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# coding=utf8
2+
3+
# Copyright 2018 JDCLOUD.COM
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
# NOTE: This class is auto generated by the jdcloud code generator program.
18+
19+
from jdcloud_sdk.core.jdcloudrequest import JDCloudRequest
20+
21+
22+
class DetachKeypairRequest(JDCloudRequest):
23+
"""
24+
解绑ssh密钥对。
25+
26+
"""
27+
28+
def __init__(self, parameters, header=None, version="v1"):
29+
super(DetachKeypairRequest, self).__init__(
30+
'/regions/{regionId}/keypairs/{keyName}:detach', 'POST', header, version)
31+
self.parameters = parameters
32+
33+
34+
class DetachKeypairParameters(object):
35+
36+
def __init__(self, regionId, keyName, instanceIds):
37+
"""
38+
:param regionId: 地域ID
39+
:param keyName: 密钥名称
40+
:param instanceIds: 虚机Id
41+
"""
42+
43+
self.regionId = regionId
44+
self.keyName = keyName
45+
self.instanceIds = instanceIds
46+

jdcloud_sdk/services/vm/apis/ModifyInstanceAttributeRequest.py

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,13 @@ def __init__(self, regionId, instanceId, ):
4343
self.instanceId = instanceId
4444
self.name = None
4545
self.description = None
46+
self.hostname = None
47+
self.metadata = None
48+
self.userdata = None
4649

4750
def setName(self, name):
4851
"""
49-
:param name: (Optional) 名称,<a href="http://docs.jdcloud.com/virtual-machines/api/general_parameters">参考公共参数规范</a>。
52+
:param name: (Optional) 名称,不为空且只允许中文、数字、大小写字母、英文下划线(_)、中划线(-)及点(.),不能以(.)作为首尾,长度为2~128个字符
5053
"""
5154
self.name = name
5255

@@ -56,3 +59,30 @@ def setDescription(self, description):
5659
"""
5760
self.description = description
5861

62+
def setHostname(self, hostname):
63+
"""
64+
:param hostname: (Optional) 云主机hostname,若不指定hostname,则hostname默认使用云主机名称name,但是会以RFC 952和RFC 1123命名规范做一定转义
65+
Windows Server系统:长度为2-15个字符,允许大小写字母、数字或连字符(-)。不能以连字符(-)开头或结尾,不能连续使用连字符(-),也不能全部使用数字。不支持点号(.)。
66+
Linux系统:长度为2-64个字符,允许支持多个点号,点之间为一段,每段允许使用大小写字母、数字或连字符(-),但不能连续使用点号(.)或连字符(-),不能以点号(.)或连字符(-)开头或结尾。
67+
hostname修改后,重启云主机hostname生效
68+
69+
"""
70+
self.hostname = hostname
71+
72+
def setMetadata(self, metadata):
73+
"""
74+
:param metadata: (Optional) 用户自定义元数据信息,key-value 键值对总数量不超过40,其中更新和新增键值对总数量不超过20对,删除的键值对总数量不超过20对。不区分大小写。
75+
如key已有认为是更新value;如key不存在认为是新增键值对;如key后面有连字符(-),比如key-,则删除此key。
76+
77+
"""
78+
self.metadata = metadata
79+
80+
def setUserdata(self, userdata):
81+
"""
82+
:param userdata: (Optional) 元数据信息,目前只支持传入一个key为"launch-script",表示首次启动脚本。value为base64格式。
83+
launch-script:linux系统支持bash和python,编码前须分别以 #!/bin/bash 和 #!/usr/bin/env python 作为内容首行;
84+
launch-script:windows系统支持bat和powershell,编码前须分别以 <cmd></cmd> 和 <powershell></powershell> 作为内容首、尾行。
85+
86+
"""
87+
self.userdata = userdata
88+

0 commit comments

Comments
 (0)