Skip to content

Commit 77729f0

Browse files
publish jdcloud-sdk-python 1.6.122
1 parent 77df1d9 commit 77729f0

16 files changed

Lines changed: 174 additions & 47 deletions

jdcloud_sdk/services/vm/ChangeLog.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
# 更新历史 #
2-
API版本:1.3.7
2+
API版本:1.3.8
33

44
|发布时间|版本号|更新|说明|
55
|---|---|---|---|
6+
|2021-11-16 |1.3.8 |接口变更 |* 实例模板修改接口,支持实例模板的参数修改 |
67
|2021-07-29 |1.3.7 |文档完善 |* 完善文档描述,针对逻辑不清楚的地方补充描述 |
78
|2021-04-22 |1.3.5 |新增接口 |* 新增虚机修改VPC接口 |
89
|2020-10-23 |1.3.4 |新增参数 |* 实例接口新增hostname、K-V形式元数据等参数;实例模板接口新增userdata、K-V形式元数据等参数 |

jdcloud_sdk/services/vm/apis/CreateInstanceTemplateRequest.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ class CreateInstanceTemplateRequest(JDCloudRequest):
2424
2525
创建实例模板。
2626
27-
实例模板是创建云主机实例的配置信息模板,包括镜像、实例规格、系统盘及数据盘类型和容量、私有网络及子网配置、安全组及登录信息等。实例模板可用于创建实例及用于配置高可用组创建高可用组时必须指定实例模板。您每次创建实例时无需重新指定实例模板已包括的参数,缩短您的部署时间。
27+
实例模板是创建云主机实例的配置信息模板,包括镜像、实例规格、系统盘及数据盘类型和容量、私有网络及子网配置、安全组及登录信息等。实例模板可用于创建实例及用于配置高可用组创建高可用组时必须指定实例模板)。使用实例模板创建实例时,无需重新指定实例模板已包括的参数,缩短您的部署时间。
2828
29-
请注意:实例模板一经创建后其属性将不能编辑。
29+
请注意:实例模板一经创建后其属性将不能编辑,如需调整参数请重新创建实例模板替换使用
3030
3131
详细操作说明请参考帮助文档:[创建实例模板](https://docs.jdcloud.com/cn/virtual-machines/create-instance-template)
3232
3333
## 接口说明
34-
- 创建实例模板的限制基本与创建云主机一致,可参考 [创建云主机](https://docs.jdcloud.com/cn/virtual-machines/create-instance-template)。
34+
- 创建实例模板的限制基本与创建云主机一致,可参考 [创建云主机](https://docs.jdcloud.com/cn/virtual-machines/create-instance)。
3535
- 实例模板中包含创建云主机的大部分配置参数,可以避免每次创建云主机时的重复性配置参数的工作。
3636
- 使用实例模板创建云主机时,如果再次指定了某些参数,并且与实例模板中的参数相冲突,那么新指定的参数会替换模板中的参数,以新指定的参数为准。
3737
- 使用实例模板创建云主机时,如果再次指定了镜像ID,并且与模板中的镜像ID不一致,那么模板中的 `systemDisk` 和 `dataDisks` 配置会失效,以新指定的镜像为准。

jdcloud_sdk/services/vm/apis/DescribeImagesRequest.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ def __init__(self, regionId, ):
5959
self.launchPermission = None
6060
self.status = None
6161
self.serviceCode = None
62+
self.architecture = None
6263
self.pageNumber = None
6364
self.pageSize = None
6465

@@ -132,6 +133,12 @@ def setServiceCode(self, serviceCode):
132133
"""
133134
self.serviceCode = serviceCode
134135

136+
def setArchitecture(self, architecture):
137+
"""
138+
:param architecture: (Optional) CPU架构。支持范围:`x86_64`、`aarch64`。
139+
"""
140+
self.architecture = architecture
141+
135142
def setPageNumber(self, pageNumber):
136143
"""
137144
:param pageNumber: (Optional) 页码;默认为1。

jdcloud_sdk/services/vm/apis/ImageTasksRequest.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,21 +43,26 @@ def __init__(self, parameters, header=None, version="v1"):
4343

4444
class ImageTasksParameters(object):
4545

46-
def __init__(self, regionId, taskAction, ):
46+
def __init__(self, regionId, ):
4747
"""
4848
:param regionId: 地域ID。
49-
:param taskAction: 任务操作类型。支持范围:`ImportImage、ExportImage`。
5049
"""
5150

5251
self.regionId = regionId
53-
self.taskAction = taskAction
52+
self.taskAction = None
5453
self.taskIds = None
5554
self.taskStatus = None
5655
self.startTime = None
5756
self.endTime = None
5857
self.pageNumber = None
5958
self.pageSize = None
6059

60+
def setTaskAction(self, taskAction):
61+
"""
62+
:param taskAction: (Optional) 任务操作类型。支持范围:`ImportImage、ExportImage`。
63+
"""
64+
self.taskAction = taskAction
65+
6166
def setTaskIds(self, taskIds):
6267
"""
6368
:param taskIds: (Optional) 任务id列表。
@@ -90,7 +95,7 @@ def setPageNumber(self, pageNumber):
9095

9196
def setPageSize(self, pageSize):
9297
"""
93-
:param pageSize: (Optional) 分页大小;默认为10;取值范围[1, 10]。
98+
:param pageSize: (Optional) 分页大小;取值范围[10, 100]。
9499
"""
95100
self.pageSize = pageSize
96101

jdcloud_sdk/services/vm/apis/UpdateInstanceTemplateRequest.py

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ class UpdateInstanceTemplateRequest(JDCloudRequest):
2727
详细操作说明请参考帮助文档:[实例模板](https://docs.jdcloud.com/cn/virtual-machines/instance-template-overview)
2828
2929
## 接口说明
30-
- 该接口只支持修改实例模板的名称或描述。
30+
- 名称、描述、实例模板配置信息至少要传一项。
31+
- 参数时,对应的参数不做更改。
3132
3233
"""
3334

@@ -39,21 +40,33 @@ def __init__(self, parameters, header=None, version="v1"):
3940

4041
class UpdateInstanceTemplateParameters(object):
4142

42-
def __init__(self, regionId, instanceTemplateId, name, ):
43+
def __init__(self, regionId, instanceTemplateId, ):
4344
"""
4445
:param regionId: 地域ID。
4546
:param instanceTemplateId: 实例模板ID。
46-
:param name: 实例模板的名称,参考 [公共参数规范](https://docs.jdcloud.com/virtual-machines/api/general_parameters)。
4747
"""
4848

4949
self.regionId = regionId
5050
self.instanceTemplateId = instanceTemplateId
51-
self.name = name
51+
self.name = None
5252
self.description = None
53+
self.instanceTemplateData = None
54+
55+
def setName(self, name):
56+
"""
57+
:param name: (Optional) 实例模板的名称,参考 [公共参数规范](https://docs.jdcloud.com/virtual-machines/api/general_parameters)。
58+
"""
59+
self.name = name
5360

5461
def setDescription(self, description):
5562
"""
5663
:param description: (Optional) 实例模板的描述,参考 [公共参数规范](https://docs.jdcloud.com/virtual-machines/api/general_parameters)。
5764
"""
5865
self.description = description
5966

67+
def setInstanceTemplateData(self, instanceTemplateData):
68+
"""
69+
:param instanceTemplateData: (Optional) 实例模板配置信息。
70+
"""
71+
self.instanceTemplateData = instanceTemplateData
72+

jdcloud_sdk/services/vm/client/VmClient.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ def __init__(self, credential, config=None, logger=None):
2626
if config is None:
2727
config = Config('vm.jdcloud-api.com')
2828

29-
super(VmClient, self).__init__(credential, config, 'vm', '1.3.7', logger)
29+
super(VmClient, self).__init__(credential, config, 'vm', '1.3.8', logger)

jdcloud_sdk/services/vm/models/Image.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
class Image(object):
2121

22-
def __init__(self, imageId=None, name=None, platform=None, osVersion=None, architecture=None, systemDiskSizeGB=None, imageSource=None, osType=None, status=None, createTime=None, sizeMB=None, desc=None, ownerPin=None, launchPermission=None, systemDisk=None, dataDisks=None, snapshotId=None, rootDeviceType=None, progress=None, offline=None, serviceCode=None):
22+
def __init__(self, imageId=None, name=None, platform=None, osVersion=None, architecture=None, systemDiskSizeGB=None, imageSource=None, osType=None, status=None, createTime=None, sizeMB=None, desc=None, ownerPin=None, launchPermission=None, systemDisk=None, dataDisks=None, snapshotId=None, rootDeviceType=None, progress=None, offline=None, serviceCode=None, imported=None):
2323
"""
2424
:param imageId: (Optional) 镜像ID。
2525
:param name: (Optional) 镜像名称。
@@ -57,6 +57,7 @@ def __init__(self, imageId=None, name=None, platform=None, osVersion=None, archi
5757
:param progress: (Optional) 镜像复制和转换时的进度,仅显示数值,单位为百分比。
5858
:param offline: (Optional) 镜像的上下线状态。`offline=true` 的镜像不再允许创建云主机。
5959
:param serviceCode: (Optional) 已废弃。
60+
:param imported: (Optional) 是否来自导入镜像。
6061
"""
6162

6263
self.imageId = imageId
@@ -80,3 +81,4 @@ def __init__(self, imageId=None, name=None, platform=None, osVersion=None, archi
8081
self.progress = progress
8182
self.offline = offline
8283
self.serviceCode = serviceCode
84+
self.imported = imported

jdcloud_sdk/services/vm/models/InstanceTemplateDiskAttachmentSpec.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,24 +22,21 @@ class InstanceTemplateDiskAttachmentSpec(object):
2222
def __init__(self, diskCategory=None, autoDelete=None, cloudDiskSpec=None, deviceName=None, noDevice=None):
2323
"""
2424
:param diskCategory: (Optional) 磁盘类型。
25-
**系统盘**:取值为:`local` 本地系统盘 或 `cloud` 云盘系统盘
26-
**数据盘**:取值为:`cloud` 云盘数据盘
25+
**系统盘**:此参数无须指定,其类型取决于镜像类型
26+
**数据盘**:数据盘仅支持云硬盘`cloud`。
2727
2828
:param autoDelete: (Optional) 是否随实例一起删除,即删除实例时是否自动删除此磁盘。此参数仅对按配置计费的非多点挂载云硬盘生效。
2929
`true`:随实例删除。
30-
`false`:不随实例删除。
30+
`false`(默认值):不随实例删除。
3131
32-
:param cloudDiskSpec: (Optional) 云硬盘配置
32+
:param cloudDiskSpec: (Optional) 磁盘详细配置。此参数仅针对云硬盘,本地系统盘无须指定且指定无效
3333
:param deviceName: (Optional) 磁盘逻辑挂载点。
34-
**系统盘**:默认为vda。
34+
**系统盘**:此参数无须指定且指定无效,默认为vda。
3535
**数据盘**:取值范围:`[vdb~vdbm]`。
3636
37-
:param noDevice: (Optional) 排除设备,使用此参数noDevice配合deviceName一起使用。
38-
创建镜像的场景下:使用此参数可以排除云主机实例中的云硬盘不参与制作快照。
37+
:param noDevice: (Optional) 排除设备,使用此参数 `noDevice` 配合 `deviceName` 一起使用。
3938
创建实例模板的场景下:使用此参数可以排除镜像中的数据盘。
40-
创建云主机的场景下:使用此参数可以排除实例模板、或镜像中的数据盘。
41-
示例:如果镜像中除系统盘还包含一块或多块数据盘,期望仅使用镜像中的部分磁盘,可通过此参数忽略部分磁盘配置。此参数须配合 `deviceName` 一起使用。
42-
例:`deviceName=vdb`、`noDevice=true`,则表示在使用镜像创建实例时,忽略数据盘vdb配置,不创建磁盘。
39+
示例:如果镜像中除系统盘还包含一块或多块数据盘,期望仅使用镜像中的部分磁盘,配置`deviceName=vdb`、`noDevice=true`,则表示在使用实例模板创建实例时,忽略镜像中数据盘vdb配置,不创建磁盘。
4340
4441
"""
4542

jdcloud_sdk/services/vm/models/InstanceTemplateDiskSpec.py

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,24 @@ class InstanceTemplateDiskSpec(object):
2121

2222
def __init__(self, diskType=None, diskSizeGB=None, snapshotId=None, policyId=None, encrypt=None, iops=None):
2323
"""
24-
:param diskType: (Optional) 云硬盘类型。取值范围:`ssd、premium-hdd、hdd.std1、ssd.gp1、ssd.io1`。
25-
:param diskSizeGB: (Optional) 云硬盘大小。单位为 GiB。
26-
`ssd`:取值范围[20,1000]GB,步长为10GB。
27-
`premium-hdd`:取值范围[20,3000]GB,步长为10GB。
28-
`hdd.std1、ssd.gp1、ssd.io1`:取值范围[20-16000]GB,步长为10GB。
24+
:param diskType: (Optional) 云硬盘类型。各类型介绍请参见[云硬盘类型](https://docs.jdcloud.com/cn/cloud-disk-service/instance-type)。
25+
可选值:
26+
`ssd.gp1`:通用型SSD
27+
`ssd.io1`:性能型SSD
28+
`hdd.std1`:容量型HDD
29+
30+
:param diskSizeGB: (Optional) 云硬盘容量,单位为 GiB,步长10GiB。
31+
取值范围:
32+
系统盘:`[40,500]`GiB,且不能小于镜像系统盘容量
33+
数据盘:`[20,16000]`GiB,如指定`snapshotId`创建云硬盘则不能小于快照容量。
2934
3035
:param snapshotId: (Optional) 创建云硬盘的快照ID。
31-
:param policyId: (Optional) 云盘快照策略ID。
32-
:param encrypt: (Optional) 是否是加密云盘。`false`:(默认)不加密。`true`:加密。
36+
:param policyId: (Optional) 云硬盘自动快照策略ID。
37+
:param encrypt: (Optional) 云硬盘是否加密。
38+
可选值:
39+
`true`:加密
40+
`false`(默认值):不加密
41+
3342
:param iops: (Optional) 云硬盘的最大iops。
3443
"""
3544

jdcloud_sdk/services/vm/models/InstanceTemplateElasticIpSpec.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,15 @@ class InstanceTemplateElasticIpSpec(object):
2121

2222
def __init__(self, bandwidthMbps, chargeMode, provider=None):
2323
"""
24-
:param bandwidthMbps: 弹性公网IP的限速(单位:MB)。
25-
:param provider: (Optional) IP服务商,取值范围:`BGP、nonBGP`。
26-
:param chargeMode: 计费类型,支持按带宽计费 `bandwith`,按流量计费 `flow`。
24+
:param bandwidthMbps: 弹性公网IP的带宽上限,单位:Mbps。
25+
取值范围为:`[1-200]`。
26+
27+
:param provider: (Optional) 弹性公网IP线路。中心可用区目前仅提供`BGP`类型IP。
28+
29+
:param chargeMode: 弹性公网IP计费模式。可选值:
30+
`bandwith`:按带宽计费。
31+
`flow`:按流量计费。
32+
若指定`chargeSpec=bandwith`则弹性公网IP计费类型同实例(包年包月或按配置)。边缘可用区目前仅支持`flow`计费模式。
2733
"""
2834

2935
self.bandwidthMbps = bandwidthMbps

0 commit comments

Comments
 (0)