use kube::CustomResource; use schemars::JsonSchema; use serde::Deserialize; use serde::Serialize; use serde_json::Value; /// A single execution of a Pipeline. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, JsonSchema)] #[kube( group = "tekton.dev", version = "v1", kind = "PipelineRun", singular = "pipelinerun", plural = "pipelineruns" )] #[kube(namespaced)] #[serde(deny_unknown_fields)] pub(crate) struct PipelineRunSpec { /// Contents of the Pipeline #[serde( rename = "pipelineSpec", default, skip_serializing_if = "Option::is_none" )] pub(crate) pipeline_spec: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub(crate) timeouts: Option, #[serde( rename = "taskRunTemplate", default, skip_serializing_if = "Option::is_none" )] pub(crate) task_run_template: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub(crate) workspaces: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub(crate) params: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] #[serde(deny_unknown_fields)] pub(crate) struct PipelineParam { /// Contents of the Pipeline #[serde(default, skip_serializing_if = "Option::is_none")] pub(crate) name: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub(crate) value: Option, }