创建时间:2019/3/27 16:07
更新时间:2021/11/8 15:56

云迁移 restful api v2.2 简介

控制服务功能: 网页连接, RESTful API连接, 接收其它 Transport服务控制指令。

  1. Transport Server操作系统CentOS
  2. 控制管理服务既可以与Transport服务一起部署,也可以单独部署。

针对不用的模块管理,控制管理服务设置6个URL接收连接请求。

  • https://117.48.207.72/MgmtCloudConnection
  • https://117.48.207.72/MgmtHostConnection
  • https://117.48.207.72/MgmtTransportConnection
  • https://117.48.207.72/MgmtTask
  • https://117.48.207.72/UpdateSetting
  • 所有API请求方法都是POST。
  • 针对以上每类资源管理,管控服务都会内建一个资源的UUID,eg: 在环境配置时每个Cloud环境都会有一个CloudUUID, 每个源主机都会有一个HostUUID,每个复制服务会有REPL_UUID等。

公共参数

所有HTTP请求中,都包含如下公共请求头(HTTP Header)(为减少内容重复,公共参数就不在各API 详情中列出了)。

名称类型是否必需描述
AcceptStringJSON:application/json
Content-TypeString当前请求body的数据类型,JSON:application/json
AuthorizationString用户认证Token。

说明: 用户将Token添加到Authorization头部,作为用户认证凭证。若Token过期,则会提示用户重新登录

用户管理

采用用户名密码进行权限认证, 部署后初次登陆使用默认用户名及密码,登陆后可修改密码。

User Login

URL: https://117.48.207.72/Login

请求参数:

{
    "UserName"     : "admin"
    "Password"     : STRING//6-20个字符,字母、数字和特色符号至少包含两种
}

Response

{
    "Code" : true|false,       //成功 or 失败
    "Msg"  : success or error description, //成功 or 失败
    "Data" :{"Token": "abcdef", "IsFirstLogin": true/false}
}

User Login

URL: https://117.48.207.72/ReAuth

请求参数:

参考公共参数。

Response

{
    "Code" : true|false,       //成功 or 失败
    "Msg"  : success or error description, //成功 or 失败
    "Data" :{"Token": "abcdef", "IsFirstLogin": false}
}

User Logout

URL: https://117.48.207.72/Logout

请求参数:无

Response

{
    "Code" : true|false,       //成功 or 失败
    "Msg"  : success or error description, //成功 or 失败
    "Data" :null
}

ChangePassword

URL: https://117.48.207.72/MgntSetting

请求参数:

{
    "Action"       : "ChangePassword",
    'UserName'     : "admin"
    "Password"      : string //oldpass
    'NewPassword'  : STRING//6-20个字符,字母、数字和特色符号至少包含两种
}

Response

{
    "Code" : true|false       //成功 or 失败
    "Msg"  : STRING           //Error Description
    "Data": null
}

License管理

License授权限制包括License使用时间以及迁移次数的限制。
备注:
1、新建任务,可用迁移次数会减少一次.
2、删除未完成的任务时,改任务占用的迁移次数会被释放,可用迁移次数在任务删除成功后会增加1次,当任务已完成迁移(迁移成功,云端存在恢复虚拟机),删除任务可用迁移次数不变

URL: https://117.48.207.72/MgntSetting

导入/更新License

请求参数:

{
    "Action"         : "UpdateLicense",
    "ActivationKey"  : string,//激活码
}

Response

{
    "Code" : true|false       //成功 or 失败
    "Msg"  : STRING           //Error Description
    "Data": {"Credits":100,"ExpireTime":"2020-01-10T16:10:10+08:00","Id":"a85d6061-e25f-4abc-854b-a6010e99d69f","Used":4}
    '
}

删除License

请求参数:

{
    'Action' : 'DeleteLicense',
}

Response

{
    Code: true | false
    Msg : Success Description or Error Description
    "Data": null
    
}

Get License

请求参数:

{
    'Action'        : 'GetLicense',
}

Response

{
    "Code" : true|false       //成功 or 失败
    "Msg"  : STRING           //Error Description
    "Data": {"Credits":100,"ExpireTime":"2020-01-10T16:10:10+08:00","Id":"a85d6061-e25f-4abc-854b-a6010e99d69f","Used":4}
}

环境部署

Cloud

URL: https://117.48.207.72/MgmtCloudConnection

  • Cloud连接管理目前API仅列出支持华云(公有云AK/SK)以及CU(私有云Openstack)平台类型。

ListCloudType

支持的云平台类型。

请求参数:

{
    'Action': 'ListCloudType',
}

返回参数:

{
    'Code' : 0      //成功 or 失败
    'Msg'  : STRING           //Error Description
    "Data":["Huayun","Openstack", "CloudUltra 4", "ArcherOS 2020"]
}

Add Cloud

新增云连接

请求参数:

{
    'Action'            : 'AddCloudConnection',
    'CloudName'        : STRING, //2~20个字符,支持英文大小写、数字、中文以及下划线,中划线。
    'CloudType'        : Openstack | Huayun | "CloudUltra 4" | "ArcherOS 2020",
    'ProjectName'      : STRING,//For AK/SK认证云环境, 设置为None, CU4项目名称
    'CloudUser'        : STRING,//Keystone user name or ACCESS_KEY
    'CloudPass'        : STRING,//Keystone user password or SECRET_KEY
    'IdentityPort'     : STRING,//Keystone Identity Port, 默认值5000
    'CloudAddr'        : STRING //Keystone Identity Ip Address, or 域名,CU4 API地址
    "OwnerId"          : STRING //CU4项目ID
    "EnvironmentId"    : STRING //CU4云环境ID
    "ZoneId"           : STRING //CU4数据中心ID
    "ZoneName"     : STRING //CU4数据中心名称
	"RegionId"         : STRING //华云公有云的Region Id
    "RegionName"      : STRING // 华云公有云的Region Name
}

Response

{
    'Code' : true|false       //成功 or 失败
    'Msg'  : STRING           //Error Description
    "Data" : {"ID": "123456"}
}

Delete Cloud

删除云连接

说明:如果该云环境中有关联主机作为TransportServer, 则不允许删除。必须先删除Transport Server

请求参数:

{
    'Action': 'DeleteCloudConnection',
    'Id'  :   STRING
}

返回参数:

{

"Code":0,
"Msg":"Delete Cloud af39160548bd4cf9823d3d282dc58674 Success.",
"Data":null
    
}

Update Cloud Connection

请求参数:

{
    'Action'            : 'UpdateCloudConnection',
    'Id'                : STRING,
    'Name'              :String
    'ProjectName'      : STRING,//For Haihe,Project id
    'CloudUser'        : STRING,
    'CloudPass'        : STRING,
    'IdentityPort'     : STRING,
    'CloudAddr'        : HOST_ADDR,
    "EnvironmentId"    : STRING,
    "ZoneId"           : STRING,
    "ZoneName"           : STRING,
    "RegionId"         : STRING          //华云公有云 Region Id
    "RegionName"      : STRING // 华云公有云的Region Name
}

返回参数:

{
    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data": null
}

List Cloud

列举所有云环境

请求参数:

{
    'Action'  : 'ListCloudConnection'
    'Name'    : cloud name  //可选
}

返回值:

{
    "Code":   0,
    "Msg" :   "Get All Cloud Connection Success."//success or ErrorMsg
    "Data": [
        {
            "AccountId":"32e964393b1e4518859780c857be4d7d",
            "ID":"ad106d0c2be84a33be3c27fe504c2c86",
            "Name":"huayun",
            "CloudType":"openstack",//平台类型
            "ProjectName":"admin",
            "Domain":"Default",
            "CloudUser":"admin",
            "CloudPass":"cGFzc3cwcmQ=",
            "CloudAddr":"172.16.9.50",
            "IdentityPort":"5000",
            "IdentityUrl":"http://172.16.9.50:5000/v3",
            "CreatedTime":"2018-12-20 13:34:01"//添加时间
            "RegionName":"苏州",                  // 华云公有云
            "RegionId":"cn-suzhou1",              // 华云公有云
        }
    ]
}

说明:如果是AK/SK认证的云环境,则"ProjectName"为None, "CloudAddr"为访问服务域名。

Verify Cloud Connection

Cloud环境连通性检验:

请求参数:

{
    'Action'           : 'VerifyCloudConnection',
    'CloudType'        : STRING
    'ProjectName'      : STRING, //For haihe, Project name
    'CloudUser'        : STRING, //UserName or AccessKey
    'CloudPass'        : STRING,//Password or SecretKey
    'IdentityProtocal' : http | https//默认http
    'CloudAddr'        : STRING //Keystone endpoint IP.或者公有云域名访问地址
    'IdentityPort'     : 5000 //普通用户默认5000
	'ownerId'          : STRING, //For haihe, Project id
	'EnvironmentId'    : STRING, //For haihe
	'zoneId'           : STRING, //For haihe
    'RegionId'         : STRING, //华云公有云的Region
}

Response参数:

{
    'Code': true | false,
    'Msg': "Success." or error Description
    "Data": null
}

List ClouUltra4 Project

请求

{
    "Action"       : "ListProject"
	"APIMgntURL"   : "http://172.16.140.20/api",
	"AccessKey": "admin",
	"SecretKey": "Huayun#123"
	"IsEncrypted": "False"//默认False
}

Response:

{"Code":0,
"Msg":"Get All Project Success.",
"Data":[
    {
        "Name":"cmigrate",
        "ID":"307f849c-e931-4e4a-a96f-076e05276b9c"
    },
    {
        "Name":"lipf_test",
        "ID":"ae30f3a2-4f0e-4475-9d55-579c8eaf1249"
    }
]

ListEnvironment

请求

{
    "Action": "ListEnvironment",
    "APIMgntURL": "http://172.16.140.20/api",
    "AccessKey": "admin",
    "SecretKey": "Huayun#123",
    "IsEncrypted": "False"//默认False
    "HypervisorType": "KVM" //KVM |VMWARE , 华泰项目只需列出kvm类型
}

Response:

{
    "Code":0,
    "Msg":"Get All Environments Success.",
    "Data":[{"Name":"KVM","ID":"1"}]
    
}

ListZone

请求

{
    "Action"         : "ListZone"
	"APIMgntURL"     : "http://172.16.140.20/api",
	"AccessKey"      : "admin",
	"SecretKey"      : "Huayun#123"
	"IsEncrypted": "False"//默认False//密码是否加密
	"EnvironmentId"  : "12345"
	"OwnerId"        : "12345"
}

Response:

{
"Code":0,
"Msg":"Get All Zone Success.",
"Data":[
        {
            "Name":"cmigrate",
            "ID":"307f849c-e931-4e4a-a96f-076e05276b9c"
        },
        {
            "Name":"lipf_test",
            "ID":"ae30f3a2-4f0e-4475-9d55-579c8eaf1249"
        }
   ]
    
}

ListRegion

//huayun专属
请求

{
    "Action"         : "ListRegion"
    "AccessKey"   : "ak"
    "SecretKey"   : "sk"
    "isEncrypted"  : "False"//默认False//密码是否加密
}

Response:

{
"Code":0,
"Msg":"Get All Region Success.",
"Data":[
        {
            "Name":"苏州",
            "ID":"cn-suzhou1"
        },
   ]
}

Transport

URL:https://117.48.207.72/MgmtTransportConnection

最低服务器要求:

  • 操作系统: Centos7
  • 配置要求:1cpu,1GB内存,5GB存储

AddTransportServer

Transport Server分两种类型,一种是待迁移源端内部部署(On-Premises类型), 一种是迁移目标端部署(必需)。

请求参数:

{
    'Action'	 :'AddTransportServer',
    'ServType'  : "On-Premises" | "Cloud"
    'Name'       : STRING,//用户输入
    'CloudId' : CLOUD_UUID,//如果是On-Premises类型,则设为NULL
    'MgntAddr' : Host Address, //Transport Address
}

返回参数:

{
    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data"  : {"ID": "1234"}
}

VerifyTransportService

{
    'Action'     : 'VerifyTransportConnection',
    'MgntAddr' : 'IP_ADDRESS' //Transport 管理IP
}

返回参数:

{
    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data": null
}

DeleteTransportServer

说明:如果Transport Server有关联源主机,则禁止删除。

请求参数:

{
    'Action'        :'DeleteTransportServer',
    'Id' 	:STRING,
}

返回参数:

{
    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data": null
}

RefreshTransportServer

请求参数:

{
    'Action' : 'RefreshTransportServer',
    'Id': STRING
}

返回参数:

{
    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data": null
}

UpdateTransportServer

请求参数

{
    'Action'      : 'UpdateTransportServer',
    'Id'  : STRING,
    'Name'        : STRING
}

返回参数:

{
    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data" : null
}

ListTransportServer

请求参数:

{
    'Action'  : 'ListTransportServer',
    'Ip'      : STRING//可选, 根据IP过滤
    'Name'    : STRING //可选,根据名称过滤
    'ServType': STRING //可选,根据类型过滤 "on-premises" | ”cloud“
}

返回参数:

{

    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data" : {
        [
            'Id'            : STRING,
            'Name'          : STRING,
            'CloudName'      : CLOUD_UUID,//如果是On-Premises类型,则设为NULL
            'ServType'       : "on-premises" | ”cloud“
            'MgntAddr'       : HOST_ADDR,
            'CreatedTime'     : YYYY-MM-DD HH-MM-SS            //添加时间
            'MaxSupportedTasks'    :  int32    //支持的最大任务数量, v2.0添加
            'CurrentTasks'     :  int32   // 当前正在运行的任务数量, v2.0添加
            StorageId:  string,       // 当前transport所在的存储的id, v2.2添加
            StorageType:  string,   // 当前transport所在的存储的类型, v2.2添加
        ],
        ...
    }
}

备注:StorageType 有  LOCAL,ARSTOR,FCSAN,IPSAN,XSKY

源主机

URL:https://117.48.207.72/portal/MgmtHostConnection

AddPackerHost

与TransportServer交互必要参数在添加的时候记录到数据库。
网络信息,磁盘信息等。

请求参数:

{
    'Action'        : 'AddPackerHost',
    'Name'          : STRING //32
    'TransId' 	    : UUID, //transport server uuid
    'MgntAddr'     : PACK_NIC_ADDR,
}

返回参数:

{
    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data": {"ID": "1234"}
}

DeletePackerHost

说明:正在执行复制任务的源主机不允许删除

请求参数

{
    'Action'     : 'DeletePackerHost'
    'Id'  : STRING
}

返回参数:

{
    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data": null
}

RefreshPackerHost

请求参数:

{
    'Action' : 'RefreshPackerHost',
    'Id': STRING
}

返回参数:

{
    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data": null
}

VerifyPackerConnection

说明:正在执行复制任务的源主机不允许删除

请求参数

{
    'Action'     : 'VerifyPackerConnection'
    'HostId'    : STRING
	'TransAddr'  : STRING
}

返回参数:

{
    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data": null
}

UpdatePackerHost

修改所选Packer源主机信息

请求参数:

{
    'Action'     : 'UpdatePackerHost',
    'TransId'    : STRING,
    'Id'         : STRING,
    "Name"       : string
}

返回参数:

{
    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data": null
}

ListHosts

列出可用源主机列表。

请求参数:

{
    'Action'    :'ListHosts',
    'Name'      : STRING,//可选,根据名称过滤
    'MgntAddr'  : STRING,//可选,根据IP过滤
    "TaskFree"  : bool //可选,默认为false, 当置为true时返回可迁移主机列表
}

Response:

必要参数:PACK_NAME, PACK_ADDR, OS_TYPE, DISK_SIZE,TIMESTAMP

{
    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data": [{
    "ID":"fc76c6c0-2bc7-4b19-b1cc-20f628549197",
    "Name":"host-10-10-10-47", //主机名称
    "MgntAddr":"117.48.144.17",    //PACKER管理IP
    "OsName": "LINUX",
    "TotalSize": 150323855360, //系统盘+数据盘
    'CreatedTime': YYYY-MM-DD HH-MM-SS            //添加时间
     'Agent' : bool              # 标记有无代理
     'Offline' : bool            # 标记离线在线
     'VcenterIp' : string            # vcenter ip地址
     'VcenterUser'  : string         # vcenter UserName
}]
}

GetPackerHost

所选Packer源主机详细信息

请求参数:

{
    'Action'            : 'GetPackerHost',
    'Id'         : STRING,
}

返回参数:
这里列出的是主要参数

{
    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data":{
        "Id"           :"fc76c6c0-2bc7-4b19-b1cc-20f628549197",
        "Name"         :"host-10-10-10-47", //主机名称
        "MgntAddr"     :"117.48.144.17",    //packer管理ip
        "TransName":   "Trasnport",
        "OsType"       : "linux",
        "OsName"       : "linux",
        "CPU"          : int
        "Memory"        : int
        "Manufacturer"   : string
        "VolumeInfos": [{
                "Path"      : "/dev/vdb",
                "Type"      : "lvm|partation|disk|dmraid|raid",
                "Filesystem": "ext2/ext3/ext4/xfs/other",
                "Capacity"  : 1024000,
                "UseType"  : boot|root|data,
                "FreeSpace": 1024000
                "FreeSpaceNotEnough": true/flase,
        }],
        "TotalSize": 100GB, //系统盘+数据盘
        "HostType": "physical", //本地还是openstack ??
        'CreatedTime': yyyy-mm-dd hh-mm-ss            //添加时间
        'Agent' : bool              # 标记有无代理
        'Offline' : bool            # 标记离线在线
        'VcenterIp' : string            # vcenter ip地址
        'VcenterUser'  : string         # vcenter UserName
    }
}

