import json from forward_evidence.resource_id_mapper import map_resource_id from grpc_gen.assessment_pb2 import AssessEvidenceRequest # Used if user doesn't provide other _default_resource_type = ["VirtualMachine", "Compute", "Resource"] def create_resource(name, type, property_list): resource = { "id": str(map_resource_id(name)), "name": str(name), "type": type if type is not None else _default_resource_type } if property_list is not None: resource.update(property_list) return resource def create_assessevidence_request(id, service_id, tool_id, raw, resource): aer = AssessEvidenceRequest() aer.evidence.id = str(id) aer.evidence.timestamp.GetCurrentTime() aer.evidence.timestamp.nanos = 0 aer.evidence.service_id = service_id aer.evidence.tool_id = tool_id aer.evidence.raw = json.dumps(raw) aer.evidence.resource.struct_value.update(resource) return aer def print_evidence(logger, evidence): evidence.raw = evidence.raw[:50] + "..." logger.debug(evidence)