创建云主机

CreateInstance 接口用于创建云主机。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=CreateInstance&
    请求参数&
    AUTHDATA

请求参数

参数名

类型

说明

可选值

示例

备注

ImageId

string

系统镜像模板ID,必须参数

必须

  可通过DescribeTemplates 接口获得的 templateId

DataDiskTemplateId

string

数据盘模板ID,可选参数 可选     

InstanceType

string

创建的虚拟机类型名称, 必选参数

必须

  可通过 DescribeInstanceTypes 获取

Duration

string

创建的虚拟机的时间,格式为数字+H/M,例如1H, 1M或者12M。缺省为1M

可选

   

InstanceName

string

指定创建的虚拟机的名称

必选

   

KeyName

string

指定创建的虚拟机使用的SSH Keypair, 第一种创建方式的可选参数

可选

   

GroupId

string

指定创建的虚拟机使用的安全组Security group, 第一种创建方式的可选参数

可选

   

ExtraExtDisksize

integer

指定创建的虚拟机使用的额外磁盘,单位为GB,不足10GB的部分按10GB计费(1.0.1版本新增), 第一种创建方式的可选参数

可选

   

AvailabilityZoneId

string

指定创建的虚拟机所在的可用区域(AvailabilityZone)

必选

   

GpuModel

string

GPU型号,必须使用配套的flavor,可以通过DescribeInstanceTypes过滤gpu字段获取

可选

   

GpuCount

integer

GPU核数

可选

   

返回参数

参数名

类型

说明

示例

备注

status

string

虚拟机的状态,可能值有running/ready/suspend等

   

availabilityZoneId

string

虚拟机所在AvailabilityZone的ID

   

eips

string

虚拟机外网IP(浮动IP地址)

   

instanceId

string

虚拟机的ID

   

instanceType

string

虚拟机的类型

   

volume

 integer

虚拟机的总磁盘大小,单位为MB

   

secGroupId

string

虚拟机的安全组ID

   

ipAddresses

string

虚拟机的IP地址列表(内网)

   

memory

 integer

虚拟机的总内存大小,单位为MB

   

secGroupName

string

虚拟机的安全组名称

   

instanceName

string

虚拟机的名称

   

cpu

 integer

虚拟机的CPU核数

   

createdAt

string

虚拟创建时间

   

keypairName

string

虚拟机绑定秘钥名称

 

  

返回示例(JSON)

{
  "CreateInstanceResponse": {
      "Instance": [
        {
          "status": "running",
          "availabilityZoneId": "c76a6cd7-dc15-46c6-95a2-3bff38116eff",
          "eips": "103.37.163.95",
          "instanceId": "6ff95fa7-ad36-412e-9028-84cb1cfef44b",
          "instanceType": "C1_M1",
          "volume": 47104,
          "secGroupId": "500b9d95-df43-4f06-b09e-55cad42667ab",
          "ipAddresses": "172.16.6.26",
          "memory": 1024,
          "secGroupName": "网站",
          "instanceName": "test",
          "cpu": 1,
          "createdAt": "2016-10-28T08:07:29Z",
          "keypairName": ""
        }
      ],
  }
} 

删除云主机

TerminateInstance 接口用于删除指定云主机实例。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=TerminateInstance&
    请求参数&
    AUTHDATA

请求参数

参数名
类型
说明
可选值
示例
备注
InstanceId string 删除的虚拟机ID 必选    

返回参数

参数名
类型
说明
示例
备注
return bool      
 

