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
AllocateAddress(name, billing_model='bandwidth', availability_zone_id=None)

分配浮动IP

参数:
  • name
  • billing_model – 代表计费方式,有效值:bandwidth,flow,分别代表按带宽和按流量计费。默认为bandwidth
  • availability_zone_id – 代表可用区ID, 通过DescribeAvailabilityZones接口获取
返回:

Address结构

AssociateAddress(allocation_id, association_type, instance_id, bandwidth)

将浮动IP绑定到其他云产品上

参数:
  • allocation_id – 浮动IP的ID
  • association_type – 绑定云产品类型。有效值为server、elb,分别代表绑定到云服务器和ELB负载均衡器
  • instance_id – 绑定的云产品ID
  • bandwidth – 绑定浮动IP的带宽限制
返回:

Address结构

AuthorizeSecurityGroupIngress(gid, rules=None)

给一个安全组授权进入流量的规则(10条上限)

参数:
  • gid (string) – 安全组ID
  • rules – 入流量授权规则的列表

规则类型: string 规则格式: ACTION [IP] PROTOCAL [PORT]

ACTION: 必填,支持allow/deny IP: 选填,默认为0.0.0.0/0,可以是一个IP或一个网段,例如:192.168.0.1,192.168.0.0/16 PROTOCAL: 必填,支持tcp/udp/icmp/any PORT: 选填,如果是any或者是icmp,不必填;如果是tcp或udp,不填时默认为全部端口,填时为指定端口,如8000,

也支持设定范围,如20-25(注:范围包含的端口个数不能超过30)
示例:
‘deny tcp 2200’,’deny 192.168.0.0/16 tcp 80’,’allow 192.168.0.0/24 any’,’allow udp 21-22’
ChangeInstanceType(iid, itype, duration=None, datadisk=None, bandwidth=None)

更改虚拟机类型

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

更改RDS类型

参数:
  • rid (string) – RDS ID
  • rtype (string) – 指定更改的RDS类型ID,可通过DescribeRDSTypes方法查询
  • datadisk (int) – 指定更改的RDS数据盘大小,单位GB(可选)
  • duration (string) – 指定更改的RDS租期,单位:’H’(小时)、’M’(月),缺省为‘1M’,即一个月(可选)
ChangeRedisType(rid, memory, duration=None)

更改Redis类型

参数:
  • rid (string) – Redis ID
  • memory (int) – 指定更改的Redis内存大小,单位GB
  • duration (string) – 指定更改后的初始租期,缺省为‘1M’,即一个月
ConfigAddress(allocation_id, name=None)

配置浮动IP, 目前支持名称修改

参数:
  • allocation_id – 浮动IP的ID
  • name – 浮动IP的名称
返回:

Address结构

ConfigAddressBandwidth(allocation_id, bandwidth=None)

配置浮动IP带宽

参数:
  • allocation_id – 浮动IP的ID
  • bandwidth – 浮动IP的带宽
返回:

Address结构

CreateAliveAlarm(iid, description=None)

创建主机存活监控

参数:
  • iid (string) – 虚拟机ID
  • description (string) – 描述
返回:

请求是否成功

CreateInstance(imageid, itype, duration=None, name=None, keypair=None, secgroup=None, datadisk=None, bandwidth=None, zone=None)

创建虚拟机

参数:
  • imageid (string) – 系统模板ID
  • itype (string) – 虚拟机类型ID
  • duration (string) – 虚拟机租期, 缺省为‘1M’,即一个月
  • name (string) – 虚拟机名称(可选)
  • keypair (string) – 虚拟机使用的SSH密钥ID
  • secgroup (string) – 安全组ID
  • datadisk (int) – 指定创建虚拟机使用的额外数据盘,单位为GB
  • bandwidth (int) – 指定创建虚拟机使用的额外带宽,单位为Mbps
  • zone (string) – 指定创建虚拟机所在的数据中心, 可通过DescribeAvailabilityZones接口获取
返回:

创建成功的虚拟机信息

CreateMetricAlarm(iid, metric, operator, threshold, description=None)

创建指标监控

参数:
  • iid (string) – 虚拟机ID
  • metric (string) – 监控指标名称
  • operator (string) – 判断操作符
  • threshold (string) – 监控阈值
  • description (string) – 描述
返回:

请求是否成功

CreateRDS(rtype, datadisk, engine, username, password, name, zone, duration=None)

创建RDS

参数:
  • rtype (string) – RDS类型ID,可通过DescribeRDSTypes方法查询
  • datadisk (int) – RDS使用的数据盘大小,单位为GB
  • engine (string) – RDS的引擎名称,可通过DescribeRDSEngines方法查询
  • username (string) – RDS的用户名
  • password (string) – RDS的用户密码
  • name (string) – RDS的名称
  • zone (string) – 可用区,可通过DescribeAvailabilityZones方法查询
  • duration (string) – RDS租期,单位:’H’(小时)、’M’(月),缺省为‘1M’,即一个月(可选)
