/*
 * Orvanta API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.0.2
 * Contact: contact@orvanta.cloud
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SecretMigrationReport {
    /// Total number of secrets found
    #[serde(rename = "total_secrets")]
    pub total_secrets: i64,
    /// Number of secrets successfully migrated
    #[serde(rename = "migrated_count")]
    pub migrated_count: i64,
    /// Number of secrets that failed to migrate
    #[serde(rename = "failed_count")]
    pub failed_count: i64,
    /// Details of any failures encountered during migration
    #[serde(rename = "failures")]
    pub failures: Vec<models::SecretMigrationFailure>,
}

impl SecretMigrationReport {
    pub fn new(total_secrets: i64, migrated_count: i64, failed_count: i64, failures: Vec<models::SecretMigrationFailure>) -> SecretMigrationReport {
        SecretMigrationReport {
            total_secrets,
            migrated_count,
            failed_count,
            failures,
        }
    }
}

