注意:本模块以英格拉米克罗的OSAAPI为受益人进行折旧

paA的Python项目详细描述


https://pypip.in/v/paAPI/badge.pnghttps://pypip.in/d/paAPI/badge.png

用于并行操作自动化(POA)和并行业务自动化企业(PBA)API的Python客户端。

Installation

使用pip:

$ pip install paAPI

Connecting and Authenticating

POA(host,user=None,password=None,ssl=False,verbose=False,port=8440)PBA(host,user=None,password=None,ssl=False,verbose=False,port=5224)

Default Connection

frompaAPIimportPOA,PBA# connect to POApem=POA('mn.hostname.com')# connect to PBAapi=PBA('pba.hostname.com')

Basic HTTP Authentication

frompaAPIimportPOA,PBA# connect to POApem=POA('mn.hostname.com',user='admin',password='setup')

SSL

frompaAPIimportPOA,PBA# connect to POApem=POA('mn.hostname.com',ssl=True)

Custom Port

frompaAPIimportPOA,PBA# connect to POApem=POA('mn.hostname.com',port=8888)

Parallels Operations Automation (POA) API

除了三个POA API调用之外,其他所有调用都以“pem”开头,因此建议您将POA连接对象命名为“pem”,这样您就可以像本自述文件中的示例那样,准确地调用POA API中记录的函数。

完整的poa公共api引用可以在这里找到:

http://download.pa.parallels.com/poa/5.5/doc/index.htm?fileName=56781.htm

Basic API Call

此示例将显示正在调用的pem.getAccountInfo方法。

frompaAPIimportPOApem=POA('mn.hostname.com')d={'account_id':1002242}printpem.getAccountInfo(**d)# {'status': 0, 'result': {'fax': {'phone_num': '', 'ext_num': '', 'area_code': '', 'country_code': ''}, 'account_type': 'C', 'phone': {'phone_num': '00000000', 'ext_num': '', 'area_code': '04', 'country_code': '61'}, 'brand': {'brand_id': 191, 'domain_name': 'brandingdomain.com', 'name': 'brandname'}, 'email': 'noreply@example.com', 'person': {'first_name': 'John', 'last_name': 'Smith', 'middle_name': '', 'company_name': 'Test Account', 'title': ''}, 'address': {'city': 'Canberra', 'country': 'au', 'street_name': '1 Test Street', 'zipcode': '2621', 'state': 'ACT', 'house_num': '', 'address2': ''}, 'parent_account_id': 1002241}}

API Call with ‘array of struct’

poa api通常要求将值和设置作为“结构数组”发送。这个例子展示了如何使用paapi客户端发送这些值。

此示例基于pem.activateSubscription方法,该方法具有名为“diskspace”和“bandwidth”的资源类型和域名。

frompaAPIimportPOApem=POA('mn.hostname.com')# define the resource limits:DiskSpace={"resource_id":1002486,"resource_limit":1024}Bandwidth={"resource_id":1002487,"resource_limit":-1}# define the paramaters:DomainName={"var_name":"DomainID","var_value":"example.com.au"}# setup the call:d={"account_id":1002242,"subscription_name":"Hosting (example.com.au)","subscription_id":1006754,"service_template_id":204,"resource_limits":[DiskSpace,Bandwidth],"paramaters":[DomainName],}# execute the call:result=pem.activateSubscription(**d)

Transactions

官方文档中有三个poa api调用不是以pem开头的。当使用paapi时,您可以使用这些api调用(如文档所示),但您仍然需要用poa连接对象作为它们的前缀(本页中的示例使用“pem”作为连接对象名)。

frompaAPIimportPOApem=POA('mn.hostname.com')# being transactionpem.txn.Begin()# commit transactionpem.txn.Commit()# rollback transactionpem.txn.Rollback()

Error Handling

当api调用期间发生错误时,poaapi有很好的响应。下面的示例显示POA API错误的响应格式:

{'status':-1,'extype_id':21,'module_id':'OpenAPI','error_message':'Invalid set of arguments. There should be specified EITHER external_info OR person, address, phone, [fax], [locale], email.','properties':{'reason':'Invalid set of arguments. There should be specified EITHER external_info OR person, address, phone, [fax], [locale], email.'}}

Parallels Business Automation (PBA) API

pba api与poaapi有很大不同,并且不太友好。paapi客户机通过标准化返回的响应、提供状态代码和解码任何错误消息,使pba的使用稍微容易一些。

poa和pba api的主要区别在于如何发送和接收值。在pba中,按特定顺序发送参数并接收响应作为列表,以了解每个值代表什么。

完整的PBA公共API引用可以在这里找到:

http://download.pa.parallels.com/pba/5.5/doc/pdf/SDK_API/pba_5.5_public_api_reference.pdf

Basic API Call

此示例将显示正在调用的accountdetailsget_api方法。

frompaAPIimportPBAapi=PBA('pba.hostname.com')printapi.Execute('AccountDetailsGet_API',params=['1002242'])# {'status': 0, 'result': [1002242, 1002241, 'Test Account  5543', '1 Test Street', '', 'Canberra', '', '2621', 'au', '', 'John', 'D', 'Smith', 'noreply@example.com', '61', '04', '000000000', '', '', '', '', '', 1351787114, 2, 0]}

Alternate Server

大多数pba api方法调用使用“bm”服务器。有些方法使用备用服务器,如“pemgate”或“domaingate”。此示例显示如何指定备用服务器:

frompaAPIimportPBAapi=PBA('pba.hostname.com')api.Execute('DomainExpirationDateGet_API',params=params,server='DOMAINGATE')

Error Handling

paapi采用poa本机返回错误的方式,并将其应用于pba api。对于成功的调用,每个响应的状态将为0,如果pba返回错误,则为-1

这是一个在发生错误时返回内容的示例:

{'status':-1,'error_message':'Table Account does not contain row with ID 99999999.','server':'BM','host':'pba.hostname.com','params':['99999999'],'result':None,'method':'AccountDetailsGet_API'}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java传递整个对象与传递对象的属性   java无法使用GrantedAuthority字段保存对象(不存在任何创建者,如默认构造)   java机制类似于SQL,用于过滤和排序对象   java setMinHeight在安卓中无法正常工作。小装置。文本框   在java中使用Apache POI使用密码保护文档   java如何在从第二个片段的recyclerView中选择项目时切换到第一个片段?这两个片段都在viewPager2的表格布局中   java如何将变量的数据与ArrayList中的数据进行比较?   JavaSpring谓词jpa查询问题   jakarta ee具有整数值的字符串排序列表Java   使用java从生成的xml文档中删除xml声明   JavaSpring批处理Bean放置   java将多个文件打印到csv   更新后插件出现java eclipse错误   java如何读取txt文件并向数组数据输入信息?   java Rest Api异常处理   java我的程序使用多少对Twitter API的请求   在java中接受ArrayList中的字符串作为ReturnType   java如何修复Android中的NetworkonMainThreadException?   Web应用程序将Javascript变量传输到MySQL(JAVA)