46 lines
1.4 KiB
Rust
46 lines
1.4 KiB
Rust
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<Value>,
|
|
|
|
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
pub(crate) timeouts: Option<Value>,
|
|
|
|
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
pub(crate) taskRunTemplate: Option<Value>,
|
|
|
|
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
pub(crate) workspaces: Option<Value>,
|
|
|
|
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
pub(crate) params: Option<Vec<PipelineParam>>,
|
|
}
|
|
|
|
#[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<String>,
|
|
|
|
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
pub(crate) value: Option<Value>,
|
|
}
|