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