def __init__(self, parameters): """Establish GCP report query handler. Args: parameters (QueryParameters): parameter object for query """ # do not override mapper if its already set try: getattr(self, "_mapper") except AttributeError: self._mapper = GCPProviderMap(provider=self.provider, report_type=parameters.report_type) self.group_by_options = self._mapper.provider_map.get( "group_by_options") self._limit = parameters.get_filter("limit") self.is_csv_output = parameters.accept_type and "text/csv" in parameters.accept_type self.group_by_alias = { "service": "service_alias", "project": "project_name" } # super() needs to be called after _mapper and _limit is set super().__init__(parameters)
def __init__(self, parameters): """Establish GCP report query handler. Args: parameters (QueryParameters): parameter object for query """ self._parameters = parameters if not hasattr(self, "_mapper"): self._mapper = GCPProviderMap(provider=self.provider, report_type=parameters.report_type) # super() needs to be called after _mapper is set super().__init__(parameters)
def __init__(self, parameters): """Establish GCP report query handler. Args: parameters (QueryParameters): parameter object for query """ # do not override mapper if its already set try: getattr(self, "_mapper") except AttributeError: self._mapper = GCPProviderMap(provider=self.provider, report_type=parameters.report_type) self.group_by_options = self._mapper.provider_map.get( "group_by_options") self._limit = parameters.get_filter("limit") self.is_csv_output = parameters.accept_type and "text/csv" in parameters.accept_type self.group_by_alias = { "service": "service_alias", "gcp_project": "project_name" } # We need to overwrite the pack keys here to include the credit # dictionary in the endpoint returns. gcp_pack_keys = { "infra_raw": { "key": "raw", "group": "infrastructure" }, "infra_markup": { "key": "markup", "group": "infrastructure" }, "infra_usage": { "key": "usage", "group": "infrastructure" }, "infra_credit": { "key": "credit", "group": "infrastructure" }, "infra_total": { "key": "total", "group": "infrastructure" }, "sup_raw": { "key": "raw", "group": "supplementary" }, "sup_markup": { "key": "markup", "group": "supplementary" }, "sup_usage": { "key": "usage", "group": "supplementary" }, "sup_credit": { "key": "credit", "group": "supplementary" }, "sup_total": { "key": "total", "group": "supplementary" }, "cost_raw": { "key": "raw", "group": "cost" }, "cost_markup": { "key": "markup", "group": "cost" }, "cost_usage": { "key": "usage", "group": "cost" }, "cost_credit": { "key": "credit", "group": "cost" }, "cost_total": { "key": "total", "group": "cost" }, } gcp_pack_definitions = copy.deepcopy(self._mapper.PACK_DEFINITIONS) gcp_pack_definitions["cost_groups"]["keys"] = gcp_pack_keys # super() needs to be called after _mapper and _limit is set super().__init__(parameters) self._mapper.PACK_DEFINITIONS = gcp_pack_definitions