当前位置: 首页>>代码示例>>Python>>正文


Python HttpClient.HttpClient类代码示例

本文整理汇总了Python中Utils.HttpClient.HttpClient的典型用法代码示例。如果您正苦于以下问题:Python HttpClient类的具体用法?Python HttpClient怎么用?Python HttpClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了HttpClient类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: createProfiles

 def createProfiles(self, profile_info, nw_id=None):
     """
     @summary: 创建指定网络的配置集
     @param profile_info: XML文件
                 输入说明:
     1)配置集名称只能由数字、字母、-、_组成
     2)名称和网络id是必须的,网络名称无效
     @param nw_id:指定网络id
     @return: 字典,包括:(1)status_code:http请求返回码;(2)result:请求返回的内容(dict格式)
     @note: 有两种使用情况
     1)nw_id可以通过外部传参,此时xml文件中network id为变量
     <vnic_profile>
         <name>abc#</name>
         <description>shelled</description>
         <network id="%s"/>
         <port_mirroring>false</port_mirroring>
     </vnic_profile>
     2)nw_id为空,此时xml文件中需为network id赋值
     <vnic_profile>
         <name>abc#</name>
         <description>shelled</description>
         <network id="字符串"/>
         <port_mirroring>false</port_mirroring>
     </vnic_profile>
     """
     api_url = self.base_url
     method = "POST"
     if nw_id:
         r = HttpClient.sendRequest(method=method, api_url=api_url, data=(profile_info % nw_id))
     else:
         r = HttpClient.sendRequest(method=method, api_url=api_url, data=profile_info)
     return {"status_code": r.status_code, "result": xmltodict.parse(r.text)}
开发者ID:FineFan,项目名称:oVirt3.3WebAPITest,代码行数:32,代码来源:ProfilesAPIs.py

示例2: createTemplateNic

 def createTemplateNic(self,temp_name,nic_data,proid=None):
     '''
     @summary:为模板创建网络接口
     @param temp_name:模板名称
     @param nic_data:网络接口配置信息,xml文件
     @param proid:配置集id 
                参数传递有两种情况:
     1)proid为空,即通过xml文件中定义vnic_profile_id值
     <nic>
         <name>nic4</name>
         <vnic_profile id="6f1bff46-d0aa-49d2-9206-0bc9a4adf6aa"/>
     </nic>
     2)proid非空,即通过外部传参设置vnic_profile_id
     <nic>
         <name>nic4</name>
         <vnic_profile id="%s"/>
     </nic>
                网络接口输入说明:
       1)接口名称是必须的,其余是可选的
       2)配置集必须设置id
               异常情况说明:
       1)接口名称重复(409)
       2)id设置错误(400)
       3)对象不存在(404) 
     @return:字典,包括:(1)status_code:http请求返回码;(2)result:请求返回的内容  
     '''
     temp_id = self.getTemplateIdByName(temp_name)
     api_url = '%s/%s/nics' % (self.base_url,temp_id)
     method = 'POST'
     if proid:
         r = HttpClient.sendRequest(method=method, api_url=api_url,data=(nic_data %proid))
     else:
         r = HttpClient.sendRequest(method=method, api_url=api_url,data=nic_data )
     return {'status_code':r.status_code, 'result':xmltodict.parse(r.text)}
开发者ID:faylau,项目名称:oVirt3.3WebAPITest,代码行数:34,代码来源:TemplatesAPIs.py

示例3: updateTemplateNic

 def updateTemplateNic(self,temp_name,nic_name,update_data,proid=None):
     '''
     @summary:编辑某个模板的网络接口
     @param temp_name:模板名称
     @param nic_name:网络接口名称 
     @param update_data:网络接口配置信息 ,xml
     @param proid: 配置集id
     1)proid为空,即通过xml文件中定义vnic_profile_id值
     <nic>
         <name>nic2</name>
         <vnic_profile id="6f1bff46-d0aa-49d2-9206-0bc9a4adf6aa"/>
         <interface>VirtIO</interface>
         <linked>false</linked>
         <plugged>false</plugged>
     </nic>
     2)proid非空,即通过外部传参设置vnic_profile_id
     <nic>
         <name>nic2</name>
         <vnic_profile id="%s"/>
         <interface>VirtIO</interface>
         <linked>false</linked>
         <plugged>false</plugged>
     </nic>
     @return:字典,包括:(1)status_code:http请求返回码;(2)result:请求返回的内容  
     '''
     temp_id = self.getTemplateIdByName(temp_name)
     nic_id = self.getNicIdByName(temp_name, nic_name)
     api_url='%s/%s/nics/%s' % (self.base_url,temp_id,nic_id)
     method = 'PUT'
     if proid:
         r = HttpClient.sendRequest(method=method, api_url=api_url,data=(update_data %proid))
     else:
         r = HttpClient.sendRequest(method=method, api_url=api_url,data=update_data)
     return {'status_code':r.status_code, 'result':xmltodict.parse(r.text)}
