// Code generated by oagen. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};
/// A resource produced by a workflow step.
/// An `(operation, id)` reference. The artifact itself carries no payload —
/// consumers dispatch on `operation` and fetch the referenced record by `id`.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StepArtifactRef {
    /// The kind of resource this artifact references
    pub operation: StepArtifactRefOperation,
    /// Resource identifier
    pub id: String,
}
impl StepArtifactRef {
    /// Construct a new `StepArtifactRef` with the required fields set.
    #[allow(deprecated)]
    pub fn new(operation: StepArtifactRefOperation, id: impl Into<String>) -> Self {
        Self {
            operation,
            id: id.into(),
        }
    }
}
