def logout(self):
     '''
     function:退出
     '''
     client = RestClient()
     result = client.send(method='DELETE', url='/service/session', body=None, resp=None, name="logout")
     return result
     pass   
 def login(self, username, password):
     '''
     input:username:用户名,password:密码
     function:登陆
     '''
     client = RestClient()
     client.headersK['X-Auth-User'] = username
     client.headersK['X-Auth-Key'] = str(hashlib.sha256(password).hexdigest())
     # client.headersK['X-Auth-Key']='36135da9586652aa0bdefee628001c4c4eb6901e278a44233a23cd2811eadc19'
     result = client.send(method='POST', url='/service/session', body=None, resp=LoginResp(), name="login")
     return result
     pass
#     nic.ip = "10.123.20.23";  # IP地址,系统内部分配或从虚拟机内部获取的IP。 添加网卡、创建虚拟机时入参不携带,查询网卡或虚拟机信息中携带的网卡信息中携带。
#     nic.mac = "28:6e:d4:88:b4:f3";  # Mac地址,系统系统内部分配。 添加网卡,创建虚拟机,模板部署虚拟机,虚拟机克隆为虚拟机,模板克隆为模板,虚拟机克隆为虚拟机模板时入参不携带时由系统自动分派。 查询网卡或虚拟机信息中携带的网卡信息中携带。 
#     nic.name = "sgdsgsdg";  # 【可选】虚拟机网卡名称。 注:当模板部署/克隆虚拟机,虚拟机克隆为模板/虚拟机时此参数需要与原虚拟机/模板的网卡名相同。 
#     nic.nicType = 1;  # 网卡类型:1:inic网卡,其他:普通网卡,仅在查询时有效。 
#     nic.portGroupName = "managePortgroup55555";  # 【可选】portGroup名称。 
#     nic.portGroupUrn = "urn:sites:4D9D0815:dvswitchs:1:portgroups:1";  # 必填,portGroup标识,创建网卡时必选,修改网卡时可选。 
#     nic.virtIo = 0;  # 【可选】网卡类型,0: HW_X_NET (默认值);1: HW_V_NET;不携带使用默认值。
#     config.nics = [dict(nic)]
# 
#     req.vmConfig = dict(config)  
#     req.isTemplate = True
#     
#     # req.vmDatas = [dict(nicSpecification)]
#     # req.vmDatas = ""#【可选】虚拟机自定义数据列表,fileNames有值时生效。 
    bbb = resorce.cloneVm("/service/sites/4D9D0815/vms/i-000002E6", dict(req))

#     bbb = resorce.cloneVm("/service/sites/4D9D0815/vms/i-0000028C", dict(req))
    return bbb


if __name__ == '__main__':
    client = RestClient()
    client.connetToServer(host='172.22.4.4', port=7443, protocol='https')
    login = AuthenticateResource()
    aaa = login.login('fc01', 'Huawei@123');
    
#    LogInit(LogConf("../../log.conf", "LOGCONF"))
    resorce = VmResource()
    
    exportVm()