开发者ID:faylau,项目名称:oVirt3.3WebAPITest,代码行数:34,代码来源:TemplatesAPIs.py

示例4: createTemplate

 def createTemplate(self, temp_info,vm_id=None,disk_id=None,sd_id=None):
     '''
     @summary: 创建模板
     @param temp_info: XML形式的集群信息,调用接口时需要传递此xml数据
     @note: 有三种使用情况
     1)vm_id可以通过外部传参,此时xml文件中vm id为变量
     <template>
         <name>template-osvtest1</name>
         <vm id="%s"/>
     </template>
     2)nw_id为空,此时xml文件中需为vm id赋值
     <template>
         <name>template-osvtest1</name>
         <vm id="4fbca0c3-e2b7-4cf0-a680-ea43d5a0e778"/>
     </template>
     3)vm_id、disk_id、sd_id均通过外部传参
     <template>
         <name>template-osvtest1</name>
         <vm id="%s">
             <disks>
                 <disk id="%s">
                     <storage_domains>
                        <storage_domain id="%s"/>  
                     </storage_domains>
                  </disk>
               </disks>
         </vm>
     </template>
                创建模板的测试数据说明:
      1)测试数据最小集: 模板名称和虚拟机id,且模板名称唯一且虚拟机状态为down,创建成功并返回代码202(异步)
      3)虚拟机状态非down,创建失败并返回代码409
      4)其他参数:
        <permissions>
           <clone>true</clone>   ;是否复制虚拟机权限
        </permissions>
        *************************************************
        <vm id="91fab0d3-5ee0-4d81-9e4e-342327d0e362">
           <disks>
              <disk id="7aa205f0-f292-415b-8bf4-91c009e573d1">
                 <storage_domains>
                    <storage_domain id="ae2d5d54-38d5-41a2-835b-1c966c199855"/>  
                 </storage_domains>
              </disk>
           </disks>
        </vm> ;为虚拟机的某个磁盘指定存放的存储域
     @return: 字典,包括:(1)status_code:http请求返回码;(2)result:请求返回的内容(dict格式)
     '''
     api_url = self.base_url
     method = 'POST'
     if not vm_id and not disk_id and not sd_id:
         r = HttpClient.sendRequest(method=method, api_url=api_url, data=temp_info)
     if vm_id and not disk_id and not sd_id:
         r = HttpClient.sendRequest(method=method, api_url=api_url, data=(temp_info %vm_id))
     if vm_id and disk_id and sd_id:
         r=HttpClient.sendRequest(method=method, api_url=api_url, data=(temp_info %(vm_id,disk_id,sd_id)))
     return {'status_code':r.status_code, 'result':xmltodict.parse(r.text)}      
开发者ID:FineFan,项目名称:oVirt3.3WebAPITest,代码行数:56,代码来源:TemplatesAPIs.py

