SDK API文档

class mosclient.v1.client.Client(access, secret, url, format=None, timeout=300, debug=False)

MCS API client (v1)

参数:
  • access (string) – 指定MOS API access key
  • secret (string) – 指定MOS API secret
  • url (string) – MOS API访问URL
  • format (string) – 指定返回数据格式xml或者json,缺省为xml
  • timeout (int) – 超时秒数,缺省为300秒
  • debug (bool) – 是否输出debug信息,缺省为False
ChangeInstanceType(iid, itype, duration=None, datadisk=None, bandwidth=None)

更改虚拟机类型

参数:
  • iid (string) – 虚拟机ID
  • itype (string) – 指定更改的虚拟机类型
  • duration (string) – 指定更改后的初始租期,缺省为‘1M’,即一个月
  • datadisk (int) – 指定创建虚拟机使用的额外数据盘,单位为10GB
  • bandwidth (int) – 指定创建虚拟机使用的额外带宽,单位为Mbps
CreateInstance(imageid, itype, duration=None, name=None, keypair=None, datadisk=None, bandwidth=None)

创建虚拟机

参数:
  • imageid (string) – 系统模板ID
  • itype (string) – 虚拟机类型ID
  • duration (string) – 虚拟机租期, 缺省为‘1M’,即一个月
  • name (string) – 虚拟机名称(可选)
  • keypair (string) – 虚拟机使用的SSH密钥ID
  • datadisk (int) – 指定创建虚拟机使用的额外数据盘,单位为10GB
  • bandwidth (int) – 指定创建虚拟机使用的额外带宽,单位为Mbps
返回:

创建成功的虚拟机信息

CreateTemplate(iid, name, useid=None, notes=None)

保存虚拟机的模板

参数:
  • iid (string) – 虚拟机ID
  • name (string) – 模板名称
  • useid (string) – 保存模板使用的指定ID
  • notes (string) – 保存模板的说明
返回:

创建的模板信息

DeleteKeyPair(kid)

删除一个SSH密钥对

参数:kid (string) – 密钥对ID
DeleteTemplate(tid)

删除一个模板

参数:
  • tid – 模板ID
  • tid – string
DescribeInstanceNetworkInterfaces(iid, limit=0, offset=0, filters=None)

获取指定虚拟机的网络接口(虚拟网卡)信息

参数:
  • iid (string) – 虚拟机ID
  • limit (int) – 最大返回数量,用于分页控制
  • offset (int) – 返回的偏移量,用于分页控制
  • filters – 返回结果过滤条件,由dict的key/value指定过滤字段名和值
返回:

InstanceNetworkInterfaceSet,包含虚拟机网络接口列表

DescribeInstanceStatus(iid)

获取虚拟机的状态

参数:iid (string) – 虚拟机ID
返回:虚拟机状态字符串
DescribeInstanceTypes(limit=0, offset=0, filters=None)

获取所有虚拟机类型

参数:
  • limit (int) – 最大返回数量,用于分页控制
  • offset (int) – 返回偏移量,用于分页控制
  • filters (dict) – 过滤条件,key/value分别指定过滤字段名称和值,支持的字段名称为:name, status
返回:

InstanceTypeSet,包含系统支持的虚拟机类型列表

DescribeInstanceVolumes(iid, limit=0, offset=0, filters=None)

获取指定虚拟机的虚拟磁盘信息

参数:
  • iid (string) – 虚拟机ID
  • limit (int) – 最大返回数量,用于分页控制
  • offset (int) – 返回的偏移量,用于分页控制
  • filters – 返回结果过滤条件,由dict的key/value指定过滤字段名和值
返回:

InstanceVolumeSet,包含虚拟机磁盘列表

DescribeInstances(ids=None, names=None, limit=0, offset=0, filters=None)

获得所有虚拟机

参数:
  • ids (list) – 期望获取的虚拟机ID列表
  • names (list) – 期望获取信息的虚拟机名称列表
  • limit (int) – 最多返回数量
  • offset (int) – 返回虚拟机的偏移量,用于分页显示
  • filters (dict) – 过滤器,一个dict,包含过滤字段名和值,可能过滤字段为:name, status
返回:

InstanceSet,包含虚拟机列表

DescribeKeyPairs(limit=0, offset=0, filters=None)

获取用户的SSH密钥对

参数:
  • limit (int) – 最大返回数量,用于分页控制
  • offset (int) – 返回偏移量,用于分页控制
  • filters (dict) – 过滤条件,key/value分别指定过滤字段名称和值,支持的字段名称为:name
返回:

KeyPairSet, 包含SSH密钥对列表

DescribeTemplates()

获得所有虚拟机模板

返回:模板列表
GetBalance()

获取帐户余额

返回:帐户余额和最近更新时间
GetInstanceContractInfo(iid)

获取虚拟机的租期信息

参数:iid (string) – 虚拟机ID
返回:虚拟机租期信息,包含过期时间、自动删除时间
GetInstanceMetadata(iid)

获取虚拟机的metadata

参数:iid (string) – 虚拟机ID
返回:一个dict包含虚拟机所有metadata的key/value
GetPasswordData(iid, key_file=None)

获取虚拟机的Login帐户信息

参数:
  • iid (string) – 虚拟机ID
  • key_file (string) – 私钥文件路径,路过虚拟机使用了SSH密钥,需要指定私钥解密password
返回:

虚拟机Login信息,包含帐户名称、密码,如果使用SSH密钥,则还包含密钥ID和名称

ImportKeyPair(name, pubkey)

导入一个用户的SSH公钥,并创建一个SSH密钥对

参数:
  • name (string) – 密钥对名称
  • pubkey (string) – SSH公钥信息
返回:

创建的SSH密钥对信息

PutInstanceMetadata(iid, data)

修改虚拟机的metadata

参数:
  • iid (string) – 虚拟机ID
  • data (dict) – 需要增加或修改的metadata信息
RebootInstance(iid)

重启虚拟机

参数:iid (string) – 虚拟机ID
RebuildInstanceRootImage(iid, image_id=None)

重置虚拟机系统磁盘

参数:
  • iid (string) – 虚拟机ID
  • image_id (string) – 将虚拟机系统磁盘用指定镜像模板重置,如果无该参数,则使用原镜像模板重置
RenewInstance(iid, duration=None)

虚拟机租期续费

参数:
  • iid (string) – 虚拟机ID
  • duration (string) – 续费租期,缺省为‘1M’,即一个月
StartInstance(iid)

启动虚拟机

参数:iid (string) – 虚拟机ID
StopInstance(iid, force=False)

停止虚拟机

参数:
  • iid (string) – 虚拟机ID
  • force – 是否强制停止虚拟机
TerminateInstance(iid)

删除虚拟机

参数:iid (string) – 虚拟机ID