diff --git a/metadata-models/src/main/pegasus/com/linkedin/execution/ExecutionRequestResult.pdl b/metadata-models/src/main/pegasus/com/linkedin/execution/ExecutionRequestResult.pdl index f27c13dc172df..29acd0aa52389 100644 --- a/metadata-models/src/main/pegasus/com/linkedin/execution/ExecutionRequestResult.pdl +++ b/metadata-models/src/main/pegasus/com/linkedin/execution/ExecutionRequestResult.pdl @@ -17,6 +17,11 @@ record ExecutionRequestResult { */ report: optional string + /** + * A structured report if available. + */ + structuredReport: optional StructuredExecutionReport + /** * Time at which the request was created */ diff --git a/metadata-models/src/main/pegasus/com/linkedin/execution/StructuredExecutionReport.pdl b/metadata-models/src/main/pegasus/com/linkedin/execution/StructuredExecutionReport.pdl new file mode 100644 index 0000000000000..72eb7baf558a2 --- /dev/null +++ b/metadata-models/src/main/pegasus/com/linkedin/execution/StructuredExecutionReport.pdl @@ -0,0 +1,25 @@ +namespace com.linkedin.execution + +/** + * A flexible carrier for structured results of an execution request. + * The goal is to allow for free flow of structured responses from execution tasks to the orchestrator or observer. + * The full spectrum of different execution report types is not intended to be modeled by this object. + */ + +record StructuredExecutionReport { + + /** + * The type of the structured report. (e.g. INGESTION_REPORT, TEST_CONNECTION_REPORT, etc.) + */ + type: string + + /** + * The serialized value of the structured report + **/ + serializedValue: string + + /** + * The content-type of the serialized value (e.g. application/json, application/json;gzip etc.) + **/ + contentType: string +}