Python Softlayer API——如何检查我的订单是否被接受
我下了一个命令,通过api(python)“placeOrder”升级虚拟机的硬件,它成功返回。我使用“wait_for_transaction”(VSManager中的函数)来等待该事务完成。几分钟后,它也成功返回。然而,当我登录网站“control.softlayer.com”时,我发现升级通知单显示它已被取消,并说“由于数据中心池中的资源不足,XXXX无法完成。升级请求已被取消,此通知单已关闭” 那么,我如何检查该订单是否已被接受并成功处理?我需要知道订单结果。VSManager中的“等待交易”功能仅检查交易状态是否未挂起,这就是为什么尽管交易失败,结果仍然成功。 要验证升级是否有效工作,需要查看上一个事务的状态 您可以使用python客户端查看下一个示例脚本:Python Softlayer API——如何检查我的订单是否被接受,python,ibm-cloud-infrastructure,Python,Ibm Cloud Infrastructure,我下了一个命令,通过api(python)“placeOrder”升级虚拟机的硬件,它成功返回。我使用“wait_for_transaction”(VSManager中的函数)来等待该事务完成。几分钟后,它也成功返回。然而,当我登录网站“control.softlayer.com”时,我发现升级通知单显示它已被取消,并说“由于数据中心池中的资源不足,XXXX无法完成。升级请求已被取消,此通知单已关闭” 那么,我如何检查该订单是否已被接受并成功处理?我需要知道订单结果。VSManager中的“等待
"""
Retrieve a computing instance's associated upgrade request object if any.
Important manual pages:
http://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest/getUpgradeRequest
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Product_Upgrade_Request
https://sldn.softlayer.com/article/object-masks
License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <sldn@softlayer.com>
"""
import SoftLayer
from pprint import pprint as pp
virtualGuestId = 12345678
USERNAME = 'set me'
API_KEY = 'set me'
client = SoftLayer.Client(username=USERNAME,
api_key=API_KEY)
virtualGuestService = client['SoftLayer_Virtual_Guest']
objectMask = 'mask[completedFlag,order,status,ticket[title,id],virtualGuest[id,fullyQualifiedDomainName,lastTransaction[transactionGroup]]]'
try:
upgradeRequest = virtualGuestService.getUpgradeRequest(mask=objectMask, id=virtualGuestId)
# The result should display the upgrade request status, order status, ticket associated
# and the last transaction and transaction status of the current Virtual Guest.
# Note: The upgrade request status could be the next:
# APPROVED
# PENDING
# PENDING_CUSTOMER_APPROVAL
# COMPLETE
# CANCELLED
# MAINTENANCE_UPDATE_REQUIRED
# IN_TRANSACTION
# PENDING_PAYMENT_PROCESS
# PENDING_AUTOMATED_FINALIZE
pp(upgradeRequest)
except SoftLayer.SoftLayerAPIError as e:
pp('Unable to upgrade the VSI faultCode=%s, faultString=%s'
% (e.faultCode, e.faultString))
“”“
检索计算实例的关联升级请求对象(如果有)。
重要手册页:
http://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest/getUpgradeRequest
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Product_Upgrade_Request
https://sldn.softlayer.com/article/object-masks
许可证:http://sldn.softlayer.com/article/License
作者:SoftLayer Technologies,Inc。
"""
导入软层
从pprint导入pprint作为pp
virtualGuestId=12345678
用户名='设置我'
API_KEY='设置我'
client=SoftLayer.client(用户名=username,
api_键=api_键)
virtualGuestService=客户端['SoftLayer\u Virtual\u Guest']
objectMask='mask[completedFlag,order,status,ticket[title,id],virtualGuest[id,FullyQualifiedDomain,lastTransaction[transactionGroup]]'
尝试:
upgradeRequest=virtualGuestService.getUpgradeRequest(掩码=objectMask,id=virtualGuestId)
#结果应显示升级请求状态、订单状态、相关票据
#以及当前虚拟来宾的最后一个事务和事务状态。
#注意:升级请求状态可能是下一个:
#批准
#未决
#待客户批准
#完整的
#取消
#需要维护\u更新\u
#内部交易
#待处理的付款程序
#待处理的\u自动\u完成
pp(升级请求)
除SoftLayer.SoftLayer外,错误为e:
pp('无法升级VSI faultCode=%s,faultString=%s'
%(e.faultCode,e.faultString))
VSManager中的“等待事务”功能仅检查事务状态是否未挂起,这就是为什么尽管事务失败,结果仍然成功。
要验证升级是否有效工作,需要查看上一个事务的状态
您可以使用python客户端查看下一个示例脚本:
"""
Retrieve a computing instance's associated upgrade request object if any.
Important manual pages:
http://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest/getUpgradeRequest
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Product_Upgrade_Request
https://sldn.softlayer.com/article/object-masks
License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <sldn@softlayer.com>
"""
import SoftLayer
from pprint import pprint as pp
virtualGuestId = 12345678
USERNAME = 'set me'
API_KEY = 'set me'
client = SoftLayer.Client(username=USERNAME,
api_key=API_KEY)
virtualGuestService = client['SoftLayer_Virtual_Guest']
objectMask = 'mask[completedFlag,order,status,ticket[title,id],virtualGuest[id,fullyQualifiedDomainName,lastTransaction[transactionGroup]]]'
try:
upgradeRequest = virtualGuestService.getUpgradeRequest(mask=objectMask, id=virtualGuestId)
# The result should display the upgrade request status, order status, ticket associated
# and the last transaction and transaction status of the current Virtual Guest.
# Note: The upgrade request status could be the next:
# APPROVED
# PENDING
# PENDING_CUSTOMER_APPROVAL
# COMPLETE
# CANCELLED
# MAINTENANCE_UPDATE_REQUIRED
# IN_TRANSACTION
# PENDING_PAYMENT_PROCESS
# PENDING_AUTOMATED_FINALIZE
pp(upgradeRequest)
except SoftLayer.SoftLayerAPIError as e:
pp('Unable to upgrade the VSI faultCode=%s, faultString=%s'
% (e.faultCode, e.faultString))
“”“
检索计算实例的关联升级请求对象(如果有)。
重要手册页:
http://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest/getUpgradeRequest
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Product_Upgrade_Request
https://sldn.softlayer.com/article/object-masks
许可证:http://sldn.softlayer.com/article/License
作者:SoftLayer Technologies,Inc。
"""
导入软层
从pprint导入pprint作为pp
virtualGuestId=12345678
用户名='设置我'
API_KEY='设置我'
client=SoftLayer.client(用户名=username,
api_键=api_键)
virtualGuestService=客户端['SoftLayer\u Virtual\u Guest']
objectMask='mask[completedFlag,order,status,ticket[title,id],virtualGuest[id,FullyQualifiedDomain,lastTransaction[transactionGroup]]'
尝试:
upgradeRequest=virtualGuestService.getUpgradeRequest(掩码=objectMask,id=virtualGuestId)
#结果应显示升级请求状态、订单状态、相关票据
#以及当前虚拟来宾的最后一个事务和事务状态。
#注意:升级请求状态可能是下一个:
#批准
#未决
#待客户批准
#完整的
#取消
#需要维护\u更新\u
#内部交易
#待处理的付款程序
#待处理的\u自动\u完成
pp(升级请求)
除SoftLayer.SoftLayer外,错误为e:
pp('无法升级VSI faultCode=%s,faultString=%s'
%(e.faultCode,e.faultString))