Skip to main content

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

1/// Ingest job information
2#[derive(
3    Debug,
4    Clone,
5    conjure_object::serde::Serialize,
6    conjure_object::serde::Deserialize,
7    PartialEq,
8    Eq,
9    PartialOrd,
10    Ord,
11    Hash
12)]
13#[serde(crate = "conjure_object::serde")]
14#[conjure_object::private::staged_builder::staged_builder]
15#[builder(crate = conjure_object::private::staged_builder, update, inline)]
16pub struct IngestJob {
17    #[serde(rename = "ingestJobRid")]
18    ingest_job_rid: conjure_object::ResourceIdentifier,
19    #[serde(rename = "status")]
20    status: super::IngestJobStatus,
21    #[builder(default, into)]
22    #[serde(rename = "originFiles", skip_serializing_if = "Option::is_none", default)]
23    origin_files: Option<Vec<String>>,
24    #[serde(rename = "createdBy")]
25    created_by: conjure_object::Uuid,
26    #[builder(default, into)]
27    #[serde(rename = "createdByRid", skip_serializing_if = "Option::is_none", default)]
28    created_by_rid: Option<super::super::super::scout::rids::api::UserRid>,
29    #[serde(rename = "orgUuid")]
30    org_uuid: conjure_object::Uuid,
31    #[serde(rename = "ingestType")]
32    ingest_type: super::IngestType,
33    #[builder(default, into)]
34    #[serde(rename = "datasetRid", skip_serializing_if = "Option::is_none", default)]
35    dataset_rid: Option<conjure_object::ResourceIdentifier>,
36    #[builder(default, into)]
37    #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none", default)]
38    created_at: Option<conjure_object::DateTime<conjure_object::Utc>>,
39    #[builder(default, into)]
40    #[serde(rename = "startTime", skip_serializing_if = "Option::is_none", default)]
41    start_time: Option<conjure_object::DateTime<conjure_object::Utc>>,
42    #[builder(default, into)]
43    #[serde(rename = "endTime", skip_serializing_if = "Option::is_none", default)]
44    end_time: Option<conjure_object::DateTime<conjure_object::Utc>>,
45    #[builder(default, into)]
46    #[serde(
47        rename = "producedFileCount",
48        skip_serializing_if = "Option::is_none",
49        default
50    )]
51    produced_file_count: Option<i32>,
52}
53impl IngestJob {
54    #[inline]
55    pub fn ingest_job_rid(&self) -> &conjure_object::ResourceIdentifier {
56        &self.ingest_job_rid
57    }
58    #[inline]
59    pub fn status(&self) -> &super::IngestJobStatus {
60        &self.status
61    }
62    #[inline]
63    pub fn origin_files(&self) -> Option<&[String]> {
64        self.origin_files.as_ref().map(|o| &**o)
65    }
66    #[deprecated(note = "use createdByRid instead")]
67    #[inline]
68    pub fn created_by(&self) -> conjure_object::Uuid {
69        self.created_by
70    }
71    #[inline]
72    pub fn created_by_rid(
73        &self,
74    ) -> Option<&super::super::super::scout::rids::api::UserRid> {
75        self.created_by_rid.as_ref().map(|o| &*o)
76    }
77    #[inline]
78    pub fn org_uuid(&self) -> conjure_object::Uuid {
79        self.org_uuid
80    }
81    #[inline]
82    pub fn ingest_type(&self) -> &super::IngestType {
83        &self.ingest_type
84    }
85    #[inline]
86    pub fn dataset_rid(&self) -> Option<&conjure_object::ResourceIdentifier> {
87        self.dataset_rid.as_ref().map(|o| &*o)
88    }
89    #[inline]
90    pub fn created_at(&self) -> Option<conjure_object::DateTime<conjure_object::Utc>> {
91        self.created_at.as_ref().map(|o| *o)
92    }
93    /// The time the job transitioned to IN_PROGRESS. Absent for jobs that have not started running yet
94    /// (SUBMITTED, QUEUED).
95    #[inline]
96    pub fn start_time(&self) -> Option<conjure_object::DateTime<conjure_object::Utc>> {
97        self.start_time.as_ref().map(|o| *o)
98    }
99    #[inline]
100    pub fn end_time(&self) -> Option<conjure_object::DateTime<conjure_object::Utc>> {
101        self.end_time.as_ref().map(|o| *o)
102    }
103    /// Count of dataset files produced by this ingest job.
104    #[inline]
105    pub fn produced_file_count(&self) -> Option<i32> {
106        self.produced_file_count.as_ref().map(|o| *o)
107    }
108}