/*
 * 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};

/// ScannersConfig : Scanner availability flags.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ScannersConfig {
    /// Whether the Dependency-Track integration is configured.
    #[serde(rename = "dependency_track_enabled")]
    pub dependency_track_enabled: bool,
    /// Whether the OpenSCAP compliance scanner is configured.
    #[serde(rename = "openscap_enabled")]
    pub openscap_enabled: bool,
    /// Whether the Trivy vulnerability scanner is configured.
    #[serde(rename = "trivy_enabled")]
    pub trivy_enabled: bool,
}

impl ScannersConfig {
    /// Scanner availability flags.
    pub fn new(dependency_track_enabled: bool, openscap_enabled: bool, trivy_enabled: bool) -> ScannersConfig {
        ScannersConfig {
            dependency_track_enabled,
            openscap_enabled,
            trivy_enabled,
        }
    }
}

