Skip to main content

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

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