Skip to main content

nominal_api_conjure/conjure/objects/ingest/api/
ingest_transform.rs

1/// A single transform within an ingest job: one unit of extraction/processing work. Surfaces
2/// status, type, and error details so callers can monitor and alert on ingest pipelines.
3#[derive(
4    Debug,
5    Clone,
6    conjure_object::serde::Serialize,
7    conjure_object::serde::Deserialize,
8    PartialEq,
9    Eq,
10    PartialOrd,
11    Ord,
12    Hash
13)]
14#[serde(crate = "conjure_object::serde")]
15#[conjure_object::private::staged_builder::staged_builder]
16#[builder(crate = conjure_object::private::staged_builder, update, inline)]
17pub struct IngestTransform {
18    #[serde(rename = "ingestTransformRid")]
19    ingest_transform_rid: conjure_object::ResourceIdentifier,
20    #[serde(rename = "ingestJobRid")]
21    ingest_job_rid: conjure_object::ResourceIdentifier,
22    #[serde(rename = "transformType")]
23    transform_type: super::IngestTransformType,
24    #[serde(rename = "status")]
25    status: super::IngestTransformStatus,
26    #[serde(rename = "createdAt")]
27    created_at: conjure_object::DateTime<conjure_object::Utc>,
28    #[serde(rename = "updatedAt")]
29    updated_at: conjure_object::DateTime<conjure_object::Utc>,
30    #[builder(default, into)]
31    #[serde(rename = "errorMessage", skip_serializing_if = "Option::is_none", default)]
32    error_message: Option<String>,
33    #[builder(default, into)]
34    #[serde(rename = "finishedAt", skip_serializing_if = "Option::is_none", default)]
35    finished_at: Option<conjure_object::DateTime<conjure_object::Utc>>,
36}
37impl IngestTransform {
38    #[inline]
39    pub fn ingest_transform_rid(&self) -> &conjure_object::ResourceIdentifier {
40        &self.ingest_transform_rid
41    }
42    /// The ingest job this transform belongs to.
43    #[inline]
44    pub fn ingest_job_rid(&self) -> &conjure_object::ResourceIdentifier {
45        &self.ingest_job_rid
46    }
47    #[inline]
48    pub fn transform_type(&self) -> &super::IngestTransformType {
49        &self.transform_type
50    }
51    #[inline]
52    pub fn status(&self) -> &super::IngestTransformStatus {
53        &self.status
54    }
55    #[inline]
56    pub fn created_at(&self) -> conjure_object::DateTime<conjure_object::Utc> {
57        self.created_at
58    }
59    #[inline]
60    pub fn updated_at(&self) -> conjure_object::DateTime<conjure_object::Utc> {
61        self.updated_at
62    }
63    /// The failure detail recorded when the transform terminated. Present only for FAILED
64    /// transforms. May contain customer-derived content and is therefore not safe to log.
65    #[inline]
66    pub fn error_message(&self) -> Option<&str> {
67        self.error_message.as_ref().map(|o| &**o)
68    }
69    /// The time the transform reached a terminal status (COMPLETED or FAILED). Absent while the
70    /// transform is still QUEUED or IN_PROGRESS.
71    #[inline]
72    pub fn finished_at(&self) -> Option<conjure_object::DateTime<conjure_object::Utc>> {
73        self.finished_at.as_ref().map(|o| *o)
74    }
75}