Skip to main content

helm_schema_cli/cli/
profile_args.rs

1use clap::ValueEnum;
2
3/// Schema emission profiles accepted by the command line.
4#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, ValueEnum)]
5pub enum SchemaProfile {
6    /// Emit every recovered constraint.
7    #[default]
8    Full,
9    /// Omit document-level conditional validation for faster Helm schema
10    /// compilation while preserving base and provider constraints.
11    Lean,
12}
13
14impl From<SchemaProfile> for helm_schema::generation::SchemaProfile {
15    fn from(profile: SchemaProfile) -> Self {
16        match profile {
17            SchemaProfile::Full => Self::Full,
18            SchemaProfile::Lean => Self::Lean,
19        }
20    }
21}