注意:本模块以英格拉米克罗的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第三方库


热门话题
mysql Spring,AWS,访问远程数据库:java。lang.AbstractMethodError:在组织中为空。springframework。果心命令比较器。findOrder(OrderComparator.java:142)   java什么是“未找到网络:缓存项[url:…]”确切的意思是?   java@EmbeddedId和@Id异常   java从一个数组中获取数据以创建另一个数组。这个循环怎么了?   主方法中的java调用值为10的rect上的scale,然后打印矩形区域   java将数据插入现有记录   出现n位数后的java拆分字符串   java Hibernate验证程序异常   安卓如何从监听器接收结果(java)   在paintbrushtype GUI中,java paintComponent()vs paint()和JPanel vs Canvas   java抛出异常,以便堆栈跟踪不包含某些类类型   java使用哪种语法来提高性能和资源利用率   java My regex搜索只打印出最后一个匹配项   安卓在xml解析中的java视图翻转器示例   java如何维护LDAP系统和关系数据库的完整性?