/*
 * Artifact Keeper API
 *
 * Enterprise artifact registry supporting 45+ package formats.
 *
 * The version of the OpenAPI document: 1.2.1
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// PluginSigningConfig : Plugin signature-verification (supply-chain) policy status.  Exposes only booleans — never the trusted key material itself — so frontends and operators can see whether unsigned plugin installs are rejected and whether a trusted publisher key has been provisioned.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PluginSigningConfig {
    /// Whether a valid signature is required to install a WASM plugin.
    #[serde(rename = "required")]
    pub required: bool,
    /// Whether an operator trusted public key has been configured. When `required` is true but this is false, every install is rejected (fail-closed).
    #[serde(rename = "trusted_key_configured")]
    pub trusted_key_configured: bool,
}

impl PluginSigningConfig {
    /// Plugin signature-verification (supply-chain) policy status.  Exposes only booleans — never the trusted key material itself — so frontends and operators can see whether unsigned plugin installs are rejected and whether a trusted publisher key has been provisioned.
    pub fn new(required: bool, trusted_key_configured: bool) -> PluginSigningConfig {
        PluginSigningConfig {
            required,
            trusted_key_configured,
        }
    }
}

