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