示例5: createCluster

 def createCluster(self, cluster_info):
     '''
     @summary: 创建集群
     @param cluster_info: XML形式的集群信息,调用接口时需要传递此xml数据
           创建集群时集群名称、cpuid和数据中心为必需,其余为可选;
 1)内存优化
 <memory_policy>
     <overcommit percent="150"/>  ;100,150,200,默认为200
     <transparent_hugepages>
         <enabled>true</enabled>  ;默认false
     </transparent_hugepages>
 </memory_policy>  
 2)cpu线程
 <threads_as_cores>false</threads_as_cores> ;默认为false
 3)弹性策略
 <error_handling>
     <on_error>migrate_highly_available</on_error>;包括migrate,migrate_highly_available,do_not_migrate,默认为migrate
 </error_handling>
 4)集群策略
 <scheduling_policy>
      <policy>power_saving</policy>   ;包括none(默认),power_saving,evenly_distributed三种,其中none无需输入,evenly_distributed需要输入high和duration两个参数
      <thresholds low="20" high="80" duration="120"/>
 </scheduling_policy>
 5)其他
 <virt_service>true</virt_service>
 <gluster_service>false</gluster_service>
 <tunnel_migration>false</tunnel_migration>
 <trusted_service>false</trusted_service> ;若设置true,前提是配置服务,否则创建失败
 <ballooning_enabled>false</ballooning_enabled>
     @return: 字典,包括:(1)status_code:http请求返回码;(2)result:请求返回的内容(dict格式)
     '''
     api_url = self.base_url
     method = 'POST'
     r = HttpClient.sendRequest(method=method, api_url=api_url, data=cluster_info)
     return {'status_code':r.status_code, 'result':xmltodict.parse(r.text)} 
开发者ID:faylau,项目名称:oVirt3.3WebAPITest,代码行数:35,代码来源:ClusterAPIs.py

示例6: attachNicWithNetwork

 def attachNicWithNetwork(self, host_name, nic_name, network_name):
     '''
     @summary: 将虚拟化主机网卡与逻辑网络绑定(附加)
     @param host_name: 虚拟化主机名称
     @param nic_name: 虚拟化主机网络接口名称
     @param xml_network_info: network的XML信息(需提供network的name或id),如:
         <action>
             <network id="id"/>
         </action>
     @return: 字典,包括:(1)status_code:http请求返回码;(2)result:请求返回的内容
     @todo: 其功能只是将逻辑网络与物理网卡绑定,至于具体的配置需要调用其他接口?
     '''
     host_id = self.getHostIdByName(host_name)
     nic_id = self.getHostNicIdByName(host_name, nic_name)
     api_url = '%s/%s/%s/%s/attach' % (self.base_url, host_id, self.sub_url, nic_id)
     method = 'POST'
     xml_network_info = '''
     <action>
         <network>
             <name>%s</name>
         </network>
     </action>
     ''' % network_name
     r = HttpClient.sendRequest(method=method, api_url=api_url, data=xml_network_info)
     return {'status_code':r.status_code, 'result':xmltodict.parse(r.text)}
开发者ID:faylau,项目名称:oVirt3.3WebAPITest,代码行数:25,代码来源:HostAPIs.py

示例7: setupNetworks

 def setupNetworks(self, host_name, xml_networks_info):
     '''
     @summary: 对虚拟化主机上的多个网络接口进行配置
     @param xml_networks_info: 虚拟化主机网络配置信息,如:
         <action>
             <host_nics>
                 <host_nic id="41561e1c-c653-4b45-b9c9-126630e8e3b9">
                     <name>em1</name>
                     <network id="00000000-0000-0000-0000-000000000009"/>
                     <boot_protocol>dhcp</boot_protocol>
                 </host_nic>
                 <host_nic id="3c3f442f-948b-4cdc-9a48-89bb0593cfbd">
                     <name>em2</name>
                     <network id="00000000-0000-0000-0000-000000000010"/>
                     <ip address="10.35.1.247" netmask="255.255.254.0" gateway="10.35.1.254"/>
                     <boot_protocol>static</boot_protocol>
                 </host_nic>
                 <checkConnectivity>true</checkConnectivity>
                 <connectivityTimeout>60</connectivityTimeout>
                 <force>false</force>
             </host_nics>
         </action>
     @attention: 没有指定的nic是否直接设置为空?
     @return: 
     '''
     host_id = self.getHostIdByName(host_name)
     api_url = '%s/%s/%s/setupnetworks' % (self.base_url, host_id, self.sub_url)
     method = 'POST'
     r = HttpClient.sendRequest(method=method, api_url=api_url, data=xml_networks_info)
     print r.text
     return {'status_code':r.status_code, 'result':xmltodict.parse(r.text)}
开发者ID:faylau,项目名称:oVirt3.3WebAPITest,代码行数:31,代码来源:HostAPIs.py