Replication Process Management

URL: https://117.48.207.72/MgmtTask

PrepareTaskWorkload

默认压缩和QOS关闭。

请求参数:

{
    'Action'                  : 'PrepareTaskWorkload', 
    'Name'                 : string //复制任务名称
    'HostId'                : string,   //源端uuid
    'CloudId'               : string,   //源端uuid
    'SrcTransId'           : hostuuid, //非直传模式中转服务器uuid。
    'TargetTransId'      : hostuuid,
    'StorageId'           : string,  // v2.1添加, v2.2暂不使用
    'VolumeInfos'            : [{
        'VolumeName':  "/dev/vda",
        'VolumeType':    volume type, //支持自定义云硬盘类型
        'VolumeSize':     volume size,
        'CloudVolumeName':   string,   // 云端磁盘名称   ,v2.0添加
        'PreAlloc':    bool,    //v2.1
    }],
    'IntervalMinutes'        : integer,
    'MaxSnapsNum'            : integer,
    'StartTime'              : 'yyyy-mm-dd hh:mm' //任务触发时间
    'IsCompressed'           : true |false
    'QosLimit'               : mb/s //带宽限制
    'FlavorId'               :target vm flavor id(可选, CPU&Memory二选一)
    'NetworkId'              :network id
    'SubnetId'               :subnetwork id (海河必选)
    'RouteId'                :route  id // 可选,for huayun 公有云
    'SecurityGroupId'        :security group id (可选,For海河不需要)
    "CPU"                    : 4,(可选, 与FlavorId二选一)
    "Memory"                 : 8,
    "BandWidth"          : 10
    "TargetServerName"     :  string   // 云端虚机名称   ,v2.0添加
}

返回参数:

{
    'Code' :  int        //成功返回 0,   目标主机重名返回1, 目标云硬盘重名返回 2
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data": {
        "ID": "taskid",  
        "Repeated":[],  # v2.0 添加,重复的主机名或者云硬盘名称
     }
}

Delete Migration Task

请求参数:

{
    'Action'    : 'DeleteTask'
    'Id' : STRING
}

返回参数:

{
    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data": null
}

Update Task Setting

1、任务开始之前1分钟允许修改快照间隔和开始时间以及云硬盘类型\快照个数,否则禁止修改

==(now-StartTime) < 60s不允许修改IntervalMinutes、StartTime、MaxSnapNum==

2、主机规格和网络是在恢复之前可以修改的,开始完成任务做恢复后不可以再修改了

==(ActionState=1007)不允许修改FlavorId、NetworkId、SubnetId、SecurityGroupId==

{
    'Action'              : 'UpdateTask'
    'Id'                    : string,
    'Name'               : string,
    'IntervalMinutes'  : integer,
    'MaxSnapNum'    : integer,
    'StartTime'         : 'yyyy-mm-dd hh:mm:ss'
    'FlavorId'           : target vm flavor id
    'NetworkId'       :network id
    'SubnetId'         :subnetwork id
    'RouteId'          :route  id // for huayun 公有云, 可选参数
    'SecurityGroupId':security group id
    "CPU"               : 2,
    "Memory"          : 4 //单位GB
    "BandWidth"       : 10
    "TargetServerName"     :  string   // 云端虚机名称   ,v2.0添加
}

返回参数:

{
    'Code' :  int        //成功返回 0,   目标主机重名返回1
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data": {
        "ID": "taskid",  
        "Repeated":[],  # v2.0 添加,重复的主机名
     }
}

List Tasks

请求参数:

{
    'Action'    : 'ListTasks',
    'Name'      : task name, //可选
    'SrcHost'  : source host name, //optional
    'PageLimit':integer, //page limit, 默认20
    'PageNum'  : integer, //page number
}

返回参数:

    data: 
    {
        'Tasks':[
            {
             'Name'             : string,
             'Id'                  : string,
             'HostName'        : string,
             'HostAddr'         : string,
             'ProgressPrecent' : string,
             'UpdatedTime'     : yyyy-mm-dd hh:mm:ss,
             'CreateTime'       : yyyy-mm-dd hh:mm:ss,
             'StartTime'         : yyyy-mm-dd hh:mm:ss,      // v2.0添加
             'Status'          : string,
             'ActionState'     : Int   //  V2.0,新增 值为1003, 表示任务已暂停,显示重试按钮
             'LastSync'        : Int   //取值范围0,1,2, 默认为0, 当LastSync==1时表示触发了最后一次数据同步, 当LastSync==2时表示最后数据同步已经正式开始进行。。
             "SnapTimes"       :3,//默认为0, 数据迁移次数,当SnapTimes==1时表示正在进行首次全量,这时不可执行完成迁移的操作。
             'Offline'         : bool 
             'Agent'          : bool 
             'PredictDoneTime'   :    int64  # v2.0添加,显示数据传输剩余时间,单位是秒
             'SnapshotSize' : int64       # v2.0添加,显示当前数据传输的总数据量,单位是byte
             'TransferedSize' : int64     # v2.0添加,显示当前传输中已传输的数据量,单位是byte
            },
        ]
        'TaskTotal'        : integer,//count of total tasks
        'TaskInProcess'   : integer,//count of tasks in process
        'TaskDone'         : integer,//count of comleted tasks
    }

ActionState 范围:const (
	TaskCreated       = 1000  //Setup Task
	TaskWaitSnapshot  = 1001             //Cloud Volume Ready or rpc recieve progress=100%
	TaskSnapshotted     1002           //After Call Transport Create Snapshot
	TaskError           1003           //Error occured
	TaskStopped         1004          //when delete task
	TaskSuccess         1005           //after create instance available
	TaskExcuteV2V       1006          //call transport to do v2v
	TaskWaitRecovery    1007          //after v2v success
	TaskInRecovery      1008          //call create instance
	TaskCompleted       1009            //after create vm.
)

Get Task Detail

请求参数:

{
    'Action'    : 'GetTaskDetail',
    'Id'        : STRING //Task uuid
}

返回参数:

{
        "Code":0,
        "Msg":"Get Task Details Success.",
        "Data":{
            "Id"             :"5358999805",
            "Name"       :"Task01",
            'Offline'        : bool  
            'Agent'          : bool   
            "CloudType":"openstack",
            "IntervalMinutes":10,
            "StartTime":"2018-12-25 10:20:03",
            "SnapTimes":3,//默认为0, 数据迁移次数,当SnapTimes==1时表示正在进行首次全量,这时不可执行完成迁移的操作。
            "MaxSnapNumber":3,
            "ProgressPrecent":"100%",
            'PredictDoneTime'   :    int64    # v2.0添加,显示数据传输剩余时间,单位是秒
            'SnapshotSize' :    int64      # v2.0添加,显示当前数据传输的总数据量,单位是byte
            'TransferedSize' : int64     # v2.0添加,显示当前传输中已传输的数据量,单位是byte
            "LastSync":0,   //当LastSync==2时,ProgressPrecent才是完成迁移进行最后数据同步的进度
            "Status":"Create Cloud Volume Snapshot Failed.",
            "ActionState":1009,
            "IsCompressed":true,
            "QosBW":10, //单位 MB/s
            "SourceHost":{
                "Name":"Packe02",
                "MgntAddr":"172.16.57.68",
                "OsName":"CentOS Linux release 7.2.1511 (Core)",
                "Offline" : bool                 # v1.3添加
                "Agent" : bool                  # v1.3添加
                "VcenterIp" : string            # vcenter ip地址,  v1.3添加
                "VcenterUser" : string         # vcenter ip地址,  v1.3添加
                "VolumeInfos": 
                 [
                    {
                    "Path":"/dev/vda1",
                    "Size":"80GB",
                    "UseType":"root",
                    "VolumeType":"Capacity",
                    "FreeSpace": "10PB",    //或者TB/GB/MB/KB
                    "FreeSpaceNotEnough": true/flase,
                    "Group": string           // 表示归属那一个组,比如 lvm 的 vg,v1.3 添加,未使用
                    "CloudVolumeName" : string ,  // 云端磁盘名称   ,v2.0添加
                     StorageId: string,
                     },
                  ]
             },
            "TargetHost":{
                "DataCenter":"",
                "ServerID":"",               // 云端虚机id
                "ServerName":"",          // 云端虚机名称, v2.0 可以设置
                "Flavor":"2",
                "BindWidth":10240,
                "Network":"88f001dd-1c42-4eba-9ebc-05e2a57c02ae",
                "Subnet":"88f001dd-1c42-4eba-9ebc-05e2a57c02ae",
                "SecGroup":"default",
                "CPU": 4,
                "Memory": 8//GB
                StorageId:  string,
             },
            "SrcTransHost":{
                 "Name":"Transport",
                 "MgntAddr":""
             },
            "TransHost":{
                 "Name":"Transport",
                 "MgntAddr":"172.16.57.27", 
                 StorageId:  string,
                 StorageType: string,
            }
        }
    }

CompleteTask

至少全量数据迁移完成后才可以进行操作。(SnapTimes >=2 或者Process==100%)

请求参数

{
    'Action'        : 'CompleteTask'
    'Id'            : STRING,
}

Response:

{
   'Code': true | false
   'Msg' : Success or error description
   "Data": null
}

ContinueTask

V2.0 新增
请求参数:

{
    'Action'                   : 'ContinueTask'
    "Id"                         : string, //TaskID
}

返回参数:

{
    'Code' :  int        //成功返回 0,
    'Msg'  : DESC STRING //Success or Error Code Description
}

CheckTaskInfoExisting

v2.0新增

请求参数:

{
    'Action'                    : 'CheckTargetHostInfoExisting', 
    'CloudId'                  : string,   //云平台 uuid
    'TaskName'              : string,  // 任务名称
    'TargetServerName'    : string // 云端虚机名称   ,v2.0添加
    'CloudVolumeNames'‘ : []string // 云端磁盘名称   ,v2.0添加
}

返回参数:

{
    'Code' :  int        //成功返回 0,   重名返回1
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data": {
         "TaskNameExisted":  "",
        "ServerNameExisted":  "",  # v2.0 添加,如果云主机名称重复,值为主机名,否则为""
        "VolumeNameExisted":[],  # v2.0 添加,重复的云硬盘名称
     }
}

DisplayTaskHistory

请求参数

{
    'Action'        : 'DisplayTaskHistory'
    'Id'     : string,
}

Response:

{
   'Code': true | false
   'Msg' : Success or error description
   "Data": [
        {
       
            'Number'        : int  //编码
            'Msg'           :  STRING,//status description
            'Timestamp'     :  YYYY-MM-DD HH:MM:SS,
        }
    ]
}

ListAvailableSnapshot

请求参数

{
    'Action' : 'ListSnapshots'
    'Id'     : STRING, //TASKID
}

Response:

{
    "Code":0,
    "Msg":"Get Task Snapshots Success.",
    "Data":[{
        "TimeStamp":"2018-12-29 18:36:25" //列表显示快照时间戳
    }]

ListVolumeTypes

请求:

{
    'Action'   : 'ListVolumeTypes'
    'Id'  : Cloud STRING,
    StorageId:  string,
}

Response:

{
    'Code' : true|false,//成功返回True, 失败返回False
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data":  [{
                    'Name'  :"Capacity", 
                    'ID'    : "1234"
    }]
}

ListStorages

v2.2新增
请求:

{
    'Action'   : 'ListStorages'
    'Id'  : Cloud id, STRING,
    StorageId:  string,
}

Response:

{
    'Code' : 0,
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data":  [{
                    'Name'  :"arstor", 
                    'ID'    : "123423123",
                    'Type':  "",
    }]
}

ListInstanceFlavors

请求:

{
    'Action'   : 'ListFlavors'
    'Id'       : Cloud STRING,
}

Response:

{
    'Flavors' : 
    [
        {
            'Name'  : 2核4G_SERIES_STANDARD 或者 2核4G_SERIES_SUPERCOMPUTER	等	// 界面显示为 2核4G_普通型, 2核4G_增强型
            'Ram'   :1024 //mb,
            'vCPU'  : 1,
            'ID'    : 2核4G_SERIES_STANDARD   ,   //openstack uuid, 华云公有云
            'Disk'  : 20,
        },
    ]
}

# 华云 公有云 只是使用  Name 和 ID, Name 和 ID 相同

ListNetwork

请求

{
    'Action'      : 'ListNetworks'
    'Id' : STRING,
}

Response:

{
    'Networks': [{
        'Subnets': [{
                        'Cidr': '192.168.1.0/24',
                        'Id': "2d6e3002-410e-4dd2-98cd-04c7f310a4d0"
                    },
                    {
                        'Cidr': '192.168.2.0/24',
                        'Id': "fe7a1873-f41b-4125-9ccf-798dd8a678a3"
                    }],
        'Name': 'my_vpc'
        'Id'  : "3a90ae79-9b69-4b79-b7b9-5ad5f105bfd5"
    }]
}

List Security Group

请求

{
    'Action'     : 'ListSecurityGroups'
    'Id' : STRING,
}

Response:

{
    'SecurityGroup': [{
        'Name': 'default'
        'ID'  : "3a90ae79-9b69-4b79-b7b9-5ad5f105bfd5"
    }]
}

List Quota

请求

{
    'Action'     : 'ListQuota'
    'Id' : STRING,//CloudID
}

Response:

{"Code":0,
"Msg":"信息获取成功",
"Data":{"CPU":996,"Memory":992,"Disk":19718}//Memory DIsk单位GB
}

Create Instance

请求

{
    'Action'                   : 'CreateInstance'
    "Id"                         : string, //TaskID
    'FlavorId'                 : target vm flavor id
    'NetworId'               :network id
    'SubnetId'                :subnetwork id
    'RouteId'                 :route  id // for huayun 公有云, 可选参数
    'SecurityGroupId'      :security group id
    'Bandwidth'              : 10 		//huayun公有云, Mbps
    "TargetServerName"     :  string   // 云端虚机名称   ,v2.0添加
}

Response:

{
    'Code' :  int        //成功返回 0,   目标主机重名返回1
    'Msg'  : DESC STRING //Success or Error Code Description
    "Data": {
        "ID": "taskid",  
        "Repeated":[],  # v2.0 添加,重复的主机名
     }
}

Get Task Recovery Instance

请求

{
    'Action' : 'GetInstance'
    "Id"     : string
}

Response:

{
   Code: true |false
   Msg: Success or Error Description
   "Data": {ID: "1234", Name: "cmigrate0108-1234"}
}

ListVM

请求参数:

        VcenterIp, string       # vcenter ip地址
        UserName, string     # 
        Passwd,   string         #
        TransId	                   # transport id

返回值:

        data: 
        [
            {
                'Name'             : string,   # vm name
                'Ip'                  : string,   # vm ip 
                'Uuid'               : string,   # vm uuid
                'EsxiHost'          : string,   # esxi host ip
                'Added'             : bool,     # the vm has already been added to Host
            },
            ...
        ]

AddVMHosts

请求参数:

        HostsUuid:
        [
                Uuid,   string         #vm host uuid
        ]
        TransId	                        # transport id

返回值:

        [
            {
            'Id'            : string   # vm id
            'Name'       : string   # vm name
            'Ip'            : string   # vm ip
            'Success'     : bool    # 是否已成功添加
            }
        ]