返回示例(JSON

{
    "TerminateInstanceResponse":{
        "return": "True"
    }
}

更改云主机类型

ChangeInstanceType 接口用于更改主机类型(仅适用于包年包月云主机)。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=ChangeInstanceType&
    请求参数&
    AUTHDATA

请求参数

参数名
类型
说明
可选值
示例
备注
InstanceId string 更改类型的虚拟机ID或名称 必须    
InstanceType string 更改的虚拟机类型 必须    
ExtraExtDisksize integer 指定创建的虚拟机使用的额外磁盘,单位为GB,不足10GB的部分按10GB计费(1.0.2版本新增) 必须    
Duration string 更改后虚拟机的租期时间,格式为数字+M(月),例如1M或者12M。如果不指定,缺省为1M 可选    

返回参数

参数名
类型
说明
示例
备注
return bool      

返回示例(JSON)

{
    "ChangeInstanceTypeResponse":{
        "return": "True"
    }
} 

获取云主机列表

DescribeInstances 接口用于获取云主机列表。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=DescribeInstances&
    请求参数&
    AUTHDATA

请求参数

参数名
类型
说明
可选值
示例
备注
Limit integer 本次请求返回的数量 可选    
Offset integer 本次请求返回的偏移量 可选    
AvailabilityZoneId string 分区查询 可选     
Group string 查询对应业务组下面的机器列表 可选     
InstanceId.n string 指定Instance信息查询返回 可选 InstanceId.1=‘faf797b1-8343-4af5-a02b-14b1ab8ea02a’  n 从1开始

返回参数

InstanceSet:

参数名
类型
说明
示例
备注
Instance complextype 虚拟机类型定义    
Total integer 返回符合条件的虚拟机类型总量    
Limit integer 返回虚拟机类型的数量    
Offset integer 返回虚拟机类型的偏移量     


Instance:

参数名
类型
说明
示例
备注

status

string

虚拟机的状态,可能值有running/ready/suspend等

   

availabilityZoneId

string

虚拟机所在AvailabilityZone的ID

   

eips

string

虚拟机外网IP(浮动IP地址)

   

instanceId

string

虚拟机的ID

   

instanceType

string

虚拟机的类型

   

volume

 integer

虚拟机的总磁盘大小,单位为MB

   

secGroupId

string

虚拟机的安全组ID

   

ipAddresses

string

虚拟机的IP地址列表(内网)

   

memory

 integer

虚拟机的总内存大小,单位为MB

   

secGroupName

string

虚拟机的安全组名称

   

instanceName

string

虚拟机的名称

   

cpu

 integer

虚拟机的CPU核数

   

createdAt

string

虚拟创建时间

   

keypairName

string

虚拟机绑定秘钥名称    

返回示例(JSON)

{
  "DescribeInstancesResponse": {
    "InstanceSet": {
      "Instance": [
        {
          "status": "running",
          "availabilityZoneId": "c76a6cd7-dc15-46c6-95a2-3bff38116eff",
          "eips": "103.37.163.95",
          "instanceId": "6ff95fa7-ad36-412e-9028-84cb1cfef44b",
          "instanceType": "C1_M1",
          "volume": 47104,
          "secGroupId": "500b9d95-df43-4f06-b09e-55cad42667ab",
          "ipAddresses": "172.16.6.26",
          "memory": 1024,
          "secGroupName": "网站",
          "instanceName": "test",
          "cpu": 1,
          "createdAt": "2016-10-28T08:07:29Z",
          "keypairName": ""
        }
      ],
      "Total": 54,
      "Limit": 1
    }
  }
} 

获取云主机状态

DescribeInstanceStatus 接口用于获取指定云主机实例的状态。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=DescribeInstanceStatus&
    请求参数&
    AUTHDATA

请求参数

参数名
类型
说明
可选值
示例
备注
InstanceId string 虚拟机ID 必选    

返回参数

参数名
类型
说明
示例
备注
return bool      

返回示例(JSON)

{
    "DescribeInstanceStatusResponse":{
        "InstanceStatus":{
            "status": "ready"
        }
    }
}

获取云主机磁盘列表

DescribeInstanceVolumes 接口用于获取指定云主机的所有虚拟磁盘的信息。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=DescribeInstanceVolumes&
    请求参数&
    AUTHDATA

请求参数

参数名
类型
说明
可选值
示例
备注
InstanceId string 虚拟机ID 必选    

返回参数

参数名
类型
说明
示例
备注
instanceId string 虚拟机ID    
instanceName string 虚拟机名称    
volumeId string 虚拟磁盘ID    
volumeName string 虚拟磁盘名称    
volumeSize integer 磁盘大小,单位为MB    
cacheMode string 磁盘的缓存模式,可能值为none, writeback或writethrough, 缺省为none    
driver string 磁盘的驱动,可能值为virtio, ide和scsi,缺省为virtio    
index integer 磁盘挂载在虚拟机上的序号,从0开始    

返回示例(JSON)

{
    "DescribeInstanceVolumesResponse":{
        "InstanceVolumeSet":{
            "InstanceVolume": [{
                "index": 1,
                 "instanceId": "027ff1d8-e3a0-4e2e-a1e1-03d6ee03c353",
                 "volumeName": "vdisk_testtest_1371493324.491348",
                 "driver": "virtio",
                 "volumeId": "0fccde09-74af-4504-9c89-52016510e9d7",
                 "cacheMode": "none",
                 "volumeSize": 20,
                 "instanceName": "testtest"
            },
            {
                 ...
            }]
        }
    }
}

获取云主机网络接口列表

DescribeInstanceNetworkInterfaces 接口用于列出指定云主机实例的所有虚拟网络接口的信息。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=DescribeInstanceNetworkInterfaces&
    请求参数&
    AUTHDATA

请求参数

参数名
类型
说明
可选值
示例
备注
InstanceId string 指定虚拟机ID 必选    

返回参数

参数名
类型
说明
示例
备注
instanceId string 虚拟机ID    
instanceName string 虚拟机名称    
networkId string 网络接口接入的虚拟机网络ID    
networkName string 网络接口接入的虚拟网络名称    
ipAddress string 网络接口的IP地址    
macAddress string 网络接口的硬件地址    
bandwidth integer 网络接口带宽,单位为Mbps    
driver string 驱动,可能值有virtio, e1000,缺省为virtio    
index integer 网络接口在虚拟机上的序号    

返回示例(JSON)

{
  "DescribeInstanceNetworkInterfacesResponse": {
    "InstanceNetworkInterfaceSet": {
      "InstanceNetworkInterface": [
        {
          "networkId": "9f53c2c1-c7d1-41ac-b43f-f5fed3809437",
          "index": 0,
          "macAddress": "00:22:0b:ed:89:fa",
          "instanceId": "6ff95fa7-ad36-412e-9028-84cb1cfef44b",
          "instanceName": "E5-2630v3-host171-C1M1-lizexi-test",
          "driver": "virtio",
          "bandwidth": 1000,
          "ipAddress": "172.16.6.26",
          "networkName": "new.vpri.yf.0"
        }
      ]
    }
  }
}

获取云主机初始登录信息

GetPasswordData 接口用于获得指定云主机实例的初始帐户和密码信息。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=GetPasswordData&
    请求参数&
    AUTHDATA

请求参数

参数名
类型
说明
可选值
示例
备注
InstanceId string 指定虚拟机ID 必选    

返回参数

参数名
类型
说明
示例
备注
account string 虚拟机的初始帐号    
keypairId string 如果虚拟机使用了keypair,则为该虚拟机使用的keypair的ID;否则无此字段    
keypairName string 如果虚拟机使用了keypair,则为该虚拟机使用的keypair的名称;否则无此字段    
passwordData string 虚拟机的初始帐号密码数据,如果虚拟机未使用SSH keypair, 则该数据为明文密码,否则,该数据为keypair公钥加密, 需要使用该keypair的对应key文件解密    
timestamp datetime 指示初始帐号密码生成的时间    

返回示例(JSON)

{
  "GetPasswordDataResponse": {
    "timestamp": "2016-10-28T08:07:53Z",
    "account": "root",
    "passwordData": "T7sZdMst688Q"
  }
} 

获取云主机合同信息

GetInstanceContractInfo 接口用于获得指定虚拟机实例的合同时间信息(仅限包年/包月主机)。

请求 URL

https://mosapi.meituan.com/mcs/v1?
   Action=GetInstanceContractInfo&
   请求参数&
   AUTHDATA 

请求参数

参数名
类型
说明
可选值
示例
备注
InstanceId string 指定虚拟机ID 必选    

返回参数

参数名
类型
说明
示例
备注
startedAt datetime 虚拟机租约开始时间    
expireAt datetime 虚拟机租约到期时间    
extendTo datetime 如果未按期续费,虚拟机过期后保留截止时间    

返回示例(JSON)

{
  "GetInstanceContractInfoResponse": {
    "startedAt": "2016-10-27T14:13:11Z",
    "extendTo": "2016-12-04T14:13:11Z",
    "expireAt": "2016-11-27T14:13:11Z"
  }
}

启动云主机

StartInstance 接口用于启动指定云主机。
注意:云主机在 ready 状态时才能成功启动。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=StartInstance&
    请求参数&
    AUTHDATA

请求参数

参数名
类型
说明
可选值
示例
备注
InstanceId string 指定虚拟机ID 必选    

返回参数

参数名
类型
说明
示例
备注
return bool      

返回示例(JSON)

{
    "StartInstanceResponse":{
        "return": "True"
    }
}

关停云主机

StopInstance 接口用于停止指定云主机实例。
注意:只有云主机在 running 状态时才能成功停止。如果指定强制停止,则云主机进程立即退出,可能会造成云主机未写入完成的数据丢失;否则,云主机将试图软关机,30秒超时后,如果实例还未停止,则强制停止。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=StopInstance&
    请求参数&
    AUTHDATA

请求参数

参数名
类型
说明
可选值
示例
备注
InstanceId string 指定虚拟机ID 必选    
Force bool 是否强制关停云主机 可选    

返回参数

参数名
类型
说明
示例
备注
return bool      

返回示例(JSON)

{
    "StopInstanceResponse":{
        "return": "True"
    }
}

重启云主机

RebootInstance 接口用于重启指定云主机实例。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=RebootInstance&
    请求参数&
    AUTHDATA

请求参数

参数名
类型
说明
可选值
示例
备注
InstanceId string 指定虚拟机ID 必选    

返回参数

参数名
类型
说明
示例
备注
return bool      

返回示例(JSON)

{
    "RebootInstanceResponse":{
        "return": "True"
    }
}

重制云主机操作系统

RebuildInstanceRootImage 接口用于重装云主机的操作系统。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=RebuildInstanceRootImage&
    请求参数&
    AUTHDATA

请求参数

参数名
类型
说明
可选值
示例
备注
InstanceId string 指定虚拟机ID 必选    
ImageId string 指定系统盘的源模板镜像ID,如果不指定该参数, 则使用原来的模板镜像重置系统盘 可选   可选取账号自己系统盘镜像(跨区云硬盘镜像不可选)
 

返回参数

参数名
类型
说明
示例
备注
return bool      

返回示例(JSON)

{
    "RebuildInstanceRootImageResponse":{
        "return": "True"
    }
}

续费云主机

RenewInstance 接口用于续期指定云主机实例。
注意:仅适用于包年包月主机,该操作涉及帐户扣费,请保证帐户有足够余额,否则将续期失败。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=RenewInstance&
    请求参数&
    AUTHDATA

请求参数

参数名
类型
说明
可选值
示例
备注
InstanceId string 指定虚拟机ID 必选    
Duration string 指定续期时间,格式为数字+H/M(小时/月),例如1H, 1M或者12M。如果不指定,缺省为1M 可选   注:仅合同机器生效,按需付费机器无效

返回参数

参数名
类型
说明
示例
备注
return bool      

返回示例(JSON)

{
    "RenewInstanceResponse":{
        "return": "True"
    }
}

获取云主机元数据

GetInstanceMetadata 用于获取指定云主机实例的元数据。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=GetInstanceMetadata&
    请求参数&
    AUTHDATA

请求参数

参数名
类型
说明
可选值
示例
备注
InstanceId string 指定云主机ID 必选    

返回参数

返回 InstanceMetadata 数据集,包含所有 key-value 的元数据。

返回示例(JSON)

{
    "GetInstanceMetadataResponse":{
        "InstanceMetadata":{
            "os_version": "2011.08",
            "os_name": "Linux",
            "os_distribution": "Cirros"
        }
    }
}

 

获取云主机模版列表

DescribeTemplates 接口用于列出所有用户可以使用的虚拟机模板,在创建虚拟机,更改虚拟机系统磁盘时,需要相关信息。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=DescribeTemplates&
    请求参数&
    AUTHDATA

请求参数

返回参数

参数名
类型
说明
示例
备注
templateId string 模板ID    即 ImageId
templateName string 模板名称    
size int 模板Image的字节大小(Bytes)    
checksum string 模板Image的MD5 checksum    
status string 模板状态    
is_public bool 是否为公共镜像    

返回示例(JSON)

{"DescribeTemplatesResponse":
    {"TemplateSet":
        {"Template": [
            {"status": "active",
             "checksum": "952a921243eecf2f457b82051e880558",
             "templateName": "turnkey-core-12.0-squeeze-x86.qcow2",
             "templateId": "019c6db6-55fa-443d-ac0c-182e3379d175",
             "is_public": false,
             "size": 187367424
            }
         ]
        }
    }
}

 

获取数据盘模版列表

DescribeDataDiskTemplates 接口用于列出所有用户可以使用的数据盘模板。

请求 URL

https://mosapi.meituan.com/mcs/v1?
    Action=DescribeDataDiskTemplates&
    请求参数&
    AUTHDATA

请求参数

参数名
类型
说明
可选值
示例
备注
Limit integer 本次请求返回的数量 可选    
Offset integer 本次请求返回的偏移量 可选    
AvailabilityZoneId string 分区查询 必选     
DataDiskTemplateId.n string 指定dataDiskTemplate信息查询返回 可选 DataDiskTemplateId.1=‘faf797b1-8343-4af5-a02b-14b1ab8ea02a’  n = 1,2,3,4 ,...

返回参数

参数名
类型
说明
可选值
示例
备注
dataDiskTemplateId string 数据盘Id      
dataDiskTemplateName string 数据盘名称      
status string 数据盘状态      
size int 数据盘大小M      
createdAt dateTime 创建时间      

返回示例(JSON)

{"DescribeDataDiskTemplatesResponse":
    {"DataDiskTemplatesSet":
        {"DataDiskTemplates": [
            {"status": "mebs_template_ready",
            "dataDiskTemplateName": "faff",
            "dataDiskTemplateId": "f9ed8c76-baef-4416-956a-9ac0be57b3e8",
            "size": 10240,
            "createdAt": "2017-08-03T08:50:30Z", "size": 10240}
            }
         ]
        }
    }
}