返回:

创建成功的RDS信息

CreateRDSAlarm(rid, metric, operator, threshold, description=None)

创建RDS指标监控

参数:
  • rid (string) – RDS的ID
  • metric (string) – 监控指标名称
  • operator (string) – 判断操作符
  • threshold (string) – 监控阈值
  • description (string) – 描述
返回:

请求是否成功

CreateRedis(memory, duration=None, name=None, zone=None)

创建Redis

参数:
  • memory (int) – Redis的内存大小(GB)
  • duration (string) – Redis租期, 缺省为‘1M’,即一个月
  • name (string) – Redis名称(可选)
  • zone (string) – 可用区,可通过DescribeAvailabilityZones方法查询(可选)
返回:

创建成功的Redis信息

CreateRedisAlarm(rid, metric, operator, threshold, description=None)

创建Redis指标监控

参数:
  • rid (string) – Redis的ID
  • metric (string) – 监控指标名称
  • operator (string) – 判断操作符
  • threshold (string) – 监控阈值
  • description (string) – 描述
返回:

请求是否成功

CreateSecurityGroup(name, desc)

创建安全组

参数:
  • name (string) – 安全组名称
  • desc (string) – 安全组描述
CreateTCPAlarm(iid, port, description=None)

创建TCP监控

参数:
  • iid (string) – 虚拟机ID
  • port (int) – tcp端口
  • description (string) – 描述
返回:

请求是否成功

CreateTemplate(iid, name, notes=None)

保存虚拟机的模板

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

请求是否成功

DeleteAliveAlarm(mid)

删除主机存活监控

参数:mid (string) – 监控项ID
返回:请求是否成功
DeleteKeyPair(kid)

删除一个SSH密钥对

参数:kid (string) – 密钥对ID
DeleteMetricAlarm(mid)

删除一个指标监控项

参数:mid (string) – 监控项ID
返回:请求是否成功
DeleteRDSAlarm(mid)

删除一个RDS指标监控项

参数:mid (string) – 监控项ID
返回:请求是否成功
DeleteRedisAlarm(mid)

删除一个Redis指标监控项

参数:mid (string) – 监控项ID
返回:请求是否成功
DeleteSecurityGroup(gid)

删除一个安全组

参数:gid (string) – 安全组ID
DeleteTCPAlarm(mid)

删除TCP监控

参数:mid (string) – 监控项ID
返回:请求是否成功
DeleteTemplate(tid)

删除一个模板

参数:tid (string) – 模板ID
DescribeAddresses(allocation_ids=None, limit=0, offset=0, filters=None)

返回所有或者部分浮动IP列表信息列表 :param allocation_ids: 希望获取的Address ID列表 :type allocation_ids: list :param limit: :type limit: int :param offset: :type offset: int :param filters: :type filters: dict :return: AddressSet, 包含Address列表

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

查看监控告警历史

参数:
  • limit (int) – 最大返回数量,用于分页控制
  • offset (int) – 返回偏移量,用于分页控制
返回:

AlarmHistorySet,监控告警历史列表

DescribeAliveAlarms()

查看主机存活监控

返回:AliveAlarmSet,包含主机存货监控列表
DescribeAvailabilityZones(limit=0, offset=0, filters=None)

获取Zone(可用区)

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

AvailabilityZoneSet,包含系统支持的Zone列表

DescribeInstanceMetrics(iid=None)

查看虚拟机监控项

参数:iid (string) – 虚拟机ID
返回:MetricSet,包含监控项列表
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密钥对列表

DescribeMetricAlarms()

查看指标监控

返回:MetricAlarmSet,指标监控列表
DescribeRDS(ids=None, names=None, limit=0, offset=0, filters=None)

获取所有RDS

参数:
  • ids (list) – 期望获取的RDS ID列表(可选)
  • names (list) – 期望获取的RDS名称列表(可选)
  • limit (int) – 最多返回数量(可选)
  • offset (int) – 返回RDS的偏移量,用于分页显示(可选)
  • filters (dict) – 过滤条件,key/value分别指定过滤字段名称和值,支持的字段名称为:name,status(可选)
返回:

RDSSet, 包含RDS列表

DescribeRDSAlarms()

查看RDS指标监控

返回:MetricAlarmSet,指标监控列表
DescribeRDSEngines()

获取所有RDS引擎

返回:RDSEngineSet,包含系统支持的RDS引擎列表
DescribeRDSMetrics(rid=None)

查看RDS监控项

