HP CloudSystem Matrix/Matrix Operating Environment 7.2 Integration Interfaces API and CLI Operations Reference Guide

serviceData.append([ipAddress.ipAddress, ipAddress.ipAssignmentType, ipAddress.allocationHours,
str(locale.currency(val=ipAddress.allocationCost, symbol=False, grouping=True))])
return len(ipAddresses.ipAddressUsageDetail)
def get_servicetable(self, service):
serviceinfotable = [[]]
serviceinfotable[0] = ["Service", get_servicename(service)]
serviceinfotable.append(["Organization", get_organization(service)])
serviceinfotable.append(["Billing code", get_billingcode(service)])
serviceinfotable.append(["Owner", get_owner(service)])
serviceinfotable.append(["Created on", get_startdate(service)])
serviceinfotable.append(["Deleted on", get_enddate(service)])
tService = Table(serviceinfotable, style=[('LINEABOVE', (0, 0), (-1, 0), 0.25, colors.black),
('LINEBELOW', (0, -1), (-1, -1), 0.25, colors.black),
('FONTSIZE', (0, 0), (-1, -1), 6),
('INNERGRID', (0, 0), (-1, -1), 0.25, colors.black),
('BOX', (0, 0), (-1, -1), 0.25, colors.black),
('BACKGROUND', (0, 0), (1, 0), colors.blue),
('TEXTCOLOR', (0, 0), (1, 0), colors.white)])
tService.hAlign = "LEFT"
return tService
def get_servicedetailstable(self, service):
tServiceData = [[]]
tServiceData[0] = ["Fixed Cost ($)", str(locale.currency(val=service.resourceUsageDetail.fixedCost,
symbol=False, grouping=True)), "", ""]
s = 2 + self.addserversdetails(service.resourceUsageDetail.servers, tServiceData)
d = s + self.adddisksdetails(service.resourceUsageDetail.disks, tServiceData) + 2
self.addipaddressesdetails(service.resourceUsageDetail.ipAddresses, tServiceData)
tService = Table(tServiceData, style = [('LINEBELOW', (0, 0), (-1, 0), 0.5, colors.black),
('SPAN',(1,0),(-1,0)),
('FONTSIZE', (0, 0), (-1, -1), 6),
('LINEBELOW', (0, 1), (-1, 1), 0.5, colors.black),
('LINEABOVE', (0, 1), (-1, 1), 0.5, colors.black),
('SPAN',(0,1),(-1,1)),
('LINEBELOW', (0, s+1), (-1, s+1), 0.5, colors.black),
('LINEABOVE', (0, s+1), (-1, s+1), 0.5, colors.black),
('SPAN',(0,s+1),(-1,s+1)),
('LINEBELOW', (0, d+1), (-1, d+1), 0.5, colors.black),
('LINEABOVE', (0, d+1), (-1, d+1), 0.5, colors.black),
('SPAN',(0,d+1),(-1,d+1)),
('BOX', (0, 0), (-1, -1), 0.25, colors.black),
('TEXTCOLOR', (0, 0), (-1, -1), colors.black)])
tService.hAlign = "LEFT"
return tService
def format_data(self):
dataPeriod = self.period.getPeriodObj(self.chargebackservice)
paging = self.chargebackservice.factory.create('paging')
paging.pageIndex = PAGE_INDEX
paging.pageSize = PAGE_SIZE
Elements = []
if self.chargebackservice :
filters = []
if self.filters :
filters = self.filters.getFiltersObj(self.chargebackservice)
if len(filters) > 0:
print "[" + str(datetime.datetime.now()) + "]" + "getServiceUsageDetailPage: start"
result = self.chargebackservice.service.getServiceUsageDetailPage(dataPeriod, paging, filters)
print "[" + str(datetime.datetime.now()) + "]" + "getServiceUsageDetailPage: end"
else:
result = self.chargebackservice.service.getServiceUsageDetailPage(dataPeriod, paging)
if (result.pagingInformation) and (result.serviceUsageDetail) and (len(result.serviceUsageDetail)
> 0) :
pages = result.pagingInformation
services = result.serviceUsageDetail
Elements.extend(report_Summary(len(services), self.period))
Elements.append(Paragraph(''' ''', styleSheet["BodyText"]))
for service in services:
Elements.append(self.get_servicetable(service))
Elements.append(Paragraph(''' ''', styleSheet["BodyText"]))
Elements.append(self.get_servicedetailstable(service))
Elements.append(PageBreak())
else:
print "Result: " + result
return Elements
def generate (self, outputfile):
usageReport = root.reports.reports.Report(self.title, self.footer)
114 Sample Python Client