凭单入门

SoftLayer 的凭单系统是客户与 SoftLayer 支持团队进行交流的主要通信媒介。SoftLayer_Ticket 服务为每个凭单提供了一个交互点,并且可通过 SoftLayer_Account 与帐户上的所有凭单进行交互。

列出

可以通过 SoftLayer_Account::getTickets 从 SoftLayer_Account 服务中收集所有凭单的列表。此方法返回 SoftLayer_Ticket 数据类型对象的数组。

import SoftLayer
client = SoftLayer.Client()
tickets = client['Account'].getTickets()

此外,可以通过 SoftLayer_Account::getOpenTicketsSoftLayer_Account::getClosedTickets 来仅检索已打开或已关闭的凭单。

详细信息

要获取有关特定凭单的信息(例如,其 ID、上次修改日期或状态),可以使用 SoftLayer_Ticket::getObject(将返回 SoftLayer_Ticket 对象)。对象掩码可用于包含 SoftLayer_Ticket 的关系属性。以下示例将 SoftLayer_Ticket 服务的 getObject 与对象掩码(提供已分配用户的名称以及所有凭单更新)结合使用。

mask = ('mask[id, title, assignedUser[firstName, lastName],'
                'createDate,lastEditDate,updates[entry],updateCount]')
return client[‘Ticket’].getObject(id=ticket_id, mask=mask)

创建

列出主题

创建凭单时,需要有效的主题 ID。可通过 SoftLayer_Ticket_Subject::getAllObjects 来收集所有可能主题的列表:

subjects = client['Ticket_Subject'].getAllObjects()
ID SUBJECT
1001 'Accounting Request'
1002 'Sales Request'
1003 'Reboots and Console Access'
1041 'DNS Request'
1021 'Hardware Issue'
1022 'Public Network Question'
1061 'Private Network Question'
1201 'DOS/Abuse Issue'
1101 'Security Issue'
1121 'Hardware Firewall Question'
1122 'Hardware Load Balancer Question'
1004 'OS Reload Question'
1005 'Portal Information Question'
1081 'Licensing Question'
1141 'Mail Server Issue'
1161 'StorageLayer Question'
1181 'CDNLayer Question'
1221 'Transcoding Question'
1261 'Colocation Service Request'

凭单提交

可通过 SoftLayer_Ticket::createStandardTicket 方法来创建新凭单。首先创建一个包含凭单详细信息的 SoftLayer_Ticket 模板对象。每个凭单模板对象至少需要定义以下属性:
• subjectId:要用作凭单标题的主题的 ID
• assignedUserId:为凭单分配的用户(通常设置为凭单创建者)。
可以通过模板对象以及第一个凭单消息的内容来调用 SoftLayer_Ticket::createStandardTicket

import SoftLayer
client = SoftLayer.Client()
currentUser = client[‘Account’].getCurrentUser()
new_ticket = {
       'subjectId': ID,
       'assignedUserId': currentUser['id']
}
created_ticket = client[‘Ticket’].createStandardTicket(new_ticket, “This is the content of the ticket xxxx”)

更新

可以通过 SoftLayer_Ticket::addUpdate 来更新凭单。必须提供模板对象

ticket_update = {
                 'entry': "This is a test update, please ignore",
                 }
tickets = client['Ticket'].addUpdate(ticket_update, id=8988302)