参数:rid (string) – RDS ID
返回:MetricSet,包含监控项列表
DescribeRDSTypes(limit=0, offset=0, filters=None)

获取所有RDS类型

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

RDSTypeSet,包含系统支持的RDS类型列表

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

获得所有Redis

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

RedisSet,包含Redis列表

DescribeRedisAlarms()

查看Redis指标监控

返回:MetricAlarmSet,指标监控列表
DescribeRedisMetrics(rid=None)

查看Redis监控项

参数:rid (string) – Redis ID
返回:MetricSet,包含监控项列表
DescribeSecurityGroups(ids=None, names=None, limit=0, offset=0, filters=None)

获取安全组信息

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

查看TCP监控

返回:返回TCPAlarmSet,包含TCP监控列表
DescribeTemplates()

获得所有虚拟机模板

返回:模板列表
DisableAliveAlarm(mid)

禁用一个主机存活监控项

参数:mid (string) – 监控项ID
返回:请求是否成功
DisableMetricAlarm(mid)

禁用一个指标监控项

参数:mid (string) – 监控项ID
返回:请求是否成功
DisableRDSAlarm(mid)

禁用一个RDS指标监控项

参数:mid (string) – 监控项ID
返回:请求是否成功
DisableRedisAlarm(mid)

禁用一个Redis指标监控项

参数:mid (string) – 监控项ID
返回:请求是否成功
DisableTCPAlarm(mid)

禁用一个TCP监控项

参数:mid (string) – 监控项ID
返回:请求是否成功
DisassociateAddress(allocation_id)

将浮动IP解绑

参数:allocation_id – 浮动IP的ID
返回:请求是否成功
EnableAliveAlarm(mid)

启用一个主机存活监控项

参数:mid (string) – 监控项ID
返回:请求是否成功
EnableMetricAlarm(mid)

启用一个指标监控项

参数:mid (string) – 监控项ID
返回:请求是否成功
EnableRDSAlarm(mid)

启用一个RDS指标监控项

参数:mid (string) – 监控项ID
返回:请求是否成功
EnableRedisAlarm(mid)

启用一个Redis指标监控项

参数:mid (string) – 监控项ID
返回:请求是否成功
EnableTCPAlarm(mid)

启用一个TCP监控项

参数:mid (string) – 监控项ID
返回:请求是否成功
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和名称

GetRDSContractInfo(rid)

获取RDS的租期信息

参数:rid (string) – RDS ID
返回:RDS租期信息,包含过期时间、自动删除时间
GetRedisContractInfo(rid)

获取Redis的租期信息

参数:rid (string) – Redis ID
返回:Redis租期信息,包含过期时间、自动删除时间
ImportKeyPair(name, pubkey)

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

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

创建的SSH密钥对信息

InstanceAssignSecurityGroup(iid, gid)

给一个虚拟机分配安全组

参数:
  • iid (string) – 虚拟机ID
  • gid (string) – 安全组ID
InstanceRevokeSecurityGroup(iid)

撤销一个虚拟机的安全组

参数:iid (string) – 虚拟机ID
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) – 将虚拟机系统磁盘用指定镜像模板重置,如果无该参数,则使用原镜像模板重置
ReleaseAddress(allocation_id)

释放浮动IP

参数:allocation_id – 浮动IP的ID
返回:请求是否成功
RenewInstance(iid, duration=None)

虚拟机租期续费

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

RDS租期续费

参数:
  • rid (string) – RDS ID
  • duration (string) – 续费周期,单位:’H’(小时)、’M’(月),缺省为‘1M’,即一个月(可选)
RenewRedis(rid, duration=None)

Redis租期续费

参数:
  • rid (string) – Redis ID
  • duration (string) – 续费租期,缺省为‘1M’,即一个月
RestartRDS(rid)

重启RDS

参数:rid (string) – RDS ID
RevokeSecurityGroupIngress(gid, rules=None)

从一个安全组中撤销进入流量的规则(指定撤销的规则必须和之前授权的规则完全匹配)

参数:
  • gid (string) – 安全组ID
  • rules (list) – 需要撤销的入流量规则的列表

规则类型: string 规则格式: 见AuthorizeSecurityGroupIngress

StartInstance(iid)

启动虚拟机

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

启动RDS

参数:rid (string) – RDS ID
StopInstance(iid, force=False)

停止虚拟机

参数:
  • iid (string) – 虚拟机ID
  • force – 是否强制停止虚拟机
StopRDS(rid, force=False)

停止RDS

参数:
  • rid (string) – RDS ID
  • force – 是否强制停止RDS
TerminateInstance(iid)

删除虚拟机

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

删除RDS

参数:rid (string) – RDS ID
TerminateRedis(rid)

删除Redis

参数:rid (string) – Redis ID