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