#![allow(unused_imports, non_camel_case_types, non_snake_case, clippy::all)]
use serde::{Deserialize, Serialize};
use super::*;
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct Feature {
pub id: String,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub spec_ref: Option<String>,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct ProfileSpec {
pub profile_version: ProfileSpec_ProfileVersion,
pub profile_id: String,
pub label: String,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub description: Option<String>,
pub must: Vec<Feature>,
pub should: Vec<Feature>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub must_not: Option<Vec<Feature>>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub min_enforcement_level: Option<ProfileSpec_MinEnforcementLevel>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub min_proof_level: Option<ProofLevel>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub required_bridges: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub required_anchors: Option<Vec<ProfileSpec_RequiredAnchors_Item>>,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum ProfileSpec_MinEnforcementLevel {
#[serde(rename = "E0")]
E0,
#[serde(rename = "E1")]
E1,
#[serde(rename = "E2")]
E2,
#[serde(rename = "E3")]
E3,
#[serde(rename = "E4")]
E4,
#[serde(rename = "E5")]
E5,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum ProfileSpec_ProfileVersion {
#[serde(rename = "1")]
V1,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum ProfileSpec_RequiredAnchors_Item {
#[serde(rename = "rfc6962")]
Rfc6962,
#[serde(rename = "sigstore")]
Sigstore,
#[serde(rename = "rfc3161")]
Rfc3161,
#[serde(rename = "memory")]
Memory,
#[serde(rename = "custom")]
Custom,
}