tfmcp 0.2.2

Terraform Model Context Protocol Tool - A CLI tool to manage Terraform through MCP
Documentation
use super::IssueSeverity;
use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize)]
pub struct RefactoringSuggestion {
    pub suggestion_type: RefactoringType,
    pub priority: IssueSeverity,
    pub description: String,
    pub affected_resources: Vec<String>,
    pub proposed_structure: Option<ProposedModuleStructure>,
    pub migration_steps: Vec<String>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum RefactoringType {
    SplitModule,
    MergeModules,
    ExtractSubmodule,
    FlattenHierarchy,
    WrapPublicModule,
    RemoveUnusedVariables,
    AddDescriptions,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct ProposedModuleStructure {
    pub module_name: String,
    pub resources: Vec<String>,
    pub variables: Vec<String>,
    pub outputs: Vec<String>,
}