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(default, skip_serializing_if = "Option::is_none")] pub(crate) pipelineSpec: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub(crate) timeouts: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub(crate) taskRunTemplate: 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, }