nominal-api-conjure 0.1346.1

Conjure HTTP API bindings for the Nominal platform
Documentation
/// Metadata about a video file uploaded to S3 by yeeter.
#[derive(
    Debug,
    Clone,
    conjure_object::serde::Serialize,
    conjure_object::serde::Deserialize,
    conjure_object::private::DeriveWith
)]
#[serde(crate = "conjure_object::serde")]
#[derive_with(PartialEq, Eq, PartialOrd, Ord, Hash)]
#[conjure_object::private::staged_builder::staged_builder]
#[builder(crate = conjure_object::private::staged_builder, update, inline)]
pub struct VideoUploadMetadata {
    #[builder(into)]
    #[serde(rename = "s3Key")]
    s3_key: String,
    #[builder(into)]
    #[serde(rename = "s3Bucket")]
    s3_bucket: String,
    #[builder(custom(type = super::ManifestVideoOutput, convert = Box::new))]
    #[serde(rename = "manifestVideoOutput")]
    manifest_video_output: Box<super::ManifestVideoOutput>,
    #[builder(default, into)]
    #[serde(
        rename = "frameTimestampsS3Path",
        skip_serializing_if = "Option::is_none",
        default
    )]
    frame_timestamps_s3_path: Option<super::super::super::api::S3Path>,
}
impl VideoUploadMetadata {
    /// Constructs a new instance of the type.
    #[inline]
    pub fn new(
        s3_key: impl Into<String>,
        s3_bucket: impl Into<String>,
        manifest_video_output: super::ManifestVideoOutput,
    ) -> Self {
        Self::builder()
            .s3_key(s3_key)
            .s3_bucket(s3_bucket)
            .manifest_video_output(manifest_video_output)
            .build()
    }
    /// Full S3 key where the video file was uploaded.
    #[inline]
    pub fn s3_key(&self) -> &str {
        &*self.s3_key
    }
    /// S3 bucket name where the video file was uploaded.
    #[inline]
    pub fn s3_bucket(&self) -> &str {
        &*self.s3_bucket
    }
    /// The original video manifest entry written by the extractor.
    #[inline]
    pub fn manifest_video_output(&self) -> &super::ManifestVideoOutput {
        &*self.manifest_video_output
    }
    /// Uploaded frame timestamp sidecar. Present only when the video uses the
    /// frameTimestampsRelativePath timestamp strategy.
    #[inline]
    pub fn frame_timestamps_s3_path(&self) -> Option<&super::super::super::api::S3Path> {
        self.frame_timestamps_s3_path.as_ref().map(|o| &*o)
    }
}