示例8: delStorageDomain

 def delStorageDomain(self, sd_name, xml_del_option, host_name=None):
     '''
     @summary: 删除存储域(包括删除、销毁)
     @param sd_name: 存储域名称
     @param host_name: 关联的主机名称(如果不提供,则必须在xml_del_option中指定)
     @param xml_del_option: XML格式的删除选项信息;如下:
     <storage_domain>
         <host>
             <name>node2</name>
         </host>
         <format>true</format>
         <destroy>true</destroy>
         <async>false</async>
     </storage_domain>
     @attention: 
     (1) <host>字段是必须提供的;(2)<destroy>字段表示销毁操作,销毁时不需要另外指定<format>字段;
     (3)<format>字段表示是否格式化域,在进行删除操作时必须指定该字段;(4)<async>表示是否异步返回。
     @attention: (1)Maintenance状态可以销毁;(2)游离状态可以删除。
     @return: 字典,包括:(1)status_code:http请求返回码;(2)result:请求返回的内容。
     '''
     sd_id = self.getStorageDomainIdByName(sd_name)
     api_url = '%s/%s' % (self.base_url, sd_id)
     method = 'DELETE'
     if host_name:
         xml_del_option = xml_del_option % host_name
     r = HttpClient.sendRequest(method=method, api_url=api_url, data=xml_del_option)
     return {'status_code':r.status_code, 'result':xmltodict.parse(r.text)}
开发者ID:FineFan,项目名称:oVirt3.3WebAPITest,代码行数:27,代码来源:StorageDomainAPIs.py

示例9: getStorageConnectionInfo

 def getStorageConnectionInfo(self, sc_id):
     '''
     @summary: 获得Storage Connection的信息
     '''
     api_url = '%s/%s' % (self.base_url, sc_id)
     method = 'GET'
     r = HttpClient.sendRequest(method=method, api_url=api_url)
     return {'status_code':r.status_code, 'result':xmltodict.parse(r.text)}
开发者ID:FineFan,项目名称:oVirt3.3WebAPITest,代码行数:8,代码来源:StorageConnectionAPIs.py

示例10: createDisk

 def createDisk(self, disk_info,sd_id=None):
     '''
     @summary: 创建磁盘
     @param disk_info: XML形式的集群信息,调用接口时需要传递此xml数据
                磁盘大小、存储域、interface、format参数是必需的(不能设置type字段)
               异常情况说明:
      1)存储域不存在:404
      2)缺少参数或参数错误:400
     @return: 字典,包括:(1)status_code:http请求返回码;(2)result:请求返回的内容(dict格式)
     '''
     api_url = self.base_url
     method = 'POST'
     if sd_id:
         r = HttpClient.sendRequest(method=method, api_url=api_url, data=(disk_info %sd_id))
     else: 
         r = HttpClient.sendRequest(method=method, api_url=api_url, data=disk_info)                           
     return {'status_code':r.status_code, 'result':xmltodict.parse(r.text)} 
开发者ID:FineFan,项目名称:oVirt3.3WebAPITest,代码行数:17,代码来源:DiskAPIs.py

示例11: getDataCentersList

 def getDataCentersList(self):
     '''
     @summary: 获取全部数据中心列表
     @return: 字典,包括:(1)status_code:http请求返回码;(2)result:请求返回的内容(dict格式)。
     '''
     api_url = self.base_url
     method = "GET"
     r = HttpClient.sendRequest(method=method, api_url=api_url)
     return {'status_code':r.status_code, 'result':xmltodict.parse(r.text)}
开发者ID:faylau,项目名称:oVirt3.3WebAPITest,代码行数:9,代码来源:DataCenterAPIs.py

示例12: attachStorageDomainToDC

 def attachStorageDomainToDC(self, dc_name, sd_name=None, data=None):
     '''
     @summary: 将存储域附加到数据中心
     @param dc_name: 数据中心名称
     @param sd_name: 存储域名称(可选参数,若不指定,则必须按规则在data中指定相应参数)
     @param data: 存储域的xml数据(可选参数,若提供了sd_name,则不需要提供该参数;若未提供sd_name,则需提供相应的xml字符串)
     @return: 字典,(1)status_code:请求返回状态码;(2)result:请求返回的内容。
     '''
     api_url = '%s/%s/storagedomains' % (self.base_url, self.getDataCenterIdByName(dc_name))
     method = 'POST'
     if sd_name:
         data = '''<storage_domain><name>%s</name></storage_domain>''' % sd_name
         r = HttpClient.sendRequest(method=method, api_url=api_url, data=data)
     elif data:
         r = HttpClient.sendRequest(method=method, api_url=api_url, data=data)
     else:
         raise Exception(u'至少需要提供storage_name或xml数据来完成分离操作。')
     return {'status_code':r.status_code, 'result':xmltodict.parse(r.text)}
