HP CloudSystem Matrix/Matrix Operating Environment 7.2 Integration Interfaces API and CLI Operations Reference Guide
 if len (self.service) >0:
 servicefilter = chargebackservice.factory.create('serviceFilter')
 servicefilter.filterAttribute = attributefilter.SERVICE_NAME
 servicefilter.filterOperator = operatorfilter.EQUAL
 servicefilter.serviceFilterValue = self.service 
 servicefilter.filterConnector = connectorfilter.AND
 filterCollection.append(servicefilter)
 if len(filterCollection) > 0:
 filterCollection[0].filterConnector = connectorfilter.NONE
 return filterCollection
def get_servicename(serviceUsage):
 return str(serviceUsage.serviceInformation.name)
def get_organization(serviceUsage):
 return str(serviceUsage.serviceInformation.organizationId) 
def get_billingcode(serviceUsage):
 return str(serviceUsage.serviceInformation.billingCode)
def get_owner(serviceUsage):
 return str(serviceUsage.serviceInformation.owner)
def get_startdate(serviceUsage):
 return str(serviceUsage.serviceInformation.startDate)
def get_enddate(serviceUsage):
 try:
 return str(serviceUsage.serviceInformation.endDate)
 except:
 return ""
def report_Summary(number_of_service, period):
 result = [[]]
 result[0] = Paragraph(''' ''', styleSheet["BodyText"])
 summarytable = [[]]
 now = datetime.datetime.now()
 summarytable[0] = ["Date run: ", now.strftime("%Y-%m-%d")]
 start_date = datetime.datetime.strptime (period.start, "%Y-%m-%d")
 end_date = datetime.datetime.strptime (period.end, "%Y-%m-%d")
 days = end_date - start_date 
 periodStr = "{0} to {1} ({2} days)"
 summarytable.append(["Reporting period: ", periodStr.format(period.start, period.end, str(days.days))])
 summarytable.append(["Number of services: ", number_of_service])
 t = Table(summarytable, style=[('LINEABOVE', (0,0), (-1,0), 0.25, colors.black),
 ('LINEBELOW', (0,-1), (-1,-1), 0.25, colors.black),
 ('FONTSIZE', (0,0), (0,2), 9),
 ('FONTSIZE', (1,0), (1,2), 8),
 ('BOX', (0,0), (-1,-1), 0.25, colors.black)]
 )
 t.hAlign = "LEFT"
 result.append(t)
 result.append(Paragraph(''' ''',styleSheet["BodyText"]))
 result.append(Paragraph(''' ''',styleSheet["BodyText"]))
 return result
class ServiceUsageReport (object):
 def __init__ (self, periodInformation, connection, filters=None, title="Title", footer="Footer"):
 self.title = title 
 self.data = footer
 self.footer = ""
 self.period = periodInformation
 self.filters = filters
 self.chargebackservice = connection.client
 def get_serviceCost(self, serviceUsage):
 disckCost = serviceUsage.resourceUsageSummary.DiskUsageSummary.allocationCost
 ipCost = serviceUsage.resourceUsageSummary.IpAddressUsageSummary.allocationCost
 serversCost = serviceUsage.resourceUsageSummary.ServerUsageSummary.allocationCost
 fixedCost = serviceUsage.resourceUsageSummary.fixedCost
 return disckCost + ipCost + serversCost + fixedCost
 def get_totalServices(self, services):
 return len(services)
 def format_data(self):
 Elements = []
 if self.chargebackservice :
 dataPeriod = self.period.getPeriodObj(self.chargebackservice)
 paging = self.chargebackservice.factory.create('paging')
112 Sample Python Client










