def start_fusion_compute_vms(huawei_env, vms_id, site_id='3CE206C5'):
     """
     开启虚拟机
     :param request:
     :return:
     """
     url = huawei_env.get(
         'hw_address'
     ) + SITE_URI + '/' + site_id + '/vms/' + vms_id + '/action/start'
     headers = HuaweiyunConnectionMng().common_headers(huawei_env)
     code, res = HttpHelper.post(url, headers)
     return code, res
 def delete_fusion_compute_vms(huawei_env, vms_id, site_id='3CE206C5'):
     """
     删除虚拟机
     :param request:
     :return:
     """
     url = huawei_env.get(
         'hw_address'
     ) + SITE_URI + '/' + site_id + '/vms/' + vms_id + '?isFormat=0&holdTime=0'
     headers = HuaweiyunConnectionMng().common_headers(huawei_env)
     code, res = HttpHelper.delete(url, headers)
     return code, res
 def get_fusion_compute_network(huawei_env, site_id='3CE206C5'):
     """
     查询虚拟机信息
     :param request:
     :return:
     """
     # hw_sites = HWSite.get_fusion_compute_sites()
     # site_uri_list = hw_sites['sites'][0]['uri'].split('/')
     # site_id = site_uri_list[-1]
     url = huawei_env.get(
         'hw_address') + SITE_URI + '/' + site_id + '/dvswitchs'
     headers = HuaweiyunConnectionMng().common_headers(huawei_env)
     code, res = HttpHelper.get(url, headers)
     return code, res
 def get_fusion_compute_port_group(huawei_env,
                                   port_group_num,
                                   site_id='3CE206C5'):
     """
     查询交换机下端口组
     :param site_id:
     :return:
     """
     url = huawei_env.get(
         'hw_address'
     ) + SITE_URI + '/' + site_id + '/dvswitchs/' + port_group_num + '/portgroups'
     headers = HuaweiyunConnectionMng().common_headers(huawei_env)
     code, res = HttpHelper.get(url, headers)
     return code, res
 def get_fusion_compute_hosts(huawei_env, scope=None, site_id='3CE206C5'):
     """
     查询主机信息
     :return:
     """
     if scope:
         url = huawei_env.get(
             'hw_address'
         ) + SITE_URI + '/' + site_id + '/hosts?scope=' + scope
     else:
         url = huawei_env.get(
             'hw_address') + SITE_URI + '/' + site_id + '/hosts'
     headers = HuaweiyunConnectionMng().common_headers(huawei_env)
     code, res = HttpHelper.get(url, headers)
     return code, res
 def clone_fusion_compute_vms(huawei_env, vms_id, data, site_id='3CE206C5'):
     """
     模板创建虚拟机
     :param request:
     :return:
     """
     if data.get('vmSize') and data['vmSize'] > 1:
         url = huawei_env.get(
             'hw_address'
         ) + SITE_URI + '/' + site_id + '/vms/' + vms_id + '/action/multi-clone'
     else:
         url = huawei_env.get(
             'hw_address'
         ) + SITE_URI + '/' + site_id + '/vms/' + vms_id + '/action/clone'
     headers = HuaweiyunConnectionMng().common_headers(huawei_env)
     code, res = HttpHelper.post(url, headers, json.dumps(data))
     return code, res
 def get_fusion_compute_vms(huawei_env, template, name, site_id='3CE206C5'):
     """
     查询虚拟机信息
     :param request:
     :return:
     """
     # hw_sites = HWSite.get_fusion_compute_sites(huawei_env)
     # site_uri_list = hw_sites['sites'][0]['uri'].split('/')
     # site_id = site_uri_list[-1]
     if name:
         url = huawei_env.get(
             'hw_address'
         ) + SITE_URI + '/' + site_id + '/vms?detail=2&isTemplate=' + template + '&name=' + name
     # url = 'https://172.16.1.95:7443/service/sites/3CE206C5/vms?detail=2&isTemplate=false&' \
     #       'queryFlag=normal&orderField=name&order=DESC&limit=15&offset=0&noCache=1598507550177'
     else:
         url = huawei_env.get(
             'hw_address'
         ) + SITE_URI + '/' + site_id + '/vms?detail=2&isTemplate=' + template
     headers = HuaweiyunConnectionMng().common_headers(huawei_env)
     code, res = HttpHelper.get(url, headers)
     return code, res