1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use serde::{Deserialize, Serialize};

#[cfg(feature = "output_progress")]
use crate::progress::ProgressLimit;

/// Whether the `apply` function needs to be executed.
#[derive(Copy, Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
pub enum ApplyCheck {
    /// Item is not in goal state.
    #[cfg(not(feature = "output_progress"))]
    ExecRequired,
    /// Item is not in goal state.
    #[cfg(feature = "output_progress")]
    ExecRequired {
        /// Unit of measurement and limit to indicate progress.
        progress_limit: ProgressLimit,
    },
    /// Item is already in goal state.
    ExecNotRequired,
}