use crate::languages::spec::{
DEFAULT_TOOL_TIMEOUT_SECS, DiagnosticsStream, LanguageSupport, OutputFormat, ToolSpec,
};
pub static TFLINT: ToolSpec = ToolSpec {
name: "tflint",
command: &["tflint", "--format", "sarif", "--recursive"],
local_paths: &[],
config_files: &[".tflint.hcl"],
config_flag: None,
output_format: OutputFormat::Sarif,
diagnostics_stream: DiagnosticsStream::Stdout,
timeout_secs: DEFAULT_TOOL_TIMEOUT_SECS,
timeout_context: None,
establishes_compilation: false,
serial_in_repository: false,
accepts_files: false,
};
pub static TERRAFORM: LanguageSupport = LanguageSupport {
name: "terraform",
display_name: "Terraform",
extensions: &[".tf", ".tfvars"],
filenames: &[],
filename_prefixes: &[],
tools: &[&TFLINT],
conventions: &[
"Unpinned provider versions and module sources",
"Changes that force replacement of stateful resources",
"Hardcoded values that belong in variables",
"Missing tags and attributes the account policy requires",
"count and for_each churn that recreates identical resources",
],
vendored_dirs: &[".terraform"],
};
pub(crate) static FAMILY: &[&LanguageSupport] = &[&TERRAFORM];