%23%20%E4%BA%91%E8%BF%81%E7%A7%BB%20restful%20api%20v2.2%20%E7%AE%80%E4%BB%8B%0A%0A%E6%8E%A7%E5%88%B6%E6%9C%8D%E5%8A%A1%E5%8A%9F%E8%83%BD%EF%BC%9A%20%E7%BD%91%E9%A1%B5%E8%BF%9E%E6%8E%A5%EF%BC%8C%20RESTful%20API%E8%BF%9E%E6%8E%A5%EF%BC%8C%20%E6%8E%A5%E6%94%B6%E5%85%B6%E5%AE%83%20Transport%E6%9C%8D%E5%8A%A1%E6%8E%A7%E5%88%B6%E6%8C%87%E4%BB%A4%E3%80%82%0A%0A1.%20Transport%20Server%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9FCentOS%0A2.%20%E6%8E%A7%E5%88%B6%E7%AE%A1%E7%90%86%E6%9C%8D%E5%8A%A1%E6%97%A2%E5%8F%AF%E4%BB%A5%E4%B8%8ETransport%E6%9C%8D%E5%8A%A1%E4%B8%80%E8%B5%B7%E9%83%A8%E7%BD%B2%EF%BC%8C%E4%B9%9F%E5%8F%AF%E4%BB%A5%E5%8D%95%E7%8B%AC%E9%83%A8%E7%BD%B2%E3%80%82%0A%0A%E9%92%88%E5%AF%B9%E4%B8%8D%E7%94%A8%E7%9A%84%E6%A8%A1%E5%9D%97%E7%AE%A1%E7%90%86%EF%BC%8C%E6%8E%A7%E5%88%B6%E7%AE%A1%E7%90%86%E6%9C%8D%E5%8A%A1%E8%AE%BE%E7%BD%AE6%E4%B8%AAURL%E6%8E%A5%E6%94%B6%E8%BF%9E%E6%8E%A5%E8%AF%B7%E6%B1%82%E3%80%82%0A%0A-%20https%3A%2F%2F117.48.207.72%2FMgmtCloudConnection%0A-%20https%3A%2F%2F117.48.207.72%2FMgmtHostConnection%0A-%20https%3A%2F%2F117.48.207.72%2FMgmtTransportConnection%0A-%20https%3A%2F%2F117.48.207.72%2FMgmtTask%0A-%20https%3A%2F%2F117.48.207.72%2FUpdateSetting%0A-%20%E6%89%80%E6%9C%89API%E8%AF%B7%E6%B1%82%E6%96%B9%E6%B3%95%E9%83%BD%E6%98%AFPOST%E3%80%82%0A-%20%E9%92%88%E5%AF%B9%E4%BB%A5%E4%B8%8A%E6%AF%8F%E7%B1%BB%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86%EF%BC%8C%E7%AE%A1%E6%8E%A7%E6%9C%8D%E5%8A%A1%E9%83%BD%E4%BC%9A%E5%86%85%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%B5%84%E6%BA%90%E7%9A%84UUID%EF%BC%8Ceg%EF%BC%9A%20%E5%9C%A8%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE%E6%97%B6%E6%AF%8F%E4%B8%AACloud%E7%8E%AF%E5%A2%83%E9%83%BD%E4%BC%9A%E6%9C%89%E4%B8%80%E4%B8%AACloudUUID%2C%20%E6%AF%8F%E4%B8%AA%E6%BA%90%E4%B8%BB%E6%9C%BA%E9%83%BD%E4%BC%9A%E6%9C%89%E4%B8%80%E4%B8%AAHostUUID%2C%E6%AF%8F%E4%B8%AA%E5%A4%8D%E5%88%B6%E6%9C%8D%E5%8A%A1%E4%BC%9A%E6%9C%89REPL_UUID%E7%AD%89%E3%80%82%0A%0A%23%20%E5%85%AC%E5%85%B1%E5%8F%82%E6%95%B0%0A%E6%89%80%E6%9C%89HTTP%E8%AF%B7%E6%B1%82%E4%B8%AD%EF%BC%8C%E9%83%BD%E5%8C%85%E5%90%AB%E5%A6%82%E4%B8%8B%E5%85%AC%E5%85%B1%E8%AF%B7%E6%B1%82%E5%A4%B4%EF%BC%88HTTP%20Header%EF%BC%89%EF%BC%88%E4%B8%BA%E5%87%8F%E5%B0%91%E5%86%85%E5%AE%B9%E9%87%8D%E5%A4%8D%EF%BC%8C%E5%85%AC%E5%85%B1%E5%8F%82%E6%95%B0%E5%B0%B1%E4%B8%8D%E5%9C%A8%E5%90%84API%20%E8%AF%A6%E6%83%85%E4%B8%AD%E5%88%97%E5%87%BA%E4%BA%86%EF%BC%89%E3%80%82%0A%0A%E5%90%8D%E7%A7%B0%20%7C%20%E7%B1%BB%E5%9E%8B%20%7C%20%E6%98%AF%E5%90%A6%E5%BF%85%E9%9C%80%7C%20%E6%8F%8F%E8%BF%B0%0A---%7C---%7C---%7C---%0AAccept%20%7CString%20%7C%E6%98%AF%20%7CJSON%EF%BC%9Aapplication%2Fjson%0AContent-Type%20%7CString%20%7C%E6%98%AF%20%7C%E5%BD%93%E5%89%8D%E8%AF%B7%E6%B1%82body%E7%9A%84%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%EF%BC%8CJSON%EF%BC%9Aapplication%2Fjson%0AAuthorization%20%7CString%20%7C%E6%98%AF%20%7C%E7%94%A8%E6%88%B7%E8%AE%A4%E8%AF%81Token%E3%80%82%0A%0A%E8%AF%B4%E6%98%8E%EF%BC%9A%20%E7%94%A8%E6%88%B7%E5%B0%86Token%E6%B7%BB%E5%8A%A0%E5%88%B0Authorization%E5%A4%B4%E9%83%A8%EF%BC%8C%E4%BD%9C%E4%B8%BA%E7%94%A8%E6%88%B7%E8%AE%A4%E8%AF%81%E5%87%AD%E8%AF%81%E3%80%82%E8%8B%A5Token%E8%BF%87%E6%9C%9F%EF%BC%8C%E5%88%99%E4%BC%9A%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E9%87%8D%E6%96%B0%E7%99%BB%E5%BD%95%0A%0A%0A%23%20%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86%0A%E9%87%87%E7%94%A8%E7%94%A8%E6%88%B7%E5%90%8D%E5%AF%86%E7%A0%81%E8%BF%9B%E8%A1%8C%E6%9D%83%E9%99%90%E8%AE%A4%E8%AF%81%EF%BC%8C%20%E9%83%A8%E7%BD%B2%E5%90%8E%E5%88%9D%E6%AC%A1%E7%99%BB%E9%99%86%E4%BD%BF%E7%94%A8%E9%BB%98%E8%AE%A4%E7%94%A8%E6%88%B7%E5%90%8D%E5%8F%8A%E5%AF%86%E7%A0%81%EF%BC%8C%E7%99%BB%E9%99%86%E5%90%8E%E5%8F%AF%E4%BF%AE%E6%94%B9%E5%AF%86%E7%A0%81%E3%80%82%0A%0A%23%23%20User%20Login%0AURL%3A%20https%3A%2F%2F117.48.207.72%2FLogin%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20%22UserName%22%20%20%20%20%20%3A%20%22admin%22%0A%20%20%20%20%22Password%22%20%20%20%20%20%3A%20STRING%2F%2F6-20%E4%B8%AA%E5%AD%97%E7%AC%A6%EF%BC%8C%E5%AD%97%E6%AF%8D%E3%80%81%E6%95%B0%E5%AD%97%E5%92%8C%E7%89%B9%E8%89%B2%E7%AC%A6%E5%8F%B7%E8%87%B3%E5%B0%91%E5%8C%85%E5%90%AB%E4%B8%A4%E7%A7%8D%0A%7D%0A%60%60%60%0A%0AResponse%0A%0A%60%60%60%0A%7B%0A%20%20%20%20%22Code%22%20%3A%20true%7Cfalse%2C%20%20%20%20%20%20%20%2F%2F%E6%88%90%E5%8A%9F%20or%20%E5%A4%B1%E8%B4%A5%0A%20%20%20%20%22Msg%22%20%20%3A%20success%20or%20error%20description%2C%20%2F%2F%E6%88%90%E5%8A%9F%20or%20%E5%A4%B1%E8%B4%A5%0A%20%20%20%20%22Data%22%20%EF%BC%9A%7B%22Token%22%3A%20%22abcdef%22%2C%20%22IsFirstLogin%22%3A%20true%2Ffalse%7D%0A%7D%0A%60%60%60%0A%0A%23%23%20User%20Login%0AURL%3A%20https%3A%2F%2F117.48.207.72%2FReAuth%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%E5%8F%82%E8%80%83%E5%85%AC%E5%85%B1%E5%8F%82%E6%95%B0%E3%80%82%0A%0AResponse%0A%0A%60%60%60%0A%7B%0A%20%20%20%20%22Code%22%20%3A%20true%7Cfalse%2C%20%20%20%20%20%20%20%2F%2F%E6%88%90%E5%8A%9F%20or%20%E5%A4%B1%E8%B4%A5%0A%20%20%20%20%22Msg%22%20%20%3A%20success%20or%20error%20description%2C%20%2F%2F%E6%88%90%E5%8A%9F%20or%20%E5%A4%B1%E8%B4%A5%0A%20%20%20%20%22Data%22%20%EF%BC%9A%7B%22Token%22%3A%20%22abcdef%22%2C%20%22IsFirstLogin%22%3A%20false%7D%0A%7D%0A%60%60%60%0A%0A%23%23%20User%20Logout%0AURL%3A%20https%3A%2F%2F117.48.207.72%2FLogout%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%E6%97%A0%0A%0AResponse%0A%0A%60%60%60%0A%7B%0A%20%20%20%20%22Code%22%20%3A%20true%7Cfalse%2C%20%20%20%20%20%20%20%2F%2F%E6%88%90%E5%8A%9F%20or%20%E5%A4%B1%E8%B4%A5%0A%20%20%20%20%22Msg%22%20%20%3A%20success%20or%20error%20description%2C%20%2F%2F%E6%88%90%E5%8A%9F%20or%20%E5%A4%B1%E8%B4%A5%0A%20%20%20%20%22Data%22%20%EF%BC%9Anull%0A%7D%0A%60%60%60%0A%0A%0A%23%23%20ChangePassword%0AURL%3A%20https%3A%2F%2F117.48.207.72%2FMgntSetting%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20%22Action%22%20%20%20%20%20%20%20%3A%20%22ChangePassword%22%2C%0A%20%20%20%20'UserName'%20%20%20%20%20%3A%20%22admin%22%0A%20%20%20%20%22Password%22%20%20%20%20%20%20%3A%20string%20%2F%2Foldpass%0A%20%20%20%20'NewPassword'%20%20%3A%20STRING%2F%2F6-20%E4%B8%AA%E5%AD%97%E7%AC%A6%EF%BC%8C%E5%AD%97%E6%AF%8D%E3%80%81%E6%95%B0%E5%AD%97%E5%92%8C%E7%89%B9%E8%89%B2%E7%AC%A6%E5%8F%B7%E8%87%B3%E5%B0%91%E5%8C%85%E5%90%AB%E4%B8%A4%E7%A7%8D%0A%7D%0A%60%60%60%0A%0AResponse%0A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20%22Code%22%20%3A%20true%7Cfalse%20%20%20%20%20%20%20%2F%2F%E6%88%90%E5%8A%9F%20or%20%E5%A4%B1%E8%B4%A5%0A%20%20%20%20%22Msg%22%20%20%3A%20STRING%20%20%20%20%20%20%20%20%20%20%20%2F%2FError%20Description%0A%20%20%20%20%22Data%22%3A%20null%0A%7D%0A%60%60%60%0A%0A%23%20License%E7%AE%A1%E7%90%86%0A%0ALicense%E6%8E%88%E6%9D%83%E9%99%90%E5%88%B6%E5%8C%85%E6%8B%ACLicense%E4%BD%BF%E7%94%A8%E6%97%B6%E9%97%B4%E4%BB%A5%E5%8F%8A%E8%BF%81%E7%A7%BB%E6%AC%A1%E6%95%B0%E7%9A%84%E9%99%90%E5%88%B6%E3%80%82%0A%E5%A4%87%E6%B3%A8%EF%BC%9A%0A1%E3%80%81%E6%96%B0%E5%BB%BA%E4%BB%BB%E5%8A%A1%EF%BC%8C%E5%8F%AF%E7%94%A8%E8%BF%81%E7%A7%BB%E6%AC%A1%E6%95%B0%E4%BC%9A%E5%87%8F%E5%B0%91%E4%B8%80%E6%AC%A1.%0A2%E3%80%81%E5%88%A0%E9%99%A4%E6%9C%AA%E5%AE%8C%E6%88%90%E7%9A%84%E4%BB%BB%E5%8A%A1%E6%97%B6%EF%BC%8C%E6%94%B9%E4%BB%BB%E5%8A%A1%E5%8D%A0%E7%94%A8%E7%9A%84%E8%BF%81%E7%A7%BB%E6%AC%A1%E6%95%B0%E4%BC%9A%E8%A2%AB%E9%87%8A%E6%94%BE%EF%BC%8C%E5%8F%AF%E7%94%A8%E8%BF%81%E7%A7%BB%E6%AC%A1%E6%95%B0%E5%9C%A8%E4%BB%BB%E5%8A%A1%E5%88%A0%E9%99%A4%E6%88%90%E5%8A%9F%E5%90%8E%E4%BC%9A%E5%A2%9E%E5%8A%A01%E6%AC%A1%EF%BC%8C%E5%BD%93%E4%BB%BB%E5%8A%A1%E5%B7%B2%E5%AE%8C%E6%88%90%E8%BF%81%E7%A7%BB%EF%BC%88%E8%BF%81%E7%A7%BB%E6%88%90%E5%8A%9F%EF%BC%8C%E4%BA%91%E7%AB%AF%E5%AD%98%E5%9C%A8%E6%81%A2%E5%A4%8D%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%89%EF%BC%8C%E5%88%A0%E9%99%A4%E4%BB%BB%E5%8A%A1%E5%8F%AF%E7%94%A8%E8%BF%81%E7%A7%BB%E6%AC%A1%E6%95%B0%E4%B8%8D%E5%8F%98%0A%0AURL%3A%20https%3A%2F%2F117.48.207.72%2FMgntSetting%0A%0A%23%23%20%E5%AF%BC%E5%85%A5%2F%E6%9B%B4%E6%96%B0License%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20%22Action%22%20%20%20%20%20%20%20%20%20%3A%20%22UpdateLicense%22%2C%0A%20%20%20%20%22ActivationKey%22%20%20%3A%20string%2C%2F%2F%E6%BF%80%E6%B4%BB%E7%A0%81%0A%7D%0A%60%60%60%0A%0AResponse%0A%0A%60%60%60%0A%7B%0A%20%20%20%20%22Code%22%20%3A%20true%7Cfalse%20%20%20%20%20%20%20%2F%2F%E6%88%90%E5%8A%9F%20or%20%E5%A4%B1%E8%B4%A5%0A%20%20%20%20%22Msg%22%20%20%3A%20STRING%20%20%20%20%20%20%20%20%20%20%20%2F%2FError%20Description%0A%20%20%20%20%22Data%22%3A%20%7B%22Credits%22%3A100%2C%22ExpireTime%22%3A%222020-01-10T16%3A10%3A10%2B08%3A00%22%2C%22Id%22%3A%22a85d6061-e25f-4abc-854b-a6010e99d69f%22%2C%22Used%22%3A4%7D%0A%20%20%20%20'%0A%7D%0A%60%60%60%0A%0A%23%23%20%E5%88%A0%E9%99%A4License%0A%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%3A%20'DeleteLicense'%2C%0A%7D%0A%60%60%60%0A%0AResponse%0A%0A%60%60%60%0A%7B%0A%20%20%20%20Code%3A%20true%20%7C%20false%0A%20%20%20%20Msg%20%3A%20Success%20Description%20or%20Error%20Description%0A%20%20%20%20%22Data%22%3A%20null%0A%20%20%20%20%0A%7D%0A%60%60%60%0A%0A%23%23%20Get%20License%0A%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%20%20%3A%20'GetLicense'%2C%0A%7D%0A%60%60%60%0A%0AResponse%0A%0A%60%60%60%0A%7B%0A%20%20%20%20%22Code%22%20%3A%20true%7Cfalse%20%20%20%20%20%20%20%2F%2F%E6%88%90%E5%8A%9F%20or%20%E5%A4%B1%E8%B4%A5%0A%20%20%20%20%22Msg%22%20%20%3A%20STRING%20%20%20%20%20%20%20%20%20%20%20%2F%2FError%20Description%0A%20%20%20%20%22Data%22%3A%20%7B%22Credits%22%3A100%2C%22ExpireTime%22%3A%222020-01-10T16%3A10%3A10%2B08%3A00%22%2C%22Id%22%3A%22a85d6061-e25f-4abc-854b-a6010e99d69f%22%2C%22Used%22%3A4%7D%0A%7D%0A%60%60%60%0A%0A%0A%23%20%E7%8E%AF%E5%A2%83%E9%83%A8%E7%BD%B2%0A%0A%23%23%20Cloud%0A%0AURL%3A%20%20https%3A%2F%2F117.48.207.72%2FMgmtCloudConnection%0A%0A-%20Cloud%E8%BF%9E%E6%8E%A5%E7%AE%A1%E7%90%86%E7%9B%AE%E5%89%8DAPI%E4%BB%85%E5%88%97%E5%87%BA%E6%94%AF%E6%8C%81%E5%8D%8E%E4%BA%91%EF%BC%88%E5%85%AC%E6%9C%89%E4%BA%91AK%2FSK%EF%BC%89%E4%BB%A5%E5%8F%8ACU%EF%BC%88%E7%A7%81%E6%9C%89%E4%BA%91Openstack%EF%BC%89%E5%B9%B3%E5%8F%B0%E7%B1%BB%E5%9E%8B%E3%80%82%0A%0A%23%23%23%20ListCloudType%0A%E6%94%AF%E6%8C%81%E7%9A%84%E4%BA%91%E5%B9%B3%E5%8F%B0%E7%B1%BB%E5%9E%8B%E3%80%82%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%3A%20'ListCloudType'%2C%0A%7D%0A%60%60%60%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%200%20%20%20%20%20%20%2F%2F%E6%88%90%E5%8A%9F%20or%20%E5%A4%B1%E8%B4%A5%0A%20%20%20%20'Msg'%20%20%3A%20STRING%20%20%20%20%20%20%20%20%20%20%20%2F%2FError%20Description%0A%20%20%20%20%22Data%22%3A%5B%22Huayun%22%2C%22Openstack%22%2C%20%22CloudUltra%204%22%2C%20%22ArcherOS%202020%22%5D%0A%7D%0A%60%60%60%0A%0A%23%23%23%20Add%20Cloud%0A%E6%96%B0%E5%A2%9E%E4%BA%91%E8%BF%9E%E6%8E%A5%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%20%20%20%20%20%20%3A%20'AddCloudConnection'%2C%0A%20%20%20%20'CloudName'%20%20%20%20%20%20%20%20%3A%20STRING%2C%20%2F%2F2~20%E4%B8%AA%E5%AD%97%E7%AC%A6%EF%BC%8C%E6%94%AF%E6%8C%81%E8%8B%B1%E6%96%87%E5%A4%A7%E5%B0%8F%E5%86%99%E3%80%81%E6%95%B0%E5%AD%97%E3%80%81%E4%B8%AD%E6%96%87%E4%BB%A5%E5%8F%8A%E4%B8%8B%E5%88%92%E7%BA%BF%2C%E4%B8%AD%E5%88%92%E7%BA%BF%E3%80%82%0A%20%20%20%20'CloudType'%20%20%20%20%20%20%20%20%3A%20Openstack%20%7C%20Huayun%20%7C%20%22CloudUltra%204%22%20%7C%20%22ArcherOS%202020%22%2C%0A%20%20%20%20'ProjectName'%20%20%20%20%20%20%3A%20STRING%2C%2F%2FFor%20AK%2FSK%E8%AE%A4%E8%AF%81%E4%BA%91%E7%8E%AF%E5%A2%83%2C%20%E8%AE%BE%E7%BD%AE%E4%B8%BANone%2C%20CU4%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%0A%20%20%20%20'CloudUser'%20%20%20%20%20%20%20%20%3A%20STRING%2C%2F%2FKeystone%20user%20name%20or%20ACCESS_KEY%0A%20%20%20%20'CloudPass'%20%20%20%20%20%20%20%20%3A%20STRING%2C%2F%2FKeystone%20user%20password%20or%20SECRET_KEY%0A%20%20%20%20'IdentityPort'%20%20%20%20%20%3A%20STRING%2C%2F%2FKeystone%20Identity%20Port%2C%20%E9%BB%98%E8%AE%A4%E5%80%BC5000%0A%20%20%20%20'CloudAddr'%20%20%20%20%20%20%20%20%3A%20STRING%20%2F%2FKeystone%20Identity%20Ip%20Address%EF%BC%8C%20or%20%E5%9F%9F%E5%90%8D%EF%BC%8CCU4%20API%E5%9C%B0%E5%9D%80%0A%20%20%20%20%22OwnerId%22%20%20%20%20%20%20%20%20%20%20%3A%20STRING%20%2F%2FCU4%E9%A1%B9%E7%9B%AEID%0A%20%20%20%20%22EnvironmentId%22%20%20%20%20%3A%20STRING%20%2F%2FCU4%E4%BA%91%E7%8E%AF%E5%A2%83ID%0A%20%20%20%20%22ZoneId%22%20%20%20%20%20%20%20%20%20%20%20%3A%20STRING%20%2F%2FCU4%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%BF%83ID%0A%20%20%20%20%22ZoneName%22%20%20%20%20%20%3A%20STRING%20%2F%2FCU4%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%BF%83%E5%90%8D%E7%A7%B0%0A%09%22RegionId%22%20%20%20%20%20%20%20%20%20%3A%20STRING%20%2F%2F%E5%8D%8E%E4%BA%91%E5%85%AC%E6%9C%89%E4%BA%91%E7%9A%84Region%20Id%0A%20%20%20%20%22RegionName%22%20%20%20%20%20%20%3A%20STRING%20%2F%2F%20%E5%8D%8E%E4%BA%91%E5%85%AC%E6%9C%89%E4%BA%91%E7%9A%84Region%20Name%0A%7D%0A%60%60%60%0A%0AResponse%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%20%20%20%20%20%20%20%2F%2F%E6%88%90%E5%8A%9F%20or%20%E5%A4%B1%E8%B4%A5%0A%20%20%20%20'Msg'%20%20%3A%20STRING%20%20%20%20%20%20%20%20%20%20%20%2F%2FError%20Description%0A%20%20%20%20%22Data%22%20%3A%20%7B%22ID%22%3A%20%22123456%22%7D%0A%7D%0A%60%60%60%0A%0A%0A%23%23%23%20Delete%20Cloud%0A%E5%88%A0%E9%99%A4%E4%BA%91%E8%BF%9E%E6%8E%A5%0A%0A%E8%AF%B4%E6%98%8E%EF%BC%9A%E5%A6%82%E6%9E%9C%E8%AF%A5%E4%BA%91%E7%8E%AF%E5%A2%83%E4%B8%AD%E6%9C%89%E5%85%B3%E8%81%94%E4%B8%BB%E6%9C%BA%E4%BD%9C%E4%B8%BATransportServer%2C%20%E5%88%99%E4%B8%8D%E5%85%81%E8%AE%B8%E5%88%A0%E9%99%A4%E3%80%82%E5%BF%85%E9%A1%BB%E5%85%88%E5%88%A0%E9%99%A4Transport%20Server%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%3A%20'DeleteCloudConnection'%2C%0A%20%20%20%20'Id'%20%20%3A%20%20%20STRING%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%0A%22Code%22%3A0%2C%0A%22Msg%22%3A%22Delete%20Cloud%20af39160548bd4cf9823d3d282dc58674%20Success.%22%2C%0A%22Data%22%3Anull%0A%20%20%20%20%0A%7D%0A%60%60%60%0A%0A%23%23%23%20Update%20Cloud%20Connection%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%20%20%20%20%20%20%3A%20'UpdateCloudConnection'%2C%0A%20%20%20%20'Id'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20STRING%2C%0A%20%20%20%20'Name'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3AString%0A%20%20%20%20'ProjectName'%20%20%20%20%20%20%3A%20STRING%2C%2F%2FFor%20Haihe%2CProject%20id%0A%20%20%20%20'CloudUser'%20%20%20%20%20%20%20%20%3A%20STRING%2C%0A%20%20%20%20'CloudPass'%20%20%20%20%20%20%20%20%3A%20STRING%2C%0A%20%20%20%20'IdentityPort'%20%20%20%20%20%3A%20STRING%2C%0A%20%20%20%20'CloudAddr'%20%20%20%20%20%20%20%20%3A%20HOST_ADDR%2C%0A%20%20%20%20%22EnvironmentId%22%20%20%20%20%3A%20STRING%2C%0A%20%20%20%20%22ZoneId%22%20%20%20%20%20%20%20%20%20%20%20%3A%20STRING%2C%0A%20%20%20%20%22ZoneName%22%20%20%20%20%20%20%20%20%20%20%20%3A%20STRING%2C%0A%20%20%20%20%22RegionId%22%20%20%20%20%20%20%20%20%20%3A%20STRING%20%20%20%20%20%20%20%20%20%20%2F%2F%E5%8D%8E%E4%BA%91%E5%85%AC%E6%9C%89%E4%BA%91%20Region%20Id%0A%20%20%20%20%22RegionName%22%20%20%20%20%20%20%3A%20STRING%20%2F%2F%20%E5%8D%8E%E4%BA%91%E5%85%AC%E6%9C%89%E4%BA%91%E7%9A%84Region%20Name%0A%7D%0A%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20null%0A%7D%0A%60%60%60%0A%0A%23%23%23%20List%20Cloud%0A%0A%E5%88%97%E4%B8%BE%E6%89%80%E6%9C%89%E4%BA%91%E7%8E%AF%E5%A2%83%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%3A%20'ListCloudConnection'%0A%20%20%20%20'Name'%20%20%20%20%3A%20cloud%20name%20%20%2F%2F%E5%8F%AF%E9%80%89%0A%7D%0A%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%80%BC%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20%22Code%22%3A%20%20%200%2C%0A%20%20%20%20%22Msg%22%20%3A%20%20%20%22Get%20All%20Cloud%20Connection%20Success.%22%2F%2Fsuccess%20or%20ErrorMsg%0A%20%20%20%20%22Data%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22AccountId%22%3A%2232e964393b1e4518859780c857be4d7d%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22ID%22%3A%22ad106d0c2be84a33be3c27fe504c2c86%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Name%22%3A%22huayun%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22CloudType%22%3A%22openstack%22%2C%2F%2F%E5%B9%B3%E5%8F%B0%E7%B1%BB%E5%9E%8B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22ProjectName%22%3A%22admin%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Domain%22%3A%22Default%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22CloudUser%22%3A%22admin%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22CloudPass%22%3A%22cGFzc3cwcmQ%3D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22CloudAddr%22%3A%22172.16.9.50%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22IdentityPort%22%3A%225000%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22IdentityUrl%22%3A%22http%3A%2F%2F172.16.9.50%3A5000%2Fv3%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22CreatedTime%22%3A%222018-12-20%2013%3A34%3A01%22%2F%2F%E6%B7%BB%E5%8A%A0%E6%97%B6%E9%97%B4%0A%20%20%20%20%20%20%20%20%20%20%20%20%22RegionName%22%3A%22%E8%8B%8F%E5%B7%9E%22%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20%E5%8D%8E%E4%BA%91%E5%85%AC%E6%9C%89%E4%BA%91%0A%20%20%20%20%20%20%20%20%20%20%20%20%22RegionId%22%3A%22cn-suzhou1%22%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20%E5%8D%8E%E4%BA%91%E5%85%AC%E6%9C%89%E4%BA%91%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D%0A%0A%60%60%60%0A%E8%AF%B4%E6%98%8E%EF%BC%9A%E5%A6%82%E6%9E%9C%E6%98%AFAK%2FSK%E8%AE%A4%E8%AF%81%E7%9A%84%E4%BA%91%E7%8E%AF%E5%A2%83%EF%BC%8C%E5%88%99%22ProjectName%22%E4%B8%BANone%2C%20%22CloudAddr%22%E4%B8%BA%E8%AE%BF%E9%97%AE%E6%9C%8D%E5%8A%A1%E5%9F%9F%E5%90%8D%E3%80%82%0A%0A%0A%23%23%23%20Verify%20Cloud%20Connection%0A%0ACloud%E7%8E%AF%E5%A2%83%E8%BF%9E%E9%80%9A%E6%80%A7%E6%A3%80%E9%AA%8C%EF%BC%9A%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%20%20%20%20%20%3A%20'VerifyCloudConnection'%2C%0A%20%20%20%20'CloudType'%20%20%20%20%20%20%20%20%3A%20STRING%0A%20%20%20%20'ProjectName'%20%20%20%20%20%20%3A%20STRING%2C%20%2F%2FFor%20haihe%2C%20Project%20name%0A%20%20%20%20'CloudUser'%20%20%20%20%20%20%20%20%3A%20STRING%2C%20%2F%2FUserName%20or%20AccessKey%0A%20%20%20%20'CloudPass'%20%20%20%20%20%20%20%20%3A%20STRING%2C%2F%2FPassword%20or%20SecretKey%0A%20%20%20%20'IdentityProtocal'%20%3A%20http%20%7C%20https%2F%2F%E9%BB%98%E8%AE%A4http%0A%20%20%20%20'CloudAddr'%20%20%20%20%20%20%20%20%3A%20STRING%20%2F%2FKeystone%20endpoint%20IP.%E6%88%96%E8%80%85%E5%85%AC%E6%9C%89%E4%BA%91%E5%9F%9F%E5%90%8D%E8%AE%BF%E9%97%AE%E5%9C%B0%E5%9D%80%0A%20%20%20%20'IdentityPort'%20%20%20%20%20%3A%205000%20%2F%2F%E6%99%AE%E9%80%9A%E7%94%A8%E6%88%B7%E9%BB%98%E8%AE%A45000%0A%09'ownerId'%20%20%20%20%20%20%20%20%20%20%3A%20STRING%2C%20%2F%2FFor%20haihe%2C%20Project%20id%0A%09'EnvironmentId'%20%20%20%20%3A%20STRING%2C%20%2F%2FFor%20haihe%0A%09'zoneId'%20%20%20%20%20%20%20%20%20%20%20%3A%20STRING%2C%20%2F%2FFor%20haihe%0A%20%20%20%20'RegionId'%20%20%20%20%20%20%20%20%20%3A%20STRING%2C%20%2F%2F%E5%8D%8E%E4%BA%91%E5%85%AC%E6%9C%89%E4%BA%91%E7%9A%84Region%0A%7D%0A%60%60%60%0A%0AResponse%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%3A%20true%20%7C%20false%2C%0A%20%20%20%20'Msg'%3A%20%22Success.%22%20or%20error%20Description%0A%20%20%20%20%22Data%22%3A%20null%0A%7D%0A%60%60%60%0A%0A%23%23%23%20List%20ClouUltra4%20Project%0A%0A%E8%AF%B7%E6%B1%82%0A%60%60%60%0A%7B%0A%20%20%20%20%22Action%22%20%20%20%20%20%20%20%3A%20%22ListProject%22%0A%09%22APIMgntURL%22%20%20%20%3A%20%22http%3A%2F%2F172.16.140.20%2Fapi%22%2C%0A%09%22AccessKey%22%3A%20%22admin%22%2C%0A%09%22SecretKey%22%3A%20%22Huayun%23123%22%0A%09%22IsEncrypted%22%3A%20%22False%22%2F%2F%E9%BB%98%E8%AE%A4False%0A%7D%0A%60%60%60%0A%0AResponse%3A%0A%0A%60%60%60%0A%7B%22Code%22%3A0%2C%0A%22Msg%22%3A%22Get%20All%20Project%20Success.%22%2C%0A%22Data%22%3A%5B%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%22Name%22%3A%22cmigrate%22%2C%0A%20%20%20%20%20%20%20%20%22ID%22%3A%22307f849c-e931-4e4a-a96f-076e05276b9c%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%22Name%22%3A%22lipf_test%22%2C%0A%20%20%20%20%20%20%20%20%22ID%22%3A%22ae30f3a2-4f0e-4475-9d55-579c8eaf1249%22%0A%20%20%20%20%7D%0A%5D%0A%60%60%60%0A%0A%23%23%23%20ListEnvironment%0A%0A%E8%AF%B7%E6%B1%82%0A%60%60%60%0A%7B%0A%20%20%20%20%22Action%22%3A%20%22ListEnvironment%22%2C%0A%20%20%20%20%22APIMgntURL%22%3A%20%22http%3A%2F%2F172.16.140.20%2Fapi%22%2C%0A%20%20%20%20%22AccessKey%22%3A%20%22admin%22%2C%0A%20%20%20%20%22SecretKey%22%3A%20%22Huayun%23123%22%2C%0A%20%20%20%20%22IsEncrypted%22%3A%20%22False%22%2F%2F%E9%BB%98%E8%AE%A4False%0A%20%20%20%20%22HypervisorType%22%3A%20%22KVM%22%20%2F%2FKVM%20%7CVMWARE%20%EF%BC%8C%20%E5%8D%8E%E6%B3%B0%E9%A1%B9%E7%9B%AE%E5%8F%AA%E9%9C%80%E5%88%97%E5%87%BAkvm%E7%B1%BB%E5%9E%8B%0A%7D%0A%60%60%60%0A%0AResponse%3A%0A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20%22Code%22%3A0%2C%0A%20%20%20%20%22Msg%22%3A%22Get%20All%20Environments%20Success.%22%2C%0A%20%20%20%20%22Data%22%3A%5B%7B%22Name%22%3A%22KVM%22%2C%22ID%22%3A%221%22%7D%5D%0A%20%20%20%20%0A%7D%0A%60%60%60%0A%0A%23%23%23%20ListZone%0A%0A%E8%AF%B7%E6%B1%82%0A%60%60%60%0A%7B%0A%20%20%20%20%22Action%22%20%20%20%20%20%20%20%20%20%3A%20%22ListZone%22%0A%09%22APIMgntURL%22%20%20%20%20%20%3A%20%22http%3A%2F%2F172.16.140.20%2Fapi%22%2C%0A%09%22AccessKey%22%20%20%20%20%20%20%3A%20%22admin%22%2C%0A%09%22SecretKey%22%20%20%20%20%20%20%3A%20%22Huayun%23123%22%0A%09%22IsEncrypted%22%3A%20%22False%22%2F%2F%E9%BB%98%E8%AE%A4False%2F%2F%E5%AF%86%E7%A0%81%E6%98%AF%E5%90%A6%E5%8A%A0%E5%AF%86%0A%09%22EnvironmentId%22%20%20%EF%BC%9A%20%2212345%22%0A%09%22OwnerId%22%20%20%20%20%20%20%20%20%EF%BC%9A%20%2212345%22%0A%7D%0A%60%60%60%0A%0AResponse%3A%0A%0A%60%60%60%0A%7B%0A%22Code%22%3A0%2C%0A%22Msg%22%3A%22Get%20All%20Zone%20Success.%22%2C%0A%22Data%22%3A%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Name%22%3A%22cmigrate%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22ID%22%3A%22307f849c-e931-4e4a-a96f-076e05276b9c%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Name%22%3A%22lipf_test%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22ID%22%3A%22ae30f3a2-4f0e-4475-9d55-579c8eaf1249%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%5D%0A%20%20%20%20%0A%7D%0A%60%60%60%0A%0A%23%23%23%20ListRegion%0A%2F%2Fhuayun%E4%B8%93%E5%B1%9E%0A%E8%AF%B7%E6%B1%82%0A%60%60%60%0A%7B%0A%20%20%20%20%22Action%22%20%20%20%20%20%20%20%20%20%3A%20%22ListRegion%22%0A%20%20%20%20%22AccessKey%22%20%20%20%3A%20%22ak%22%0A%20%20%20%20%22SecretKey%22%20%20%20%3A%20%22sk%22%0A%20%20%20%20%22isEncrypted%22%20%20%3A%20%22False%22%2F%2F%E9%BB%98%E8%AE%A4False%2F%2F%E5%AF%86%E7%A0%81%E6%98%AF%E5%90%A6%E5%8A%A0%E5%AF%86%0A%7D%0A%60%60%60%0A%0AResponse%3A%0A%0A%60%60%60%0A%7B%0A%22Code%22%3A0%2C%0A%22Msg%22%3A%22Get%20All%20Region%20Success.%22%2C%0A%22Data%22%3A%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Name%22%3A%22%E8%8B%8F%E5%B7%9E%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22ID%22%3A%22cn-suzhou1%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%5D%0A%7D%0A%60%60%60%0A%0A%0A%23%23%20Transport%0A%0AURL%EF%BC%9Ahttps%3A%2F%2F117.48.207.72%2FMgmtTransportConnection%0A%0A%E6%9C%80%E4%BD%8E%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%A6%81%E6%B1%82%EF%BC%9A%0A%0A-%20%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%9A%20Centos7%0A-%20%E9%85%8D%E7%BD%AE%E8%A6%81%E6%B1%82%EF%BC%9A1cpu%EF%BC%8C1GB%E5%86%85%E5%AD%98%EF%BC%8C5GB%E5%AD%98%E5%82%A8%0A%0A%23%23%23%20AddTransportServer%0A%0ATransport%20Server%E5%88%86%E4%B8%A4%E7%A7%8D%E7%B1%BB%E5%9E%8B%EF%BC%8C%E4%B8%80%E7%A7%8D%E6%98%AF%E5%BE%85%E8%BF%81%E7%A7%BB%E6%BA%90%E7%AB%AF%E5%86%85%E9%83%A8%E9%83%A8%E7%BD%B2%EF%BC%88On-Premises%E7%B1%BB%E5%9E%8B%EF%BC%89%EF%BC%8C%20%E4%B8%80%E7%A7%8D%E6%98%AF%E8%BF%81%E7%A7%BB%E7%9B%AE%E6%A0%87%E7%AB%AF%E9%83%A8%E7%BD%B2%EF%BC%88%E5%BF%85%E9%9C%80%EF%BC%89%E3%80%82%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%09%20%3A'AddTransportServer'%2C%0A%20%20%20%20'ServType'%20%20%3A%20%22On-Premises%22%20%7C%20%22Cloud%22%0A%20%20%20%20'Name'%20%20%20%20%20%20%20%3A%20STRING%2C%2F%2F%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%0A%20%20%20%20'CloudId'%20%3A%20CLOUD_UUID%2C%2F%2F%E5%A6%82%E6%9E%9C%E6%98%AFOn-Premises%E7%B1%BB%E5%9E%8B%EF%BC%8C%E5%88%99%E8%AE%BE%E4%B8%BANULL%0A%20%20%20%20'MgntAddr'%20%3A%20Host%20Address%2C%20%2F%2FTransport%20Address%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%20%20%3A%20%7B%22ID%22%3A%20%221234%22%7D%0A%7D%0A%60%60%60%0A%0A%23%23%23%20VerifyTransportService%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%3A%20'VerifyTransportConnection'%2C%0A%20%20%20%20'MgntAddr'%20%3A%20'IP_ADDRESS'%20%2F%2FTransport%20%E7%AE%A1%E7%90%86IP%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20null%0A%7D%0A%60%60%60%0A%0A%23%23%23%20DeleteTransportServer%0A%E8%AF%B4%E6%98%8E%EF%BC%9A%E5%A6%82%E6%9E%9CTransport%20Server%E6%9C%89%E5%85%B3%E8%81%94%E6%BA%90%E4%B8%BB%E6%9C%BA%EF%BC%8C%E5%88%99%E7%A6%81%E6%AD%A2%E5%88%A0%E9%99%A4%E3%80%82%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%20%20%3A'DeleteTransportServer'%2C%0A%20%20%20%20'Id'%20%09%3ASTRING%2C%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20null%0A%7D%0A%60%60%60%0A%23%23%23%20RefreshTransportServer%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%3A%20'RefreshTransportServer'%2C%0A%20%20%20%20'Id'%3A%20STRING%0A%7D%0A%60%60%60%0A%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20null%0A%7D%0A%60%60%60%0A%0A%23%23%23%20UpdateTransportServer%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%3A%20'UpdateTransportServer'%2C%0A%20%20%20%20'Id'%20%20%3A%20STRING%2C%0A%20%20%20%20'Name'%20%20%20%20%20%20%20%20%3A%20STRING%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%20%3A%20null%0A%7D%0A%60%60%60%0A%0A%23%23%23%20ListTransportServer%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%3A%20'ListTransportServer'%2C%0A%20%20%20%20'Ip'%20%20%20%20%20%20%3A%20STRING%2F%2F%E5%8F%AF%E9%80%89%EF%BC%8C%20%E6%A0%B9%E6%8D%AEIP%E8%BF%87%E6%BB%A4%0A%20%20%20%20'Name'%20%20%20%20%3A%20STRING%20%2F%2F%E5%8F%AF%E9%80%89%EF%BC%8C%E6%A0%B9%E6%8D%AE%E5%90%8D%E7%A7%B0%E8%BF%87%E6%BB%A4%0A%20%20%20%20'ServType'%3A%20STRING%20%2F%2F%E5%8F%AF%E9%80%89%EF%BC%8C%E6%A0%B9%E6%8D%AE%E7%B1%BB%E5%9E%8B%E8%BF%87%E6%BB%A4%20%22on-premises%22%20%7C%20%E2%80%9Dcloud%E2%80%9C%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%0A%60%60%60%0A%7B%0A%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%20%3A%20%7B%0A%20%20%20%20%20%20%20%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20'Id'%20%20%20%20%20%20%20%20%20%20%20%20%3A%20STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20'Name'%20%20%20%20%20%20%20%20%20%20%3A%20STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20'CloudName'%20%20%20%20%20%20%3A%20CLOUD_UUID%2C%2F%2F%E5%A6%82%E6%9E%9C%E6%98%AFOn-Premises%E7%B1%BB%E5%9E%8B%EF%BC%8C%E5%88%99%E8%AE%BE%E4%B8%BANULL%0A%20%20%20%20%20%20%20%20%20%20%20%20'ServType'%20%20%20%20%20%20%20%3A%20%22on-premises%22%20%7C%20%E2%80%9Dcloud%E2%80%9C%0A%20%20%20%20%20%20%20%20%20%20%20%20'MgntAddr'%20%20%20%20%20%20%20%3A%20HOST_ADDR%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20'CreatedTime'%20%20%20%20%20%3A%20YYYY-MM-DD%20HH-MM-SS%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%E6%B7%BB%E5%8A%A0%E6%97%B6%E9%97%B4%0A%20%20%20%20%20%20%20%20%20%20%20%20'MaxSupportedTasks'%20%20%20%20%3A%20%20int32%20%20%20%20%2F%2F%E6%94%AF%E6%8C%81%E7%9A%84%E6%9C%80%E5%A4%A7%E4%BB%BB%E5%8A%A1%E6%95%B0%E9%87%8F%EF%BC%8C%20v2.0%E6%B7%BB%E5%8A%A0%0A%20%20%20%20%20%20%20%20%20%20%20%20'CurrentTasks'%20%20%20%20%20%3A%20%20int32%20%20%20%2F%2F%20%E5%BD%93%E5%89%8D%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E7%9A%84%E4%BB%BB%E5%8A%A1%E6%95%B0%E9%87%8F%EF%BC%8C%20v2.0%E6%B7%BB%E5%8A%A0%0A%20%20%20%20%20%20%20%20%20%20%20%20StorageId%3A%C2%A0%C2%A0string%EF%BC%8C%20%20%20%20%20%20%20%2F%2F%20%E5%BD%93%E5%89%8Dtransport%E6%89%80%E5%9C%A8%E7%9A%84%E5%AD%98%E5%82%A8%E7%9A%84id%EF%BC%8C%20v2.2%E6%B7%BB%E5%8A%A0%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0StorageType%3A%C2%A0%C2%A0string%EF%BC%8C%20%20%20%2F%2F%20%E5%BD%93%E5%89%8Dtransport%E6%89%80%E5%9C%A8%E7%9A%84%E5%AD%98%E5%82%A8%E7%9A%84%E7%B1%BB%E5%9E%8B%EF%BC%8C%20v2.2%E6%B7%BB%E5%8A%A0%0A%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20...%0A%20%20%20%20%7D%0A%7D%0A%0A%E5%A4%87%E6%B3%A8%EF%BC%9AStorageType%20%E6%9C%89%20%20LOCAL%2CARSTOR%2CFCSAN%2CIPSAN%2CXSKY%0A%0A%60%60%60%0A%0A%23%23%20%E6%BA%90%E4%B8%BB%E6%9C%BA%0AURL%EF%BC%9Ahttps%3A%2F%2F117.48.207.72%2Fportal%2FMgmtHostConnection%0A%0A%23%23%23%20AddPackerHost%0A%E4%B8%8ETransportServer%E4%BA%A4%E4%BA%92%E5%BF%85%E8%A6%81%E5%8F%82%E6%95%B0%E5%9C%A8%E6%B7%BB%E5%8A%A0%E7%9A%84%E6%97%B6%E5%80%99%E8%AE%B0%E5%BD%95%E5%88%B0%E6%95%B0%E6%8D%AE%E5%BA%93%E3%80%82%0A%E7%BD%91%E7%BB%9C%E4%BF%A1%E6%81%AF%EF%BC%8C%E7%A3%81%E7%9B%98%E4%BF%A1%E6%81%AF%E7%AD%89%E3%80%82%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%20%20%3A%20'AddPackerHost'%2C%0A%20%20%20%20'Name'%20%20%20%20%20%20%20%20%20%20%3A%20STRING%20%2F%2F32%0A%20%20%20%20'TransId'%20%09%20%20%20%20%3A%20UUID%2C%20%2F%2Ftransport%20server%20uuid%0A%20%20%20%20'MgntAddr'%20%20%20%20%20%3A%20PACK_NIC_ADDR%2C%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20%7B%22ID%22%3A%20%221234%22%7D%0A%7D%0A%0A%60%60%60%0A%0A%23%23%23%20DeletePackerHost%0A%0A%E8%AF%B4%E6%98%8E%EF%BC%9A%E6%AD%A3%E5%9C%A8%E6%89%A7%E8%A1%8C%E5%A4%8D%E5%88%B6%E4%BB%BB%E5%8A%A1%E7%9A%84%E6%BA%90%E4%B8%BB%E6%9C%BA%E4%B8%8D%E5%85%81%E8%AE%B8%E5%88%A0%E9%99%A4%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%0A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%3A%20'DeletePackerHost'%0A%20%20%20%20'Id'%20%20%3A%20STRING%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20null%0A%7D%0A%60%60%60%0A%0A%23%23%23%20RefreshPackerHost%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%3A%20'RefreshPackerHost'%2C%0A%20%20%20%20'Id'%3A%20STRING%0A%7D%0A%60%60%60%0A%0A%0A%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20null%0A%7D%0A%60%60%60%0A%0A%0A%23%23%23%20VerifyPackerConnection%0A%0A%E8%AF%B4%E6%98%8E%EF%BC%9A%E6%AD%A3%E5%9C%A8%E6%89%A7%E8%A1%8C%E5%A4%8D%E5%88%B6%E4%BB%BB%E5%8A%A1%E7%9A%84%E6%BA%90%E4%B8%BB%E6%9C%BA%E4%B8%8D%E5%85%81%E8%AE%B8%E5%88%A0%E9%99%A4%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%3A%20'VerifyPackerConnection'%0A%20%20%20%20'HostId'%20%20%20%20%3A%20STRING%0A%09'TransAddr'%20%20%3A%20STRING%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20null%0A%7D%0A%60%60%60%0A%0A%0A%23%23%23%20UpdatePackerHost%0A%0A%E4%BF%AE%E6%94%B9%E6%89%80%E9%80%89Packer%E6%BA%90%E4%B8%BB%E6%9C%BA%E4%BF%A1%E6%81%AF%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%3A%20'UpdatePackerHost'%2C%0A%20%20%20%20'TransId'%20%20%20%20%3A%20STRING%2C%0A%20%20%20%20'Id'%20%20%20%20%20%20%20%20%20%3A%20STRING%2C%0A%20%20%20%20%22Name%22%20%20%20%20%20%20%20%3A%20string%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20null%0A%7D%0A%0A%60%60%60%0A%0A%23%23%23%20ListHosts%0A%E5%88%97%E5%87%BA%E5%8F%AF%E7%94%A8%E6%BA%90%E4%B8%BB%E6%9C%BA%E5%88%97%E8%A1%A8%E3%80%82%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%3A'ListHosts'%2C%0A%20%20%20%20'Name'%20%20%20%20%20%20%3A%20STRING%2C%2F%2F%E5%8F%AF%E9%80%89%EF%BC%8C%E6%A0%B9%E6%8D%AE%E5%90%8D%E7%A7%B0%E8%BF%87%E6%BB%A4%0A%20%20%20%20'MgntAddr'%20%20%3A%20STRING%2C%2F%2F%E5%8F%AF%E9%80%89%EF%BC%8C%E6%A0%B9%E6%8D%AEIP%E8%BF%87%E6%BB%A4%0A%20%20%20%20%22TaskFree%22%20%20%3A%20bool%20%2F%2F%E5%8F%AF%E9%80%89%EF%BC%8C%E9%BB%98%E8%AE%A4%E4%B8%BAfalse%2C%20%E5%BD%93%E7%BD%AE%E4%B8%BAtrue%E6%97%B6%E8%BF%94%E5%9B%9E%E5%8F%AF%E8%BF%81%E7%A7%BB%E4%B8%BB%E6%9C%BA%E5%88%97%E8%A1%A8%0A%7D%0A%60%60%60%0A%0AResponse%EF%BC%9A%0A%0A%E5%BF%85%E8%A6%81%E5%8F%82%E6%95%B0%EF%BC%9APACK_NAME%2C%20PACK_ADDR%2C%20OS_TYPE%2C%20DISK_SIZE%EF%BC%8CTIMESTAMP%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20%5B%7B%0A%20%20%20%20%22ID%22%3A%22fc76c6c0-2bc7-4b19-b1cc-20f628549197%22%2C%0A%20%20%20%20%22Name%22%3A%22host-10-10-10-47%22%2C%20%2F%2F%E4%B8%BB%E6%9C%BA%E5%90%8D%E7%A7%B0%0A%20%20%20%20%22MgntAddr%22%3A%22117.48.144.17%22%2C%20%20%20%20%2F%2FPACKER%E7%AE%A1%E7%90%86IP%0A%20%20%20%20%22OsName%22%3A%20%22LINUX%22%2C%0A%20%20%20%20%22TotalSize%22%3A%20150323855360%2C%20%2F%2F%E7%B3%BB%E7%BB%9F%E7%9B%98%2B%E6%95%B0%E6%8D%AE%E7%9B%98%0A%20%20%20%20'CreatedTime'%3A%20YYYY-MM-DD%20HH-MM-SS%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%E6%B7%BB%E5%8A%A0%E6%97%B6%E9%97%B4%0A%20%20%20%20%20'Agent'%20%3A%20bool%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E6%A0%87%E8%AE%B0%E6%9C%89%E6%97%A0%E4%BB%A3%E7%90%86%0A%20%20%20%20%20'Offline'%20%3A%20bool%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E6%A0%87%E8%AE%B0%E7%A6%BB%E7%BA%BF%E5%9C%A8%E7%BA%BF%0A%20%20%20%20%20'VcenterIp'%20%3A%20string%20%20%20%20%20%20%20%20%20%20%20%20%23%20vcenter%20ip%E5%9C%B0%E5%9D%80%0A%20%20%20%20%20'VcenterUser'%20%20%3A%20string%20%20%20%20%20%20%20%20%20%23%20vcenter%20UserName%0A%7D%5D%0A%7D%0A%0A%60%60%60%0A%0A%23%23%23%20GetPackerHost%0A%0A%E6%89%80%E9%80%89Packer%E6%BA%90%E4%B8%BB%E6%9C%BA%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%20%20%20%20%20%20%3A%20'GetPackerHost'%2C%0A%20%20%20%20'Id'%20%20%20%20%20%20%20%20%20%3A%20STRING%2C%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%E8%BF%99%E9%87%8C%E5%88%97%E5%87%BA%E7%9A%84%E6%98%AF%E4%B8%BB%E8%A6%81%E5%8F%82%E6%95%B0%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%7B%0A%20%20%20%20%20%20%20%20%22Id%22%20%20%20%20%20%20%20%20%20%20%20%3A%22fc76c6c0-2bc7-4b19-b1cc-20f628549197%22%2C%0A%20%20%20%20%20%20%20%20%22Name%22%20%20%20%20%20%20%20%20%20%3A%22host-10-10-10-47%22%2C%20%2F%2F%E4%B8%BB%E6%9C%BA%E5%90%8D%E7%A7%B0%0A%20%20%20%20%20%20%20%20%22MgntAddr%22%20%20%20%20%20%3A%22117.48.144.17%22%2C%20%20%20%20%2F%2Fpacker%E7%AE%A1%E7%90%86ip%0A%20%20%20%20%20%20%20%20%22TransName%22%3A%20%20%20%22Trasnport%22%2C%0A%20%20%20%20%20%20%20%20%22OsType%22%20%20%20%20%20%20%20%3A%20%22linux%22%2C%0A%20%20%20%20%20%20%20%20%22OsName%22%20%20%20%20%20%20%20%3A%20%22linux%22%2C%0A%20%20%20%20%20%20%20%20%22CPU%22%20%20%20%20%20%20%20%20%20%20%3A%20int%0A%20%20%20%20%20%20%20%20%22Memory%22%20%20%20%20%20%20%20%20%3A%20int%0A%20%20%20%20%20%20%20%20%22Manufacturer%22%20%20%20%3A%20string%0A%20%20%20%20%20%20%20%20%22VolumeInfos%22%3A%20%5B%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Path%22%20%20%20%20%20%20%3A%20%22%2Fdev%2Fvdb%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Type%22%20%20%20%20%20%20%3A%20%22lvm%7Cpartation%7Cdisk%7Cdmraid%7Craid%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Filesystem%22%3A%20%22ext2%2Fext3%2Fext4%2Fxfs%2Fother%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Capacity%22%20%20%3A%201024000%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22UseType%22%20%20%3A%20boot%7Croot%7Cdata%EF%BC%8C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22FreeSpace%22%3A%201024000%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22FreeSpaceNotEnough%22%3A%20true%2Fflase%2C%0A%20%20%20%20%20%20%20%20%7D%5D%2C%0A%20%20%20%20%20%20%20%20%22TotalSize%22%3A%20100GB%2C%20%2F%2F%E7%B3%BB%E7%BB%9F%E7%9B%98%2B%E6%95%B0%E6%8D%AE%E7%9B%98%0A%20%20%20%20%20%20%20%20%22HostType%22%3A%20%22physical%22%2C%20%2F%2F%E6%9C%AC%E5%9C%B0%E8%BF%98%E6%98%AFopenstack%20%3F%3F%0A%20%20%20%20%20%20%20%20'CreatedTime'%3A%20yyyy-mm-dd%20hh-mm-ss%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%E6%B7%BB%E5%8A%A0%E6%97%B6%E9%97%B4%0A%20%20%20%20%20%20%20%20'Agent'%20%3A%20bool%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E6%A0%87%E8%AE%B0%E6%9C%89%E6%97%A0%E4%BB%A3%E7%90%86%0A%20%20%20%20%20%20%20%20'Offline'%20%3A%20bool%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E6%A0%87%E8%AE%B0%E7%A6%BB%E7%BA%BF%E5%9C%A8%E7%BA%BF%0A%20%20%20%20%20%20%20%20'VcenterIp'%20%3A%20string%20%20%20%20%20%20%20%20%20%20%20%20%23%20vcenter%20ip%E5%9C%B0%E5%9D%80%0A%20%20%20%20%20%20%20%20'VcenterUser'%20%20%3A%20string%20%20%20%20%20%20%20%20%20%23%20vcenter%20UserName%0A%20%20%20%20%7D%0A%7D%0A%0A%60%60%60%0A%0A%23%20Replication%20Process%20Management%0A%0AURL%EF%BC%9A%20https%3A%2F%2F117.48.207.72%2FMgmtTask%0A%0A%23%23%20PrepareTaskWorkload%0A%0A%E9%BB%98%E8%AE%A4%E5%8E%8B%E7%BC%A9%E5%92%8CQOS%E5%85%B3%E9%97%AD%E3%80%82%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20'PrepareTaskWorkload'%2C%20%0A%20%20%20%20'Name'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%20%2F%2F%E5%A4%8D%E5%88%B6%E4%BB%BB%E5%8A%A1%E5%90%8D%E7%A7%B0%0A%20%20%20%20'HostId'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%20%20%20%2F%2F%E6%BA%90%E7%AB%AFuuid%0A%20%20%20%20'CloudId'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%20%20%20%2F%2F%E6%BA%90%E7%AB%AFuuid%0A%20%20%20%20'SrcTransId'%20%20%20%20%20%20%20%20%20%20%20%3A%20hostuuid%2C%20%2F%2F%E9%9D%9E%E7%9B%B4%E4%BC%A0%E6%A8%A1%E5%BC%8F%E4%B8%AD%E8%BD%AC%E6%9C%8D%E5%8A%A1%E5%99%A8uuid%E3%80%82%0A%20%20%20%20'TargetTransId'%20%20%20%20%20%20%3A%20hostuuid%2C%0A%20%20%20%20'StorageId'%20%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%20%20%2F%2F%20v2.1%E6%B7%BB%E5%8A%A0%2C%20v2.2%E6%9A%82%E4%B8%8D%E4%BD%BF%E7%94%A8%0A%20%20%20%20'VolumeInfos'%20%20%20%20%20%20%20%20%20%20%20%20%3A%20%5B%7B%0A%20%20%20%20%20%20%20%20'VolumeName'%3A%20%20%22%2Fdev%2Fvda%22%2C%0A%20%20%20%20%20%20%20%20'VolumeType'%3A%20%20%20%20volume%20type%2C%20%2F%2F%E6%94%AF%E6%8C%81%E8%87%AA%E5%AE%9A%E4%B9%89%E4%BA%91%E7%A1%AC%E7%9B%98%E7%B1%BB%E5%9E%8B%0A%20%20%20%20%20%20%20%20'VolumeSize'%3A%20%20%20%20%20volume%20size%2C%0A%20%20%20%20%20%20%20%20'CloudVolumeName'%3A%20%20%20string%2C%20%20%20%2F%2F%20%E4%BA%91%E7%AB%AF%E7%A3%81%E7%9B%98%E5%90%8D%E7%A7%B0%20%20%20%2Cv2.0%E6%B7%BB%E5%8A%A0%0A%20%20%20%20%20%20%20%20'PreAlloc'%3A%20%20%20%20bool%2C%20%20%20%20%2F%2Fv2.1%0A%20%20%20%20%7D%5D%2C%0A%20%20%20%20'IntervalMinutes'%20%20%20%20%20%20%20%20%3A%20integer%2C%0A%20%20%20%20'MaxSnapsNum'%20%20%20%20%20%20%20%20%20%20%20%20%3A%20integer%2C%0A%20%20%20%20'StartTime'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20'yyyy-mm-dd%20hh%3Amm'%20%2F%2F%E4%BB%BB%E5%8A%A1%E8%A7%A6%E5%8F%91%E6%97%B6%E9%97%B4%0A%20%20%20%20'IsCompressed'%20%20%20%20%20%20%20%20%20%20%20%3A%20true%20%7Cfalse%0A%20%20%20%20'QosLimit'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20mb%2Fs%20%2F%2F%E5%B8%A6%E5%AE%BD%E9%99%90%E5%88%B6%0A%20%20%20%20'FlavorId'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%EF%BC%9Atarget%20vm%20flavor%20id(%E5%8F%AF%E9%80%89%EF%BC%8C%20CPU%26Memory%E4%BA%8C%E9%80%89%E4%B8%80)%0A%20%20%20%20'NetworkId'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%EF%BC%9Anetwork%20id%0A%20%20%20%20'SubnetId'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%EF%BC%9Asubnetwork%20id%20%EF%BC%88%E6%B5%B7%E6%B2%B3%E5%BF%85%E9%80%89%EF%BC%89%0A%20%20%20%20'RouteId'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%EF%BC%9Aroute%20%20id%20%2F%2F%20%E5%8F%AF%E9%80%89%EF%BC%8Cfor%20huayun%20%E5%85%AC%E6%9C%89%E4%BA%91%0A%20%20%20%20'SecurityGroupId'%20%20%20%20%20%20%20%20%EF%BC%9Asecurity%20group%20id%20(%E5%8F%AF%E9%80%89%EF%BC%8CFor%E6%B5%B7%E6%B2%B3%E4%B8%8D%E9%9C%80%E8%A6%81)%0A%20%20%20%20%22CPU%22%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%204%2C(%E5%8F%AF%E9%80%89%EF%BC%8C%20%E4%B8%8EFlavorId%E4%BA%8C%E9%80%89%E4%B8%80)%0A%20%20%20%20%22Memory%22%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%208%2C%0A%20%20%20%20%22BandWidth%22%20%20%20%20%20%20%20%20%20%20%EF%BC%9A%2010%0A%20%20%20%20%22TargetServerName%22%20%20%20%20%20%3A%20%20string%20%20%20%2F%2F%20%E4%BA%91%E7%AB%AF%E8%99%9A%E6%9C%BA%E5%90%8D%E7%A7%B0%20%20%20%2Cv2.0%E6%B7%BB%E5%8A%A0%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20%20int%20%20%20%20%20%20%20%20%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9E%200%EF%BC%8C%20%20%20%E7%9B%AE%E6%A0%87%E4%B8%BB%E6%9C%BA%E9%87%8D%E5%90%8D%E8%BF%94%E5%9B%9E1%EF%BC%8C%20%E7%9B%AE%E6%A0%87%E4%BA%91%E7%A1%AC%E7%9B%98%E9%87%8D%E5%90%8D%E8%BF%94%E5%9B%9E%202%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%22ID%22%3A%20%22taskid%22%2C%20%20%0A%20%20%20%20%20%20%20%20%22Repeated%22%3A%5B%5D%EF%BC%8C%20%20%23%20v2.0%20%E6%B7%BB%E5%8A%A0%EF%BC%8C%E9%87%8D%E5%A4%8D%E7%9A%84%E4%B8%BB%E6%9C%BA%E5%90%8D%E6%88%96%E8%80%85%E4%BA%91%E7%A1%AC%E7%9B%98%E5%90%8D%E7%A7%B0%0A%20%20%20%20%20%7D%0A%7D%0A%60%60%60%0A%0A%0A%23%23%20Delete%20Migration%20Task%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%3A%20'DeleteTask'%0A%20%20%20%20'Id'%20%3A%20STRING%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20null%0A%7D%0A%60%60%60%0A%0A%23%23%20Update%20Task%20Setting%0A%0A1%E3%80%81%E4%BB%BB%E5%8A%A1%E5%BC%80%E5%A7%8B%E4%B9%8B%E5%89%8D1%E5%88%86%E9%92%9F%E5%85%81%E8%AE%B8%E4%BF%AE%E6%94%B9%E5%BF%AB%E7%85%A7%E9%97%B4%E9%9A%94%E5%92%8C%E5%BC%80%E5%A7%8B%E6%97%B6%E9%97%B4%E4%BB%A5%E5%8F%8A%E4%BA%91%E7%A1%AC%E7%9B%98%E7%B1%BB%E5%9E%8B%5C%E5%BF%AB%E7%85%A7%E4%B8%AA%E6%95%B0%EF%BC%8C%E5%90%A6%E5%88%99%E7%A6%81%E6%AD%A2%E4%BF%AE%E6%94%B9%0A%0A%20%20%20%3D%3D(now-StartTime)%20%3C%2060s%E4%B8%8D%E5%85%81%E8%AE%B8%E4%BF%AE%E6%94%B9IntervalMinutes%E3%80%81StartTime%E3%80%81MaxSnapNum%3D%3D%0A%20%20%20%0A2%E3%80%81%E4%B8%BB%E6%9C%BA%E8%A7%84%E6%A0%BC%E5%92%8C%E7%BD%91%E7%BB%9C%E6%98%AF%E5%9C%A8%E6%81%A2%E5%A4%8D%E4%B9%8B%E5%89%8D%E5%8F%AF%E4%BB%A5%E4%BF%AE%E6%94%B9%E7%9A%84%EF%BC%8C%E5%BC%80%E5%A7%8B%E5%AE%8C%E6%88%90%E4%BB%BB%E5%8A%A1%E5%81%9A%E6%81%A2%E5%A4%8D%E5%90%8E%E4%B8%8D%E5%8F%AF%E4%BB%A5%E5%86%8D%E4%BF%AE%E6%94%B9%E4%BA%86%0A%0A%3D%3D(ActionState%3D1007)%E4%B8%8D%E5%85%81%E8%AE%B8%E4%BF%AE%E6%94%B9FlavorId%E3%80%81NetworkId%E3%80%81SubnetId%E3%80%81SecurityGroupId%3D%3D%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20'UpdateTask'%0A%20%20%20%20'Id'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%0A%20%20%20%20'Name'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%0A%20%20%20%20'IntervalMinutes'%20%20%3A%20integer%2C%0A%20%20%20%20'MaxSnapNum'%20%20%20%20%3A%20integer%2C%0A%20%20%20%20'StartTime'%20%20%20%20%20%20%20%20%20%3A%20'yyyy-mm-dd%20hh%3Amm%3Ass'%0A%20%20%20%20'FlavorId'%20%20%20%20%20%20%20%20%20%20%20%3A%20target%20vm%20flavor%20id%0A%20%20%20%20'NetworkId'%20%20%20%20%20%20%20%EF%BC%9Anetwork%20id%0A%20%20%20%20'SubnetId'%20%20%20%20%20%20%20%20%20%EF%BC%9Asubnetwork%20id%0A%20%20%20%20'RouteId'%20%20%20%20%20%20%20%20%20%20%EF%BC%9Aroute%20%20id%20%2F%2F%20for%20huayun%20%E5%85%AC%E6%9C%89%E4%BA%91%EF%BC%8C%20%E5%8F%AF%E9%80%89%E5%8F%82%E6%95%B0%0A%20%20%20%20'SecurityGroupId'%EF%BC%9Asecurity%20group%20id%0A%20%20%20%20%22CPU%22%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%202%2C%0A%20%20%20%20%22Memory%22%20%20%20%20%20%20%20%20%20%20%3A%204%20%2F%2F%E5%8D%95%E4%BD%8DGB%0A%20%20%20%20%22BandWidth%22%20%20%20%20%20%20%20%3A%2010%0A%20%20%20%20%22TargetServerName%22%20%20%20%20%20%3A%20%20string%20%20%20%2F%2F%20%E4%BA%91%E7%AB%AF%E8%99%9A%E6%9C%BA%E5%90%8D%E7%A7%B0%20%20%20%2Cv2.0%E6%B7%BB%E5%8A%A0%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20%20int%20%20%20%20%20%20%20%20%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9E%200%EF%BC%8C%20%20%20%E7%9B%AE%E6%A0%87%E4%B8%BB%E6%9C%BA%E9%87%8D%E5%90%8D%E8%BF%94%E5%9B%9E1%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%22ID%22%3A%20%22taskid%22%2C%20%20%0A%20%20%20%20%20%20%20%20%22Repeated%22%3A%5B%5D%EF%BC%8C%20%20%23%20v2.0%20%E6%B7%BB%E5%8A%A0%EF%BC%8C%E9%87%8D%E5%A4%8D%E7%9A%84%E4%B8%BB%E6%9C%BA%E5%90%8D%0A%20%20%20%20%20%7D%0A%7D%0A%60%60%60%0A%0A%23%23%23%20List%20Tasks%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%3A%20'ListTasks'%2C%0A%20%20%20%20'Name'%20%20%20%20%20%20%3A%20task%20name%2C%20%2F%2F%E5%8F%AF%E9%80%89%0A%20%20%20%20'SrcHost'%20%20%3A%20source%20host%20name%2C%20%2F%2Foptional%0A%20%20%20%20'PageLimit'%EF%BC%9Ainteger%2C%20%2F%2Fpage%20limit%2C%20%E9%BB%98%E8%AE%A420%0A%20%20%20%20'PageNum'%20%20%3A%20integer%2C%20%2F%2Fpage%20number%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%20%20%20%20data%3A%20%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20'Tasks'%EF%BC%9A%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'Name'%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'Id'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'HostName'%20%20%20%20%20%20%20%20%3A%20string%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'HostAddr'%20%20%20%20%20%20%20%20%20%3A%20string%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'ProgressPrecent'%20%3A%20string%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'UpdatedTime'%20%20%20%20%20%3A%20yyyy-mm-dd%20hh%3Amm%3Ass%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'CreateTime'%20%20%20%20%20%20%20%3A%20yyyy-mm-dd%20hh%3Amm%3Ass%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'StartTime'%20%20%20%20%20%20%20%20%20%3A%20yyyy-mm-dd%20hh%3Amm%3Ass%2C%20%20%20%20%20%20%2F%2F%20v2.0%E6%B7%BB%E5%8A%A0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'Status'%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'ActionState'%20%20%20%20%20%3A%20Int%20%20%20%2F%2F%20%20V2.0%EF%BC%8C%E6%96%B0%E5%A2%9E%20%E5%80%BC%E4%B8%BA1003%EF%BC%8C%20%E8%A1%A8%E7%A4%BA%E4%BB%BB%E5%8A%A1%E5%B7%B2%E6%9A%82%E5%81%9C%EF%BC%8C%E6%98%BE%E7%A4%BA%E9%87%8D%E8%AF%95%E6%8C%89%E9%92%AE%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'LastSync'%20%20%20%20%20%20%20%20%3A%20Int%20%20%20%2F%2F%E5%8F%96%E5%80%BC%E8%8C%83%E5%9B%B40%EF%BC%8C1%EF%BC%8C2%EF%BC%8C%20%E9%BB%98%E8%AE%A4%E4%B8%BA0%EF%BC%8C%20%E5%BD%93LastSync%3D%3D1%E6%97%B6%E8%A1%A8%E7%A4%BA%E8%A7%A6%E5%8F%91%E4%BA%86%E6%9C%80%E5%90%8E%E4%B8%80%E6%AC%A1%E6%95%B0%E6%8D%AE%E5%90%8C%E6%AD%A5%EF%BC%8C%20%E5%BD%93LastSync%3D%3D2%E6%97%B6%E8%A1%A8%E7%A4%BA%E6%9C%80%E5%90%8E%E6%95%B0%E6%8D%AE%E5%90%8C%E6%AD%A5%E5%B7%B2%E7%BB%8F%E6%AD%A3%E5%BC%8F%E5%BC%80%E5%A7%8B%E8%BF%9B%E8%A1%8C%E3%80%82%E3%80%82%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%22SnapTimes%22%20%20%20%20%20%20%20%3A3%2C%2F%2F%E9%BB%98%E8%AE%A4%E4%B8%BA0%EF%BC%8C%20%E6%95%B0%E6%8D%AE%E8%BF%81%E7%A7%BB%E6%AC%A1%E6%95%B0%EF%BC%8C%E5%BD%93SnapTimes%3D%3D1%E6%97%B6%E8%A1%A8%E7%A4%BA%E6%AD%A3%E5%9C%A8%E8%BF%9B%E8%A1%8C%E9%A6%96%E6%AC%A1%E5%85%A8%E9%87%8F%EF%BC%8C%E8%BF%99%E6%97%B6%E4%B8%8D%E5%8F%AF%E6%89%A7%E8%A1%8C%E5%AE%8C%E6%88%90%E8%BF%81%E7%A7%BB%E7%9A%84%E6%93%8D%E4%BD%9C%E3%80%82%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'Offline'%20%20%20%20%20%20%20%20%20%3A%20bool%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'Agent'%20%20%20%20%20%20%20%20%20%20%3A%20bool%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'PredictDoneTime'%20%20%20%3A%20%20%20%20int64%20%20%23%20v2.0%E6%B7%BB%E5%8A%A0%EF%BC%8C%E6%98%BE%E7%A4%BA%E6%95%B0%E6%8D%AE%E4%BC%A0%E8%BE%93%E5%89%A9%E4%BD%99%E6%97%B6%E9%97%B4%EF%BC%8C%E5%8D%95%E4%BD%8D%E6%98%AF%E7%A7%92%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'SnapshotSize'%20%3A%20int64%20%20%20%20%20%20%20%23%20v2.0%E6%B7%BB%E5%8A%A0%EF%BC%8C%E6%98%BE%E7%A4%BA%E5%BD%93%E5%89%8D%E6%95%B0%E6%8D%AE%E4%BC%A0%E8%BE%93%E7%9A%84%E6%80%BB%E6%95%B0%E6%8D%AE%E9%87%8F%EF%BC%8C%E5%8D%95%E4%BD%8D%E6%98%AFbyte%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'TransferedSize'%20%3A%20int64%20%20%20%20%20%23%20v2.0%E6%B7%BB%E5%8A%A0%EF%BC%8C%E6%98%BE%E7%A4%BA%E5%BD%93%E5%89%8D%E4%BC%A0%E8%BE%93%E4%B8%AD%E5%B7%B2%E4%BC%A0%E8%BE%93%E7%9A%84%E6%95%B0%E6%8D%AE%E9%87%8F%EF%BC%8C%E5%8D%95%E4%BD%8D%E6%98%AFbyte%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20'TaskTotal'%20%20%20%20%20%20%20%20%3A%20integer%2C%2F%2Fcount%20of%20total%20tasks%0A%20%20%20%20%20%20%20%20'TaskInProcess'%20%20%20%3A%20integer%2C%2F%2Fcount%20of%20tasks%20in%20process%0A%20%20%20%20%20%20%20%20'TaskDone'%20%20%20%20%20%20%20%20%20%3A%20integer%2C%2F%2Fcount%20of%20comleted%20tasks%0A%20%20%20%20%7D%0A%0AActionState%20%E8%8C%83%E5%9B%B4%EF%BC%9Aconst%20(%0A%09TaskCreated%20%20%20%20%20%20%20%3D%201000%20%20%2F%2FSetup%20Task%0A%09TaskWaitSnapshot%20%20%3D%201001%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2FCloud%20Volume%20Ready%20or%20rpc%20recieve%20progress%3D100%25%0A%09TaskSnapshotted%20%20%20%20%201002%20%20%20%20%20%20%20%20%20%20%20%2F%2FAfter%20Call%20Transport%20Create%20Snapshot%0A%09TaskError%20%20%20%20%20%20%20%20%20%20%201003%20%20%20%20%20%20%20%20%20%20%20%2F%2FError%20occured%0A%09TaskStopped%20%20%20%20%20%20%20%20%201004%20%20%20%20%20%20%20%20%20%20%2F%2Fwhen%20delete%20task%0A%09TaskSuccess%20%20%20%20%20%20%20%20%201005%20%20%20%20%20%20%20%20%20%20%20%2F%2Fafter%20create%20instance%20available%0A%09TaskExcuteV2V%20%20%20%20%20%20%201006%20%20%20%20%20%20%20%20%20%20%2F%2Fcall%20transport%20to%20do%20v2v%0A%09TaskWaitRecovery%20%20%20%201007%20%20%20%20%20%20%20%20%20%20%2F%2Fafter%20v2v%20success%0A%09TaskInRecovery%20%20%20%20%20%201008%20%20%20%20%20%20%20%20%20%20%2F%2Fcall%20create%20instance%0A%09TaskCompleted%20%20%20%20%20%20%201009%20%20%20%20%20%20%20%20%20%20%20%20%2F%2Fafter%20create%20vm.%0A)%0A%0A%60%60%60%0A%0A%23%23%20Get%20Task%20Detail%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%3A%20'GetTaskDetail'%2C%0A%20%20%20%20'Id'%20%20%20%20%20%20%20%20%3A%20STRING%20%2F%2FTask%20uuid%0A%7D%0A%60%60%60%0A%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20%20%20%20%20%22Code%22%3A0%2C%0A%20%20%20%20%20%20%20%20%22Msg%22%3A%22Get%20Task%20Details%20Success.%22%2C%0A%20%20%20%20%20%20%20%20%22Data%22%3A%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Id%22%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%225358999805%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Name%22%20%20%20%20%20%20%20%3A%22Task01%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20'Offline'%20%20%20%20%20%20%20%20%3A%20bool%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20'Agent'%20%20%20%20%20%20%20%20%20%20%3A%20bool%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%22CloudType%22%3A%22openstack%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22IntervalMinutes%22%3A10%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22StartTime%22%3A%222018-12-25%2010%3A20%3A03%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22SnapTimes%22%3A3%2C%2F%2F%E9%BB%98%E8%AE%A4%E4%B8%BA0%EF%BC%8C%20%E6%95%B0%E6%8D%AE%E8%BF%81%E7%A7%BB%E6%AC%A1%E6%95%B0%EF%BC%8C%E5%BD%93SnapTimes%3D%3D1%E6%97%B6%E8%A1%A8%E7%A4%BA%E6%AD%A3%E5%9C%A8%E8%BF%9B%E8%A1%8C%E9%A6%96%E6%AC%A1%E5%85%A8%E9%87%8F%EF%BC%8C%E8%BF%99%E6%97%B6%E4%B8%8D%E5%8F%AF%E6%89%A7%E8%A1%8C%E5%AE%8C%E6%88%90%E8%BF%81%E7%A7%BB%E7%9A%84%E6%93%8D%E4%BD%9C%E3%80%82%0A%20%20%20%20%20%20%20%20%20%20%20%20%22MaxSnapNumber%22%3A3%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22ProgressPrecent%22%3A%22100%25%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20'PredictDoneTime'%20%20%20%3A%20%20%20%20int64%20%20%20%20%23%20v2.0%E6%B7%BB%E5%8A%A0%EF%BC%8C%E6%98%BE%E7%A4%BA%E6%95%B0%E6%8D%AE%E4%BC%A0%E8%BE%93%E5%89%A9%E4%BD%99%E6%97%B6%E9%97%B4%EF%BC%8C%E5%8D%95%E4%BD%8D%E6%98%AF%E7%A7%92%0A%20%20%20%20%20%20%20%20%20%20%20%20'SnapshotSize'%20%3A%20%20%20%20int64%20%20%20%20%20%20%23%20v2.0%E6%B7%BB%E5%8A%A0%EF%BC%8C%E6%98%BE%E7%A4%BA%E5%BD%93%E5%89%8D%E6%95%B0%E6%8D%AE%E4%BC%A0%E8%BE%93%E7%9A%84%E6%80%BB%E6%95%B0%E6%8D%AE%E9%87%8F%EF%BC%8C%E5%8D%95%E4%BD%8D%E6%98%AFbyte%0A%20%20%20%20%20%20%20%20%20%20%20%20'TransferedSize'%20%3A%20int64%20%20%20%20%20%23%20v2.0%E6%B7%BB%E5%8A%A0%EF%BC%8C%E6%98%BE%E7%A4%BA%E5%BD%93%E5%89%8D%E4%BC%A0%E8%BE%93%E4%B8%AD%E5%B7%B2%E4%BC%A0%E8%BE%93%E7%9A%84%E6%95%B0%E6%8D%AE%E9%87%8F%EF%BC%8C%E5%8D%95%E4%BD%8D%E6%98%AFbyte%0A%20%20%20%20%20%20%20%20%20%20%20%20%22LastSync%22%3A0%2C%20%20%20%2F%2F%E5%BD%93LastSync%3D%3D2%E6%97%B6%EF%BC%8CProgressPrecent%E6%89%8D%E6%98%AF%E5%AE%8C%E6%88%90%E8%BF%81%E7%A7%BB%E8%BF%9B%E8%A1%8C%E6%9C%80%E5%90%8E%E6%95%B0%E6%8D%AE%E5%90%8C%E6%AD%A5%E7%9A%84%E8%BF%9B%E5%BA%A6%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Status%22%3A%22Create%20Cloud%20Volume%20Snapshot%20Failed.%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22ActionState%22%3A1009%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22IsCompressed%22%3Atrue%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22QosBW%22%3A10%2C%20%2F%2F%E5%8D%95%E4%BD%8D%20MB%2Fs%0A%20%20%20%20%20%20%20%20%20%20%20%20%22SourceHost%22%3A%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Name%22%3A%22Packe02%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22MgntAddr%22%3A%22172.16.57.68%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22OsName%22%3A%22CentOS%20Linux%20release%207.2.1511%20(Core)%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Offline%22%20%3A%20bool%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20v1.3%E6%B7%BB%E5%8A%A0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Agent%22%20%3A%20bool%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20v1.3%E6%B7%BB%E5%8A%A0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22VcenterIp%22%20%3A%20string%20%20%20%20%20%20%20%20%20%20%20%20%23%20vcenter%20ip%E5%9C%B0%E5%9D%80%2C%20%20v1.3%E6%B7%BB%E5%8A%A0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22VcenterUser%22%20%3A%20string%20%20%20%20%20%20%20%20%20%23%20vcenter%20ip%E5%9C%B0%E5%9D%80%2C%20%20v1.3%E6%B7%BB%E5%8A%A0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22VolumeInfos%22%3A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Path%22%3A%22%2Fdev%2Fvda1%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Size%22%3A%2280GB%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22UseType%22%3A%22root%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22VolumeType%22%3A%22Capacity%22%EF%BC%8C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22FreeSpace%22%3A%20%2210PB%22%2C%20%20%20%20%2F%2F%E6%88%96%E8%80%85TB%2FGB%2FMB%2FKB%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22FreeSpaceNotEnough%22%3A%20true%2Fflase%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Group%22%3A%20string%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20%E8%A1%A8%E7%A4%BA%E5%BD%92%E5%B1%9E%E9%82%A3%E4%B8%80%E4%B8%AA%E7%BB%84%EF%BC%8C%E6%AF%94%E5%A6%82%20lvm%20%E7%9A%84%20vg%EF%BC%8Cv1.3%20%E6%B7%BB%E5%8A%A0%EF%BC%8C%E6%9C%AA%E4%BD%BF%E7%94%A8%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22CloudVolumeName%22%20%3A%20string%20%2C%20%20%2F%2F%20%E4%BA%91%E7%AB%AF%E7%A3%81%E7%9B%98%E5%90%8D%E7%A7%B0%20%20%20%2Cv2.0%E6%B7%BB%E5%8A%A0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20StorageId%3A%C2%A0string%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22TargetHost%22%3A%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22DataCenter%22%3A%22%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ServerID%22%3A%22%22%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20%E4%BA%91%E7%AB%AF%E8%99%9A%E6%9C%BAid%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ServerName%22%3A%22%22%2C%20%20%20%20%20%20%20%20%20%20%2F%2F%20%E4%BA%91%E7%AB%AF%E8%99%9A%E6%9C%BA%E5%90%8D%E7%A7%B0%EF%BC%8C%20v2.0%20%E5%8F%AF%E4%BB%A5%E8%AE%BE%E7%BD%AE%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Flavor%22%3A%222%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22BindWidth%22%3A10240%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Network%22%3A%2288f001dd-1c42-4eba-9ebc-05e2a57c02ae%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Subnet%22%3A%2288f001dd-1c42-4eba-9ebc-05e2a57c02ae%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22SecGroup%22%3A%22default%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22CPU%22%3A%204%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Memory%22%3A%208%2F%2FGB%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20StorageId%3A%C2%A0%C2%A0string%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22SrcTransHost%22%3A%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Name%22%3A%22Transport%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22MgntAddr%22%3A%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22TransHost%22%3A%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Name%22%3A%22Transport%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22MgntAddr%22%3A%22172.16.57.27%22%2C%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20StorageId%3A%C2%A0%C2%A0string%2C%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20%C2%A0%C2%A0StorageType%3A%C2%A0string%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%60%60%60%0A%0A%23%23%23%20CompleteTask%0A%0A%E8%87%B3%E5%B0%91%E5%85%A8%E9%87%8F%E6%95%B0%E6%8D%AE%E8%BF%81%E7%A7%BB%E5%AE%8C%E6%88%90%E5%90%8E%E6%89%8D%E5%8F%AF%E4%BB%A5%E8%BF%9B%E8%A1%8C%E6%93%8D%E4%BD%9C%E3%80%82%EF%BC%88SnapTimes%20%3E%3D2%20%E6%88%96%E8%80%85Process%3D%3D100%25%EF%BC%89%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%20%20%3A%20'CompleteTask'%0A%20%20%20%20'Id'%20%20%20%20%20%20%20%20%20%20%20%20%3A%20STRING%2C%0A%7D%0A%60%60%60%0A%0AResponse%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20'Code'%3A%20true%20%7C%20false%0A%20%20%20'Msg'%20%3A%20Success%20or%20error%20description%0A%20%20%20%22Data%22%3A%20null%0A%7D%0A%0A%60%60%60%0A%0A%23%23%23%20ContinueTask%0AV2.0%20%E6%96%B0%E5%A2%9E%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20'ContinueTask'%0A%20%20%20%20%22Id%22%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%20%2F%2FTaskID%0A%7D%0A%60%60%60%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20%20int%20%20%20%20%20%20%20%20%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9E%200%EF%BC%8C%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%7D%0A%60%60%60%0A%0A%23%23%23%20CheckTaskInfoExisting%0Av2.0%E6%96%B0%E5%A2%9E%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20'CheckTargetHostInfoExisting'%2C%20%0A%20%20%20%20'CloudId'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%20%20%20%2F%2F%E4%BA%91%E5%B9%B3%E5%8F%B0%20uuid%0A%20%20%20%20'TaskName'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%20%20%2F%2F%20%E4%BB%BB%E5%8A%A1%E5%90%8D%E7%A7%B0%0A%20%20%20%20'TargetServerName'%20%20%20%20%3A%20string%20%2F%2F%20%E4%BA%91%E7%AB%AF%E8%99%9A%E6%9C%BA%E5%90%8D%E7%A7%B0%20%20%20%2Cv2.0%E6%B7%BB%E5%8A%A0%0A%20%20%20%20'CloudVolumeNames'%E2%80%98%20%3A%20%5B%5Dstring%20%2F%2F%20%E4%BA%91%E7%AB%AF%E7%A3%81%E7%9B%98%E5%90%8D%E7%A7%B0%20%20%20%2Cv2.0%E6%B7%BB%E5%8A%A0%0A%7D%0A%60%60%60%0A%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20%20int%20%20%20%20%20%20%20%20%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9E%200%EF%BC%8C%20%20%20%E9%87%8D%E5%90%8D%E8%BF%94%E5%9B%9E1%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%22TaskNameExisted%22%3A%20%20%22%22%EF%BC%8C%0A%20%20%20%20%20%20%20%20%22ServerNameExisted%22%3A%20%20%22%22%EF%BC%8C%20%20%23%20v2.0%20%E6%B7%BB%E5%8A%A0%EF%BC%8C%E5%A6%82%E6%9E%9C%E4%BA%91%E4%B8%BB%E6%9C%BA%E5%90%8D%E7%A7%B0%E9%87%8D%E5%A4%8D%EF%BC%8C%E5%80%BC%E4%B8%BA%E4%B8%BB%E6%9C%BA%E5%90%8D%EF%BC%8C%E5%90%A6%E5%88%99%E4%B8%BA%22%22%0A%20%20%20%20%20%20%20%20%22VolumeNameExisted%22%3A%5B%5D%EF%BC%8C%20%20%23%20v2.0%20%E6%B7%BB%E5%8A%A0%EF%BC%8C%E9%87%8D%E5%A4%8D%E7%9A%84%E4%BA%91%E7%A1%AC%E7%9B%98%E5%90%8D%E7%A7%B0%0A%20%20%20%20%20%7D%0A%7D%0A%60%60%60%0A%0A%23%23%23%20DisplayTaskHistory%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%20%20%3A%20'DisplayTaskHistory'%0A%20%20%20%20'Id'%20%20%20%20%20%3A%20string%2C%0A%7D%0A%60%60%60%0A%0AResponse%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20'Code'%3A%20true%20%7C%20false%0A%20%20%20'Msg'%20%3A%20Success%20or%20error%20description%0A%20%20%20%22Data%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20'Number'%20%20%20%20%20%20%20%20%EF%BC%9A%20int%20%20%2F%2F%E7%BC%96%E7%A0%81%0A%20%20%20%20%20%20%20%20%20%20%20%20'Msg'%20%20%20%20%20%20%20%20%20%20%20%3A%20%20STRING%2C%2F%2Fstatus%20description%0A%20%20%20%20%20%20%20%20%20%20%20%20'Timestamp'%20%20%20%20%20%3A%20%20YYYY-MM-DD%20HH%3AMM%3ASS%2C%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D%0A%60%60%60%0A%0A%23%23%23%20ListAvailableSnapshot%0A%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%3A%20'ListSnapshots'%0A%20%20%20%20'Id'%20%20%20%20%20%3A%20STRING%2C%20%2F%2FTASKID%0A%7D%0A%60%60%60%0A%0AResponse%EF%BC%9A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20%22Code%22%3A0%2C%0A%20%20%20%20%22Msg%22%3A%22Get%20Task%20Snapshots%20Success.%22%2C%0A%20%20%20%20%22Data%22%3A%5B%7B%0A%20%20%20%20%20%20%20%20%22TimeStamp%22%3A%222018-12-29%2018%3A36%3A25%22%20%2F%2F%E5%88%97%E8%A1%A8%E6%98%BE%E7%A4%BA%E5%BF%AB%E7%85%A7%E6%97%B6%E9%97%B4%E6%88%B3%0A%20%20%20%20%7D%5D%0A%60%60%60%0A%0A%23%23%23%20ListVolumeTypes%0A%0A%E8%AF%B7%E6%B1%82%EF%BC%9A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%3A%20'ListVolumeTypes'%0A%20%20%20%20'Id'%20%20%3A%20Cloud%20STRING%2C%0A%20%20%20%20StorageId%3A%C2%A0%C2%A0string%2C%0A%7D%0A%60%60%60%0AResponse%3A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20true%7Cfalse%2C%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9ETrue%EF%BC%8C%20%E5%A4%B1%E8%B4%A5%E8%BF%94%E5%9B%9EFalse%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20%20%5B%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'Name'%20%20%3A%22Capacity%22%2C%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'ID'%20%20%20%20%3A%20%221234%22%0A%20%20%20%20%7D%5D%0A%7D%0A%60%60%60%0A%0A%23%23%23%20ListStorages%0A%0Av2.2%E6%96%B0%E5%A2%9E%0A%E8%AF%B7%E6%B1%82%EF%BC%9A%0A%60%60%60%0A%7B%0A%C2%A0%C2%A0%C2%A0%C2%A0'Action'%C2%A0%C2%A0%C2%A0%3A%C2%A0'ListStorages'%0A%C2%A0%C2%A0%C2%A0%C2%A0'Id'%C2%A0%C2%A0%3A%C2%A0Cloud%C2%A0id%2C%C2%A0STRING%2C%0A%C2%A0%C2%A0%C2%A0%C2%A0StorageId%3A%C2%A0%C2%A0string%2C%0A%7D%0A%60%60%60%0AResponse%3A%0A%60%60%60%0A%7B%0A%C2%A0%C2%A0%C2%A0%C2%A0'Code'%C2%A0%3A%C2%A00%2C%0A%C2%A0%C2%A0%C2%A0%C2%A0'Msg'%C2%A0%C2%A0%3A%C2%A0DESC%C2%A0STRING%C2%A0%2F%2FSuccess%C2%A0or%C2%A0Error%C2%A0Code%C2%A0Description%0A%C2%A0%C2%A0%C2%A0%C2%A0%22Data%22%3A%C2%A0%C2%A0%5B%7B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0'Name'%C2%A0%C2%A0%3A%22arstor%22%2C%C2%A0%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0'ID'%C2%A0%C2%A0%C2%A0%C2%A0%3A%C2%A0%22123423123%22%2C%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0'Type'%3A%C2%A0%C2%A0%22%22%2C%0A%C2%A0%C2%A0%C2%A0%C2%A0%7D%5D%0A%7D%0A%60%60%60%0A%0A%23%23%23%20ListInstanceFlavors%0A%0A%E8%AF%B7%E6%B1%82%EF%BC%9A%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%3A%20'ListFlavors'%0A%20%20%20%20'Id'%20%20%20%20%20%20%20%3A%20Cloud%20STRING%2C%0A%7D%0A%60%60%60%0AResponse%3A%0A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Flavors'%20%3A%20%0A%20%20%20%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20'Name'%20%20%3A%202%E6%A0%B84G_SERIES_STANDARD%20%E6%88%96%E8%80%85%202%E6%A0%B84G_SERIES_SUPERCOMPUTER%09%E7%AD%89%09%2F%2F%20%E7%95%8C%E9%9D%A2%E6%98%BE%E7%A4%BA%E4%B8%BA%202%E6%A0%B84G_%E6%99%AE%E9%80%9A%E5%9E%8B%2C%202%E6%A0%B84G_%E5%A2%9E%E5%BC%BA%E5%9E%8B%0A%20%20%20%20%20%20%20%20%20%20%20%20'Ram'%20%20%20%EF%BC%9A1024%20%2F%2Fmb%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20'vCPU'%20%20%3A%201%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20'ID'%20%20%20%20%3A%202%E6%A0%B84G_SERIES_STANDARD%20%20%20%2C%20%20%20%2F%2Fopenstack%20uuid%EF%BC%8C%20%E5%8D%8E%E4%BA%91%E5%85%AC%E6%9C%89%E4%BA%91%0A%20%20%20%20%20%20%20%20%20%20%20%20'Disk'%20%20%3A%2020%2C%0A%20%20%20%20%20%20%20%20%7D%EF%BC%8C%0A%20%20%20%20%5D%0A%7D%0A%0A%23%20%E5%8D%8E%E4%BA%91%20%E5%85%AC%E6%9C%89%E4%BA%91%20%E5%8F%AA%E6%98%AF%E4%BD%BF%E7%94%A8%20%20Name%20%E5%92%8C%20ID%EF%BC%8C%20Name%20%E5%92%8C%20ID%20%E7%9B%B8%E5%90%8C%0A%60%60%60%0A%0A%23%23%23%20ListNetwork%0A%0A%E8%AF%B7%E6%B1%82%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%3A%20'ListNetworks'%0A%20%20%20%20'Id'%20%3A%20STRING%2C%0A%7D%0A%60%60%60%0A%0AResponse%3A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Networks'%3A%20%5B%7B%0A%20%20%20%20%20%20%20%20'Subnets'%3A%20%5B%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'Cidr'%3A%20'192.168.1.0%2F24'%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'Id'%3A%20%222d6e3002-410e-4dd2-98cd-04c7f310a4d0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'Cidr'%3A%20'192.168.2.0%2F24'%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'Id'%3A%20%22fe7a1873-f41b-4125-9ccf-798dd8a678a3%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%5D%2C%0A%20%20%20%20%20%20%20%20'Name'%3A%20'my_vpc'%0A%20%20%20%20%20%20%20%20'Id'%20%20%3A%20%223a90ae79-9b69-4b79-b7b9-5ad5f105bfd5%22%0A%20%20%20%20%7D%5D%0A%7D%0A%60%60%60%0A%0A%23%23%23%20List%20Security%20Group%0A%0A%E8%AF%B7%E6%B1%82%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%3A%20'ListSecurityGroups'%0A%20%20%20%20'Id'%20%3A%20STRING%2C%0A%7D%0A%60%60%60%0A%0AResponse%3A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'SecurityGroup'%3A%20%5B%7B%0A%20%20%20%20%20%20%20%20'Name'%3A%20'default'%0A%20%20%20%20%20%20%20%20'ID'%20%20%3A%20%223a90ae79-9b69-4b79-b7b9-5ad5f105bfd5%22%0A%20%20%20%20%7D%5D%0A%7D%0A%60%60%60%0A%0A%23%23%23%20List%20Quota%0A%0A%E8%AF%B7%E6%B1%82%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%3A%20'ListQuota'%0A%20%20%20%20'Id'%20%3A%20STRING%2C%2F%2FCloudID%0A%7D%0A%60%60%60%0A%0AResponse%3A%0A%0A%60%60%60%0A%7B%22Code%22%3A0%2C%0A%22Msg%22%3A%22%E4%BF%A1%E6%81%AF%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F%22%2C%0A%22Data%22%3A%7B%22CPU%22%3A996%2C%22Memory%22%3A992%2C%22Disk%22%3A19718%7D%2F%2FMemory%20DIsk%E5%8D%95%E4%BD%8DGB%0A%7D%0A%60%60%60%0A%0A%23%23%23%20Create%20Instance%0A%0A%E8%AF%B7%E6%B1%82%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20'CreateInstance'%0A%20%20%20%20%22Id%22%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%20%2F%2FTaskID%0A%20%20%20%20'FlavorId'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20target%20vm%20flavor%20id%0A%20%20%20%20'NetworId'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%EF%BC%9Anetwork%20id%0A%20%20%20%20'SubnetId'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%EF%BC%9Asubnetwork%20id%0A%20%20%20%20'RouteId'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%EF%BC%9Aroute%20%20id%20%2F%2F%20for%20huayun%20%E5%85%AC%E6%9C%89%E4%BA%91%EF%BC%8C%20%E5%8F%AF%E9%80%89%E5%8F%82%E6%95%B0%0A%20%20%20%20'SecurityGroupId'%20%20%20%20%20%20%EF%BC%9Asecurity%20group%20id%0A%20%20%20%20'Bandwidth'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%2010%20%09%09%2F%2Fhuayun%E5%85%AC%E6%9C%89%E4%BA%91%2C%20Mbps%0A%20%20%20%20%22TargetServerName%22%20%20%20%20%20%3A%20%20string%20%20%20%2F%2F%20%E4%BA%91%E7%AB%AF%E8%99%9A%E6%9C%BA%E5%90%8D%E7%A7%B0%20%20%20%2Cv2.0%E6%B7%BB%E5%8A%A0%0A%7D%0A%60%60%60%0A%0AResponse%3A%0A%0A%60%60%60%0A%7B%0A%20%20%20%20'Code'%20%3A%20%20int%20%20%20%20%20%20%20%20%2F%2F%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9E%200%EF%BC%8C%20%20%20%E7%9B%AE%E6%A0%87%E4%B8%BB%E6%9C%BA%E9%87%8D%E5%90%8D%E8%BF%94%E5%9B%9E1%0A%20%20%20%20'Msg'%20%20%3A%20DESC%20STRING%20%2F%2FSuccess%20or%20Error%20Code%20Description%0A%20%20%20%20%22Data%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%22ID%22%3A%20%22taskid%22%2C%20%20%0A%20%20%20%20%20%20%20%20%22Repeated%22%3A%5B%5D%EF%BC%8C%20%20%23%20v2.0%20%E6%B7%BB%E5%8A%A0%EF%BC%8C%E9%87%8D%E5%A4%8D%E7%9A%84%E4%B8%BB%E6%9C%BA%E5%90%8D%0A%20%20%20%20%20%7D%0A%7D%0A%60%60%60%0A%0A%23%23%23%20Get%20Task%20Recovery%20Instance%0A%0A%E8%AF%B7%E6%B1%82%0A%60%60%60%0A%7B%0A%20%20%20%20'Action'%20%3A%20'GetInstance'%0A%20%20%20%20%22Id%22%20%20%20%20%20%3A%20string%0A%7D%0A%60%60%60%0A%0AResponse%3A%0A%0A%60%60%60%0A%7B%0A%20%20%20Code%EF%BC%9A%20true%20%7Cfalse%0A%20%20%20Msg%3A%20Success%20or%20Error%20Description%0A%20%20%20%22Data%22%3A%20%7BID%3A%20%221234%22%2C%20Name%3A%20%22cmigrate0108-1234%22%7D%0A%7D%0A%60%60%60%0A%0A%23%23%23%20%20ListVM%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%60%60%60%0A%20%20%20%20%20%20%20%20VcenterIp%EF%BC%8C%20string%20%20%20%20%20%20%20%23%20vcenter%20ip%E5%9C%B0%E5%9D%80%0A%20%20%20%20%20%20%20%20UserName%EF%BC%8C%20string%20%20%20%20%20%23%20%0A%20%20%20%20%20%20%20%20Passwd%2C%20%20%20string%20%20%20%20%20%20%20%20%20%23%0A%20%20%20%20%20%20%20%20TransId%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20transport%20id%0A%60%60%60%0A%E8%BF%94%E5%9B%9E%E5%80%BC%EF%BC%9A%0A%60%60%60%0A%20%20%20%20%20%20%20%20data%3A%20%0A%20%20%20%20%20%20%20%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'Name'%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%20%20%20%23%20vm%20name%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'Ip'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%20%20%20%23%20vm%20ip%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'Uuid'%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%20%20%20%23%20vm%20uuid%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'EsxiHost'%20%20%20%20%20%20%20%20%20%20%3A%20string%2C%20%20%20%23%20esxi%20host%20ip%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'Added'%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20bool%2C%20%20%20%20%20%23%20the%20vm%20has%20already%20been%20added%20to%20Host%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20...%0A%20%20%20%20%20%20%20%20%5D%0A%60%60%60%0A%0A%23%23%23%20AddVMHosts%0A%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%EF%BC%9A%0A%60%60%60%0A%20%20%20%20%20%20%20%20HostsUuid%3A%0A%20%20%20%20%20%20%20%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Uuid%2C%20%20%20string%20%20%20%20%20%20%20%20%20%23vm%20host%20uuid%0A%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20TransId%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20transport%20id%0A%60%60%60%0A%E8%BF%94%E5%9B%9E%E5%80%BC%EF%BC%9A%0A%60%60%60%0A%20%20%20%20%20%20%20%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20'Id'%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%20%20%20%23%20vm%20id%0A%20%20%20%20%20%20%20%20%20%20%20%20'Name'%20%20%20%20%20%20%20%3A%20string%20%20%20%23%20vm%20name%0A%20%20%20%20%20%20%20%20%20%20%20%20'Ip'%20%20%20%20%20%20%20%20%20%20%20%20%3A%20string%20%20%20%23%20vm%20ip%0A%20%20%20%20%20%20%20%20%20%20%20%20'Success'%20%20%20%20%20%3A%20bool%20%20%20%20%23%20%E6%98%AF%E5%90%A6%E5%B7%B2%E6%88%90%E5%8A%9F%E6%B7%BB%E5%8A%A0%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%5D%0A%60%60%60