开发者ID:faylau,项目名称:oVirt3.3WebAPITest,代码行数:18,代码来源:DataCenterAPIs.py

示例13: getProfilesList

 def getProfilesList(self):
     """
     @summary: 获取全部配置集列表
     @return: 字典,包括:(1)status_code:http请求返回码;(2)result:请求返回的内容(dict格式)。
     """
     api_url = self.base_url
     method = "GET"
     r = HttpClient.sendRequest(method=method, api_url=api_url)
     return {"status_code": r.status_code, "result": xmltodict.parse(r.text)}
开发者ID:FineFan,项目名称:oVirt3.3WebAPITest,代码行数:9,代码来源:ProfilesAPIs.py

示例14: getStorageConnectionsList

 def getStorageConnectionsList(self):
     '''
     @summary: 获得全部storage connection的列表
     @return: 字典,包括:(1)status_code:http请求返回码;(2)result:请求返回的内容(dict格式)。
     '''
     api_url = self.base_url
     method = 'GET'
     r = HttpClient.sendRequest(method=method, api_url=api_url)
     return {'status_code':r.status_code, 'result':xmltodict.parse(r.text)}
开发者ID:FineFan,项目名称:oVirt3.3WebAPITest,代码行数:9,代码来源:StorageConnectionAPIs.py

示例15: updateStorageDomain

 def updateStorageDomain(self, sd_name, xml_update_info):
     '''
     @summary: 更新存储域信息
     @param xml_update_info: XML格式的待更新存储域信息,通过该接口可以编辑NFS、ISCSC和FC类型存储域,如下:
     (1) 编辑NFS类型存储域(NFS类型存储域只能编辑名称、描述等字段):
         <storage_domain>
             <name>data-new</name>
             <description>aaa</description>
         </storage_domain>
     (2) 编辑ISCSI/FC类型存储域(编辑名称、描述)
         <storage_domain>
             <name>Data2-ISCSI</name>
             <description>bbb</description>
             <storage>
                 <type>iscsi</type>
                 <logical_unit id="35005907f57002df5"/>
                 <override_luns>true</override_luns>
             </storage>
         </storage_domain>
     (3) 编辑ISCSI/FC类型存储域(添加LUN,前提是主机已经登陆该Target)
         <storage_domain>
             <host>
                 <name>node2</name>
             </host>
             <storage>
                 <type>iscsi</type>
                 <logical_unit id="35005907f57002df5"/>
                 <override_luns>true</override_luns>
             </storage>
         </storage_domain>
     (4) 编辑ISCSI/FC类型存储域(添加LUN,前提是主机未登录该Target)
         <storage_domain>
             <host>
                 <name>node2</name>
             </host>
             <storage>
                 <type>iscsi</type>
                 <logical_unit id="35005907f57002df5">
                     <address>10.1.161.61</address>
                     <port>3260</port>
                     <target>iqn.2012-07.com.lenovoemc:ix12.px12-TI3111.wangyy</target>
                     <serial>SLENOVO_LIFELINE-DISK</serial>
                     <vendor_id>LENOVO</vendor_id>
                     <product_id>LIFELINE-DISK</product_id>
                     <lun_mapping>1</lun_mapping>
                 </logical_unit>
                 <override_luns>true</override_luns>
             </storage>
         </storage_domain>
     @return: 字典,包括:(1)status_code:http请求返回码;(2)result:请求返回的内容。
     '''
     sd_id = self.getStorageDomainIdByName(sd_name)
     api_url = '%s/%s' % (self.base_url, sd_id)
     method = 'PUT'
     r = HttpClient.sendRequest(method=method, api_url=api_url, data=xml_update_info)
     return {'status_code':r.status_code, 'result':xmltodict.parse(r.text)}
开发者ID:faylau,项目名称:oVirt3.3WebAPITest,代码行数:56,代码来源:StorageDomainAPIs.py


注:本文中的Utils.HttpClient.HttpClient类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。